- bazuje na podwójnym mostkowym driverze silników typu A3906,
- umożliwia sterowanie dwoma silnikami komutatorowymi lub jednym silnikiem krokowym,
- maksymalnym prąd wyjściowy: 0,4 A, napięcie zasilania: 3,6...9 V.
Moduł bazuje na podwójnym mostkowym driverze silników typu A3906, którego budowę pokazano na rysunku 1.
Umożliwia sterowanie dwoma silnikami komutatorowymi o prądzie maksymalnym 1 A zasilanymi napięciem 2,5...9 V lub jednym silnikiem krokowym. Regulacja prędkości obrotowej może odbywać się sygnałem PWM. Układ ma zabezpieczenie termiczne oraz sygnalizację przekroczenia prądu drivera. Logika wejść sterujących układu A3906 została pokazana w tabeli 1.
Budowa i działanie
Schemat sterownika silników znajduje się na rysunku 2.
Prąd uzwojenia silnika określany jest wartościami rezystorów R1A/R1B, R2A/R2B według wzoru:
Itrip = 0,2 / (R1A||R1B)
dla wartości R1A = R1B = 1 Ω, prąd uzwojeń wynosi ok. 0,4 A. Podczas doboru rezystorów ograniczenia należy spełnić warunek taki, aby napięcie na wyprowadzeniu SENSE nie przekraczało 0,5 V.
Dla sterowania driverem A3906 przeznaczono wyprowadzenia 2 i 3 oraz 6 i 7 ustalające kierunek obrotów lub prędkość silnika, jeżeli GPIO pracuje w trybie PWM, wyprowadzenie 10 ustawione w tryb wysoki aktywuje driver. Stan wyjść A3906 sygnalizujących przeciążenie drivera FLT1, FTL2 dostępny jest na wyprowadzeniach 4 i 5 płytki RPi Pico. Silniki podłączone są do złącz śrubowych M1, M2. Zasilanie VM 3,6...9 V doprowadzone jest do złącza PWR, należy pamiętać o odpowiedniej wydajności zasilacza i jego odpowiednim odsprzęganiu.
Moduł uzupełnia przetwornica powyższająco-obniżająca U2 typu TPS63061, zasilana z napięcia VM. Dostarcza ona napięcia VSYS o wartości ok. 4,8 V do zasilania płytki RPi Pico, dioda D1 zapobiega przepływowi prądu wstecznego, gdy moduł zasilany jest także z USB np. podczas uruchamiania. Kondensatory CE1, CE2 zapewniają podstawową filtrację zasilania, w przypadku współpracy z silnikami o większym poborze mocy należy odpowiednio uzupełnić układ o zewnętrzny kondensator odsprzęgający.
Montaż i uruchomienie
Moduł zmontowany jest na dwustronnej płytce drukowanej o wymiarach zgodnych z Raspberry Pi Pico, której schemat został pokazany na rysunku 3. Montaż jest typowy, należy tylko zwrócić uwagę na przylutowanie padów termicznych układów U1,U2, dla zapewnienia prawidłowego odprowadzania ciepła.
Zmontowany moduł nie wymaga uruchamiania. Sterowanie silnikami odbywa się poprzez odpowiednią konfigurację wyprowadzeń GPIO lub generatorów PWM. Sterując GPIO i generatory można ustawić stany logiczne 0/1 zmieniając odpowiednio sterowanie silnikiem, a generowanie sygnału PWM podłączonego do jednego z wejść A3906 umożliwi płynną regulację obrotów w odpowiadającym kierunku. Szybkiego sprawdzenia modułu po podłączeniu silników i zasilania można dokonać korzystając z IDE Thonny i micropythona oraz terminala szeregowego. Po imporcie bibliotek Pin, PWM, sleep:
from time import sleep
zdefiniowaniu wyjść sterujących:
IN1 = Pin(2, Pin.OUT)
IN2 = Pin(3, Pin.OUT)
IN3 = Pin(6, Pin.OUT)
IN4 = Pin(7, Pin.OUT)
lub pwm:
pwm1 = PWM(Pin(2))
pwm2 = PWM(Pin(3))
pwm3 = PWM(Pin(6))
pwm4 = PWM(Pin(7))
pwm.freq(10000)
Teraz możemy sterować kierunkiem pracy silników zmieniając stany wyjść IN1...In4 np:
IN1.value(0)
IN2.value(1)
IN3.value(1)
IN4.value(0)
lub prędkością zmieniając odpowiednio wartość sygnału PWM:
pwm1.duty_u16(0)
pwm2.duty_u16(32000)
pwm3.duty_u16(16000)
pwm4.duty_u16(0)
Jeżeli po sprawdzeniu wszystko działa poprawnie można moduł zastosować we własnej aplikacji.
Adam Tatuś, EP
- R1A, R1B, R2A, R2B: 1 Ω (dobrać do prądu silnika) (SMD1206)
- R3, R4: 10 kΩ (SMD0603)
- C1, C2, C3, C4, C7: 0,1 μF/50 V (SMD0603)
- CE1, CE2: 100 μF/10 V elektrolityczny miniaturowy 6,3 mm
- C5, C6: 10 μF (SMD0603)
- C8, C9: 47 μF (SMD1206)
- D1: MBR0520L (SOD123)
- U1: A3906 (QFN20)
- U2: TPS63061DSC (WSON10)
- IO1, IO2: listwa żeńska 20 pinów, 2,54 mm
- L1: 1 μH dławik DLJ4018 1 μH/1,8 A
- M1, M2, PWR: złącze DG381-3.5-2