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.


Předchozí verze
Poslední revize
cs:hbstep [2020/02/03 17:46] kaklik
Řá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 ^
 +| PB2 | CS |
 +| PB3  | SDI |
 +| PB4 | SDO |
 +| PB5 | 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
  
cs/hbstep.txt · Poslední úprava: 2020/02/03 18:48 autor: kaklik