Časování bipolar stepper motoru
Moderátor: Moderátoři
- ZdenekHQ
- Významný člen
- Příspěvky: 25519
- Registrován: 21 črc 2006, 00:00
- Bydliště: skoro Brno
- Kontaktovat uživatele:
Časování bipolar stepper motoru
Konkrétně prodejce Conrad a Krokový motor Trinamic Qmot Hybrid QSH2818-32-07-006, 28 x 28 mm, 1,8°, 0,67 A, 0,06 Nm (197943)
Hnusnej google odkaz na pdf:
http://www.google.cz/url?sa=t&rct=j&q=& ... Vmyms7qoUA
Potřebuju z toho v podstatě udělat klasickej motor, žádná přesnost není potřeba.
Správně navržené zapojení je jako recept na dobré jídlo.
Můžete vynechat půlku ingrediencí, nebo přidat jiné,
ale jste si jistí, že vám to bude chutnat[?]
K tomu pripojis treba 555 se stridou 1:1 a tocis podle frekvence. Ty motory se napaji proudovym zdrojem, vyroba neceho takoveho z diskretnich soucastek je zdlouhave a zbytecne.
- ZdenekHQ
- Významný člen
- Příspěvky: 25519
- Registrován: 21 črc 2006, 00:00
- Bydliště: skoro Brno
- Kontaktovat uživatele:
Správně navržené zapojení je jako recept na dobré jídlo.
Můžete vynechat půlku ingrediencí, nebo přidat jiné,
ale jste si jistí, že vám to bude chutnat[?]
nebo http://www.imagesco.com/stepper/usmc.html apod. tam je casovani pekne zobrazeno
motor M42SP-4NPK (step 3.75°) 96 kroků na otáčku
motor 17PM-K034-P2ST (step 1.8°) 200 kroků na otáčku
mezi jednotlivé kroky jsem vkládal mezeru 2ms
a chodilo to celkem plynule
jako driver jsem použil modul s L298 z E-bay
http://uloz.to/xrHEkSSm/krokovy-motor-mp4
- ZdenekHQ
- Významný člen
- Příspěvky: 25519
- Registrován: 21 črc 2006, 00:00
- Bydliště: skoro Brno
- Kontaktovat uživatele:
Jinak ty grafy znám - jenže někde je obdélník, někde schody, ten bipolar potřebuje kladné i záporné pulsy atd.
Řídící obvody mají clock třeba 17kHz.
Já to časem metodou pokus omyl zjistím, ale přesnější údaj by mě ušetřil čas.
- Přílohy
-
seq.jpg- (31.52 KiB) Staženo 100 x
Správně navržené zapojení je jako recept na dobré jídlo.
Můžete vynechat půlku ingrediencí, nebo přidat jiné,
ale jste si jistí, že vám to bude chutnat[?]
Níže jsou různé kombinace, měl jsem to připojené na horní 4 bity
Sub Half_mode '2 fáze
Portd = &B01010000
Waitms T 'pauza 2ms
Portd = &B00000000
Portd = &B00010000
Waitms T
Portd = &B00000000
Portd = &B10010000
Waitms T
Portd = &B00000000
Portd = &B10000000
Waitms T
Portd = &B00000000
Portd = &B10100000
Waitms T
Portd = &B00000000
Portd = &B00100000
Waitms T
Portd = &B00000000
Portd = &B01100000
Waitms T
Portd = &B00000000
Portd = &B01000000
Waitms T
Portd = &B00000000
End Sub
'--------------------------------------------
Sub Normal_mode '2 fáze
Portd = &B01010000
Waitms T
Portd = &B00000000
Portd = &B10010000
Waitms T
Portd = &B00000000
Portd = &B10100000
Waitms T
Portd = &B00000000
Portd = &B01100000
Waitms T
Portd = &B00000000
End Sub
'--------------------------------------------
Sub Wave_mode '1 fáze
Portd = &B00010000
Waitms T
Portd = &B00000000
Portd = &B10000000
Waitms T
Portd = &B00000000
Portd = &B00100000
Waitms T
Portd = &B00000000
Portd = &B01000000
Waitms T
Portd = &B00000000
End Sub
- ZdenekHQ
- Významný člen
- Příspěvky: 25519
- Registrován: 21 črc 2006, 00:00
- Bydliště: skoro Brno
- Kontaktovat uživatele:
Správně navržené zapojení je jako recept na dobré jídlo.
Můžete vynechat půlku ingrediencí, nebo přidat jiné,
ale jste si jistí, že vám to bude chutnat[?]
Delkou pulzu jsou dany otacky. Co se tyka casoveho sledu jednotlivych pulzu pouzil bych tohle http://www.imagesco.com/stepper/waveform.jpg, ale jak rikam ja to nikdy neresil, integrovane drivery mnohem min zatezuji procesor. Od urcitych otacek u krokovych motoru dramaticky klesa moment, je to videt na momentove charakteristice v tom datasheetu - tim je dana nejmensi delka pulzu kterou muzes pouzit. Pri velmi nizkych otackach nebo kdyz motor stoji je mozne ho odpojit vstupem enable, pak do nej nejde zadny proud, ale jde s nim volne tocit. O silove spinani se stara ten L293, ktery mi prijde pro tento motor na hrane svych moznosti (nebo spis za ni).
Kód: Vybrat vše
static void dirty_step(PRINTER *p) {
p->set_step(0);
USLEEP(speed[p->velocity]);
p->set_step(1);
USLEEP(speed[p->velocity]);
}
S rovnoměrným pohybem problém není. Spíš jsem přemýšlel, zda by se rychlost před zastavením neměla zpomalit. Ono zastavení při plné rychlosti způsobí poměrně velký ráz.
Tak ze davkovanie co kdo znese.
je proud motoru regulovan pomoci PWM.
Zastaveni z plne rychlosti bych nehrotil pokud nejde o presnost. Ja davam rampy jen kdyz hrozi ztrata kroku, ale to zavisi hlavne na tom co k je k motoru pripojene (setrvacnost).
- ZdenekHQ
- Významný člen
- Příspěvky: 25519
- Registrován: 21 črc 2006, 00:00
- Bydliště: skoro Brno
- Kontaktovat uživatele:
Co se týká časování, trošku jsem experimentoval, a pro tu moji aplikaci ty cca 2ms mezi kroky vycházejí jako nejlepší. Alespoň to nemusím dál zpomalovat.
Na proudovým senzoru jsem naměřil, že exponenciála ("pila" to vážně není, ale to ještě budu zkoumat) při sycení cívky trvá cca 400us. Pokus o zkrácení buzení na tuto dobu skončil tím, že motor jen pískal.
Ale ten příkon v akci je docela dost, cca 0.8A, jenže je to záležitost vteřiny či dvou a pak je zas relativně dlouho klid...
Mimochodem, když už tam musím mít procesor, nepotřebuju "mezičlánek" mezi procesorem a driverem, je to zbytečný.
Správně navržené zapojení je jako recept na dobré jídlo.
Můžete vynechat půlku ingrediencí, nebo přidat jiné,
ale jste si jistí, že vám to bude chutnat[?]