Časování bipolar stepper motoru

Dotazy na technické problémy, vlastní řešení technických problémů

Moderátor: Moderátoři

Odpovědět
Zpráva
Autor
Uživatelský avatar
ZdenekHQ
Administrátor
Administrátor
Příspěvky: 25593
Registrován: 21 črc 2006, 02:00
Bydliště: skoro Brno
Kontaktovat uživatele:

Časování bipolar stepper motoru

#1 Příspěvek od ZdenekHQ »

Nevíte náhodou, jak široké pulsy a pauzy se běžně používají u 4-drátového krokového motoru (2 vinutí).

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.
Pro moje oslovení klidně použijte jméno Zdeněk
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[?
]

termit256
Příspěvky: 10071
Registrován: 06 pro 2007, 01:00

#2 Příspěvek od termit256 »

Ja bych se na nejakou vyrobu driveru vykaslal a pouzil neco hotoveho jako napr tohle http://www.ebay.com/itm/easydriver-shie ... SwhcJWI~8P

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.

Uživatelský avatar
ZdenekHQ
Administrátor
Administrátor
Příspěvky: 25593
Registrován: 21 črc 2006, 02:00
Bydliště: skoro Brno
Kontaktovat uživatele:

#3 Příspěvek od ZdenekHQ »

To je hezký, ale já se na to vykašlat nehodlám. Krokáč mám připojenej na L293DNE, jen potřebuju do řídícího procesoru zadat časování pulsů.
Pro moje oslovení klidně použijte jméno Zdeněk
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[?
]

termit256
Příspěvky: 10071
Registrován: 06 pro 2007, 01:00

#4 Příspěvek od termit256 »

Aha tak to je jina, kdyz uz nejaky driver mas. Mrkni treba tu http://www.st.com/web/en/resource/techn ... 000063.pdf

nebo http://www.imagesco.com/stepper/usmc.html apod. tam je casovani pekne zobrazeno

Uživatelský avatar
nekmil
Příspěvky: 780
Registrován: 06 bře 2005, 01:00
Bydliště: Havířov

#5 Příspěvek od nekmil »

Já jsem zkoušel jakési motory z tiskárny

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

Uživatelský avatar
ZdenekHQ
Administrátor
Administrátor
Příspěvky: 25593
Registrován: 21 črc 2006, 02:00
Bydliště: skoro Brno
Kontaktovat uživatele:

#6 Příspěvek od ZdenekHQ »

A nepiští to, když je tam mezera 2ms?

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 56 x
Pro moje oslovení klidně použijte jméno Zdeněk
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[?
]

Uživatelský avatar
nekmil
Příspěvky: 780
Registrován: 06 bře 2005, 01:00
Bydliště: Havířov

#7 Příspěvek od nekmil »

Co si tak vzpomínám tak to pískalo (slabě) jen když jsem si ten motor dal přímo k uchu. A zajímavé bylo, že když jsem ty pauzy mezi kroky vynechal tak se ztrácely kroky a různě to chrčelo.

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

Uživatelský avatar
ZdenekHQ
Administrátor
Administrátor
Příspěvky: 25593
Registrován: 21 črc 2006, 02:00
Bydliště: skoro Brno
Kontaktovat uživatele:

#8 Příspěvek od ZdenekHQ »

Ty Waitms by - podle mě - měly být vložený vždy, když se změní stav portu. Ten motor je přece jenom indukční zátěž, takže chvíli trvá nasycení cívky a další chvíli, než se to vůbec pohne s dostatečnou silou. Naopak příliš dlouhej puls asi jen zbytečně žere proud. To je přesně to, co momentálně řeším, protože s tímto nemám žádný zkušenosti.
Pro moje oslovení klidně použijte jméno Zdeněk
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[?
]

termit256
Příspěvky: 10071
Registrován: 06 pro 2007, 01:00

#9 Příspěvek od termit256 »

Schody jsou mikrokrokovani - motor se pohybuje po mensich krocich nez plny krok, pohyb je plynulejsi ale dost klesa moment.

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).

Uživatelský avatar
lesana87
Příspěvky: 3296
Registrován: 20 zář 2014, 02:00

#10 Příspěvek od lesana87 »

Lepší než L293 je L298 + L297, má to nastavitelnou stabilizaci proudu vinutím, takže jde použít větší napájecí napětí a proud rychleji naběhne na požadovanou hodnotu. A dají se s tím dělat i zlomky kroků.

Uživatelský avatar
berk
Příspěvky: 107
Registrován: 07 úno 2014, 01:00

#11 Příspěvek od berk »

Já u plotteru používám toto

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.

Uživatelský avatar
Atlan
Příspěvky: 4499
Registrován: 10 kvě 2004, 02:00
Bydliště: Košice

#12 Příspěvek od Atlan »

Ved prave ak pouzijes vhodny driver potom posielas len impulzy a volis smer. O spravne napajanie motora za postara driver. Takto by si mal sledovat prud motorom a vypinat hudenje pri dosiahnuti max prudu. Niekde na nete je schematk BP o takom riadeni s mega8. Mam postavenu navijacku s krokacmi ale unipolarnimi tam to take kriticke casovanie nebolo ale zbytocne sa hreju.
Tak ze davkovanie co kdo znese.

termit256
Příspěvky: 10071
Registrován: 06 pro 2007, 01:00

#13 Příspěvek od termit256 »

U modernejsich driveru nez ten L293 jako napr. tento http://www.ebay.com/itm/Controller-Step ... XQ1d1TJnEr
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).

Uživatelský avatar
ZdenekHQ
Administrátor
Administrátor
Příspěvky: 25593
Registrován: 21 črc 2006, 02:00
Bydliště: skoro Brno
Kontaktovat uživatele:

#14 Příspěvek od ZdenekHQ »

Motor už se točí, kupodivu na obě strany ( :D ), trošku jsem ho "změkčil" přidáním odporu do napájení driveru. Při prvním testu sice jen pískal jako alarm, ale "když všechno selže, přečtěte si návod" a tak jsem ty přívodní dráty potom zapojil správně... :D

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ý.
Pro moje oslovení klidně použijte jméno Zdeněk
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[?
]

Odpovědět

Zpět na „Poradna“