Sterownik mikrosilników prądu stałego do RPi Pico

Sterownik mikrosilników prądu stałego do RPi Pico

Nakładka na Raspberry Pi Pico z driverem dwóch mikrosilników prądu stałego z regulacją PWM będzie przydatna w robotyce amatorskiej i nie tylko.

Podstawowe parametry:
  • 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.

Rysunek 1. Schemat wewnętrzny układu A3906

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.

Rysunek 2. Schemat ideowy modułu

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.

Rysunek 3. Schemat płytki PCB

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 machine import Pin, PWM
from time import sleep

zdefiniowaniu wyjść sterujących:

SLP = Pin(10, Pin.OUT)
IN1 = Pin(2, Pin.OUT)
IN2 = Pin(3, Pin.OUT)
IN3 = Pin(6, Pin.OUT)
IN4 = Pin(7, Pin.OUT)

lub pwm:

SLP = Pin(10, Pin.OUT)
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:

SLP.value(1)
IN1.value(0)
IN2.value(1)
IN3.value(1)
IN4.value(0)

lub prędkością zmieniając odpowiednio wartość sygnału PWM:

SLP.value(1)
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

Wykaz elementów:
Rezystory:
  • R1A, R1B, R2A, R2B: 1 Ω (dobrać do prądu silnika) (SMD1206)
  • R3, R4: 10 kΩ (SMD0603)
Kondensatory:
  • 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)
Półprzewodniki:
  • D1: MBR0520L (SOD123)
  • U1: A3906 (QFN20)
  • U2: TPS63061DSC (WSON10)
Pozostałe:
  • 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
Artykuł ukazał się w
Elektronika Praktyczna
lipiec 2022
DO POBRANIA
Materiały dodatkowe
Elektronika Praktyczna Plus lipiec - grudzień 2012

Elektronika Praktyczna Plus

Monograficzne wydania specjalne

Elektronik grudzień 2024

Elektronik

Magazyn elektroniki profesjonalnej

Raspberry Pi 2015

Raspberry Pi

Wykorzystaj wszystkie możliwości wyjątkowego minikomputera

Świat Radio styczeń - luty 2025

Świat Radio

Magazyn krótkofalowców i amatorów CB

Automatyka, Podzespoły, Aplikacje listopad - grudzień 2024

Automatyka, Podzespoły, Aplikacje

Technika i rynek systemów automatyki

Elektronika Praktyczna grudzień 2024

Elektronika Praktyczna

Międzynarodowy magazyn elektroników konstruktorów

Elektronika dla Wszystkich styczeń 2025

Elektronika dla Wszystkich

Interesująca elektronika dla pasjonatów