Table of Contents

Budič krokových motorů HBSTEP01A

PDF dokumentace MLAB.

Je modul určený pro buzení krokových motorů. Vzhledem k tomu, že moment krokového motoru je závislý na proudu tekoucím vinutím (magnetické napětí), tak je třeba pro zachování momentu motoru i ve vysokých otáčkách budit vinutí motoru zdrojem proudu. Který působí proti indukčnosti vinutí změnou efektivního napájecího napětí. Což umožní rychle dosáhnout nominálního napájecího proudu i při rychlém přepínání vinutí (minimalizuje se tím vliv indukčnosti).

Existují dvě hlavní konstrukce motorů z hlediska způsobu jejich řízení.

Unipolární motory

Jejich vinutí je konstruováno tak, že obsahuje napájecí odbočky, které umožňují měnit polaritu magnetického pole na pólech motoru bez přepólování napájecího napětí. To umožňuje elektronicky jednodušší ovládání motoru protože k řízení pak není potřeba plný spínačový most. Ale pouze spínače, které uzemňují jednotlivá vinutí proti napájecímu napětí.

Nevýhodou je že každý pól motoru musí obsahovat dvojnásobné množství závitů (pro jednu a druhou polarizaci magnetického pole), což přináší menší užitný výkon motoru. Proto se tyto motory už obvykle nevyužívají a jsou zastaralé. Nové budiče krokových motorů je už ani neumožňují řídit.

Bipolární motory

Tento typ motorů má na pólovém nástavci navinuto pouze jedno vinutí a je tudíž nutná komutace jeho napájecího napětí a tedy i použití plného spínačového mostu.

Výhodou je hlavně vyšší výkon a moment motoru při malých rozměrech a hmotnosti vzhledem k unipolárním motorům.

Konstrukce modulu

Modul je určen pro řízení jednoho krokového motoru pracujícího v bipolárním režimu (většinu unipolárních motorů lze v tomto režimu provozovat za cenu použití vyššího napájecího napětí). Tj. modul obsahuje dva plné spínačové můstky. Pro konstrukci modulu byl vybrán integrovaný obvod L6470.

Základní vlastnosti

Ovládání

Modul se ovládá přes rozhraní SPI, kterým se komunikuje přímo s integrovaným obvodem L6470. Pro ovládání motoru je napsáno několik knihoven pro různé architektury.

Wiring

V SW dokumentačním adresáři na MLAB SVN je dostupný demonstrační program pro LABduino napsaný ve Wiringu.

Připojení modulu

Propojení obou modulů provedeme vodiči MLAB podle následující tabulky:

Modul ATmegaTQ3201A Modul HBSTEP01A
PB2 CS
PB3 SDI
PB4 SDO
PB5 CK

ChibiOS

Protože ve stavebnici MLAB je tento RTOS systém využíván ta mikrokontrolérech ARM STM32. Byla do chibiOS pro ARM naportována knihovna přímo z webu ST.

Připojení modulu

Firmware pro toto zapojení je k dispozici na githubu

Použitý demo kód ovládá dva krokové motory. A připojení přes SPI je multiplexováno mezi oběma obvody přes ChipSelect pin.

Připojení prvního motoru

Modul STM32F10xRxT01A Modul HBSTEP01A
PA4 CS
PA5 CK
PA6 SDO
PA7 SDI
PC4 BUSY/SYNC

Připojení druhého motoru

Modul STM32F10xRxT01A Modul HBSTEP01A
PC5 CS
RA5 CK
RA6 SDO
RA7 SDI

Přímé řízení z PC

Modul je možné přímo řídit z PC při použití modulů USBI2C01B a I2CSPI01A, které vytvoří SPI rozhraní ovladatelné z počítače.

Modul I2CSPI01A Modul HBSTEP01A
#SS0 CS
MOSI SDI
MISO SDO
CLK CK

Daisy chain zapojení

V případě, že je potřeba řídit více motorů současně, tak je běžným řešením připojení více HBSTEP budičů na jedno SPI rozhraní. Obvykle je to realizováno použitím více chip-select signálů (ke každému SPI slave zvlášť). Taková konstrukce je ale nepraktická.

U modulů HBSTEP01B je ale možné použít takzvané daisy-chain zapojení, které umožňuje připojit více SPI slave zařízení na jeden Chip-select. Tím se značně zjednodušší konstrukce takového zařízení. A počet ovládaných motorů pak není limitován počtem chip-select signálů.

Příklady využití

TODO

Reference