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í revizePředchozí verze
Následující verze
Předchozí verze
cs:hbstep [2012/07/26 16:33] – [Konstrukce modulu] kaklikcs:hbstep [2020/02/03 18:48] (aktuální) – [Přímé řízení z PC] kaklik
Řádek 1: Řádek 1:
-====== HBSTEP01A ======+====== 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). 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).
Řádek 7: Řádek 9:
 ===== Unipolární motory ===== ===== 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 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í. +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.     +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 ===== ===== Bipolární motory =====
Řádek 17: Řádek 19:
  
 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.  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 ====== ====== Konstrukce modulu ======
  
-Modul je určen pro řízení jednoho krokového motoru pracujícího v bipolárním režimu. Tj. modul obsahuje dva plné spínačové můstky. Pro konstrukci modulu byl využit čip [[http://www.st.com/internet/analog/product/248592.jsp|L6470]]. +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]]. 
  
-====== Firmware ====== 
  
-V SW dokumentačním adresáři je dostupný demonstrační program pro [[cs:labduino|LABduino]] napsaný ve [[http://wiring.org.co/|Wiringu]].+===== Základní vlastnosti =====
  
-Pro ARM je dostupná knihovna ímo z [[http://www.st.com/internet/analog/product/248592.jsp|webu ST]].  +  * Řídící vstupy modulu jsou ošetřeny definovanými stavy.   
-===== Výchozí Požadavky =====+  * 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 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í ======
  
-  * Řídící vstupy modulu by měly být ošetřeny definovanými stavypull-up, nebo pull-down rezistory  +Modul se ovládá přes rozhraní SPIkterým se komunikuje přímo s integrovaným obvodem L6470Pro ovládání motoru je napsáno několik knihoven pro různé architektury.
-  * Měl by pracovat ve velkém rozsahu napětí výkonového napájení. +
-  * Řídící digitální vstupy by mělo jít provozovat na 3,3V i na 5V.  +
-  * Minimální budící proud motoru bez použití chladiče by měl být větší než 1A. +
-  * Výkonové výstupy by měly být osazeny svorkovnicí. +
-  * Výkonový napájecí vstup by měl být řešen svorkovnicí. +
-  * Obvod by měl obsahovat tepelnou ochranu. +
-  * Nastaveni omezení budícího proudu odporovým děličem. A nebo externě přes Jumper, (Volba vyndáním, nebo zasunutím propojky).+
  
-Po prozkoumání aktuálně nabízených budičů od firem Texas Instruments, Freescale, OnSemicondictor, Microchip a Allegro. Byl zvolen integrovaný budič  [[http://www.ti.com/product/drv8825|DRV8825]].+===== Wiring =====
  
-Zda se, že provedení odvodu tepla musí být dodrženo dost strikně, viz tread na [[http://e2e.ti.com/support/applications/motor_drivers/f/38/t/158213.aspx#574391|TI community]].  +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]].
-===== TODO ===== +
-  * Prozkoumat možnost řízení dvou DC motorů zmíněnou v datasheetu +
-  * Najít nějakou referenční konstrukci pro modul a zjistit její chyby. +
-  * Navrhnout zapojení modulu +
-  * Navrhnout plošný spoj modulu+
  
 +==== 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 ====+===== Reference =====
  
   * http://en.wikipedia.org/wiki/Stepper_motor   * http://en.wikipedia.org/wiki/Stepper_motor
  
cs/hbstep.1343320408.txt.gz · Poslední úprava: 2012/07/26 16:33 (upraveno mimo DokuWiki)