2. Porównanie mostków L293, L293D i L298
L293 | L293D | L298N | |
Zdjęcie | ![]() |
![]() |
![]() |
Typ Obudowy: | DIP 16 (THT) | DIP 16 (THT) | Multiwatt15 (THT) / PowerSO20 (SMD) |
Ilość kanałów: | 2 | 2 | 2 |
Zabezpieczone wyjścia ? | Nie | Tak | Nie |
Napięcie zasilania logiki [V]: | 5V | 5V | do 7V |
Napięcie zasilania silników [V]: | 4,5 – 36 | 4,5 – 36 | 5 – 46 |
Prąd obciążenia na kanał: Ciągły [A]: Chwilowy [A]: |
1 2 |
0,6 1,2 |
2 3 |
Jak widzimy po tabeli powyżej to każdy z układów ma jakieś wady i zalety. Przykładowo, Mostek L293 posiada maksymalny prąd na kanał rzędu 1A, natomiast jest to opłacone brakiem zabezpieczeń wyjść. W bliźniaczym układzie dla L293 mamy już zabezpieczenia, lecz z kolei prąd obciążenia jest prawie o połowę mniejszy. Ich większy brat jest stworzony do większych obciążeń, lecz fabryka też mu ” pożałowała” zabezpieczeń na wyjściach.
Także jak widać po cechach tych mostków to każdy jest przeznaczony do różnego rodzaju obciążeń. Nie mniej jednak dla większości projektów układ L293D jest wystarczający.
3. Przykładowy program dla L293/D i L298N
Schemat dla L293/D:
Schemat dla L298N:
(ze względu na to, że nie chcemy ustawiać maksymalnego prądu na kanał to pin 1. i 15. zwieramy do masy)
Program:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 |
//========= DEFININICJA PINÓW H-BRIDGE ================== #define mot1A 2 #define mot2A 3 #define mot3A 5 #define mot4A 4 #define pwm12 6 #define pwm34 9 void setup() { pinMode(mot1A, OUTPUT); pinMode(mot2A, OUTPUT); pinMode(mot3A, OUTPUT); pinMode(mot4A, OUTPUT); pinMode(pwm12, OUTPUT); pinMode(pwm34, OUTPUT); digitalWrite(pwm12, LOW); digitalWrite(pwm34, LOW); } void loop() { digitalWrite(pwm12, HIGH); digitalWrite(pwm34, HIGH); doPrzodu(); delay(2000); doTylu(); delay(2000); wPrawo(); delay(2000); wLewo(); delay(2000); } void doPrzodu(){ digitalWrite(mot2A, LOW); digitalWrite(mot1A, HIGH); digitalWrite(mot4A, LOW); digitalWrite(mot3A, HIGH); } void doTylu(){ digitalWrite(mot1A, LOW); digitalWrite(mot2A, HIGH); digitalWrite(mot3A, LOW); digitalWrite(mot4A, HIGH); } void wPrawo(){ digitalWrite(mot2A, LOW); digitalWrite(mot1A, HIGH); digitalWrite(mot3A, LOW); digitalWrite(mot4A, HIGH); } void wLewo(){ digitalWrite(mot1A, LOW); digitalWrite(mot2A, HIGH); digitalWrite(mot4A, LOW); digitalWrite(mot3A, HIGH); } |
Jak widzimy program odpowiedzialny za sterowanie silnikami jest banalnie prosty. Na samym początku definiujemy piny wejściowe mostka jak wyjścia- 4 piny odpowiadające za kierunek obrotu silnika oraz 2 odpowiadające za prędkość obrotową silników. Następnie w pętli startowej programu ustawiamy wstępną wartość PWM na 0 co odpowiada „braku prędkości”, żeby na mostek nie były podane jakieś przypadkowe wartości. Następnie w pętli głównej programu ustawiamy wartości PWM na 100% wypełnienia.
Następnie wykonywane są metody odpowiadające za dany ruch pojazdu przez 2 sekundy, a są to: ruch do przodu, do tyłu, skręt w prawo i skręt w lewo.
Po wgraniu programu powinniśmy otrzymać taki efekt :)
4. Podsumowanie
Po tej części kursu powinieneś:
- wiedzieć jak działa mostek H
- jakie są wady i zalety przy danym typie konstrukcji mostka
- rozróżnić i wykazać różnice pomiędzy danymi mostkami
- napisać prosty program obsługujący jeden z wymienionych mostków
Materiały do tej części kursu:
Jeżeli chcesz być informowany na bieżąco o nowych częściach kursu to kliknij „Lubię to!” bądź subskrybuj naszą stronę, aby otrzymywać na adres e-mail nowości ze strony. Jeżeli masz jakieś pytania to śmiało zadawaj je na forum ; )