Uživatelské nástroje

Nástroje pro tento web


cs:hbstep

Rozdíly

Zde můžete vidět rozdíly mezi vybranou verzí a aktuální verzí dané stránky.

Odkaz na výstup diff

Obě strany předchozí revize Předchozí verze
Předchozí verze
cs:hbstep [2017/02/27 10:52]
cs:hbstep [2020/02/03 19:48] (aktuální)
kaklik [Přímé řízení z PC]
Řádek 1: Řádek 1:
 +====== Budič krokových motorů HBSTEP01A ======
 +
 +[[http://​www.mlab.cz/​Modules/​H_Bridge/​HBSTEP01A/​DOC/​HBSTEP01A.cs.pdf|PDF dokumentace MLAB]].
 +
 +Je modul určený pro buzení [[http://​cs.wikipedia.org/​wiki/​Krokov%C3%BD_motor|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 [[http://​www.st.com/​internet/​analog/​product/​248592.jsp|L6470]]. ​
 +
 +
 +===== Základní vlastnosti =====
 +
 +  * Řídící vstupy modulu jsou ošetřeny definovanými stavy.  ​
 +  * Modul pracuje ve velkém rozsahu napětí výkonového napájení 8 - 45 V.
 +  * Digitální řídící vstupy lze ovládat nízkými logickými úrovněmi 3,3V a 5V. 
 +  * Budící proud motoru je špičkově 7A  a 3A RMS.
 +  * Výkonové výstupy jsou osazeny pružinovou svorkovnicí WAGO.
 +  * Výkonový napájecí vstup je osazen pružinovou svorkovnicí WAGO.
 +  * Modul obsahuje tepelnou a nadproudovou ochranu proti přetížení.
 +  * Modul umožňuje digitální nastavení omezení budícího proudu vinutí motoru. ​
 +  * Je možné nastavovat profily akcelerace a decelerace.
 +  * Je možné nastavit náběhový proud budících tranzistorů (Pro omezení rušení)
 +  * Budič umožňuje 1/128 mikrokování
 +  * Bezsenzorová detekce prokluzu kotvy motoru
 +  * SPI komunikační rozhraní
 + 
 +====== 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 [[cs:​labduino|LABduino]] napsaný ve [[http://​wiring.org.co/​|Wiringu]].
 +
 +==== Připojení modulu ====
 +
 +{{ :​cs:​designs:​hbstep01a_wiring_big.jpg?​direct&​300 |}}
 +
 +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 [[cs:​stm32f10xrxt|ARM STM32]]. Byla do chibiOS pro ARM naportována knihovna přímo z [[http://​www.st.com/​internet/​analog/​product/​248592.jsp|webu ST]]. 
 +
 +==== Připojení modulu ====
 +
 +Firmware pro toto zapojení je k dispozici na [[https://​github.com/​MLAB-project/​mlab-chibios/​tree/​master/​STM32F107/​ChibiOS_2.6.1/​demos/​stepper|githubu]]
 +
 +{{ :​cs:​modules:​motors:​hbstep_chibios_dual.jpg?​direct&​300 |}}
 +
 +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ů [[cs:​usbi2c|USBI2C01B]] a [[cs:​i2cspi|I2CSPI01A]],​ které vytvoří SPI rozhraní ovladatelné z počítače. ​
 +
 +^ Modul I2CSPI01A ^ Modul HBSTEP01A ^
 +| #SS0 | CS |
 +| MOSI ​ | SDI |
 +| MISO | SDO |
 +| CLK | CK |
 +
 +
 +{{youtube>​28aWrmkpqYA?​medium}}
 +
 +==== 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é [[https://​www.maximintegrated.com/​en/​app-notes/​index.mvp/​id/​3947|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í =====
 +
 +  * [[cs:​designs:​3dprint]]
 +  * [[cs:tefo]]
 +  * [[cs:tedr]]
 +
 + 
 +====== TODO ======
 +
 +  * Prozkoumat možnost řízení dvou DC motorů zmíněnou v datasheetu
 +
 +===== Reference =====
 +
 +  * http://​en.wikipedia.org/​wiki/​Stepper_motor