Skocz do zawartości

Pomocna odpowiedź

Nie do końca. Przyczepiam się do tej części:
Jeśli chcesz zahamować silnik podajesz ten sam stan na A i B.
By zachamować silnik musisz podać Stan Niski na A i B. Gdy na A i B dasz stan wysoki to mostek pójdzie z dymem. 😅

Nie wiem skąd taka uwaga poniżej dołączam fragment noty katalogowej interesuje nas przedostatni wiersz gdzie EN mamy ustawione, na 100% czyli stan wysoki natomiast na 1A i 2A (u nas A i B) podajemy stany wysokie.

Obrazek

W praktyce zawsze realizuję hamowanie na tym układzie poprzez podanie stanów wysokich na te wyprowadzenia i nigdy nic nie stało się ani z silnikiem ani z mostkiem.

Czy zdarzyło Ci się kiedyś spalić ten mostek przez takie wysterowanie?

Nie próbowałem nigdy tak zatrzymywać takim sposobem silnika, ale w pewnym temacie

( linka nie podam, bo nie pamiętam tematu ) było napisane, że gdy na A i B podamy Stan Wysokie pojawi się zwarcie i spalenie mostka.

/////////////////////////EDIT\\\\\\\\\\\\\\\\\\\\\\\\\

Przypomniałem sobie. To był artykuł Trekera :

[Teoria] Mostek H (H-bridge) - kompendium dla robotyka

Cytat:

Dla mostka można rozpisać tabelę prawdy, czyli co się dzieje na wyjściu przy danych stanach na wejściach. Dla połówki 293 wygląda ona następująco ( kierunki są umowne zależnie od podłączenia silnika ):

A B Wyj.

0 0 Stop

0 1 Prawo

1 0 Lewo

1 1 Stan zabroniony

Chyba wszystko w tabeli jest jasne. Jedynie opisze sytuację gdy mamy dwie "1" . Podając napięcie na oba punkty otwierają się T1 i T2 i przez to też T3 i T4 i następuje piękne zwarcie. Jak wcześniej wspomniano, najczęściej kończy się to uszkodzeniem tranzystorów mostka.

Co do podkreślonego przeze mnie słowa najczęściej wygląda na to, że spalenie mostka występuje nie zawsze, a po co ryzykować?

Heh, chyba kiepskie u mnie czytanie ze zrozumieniem bo wciąż nie mogę zrozumieć 🙂.

W pierwszym poście tematu Mostek H L293D jest cytat gdzie opisany jest sposób działania mostka L293D.

Zacytuję:

Ad.1 To tak, układ działa na zasadzie tranzystorów, tzn. jeżeli na nóżce 2 podasz napięcie dodatnie, a nóżkę siódmą podłączysz do masy to masz masę na nóżce 6, a napięcie dodatnie na 3 (tyle że możesz tam podłączyć coś bardziej prądożernego (max 600mA), gdybyś złożył waldka na zasadzie, że fototranzystor jest włącznikiem dla silników, to on by tego nie wytrzymał i się spalił . Tak samo masz z drugiej strony. Nóżki 4,5,12,13 podłącza się do masy (ujemne zasilanie mostka), nóżki 8 i 16 to dodatnie zasilanie mostka. Napięcie jakie podasz na nóżkę 1 (max 36v) jest napięciem jakie będziesz miał na nóżce 3 i 6, napięcie jakie podasz na nóżkę 9 (max 36v) jest napięciem jakie będziesz miał na nóżce

"Nóżki" 2 i 7 oraz 10 i 15 to wejścia, 3 i 6, 11 i 14 to wyjścia, podaje coby nie trzeba było szukać.

Ok, czyli robimy zwarcie plusa zasilania z plusem zasilania. Jedyna sytuacja która w której skutkuje to uszkodzeniem mostka to wtedy, gdy mamy różne napięcie zasilania silników i mostka. To by tłumaczyło dlaczego u mnie nic się nie dzieje, silniki i logikę zasilam takim samym napięciem. Ale to jest tylko gdybanie, dlatego:

W tym temacie zapytałem dokładnie dlaczego gdy podamy na oba wejścia 1, robi się zwarcie tranzystorów i palimy mostek, gdyż mi osobiście nic takiego się nie dzieje i nie wiem czemu. Bardzo nie lubię zaś sytuacji, kiedy coś ma nie działać, a działa, bo oznacza to najpewniej że nie podziała zbyty długo. Prosiłem o kawałek datasheeta, schemat lub logiczne wytłumaczenie potwierdzający słowa z tego tematu, dokładniej zdania:

A B Wyj.

0 0 Stop

0 1 Prawo

1 0 Lewo

1 1 Stan zabroniony

Chyba wszystko w tabeli jest jasne. Jedynie opisze sytuację gdy mamy dwie "1" . Podając napięcie na oba punkty otwierają się T1 i T2 i przez to też T3 i T4 i następuje piękne zwarcie. Jak wcześniej wspomniano, najczęściej kończy się to uszkodzeniem tranzystorów mostka.

Szukałem więc datascheeta gdzie tranzystory T1, T2 itd. będą ładnie podpisane i ze schematu przekonam się, że zrobiłem duży błąd podczas projektowania swojego robota i unikania go w następnych konstrukcjach. Z tabeli prawdy w notach katalogowych, które przeglądałem wynikało coś innego, a w mojej konstrukcji podawanie dwóch "1" na wejścia się przydawało. Ale że słabo u mnie z angielskim pewnie czegoś nie doczytałem lub zrozumiałem źle, a ze schematu też wiele odczytać nie mogę. Rozumiem że chodzi o ten schemat i te tranzystory, które robią zwarcie napięcia zasilającego silniki z masą. Więc proszę o wytłumaczenie jak one działają i jak się nimi steruje, po nie mam pojęcia jak obie połówki schematu są ze sobą połączone lub jeśli to nie to o wytłumaczenie o co z tym chodzi. Rozumiem, że schemat przedstawia jedną parę wejście-wyjście, czyli np. połączenie między "nóżką" 2 i 3 (1A i 1Y).

Nota katalogowa z której schematy pochodzi.

Nie piszę tego z chęci jakiegokolwiek "przekomarzania się" ale w końcu chce się dowiedzieć które tranzystory powodują zwarcie i w jakich dokładnie sytuacjach.

Ja zatrzymuje silniki stanem niskim i jest dobrze. Chyba można zatrzymywać stanem wysokim( z tego co piszą inni ), jednak ja myślę tak: Nie ma prądu to się zjarać nie powinno 😃

Jakbyś chciał to napisałem sobie proste sterowanie silnikami z użyciem L293D( no i diodą RGB pod portami B, ale na to nie musisz patrzeć 😃 ):

#include <avr/io.h>
#include <util/delay.h>
#define B(x) (1<<x)

void zapal( int p1, int p2, int p3 )
{	
if( p1 == 1 ) PORTB |= B(1);
else PORTB &= ~B(1);
if( p2 == 1 ) PORTB |= B(2);
else PORTB &= ~B(2);
if( p3 == 1 ) PORTB |= B(3);
else PORTB &= ~B(3);

}
void zakrec( int zzz )
{
// 0 - stoi
// 1 - lewo
// 2 - prawo
// 3 - przód
// 4 - tył
if( zzz == 0 ) 
{
	PORTD &= ~B(0);
	PORTD &= ~B(1);
	PORTD &= ~B(2);
	PORTD &= ~B(3);
}
else if( zzz == 1 )
{
	PORTD |= B(0);
	PORTD &= ~B(1);
	PORTD |= B(2);
	PORTD &= ~B(3);
}
else if( zzz == 2 )
{
	PORTD |= B(1);
	PORTD &= ~B(0);
	PORTD |= B(3);
	PORTD &= ~B(2);
}
else if( zzz == 3 )
{
	PORTD |= B(1);
	PORTD &= ~B(0);
	PORTD |= B(2);
	PORTD &= ~B(3);
}
else if( zzz == 4 )
{
	PORTD |= B(0);
	PORTD &= ~B(1);
	PORTD |= B(3);
	PORTD &= ~B(2);
}
}
void czekaj( int czas )
{
_delay_ms( czas );
}

int main(void)
{
DDRB = 0b111;
DDRD = 0b1111;
while(1)
{
	zapal(1,0,0);
	zakrec( 1 );
	czekaj( 1000 );

	zapal(0,1,0);
	zakrec( 0 );
	czekaj( 1000 );

	zapal(1,0,0);
	zakrec( 2 );
	czekaj( 1000 );

	zapal(0,1,0);
	zakrec( 0 );
	czekaj( 1000 );

	zapal(1,0,0);
	zakrec( 3 );
	czekaj( 1000 );

	zapal(0,1,0);
	zakrec( 0 );
	czekaj( 1000 );

	zapal(1,0,0);
	zakrec( 4 );
	czekaj( 1000 );

	zapal(0,1,0);
	zakrec( 0 );
	czekaj( 1000 );
}
}

Może ci się to przyda, jakbyś chciał schemat czy coś to pisz.

Natanoj, dobrze zrobiłeś. Nie wiem co przyświecało Trekerowi w tabelce, którą zacytowałeś z jego artykułu. Może dotyczy ona innej konstrukcji mostka ale na pewno nie scalonego 293. Tam są dwa proste wzmacniacze. Stopień wejściowy jest co prawda z zasilany z Vcc1 (lewa część Twojego rysunku) ale już cała część "prądowa" napędzana jest z Vcc2. Każdą połówkę można traktować osobno, jak układ przekładający stany logiczne między 0 a Vcc1 na silne wyjście o tej samej polaryzacji, ale przełączane między 0 a Vcc2. Najlepiej ideę takiego sterowania silnikiem oddaje rysunek B . Pochodzi on również ze słynnego artykułu naszego Admina. Każdy przekaźnik jest właśnie odpowiednikiem połówki mostka 293. Wszystkie kombinacje położeń przekaźników są dozwolone, prawda? Zarówno oba w dół jak i oba w górę powodują zwarcie silnika i swobodny przepływ prądu tylko w małym oczku związanym z silnikiem. Zasilanie nic o tym "nie wie". Jeżeli w tym czasie nie będzie PWMa, będzie to stan szybkiego hamowania (choć na upartego może być jeszcze szybsze).

Zasilanie byłoby zwarte, gdyby tranzystory w obu czewonych kółkach na raz przewodziły - odnoszę się do twojego rysynku z zakreślonymi na czerwono stopniami wyjściowymi układu 293. Ponieważ taka sytuacja nie będzie miała miejsca z definicji nigdy - o to dbają układy wewnętrzne mostka, to i o zwieranie zasilania nie masz się co martwić. Bezpiecznie jest nawet w sytuacji, gdy zasilania części wejściowej i wyjściowej są różne (Vcc1 ≠ Vcc2).

Niech Twój robot śmiga jak najdłużej 🙂

  • Lubię! 1

WItam!!!

Mam pytanie co do podłączenia silników do atmega8. Chciałbym zrobić platformę, z czego dwa silniki pójdą na napęd, a 4 na ramię robota. Moje pytanie brzmi, czy opłaca się stosować do każdego z silników układ L293d. W sumie przyszłoby mi zastosować 3 scalaki (1 na dwa silniki) z których wychodziłoby mi po 6 podłączeń do mikrokontrolera, w sumie 18. Czy jest jakaś inna, prostsza metoda aby podłączyć silniki wraz z serwami i zaoszczędzić trochę portów??

a co by się stało gdybym nie zastosował mostka i podłączył silniki bezpośrednio z uC

Przeczytaj punkt III.3 Elementy indukcyjne

oraz zastanów się jaki prąd pobiera silnik a jaką wydajność prądową ma wyjście mikrokontrolera (sprawdź w datasheet),
albo wyobraź sobie, że do Twojej żyły podłączymy strzykawkę z igłą o średnicy 5mm i objętości wiadra i zaczniemy ssać ...

Natanoj napisał:
Heh, chyba kiepskie u mnie czytanie ze zrozumieniem bo wciąż nie mogę zrozumieć 🙂.
Marcos napisał:
W pierwszym poście tematu Mostek H L293D jest cytat gdzie opisany jest sposób działania mostka L293D.

Zacytuję:

Marcos napisał:
Cytat

Ad.1 To tak, układ działa na zasadzie tranzystorów, tzn. jeżeli na nóżce 2 podasz napięcie dodatnie, a nóżkę siódmą podłączysz do masy to masz masę na nóżce 6, a napięcie dodatnie na 3 (tyle że możesz tam podłączyć coś bardziej prądożernego (max 600mA), gdybyś złożył waldka na zasadzie, że fototranzystor jest włącznikiem dla silników, to on by tego nie wytrzymał i się spalił . Tak samo masz z drugiej strony. Nóżki 4,5,12,13 podłącza się do masy (ujemne zasilanie mostka), nóżki 8 i 16 to dodatnie zasilanie mostka. Napięcie jakie podasz na nóżkę 1 (max 36v) jest napięciem jakie będziesz miał na nóżce 3 i 6, napięcie jakie podasz na nóżkę 9 (max 36v) jest napięciem jakie będziesz miał na nóżce

"Nóżki" 2 i 7 oraz 10 i 15 to wejścia, 3 i 6, 11 i 14 to wyjścia, podaje coby nie trzeba było szukać.

Ok, czyli robimy zwarcie plusa zasilania z plusem zasilania. Jedyna sytuacja która w której skutkuje to uszkodzeniem mostka to wtedy, gdy mamy różne napięcie zasilania silników i mostka. To by tłumaczyło dlaczego u mnie nic się nie dzieje, silniki i logikę zasilam takim samym napięciem. Ale to jest tylko gdybanie, dlatego:

W tym temacie zapytałem dokładnie dlaczego gdy podamy na oba wejścia 1, robi się zwarcie tranzystorów i palimy mostek, gdyż mi osobiście nic takiego się nie dzieje i nie wiem czemu. Bardzo nie lubię zaś sytuacji, kiedy coś ma nie działać, a działa, bo oznacza to najpewniej że nie podziała zbyty długo. Prosiłem o kawałek datasheeta, schemat lub logiczne wytłumaczenie potwierdzający słowa z tego tematu, dokładniej zdania:

Cytat
A B Wyj.

0 0 Stop

0 1 Prawo

1 0 Lewo

1 1 Stan zabroniony

Chyba wszystko w tabeli jest jasne. Jedynie opisze sytuację gdy mamy dwie "1" . Podając napięcie na oba punkty otwierają się T1 i T2 i przez to też T3 i T4 i następuje piękne zwarcie. Jak wcześniej wspomniano, najczęściej kończy się to uszkodzeniem tranzystorów mostka.

Szukałem więc datascheeta gdzie tranzystory T1, T2 itd. będą ładnie podpisane i ze schematu przekonam się, że zrobiłem duży błąd podczas projektowania swojego robota i unikania go w następnych konstrukcjach. Z tabeli prawdy w notach katalogowych, które przeglądałem wynikało coś innego, a w mojej konstrukcji podawanie dwóch "1" na wejścia się przydawało. Ale że słabo u mnie z angielskim pewnie czegoś nie doczytałem lub zrozumiałem źle, a ze schematu też wiele odczytać nie mogę. Rozumiem że chodzi o ten schemat i te tranzystory, które robią zwarcie napięcia zasilającego silniki z masą. Więc proszę o wytłumaczenie jak one działają i jak się nimi steruje, po nie mam pojęcia jak obie połówki schematu są ze sobą połączone lub jeśli to nie to o wytłumaczenie o co z tym chodzi. Rozumiem, że schemat przedstawia jedną parę wejście-wyjście, czyli np. połączenie między "nóżką" 2 i 3 (1A i 1Y).

Obrazek

Nota katalogowa z której schematy pochodzi.

Jeśli na nóżkę 2. podasz VCC a na 7. GND to na 3. masz VCC, a na 6 GND ( Czyli jeśli Vcc 2. VCC na 3., a jeśli GND na 7. to GND na 6. i na odwrót) To samo z drugiej nóżki 2., 3., 6., 7. po lewej stronie To nóżki 10., 11., 14., 15., a co do PWM to jakie napięcie podasz na PWM po każdej stronie takie masz na wyjściu. A co do tego zwarcia to według mnie najlepiej hamować dwoma GND.

PS. Pomoc:

l293d.png

Bądź aktywny - zaloguj się lub utwórz konto!

Tylko zarejestrowani użytkownicy mogą komentować zawartość tej strony

Utwórz konto w ~20 sekund!

Zarejestruj nowe konto, to proste!

Zarejestruj się »

Zaloguj się

Posiadasz własne konto? Użyj go!

Zaloguj się »
×
×
  • Utwórz nowe...