Sterownik mikrosilnika krokowego dla Pi Pico

Sterownik mikrosilnika krokowego dla Pi Pico

Moduł bazuje na uniwersalnym sterowniku silników typu DRV8834A, który zwiera w swej strukturze dwa mostki H zbudowane na tranzystorach MOSFET z niewielkim napięciem nasycenia. Stopień mocy jest połączony z kompletnym sterownikiem silnika krokowego z obsługą mikrokoku, aż do podziału 1/32, kontrolą prądu uzwojeń przez wewnętrzny DAC i zestawem zabezpieczeń.

Podstawowe parametry:
  • obsługa mikrokoku, aż do podziału 1/32,
  • dostarcza ciągły prąd 0,8 A/uzwojenie,
  • pracuje przy napięciu zasilania z zakresu 2,5...10,8 V.

Układ DRV8834 pracuje przy napięciu zasilania z zakresu 2,5...10,8 V i dostarcza do uzwojeń silnika ciągły prąd o wartości do 1,5 A (w szczycie 2,2 A). Układ uzupełniono także o sygnalizację stanów awaryjnych, takich jak przegrzanie, przeciążenie, zwarcie i blokadę podnapięciową, sygnalizowane na wyjściu nFAULT. Schemat wewnętrzny sterownika DRV8834 został pokazany na rysunku 1.

Rysunek 1. Schemat wewnętrzny DRV8834 (za notą TI)

Budowa i działanie

Kompletny schemat modułu pokazano na rysunku 2. Aplikacja jest bardzo prosta. Moduł zasilany jest napięciem VM doprowadzonym do złącza PWR.

Rysunek 2. Schemat ideowy modułu sterownika

Z napięcia VM poprzez wewnętrzną przetwornicę U2 generowane jest napięcie VCP potrzebne do drivera tranzystorów MOSFET mostka H. C5 jest kondensatorem pompy ładunkowej VCP. Z napięcia VM otrzymywane jest także napięcie VSYS o wartości ok. 5 V do zasilania Pi Pico. Napięcie generowane jest poprzez przetwornicę obniżająco-podwyższającą U1 typu TPS63061, co umożliwia zasilanie modułu napięciem z zakresu 2,5...10,8 V np. z pakietu akumulatorów.

Wszystkie sygnały sterujące pracą U2 doprowadzone są do GPIO Pi Pico. Umożliwia to pełne programowe sterowanie pracą drivera. DRV8834 poprzez wyprowadzenie CONFIG ustawiony jest w tryb pracy z wbudowanym sekwencerem, z możliwością pracy mikrokrokowej. Sterowanie w tym trybie odbywa się w standardzie EN/DIR/STEP, gdzie procesor, sterujący po aktywowaniu drivera sygnałem EN, generuje tylko sygnał kierunku DIR i impuls narastający kroku STEP, co znacząco ułatwia sterowanie silnikiem. Sygnał EN=0 załącza sterownik, sygnał SLP=0 wprowadza U2 w tryb obniżonego poboru mocy. Wejścia M0, M1 umożliwiają zmianę aktualnego mikrokroku. Bramka U3 umożliwia ustawienie stanu wysokiej impedancji niezbędnego przy sterowaniu wyprowadzeniem M0. Stany logiczne wyprowadzeń M0, M0H, M1 wybierające sterowanie mikrokrokowe przedstawiono w tabeli 1.

Wejścia A/B DECAY i wartości rezystorów R3, R4 określają sposób wygaszania prądu w uzwojeniach silnika, poprzez zmianę sposobu sterowania mostkem H (szczegółowe informacje znajdują się w karcie katalogowej). Wejścia A/BISEN określają próg zabezpieczenia nadpradowego mostka są dobierane w zależności od prądu pracy silnika. W modelu Ic=2/(5×R1), Ic=2/(5×0,5), a więc wynik to ok. 0,8 A.

Układ ma możliwość dynamicznej zmiany trybu mikrokoku. Podczas każdego narastającego zbocza STEP wartości M0/M1 są odświeżane i indekser generuje zmieniony ciąg sterowania. Umożliwia to np. płynne i dokładniejsze sterowanie silnikiem przy zbliżaniu się do pozycji zadanej. Wyjście nFAULT typu otwarty dren spolaryzowane przez R5 informuje o nieprawidłowej pracy U2.

Montaż i uruchomienie

Minimoduł zmontowany jest na dwustronnej płytce drukowanej zgodnej z Pi Pico, której schemat został pokazany na rysunku 3. Sposób montażu jest klasyczny i nie wymaga dokładnego opisu. Zmontowany moduł nie wymaga uruchamiania. Sterowanie silnikiem odbywa się poprzez odpowiednią konfigurację wyprowadzeń GPIO.

Rysunek 3. Schemat płytki PCB

Szybkiego sprawdzenia modułu po podłączeniu silnika i zasilania można dokonać, korzystając z IDE Thonny i micropythona. Najpierw należy zaimportować biblioteki Pin oraz sleep poleceniami:

from machine import Pin
import time
from time import sleep

Następnie należy zdefiniować wyjścia sterujące:

SLP = Pin(12, Pin.OUT)
EN = Pin(13, Pin.OUT)
DIR = Pin(14, Pin.OUT)
STEP = Pin(15, Pin.OUT)
M0 = Pin(8, Pin.OUT)
M0H = Pin(9, Pin.OUT)
M1 = Pin(10, Pin.OUT)
FLT = Pin(11, Pin.IN)

Teraz określamy kierunek i aktywujemy U2:

SLP.value(1)
DIR.value(0)
EN.value(0)

Skonfigurowanie mikrokroku sekwencera wymaga wpisania:

M0.value(0)
M0H.value(0)
M1.value(0)
x=1
flts=1

Na koniec generujemy serię impulsów STEP:

while x < 50:
flts=FLT.value()
print(x,flts)
STEP.value(0)
STEP.value(1)
sleep(0.2)
x=x+1
EN.value(1)
SLP.value(0)

Obserwujemy zachowanie silnika. 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: 51 kΩ dobrać zależnie od sterowania silnika (SMD0603)
  • R5: 10 kΩ (SMD0603)
Kondensatory:
  • C1: 10 μF ceramiczny 10 V (SMD0603)
  • CE1, CE2: 100 μF/16 V elektrolityczny D=6,3 Low Esr
  • C2, C7, C9: 0,1 μF ceramiczny 50 V (SMD0603)
  • C3, C4: 47 μF ceramiczny 10 V (SMD1206)
  • C5: 2,2 μF ceramiczny 16 V (SMD0603)
  • C6: 10 nF ceramiczny 50 V (SMD0603)
  • C8: 10 μF ceramiczny /16 V (SMD0805)
Półprzewodniki:
  • D1: MBR0520L dioda Schottky’ego (SOD123)
  • U1: TPS63061DSC (WSON10)
  • U2: DRV8834PWP (HTSSOP24)
  • U3: 74V1G125 V (SC70-5)
Pozostałe:
  • IO1, IO2: złącze żeńskie 1×20, 2,54 mm
  • L1: 1 μH dławik DLJ4018 1 μH/1,8 A
  • MA, MB, PWR: złącze DG 3,5 mm 2 piny
Artykuł ukazał się w
Elektronika Praktyczna
grudzień 2022
DO POBRANIA
Materiały dodatkowe
Elektronika Praktyczna Plus lipiec - grudzień 2012

Elektronika Praktyczna Plus

Monograficzne wydania specjalne

Elektronik listopad 2024

Elektronik

Magazyn elektroniki profesjonalnej

Raspberry Pi 2015

Raspberry Pi

Wykorzystaj wszystkie możliwości wyjątkowego minikomputera

Świat Radio listopad - grudzień 2024

Świat Radio

Magazyn krótkofalowców i amatorów CB

Automatyka, Podzespoły, Aplikacje październik 2024

Automatyka, Podzespoły, Aplikacje

Technika i rynek systemów automatyki

Elektronika Praktyczna listopad 2024

Elektronika Praktyczna

Międzynarodowy magazyn elektroników konstruktorów

Elektronika dla Wszystkich listopad 2024

Elektronika dla Wszystkich

Interesująca elektronika dla pasjonatów