Programování krokového motoru
Programování krokového motoru
Dobrý den,
v programování jsem nováčkem, a proto mám takový začátečnický problém s naprogramováním krokového motorku. Chtěl bych, aby mi prostě a jednoduše provedl jednu otočku kolem své osy. Proto se chci zeptat kohokoliv z vás, jaké příkazy by se k tomuto účelu daly použít, jak pomocí těchto příkazů nastavit pulzy pro ten motorek, případně jak později tomu motorku nastavit mikrokrokování. Jinak tento motorek programuji na mikrokontroleru picaxe 20m2,který je napojen na driver s čipem tb6560ahq a na něj je připojen samotný krokový motor. Dále je mikrokontroler s driverem propojen takto: picaxe 20m2 piny c.2 a c.4 jsou kabelem připojeny na driveru na konektory označené IO2 a IO4.
Za případné odpovědi děkuji.
v programování jsem nováčkem, a proto mám takový začátečnický problém s naprogramováním krokového motorku. Chtěl bych, aby mi prostě a jednoduše provedl jednu otočku kolem své osy. Proto se chci zeptat kohokoliv z vás, jaké příkazy by se k tomuto účelu daly použít, jak pomocí těchto příkazů nastavit pulzy pro ten motorek, případně jak později tomu motorku nastavit mikrokrokování. Jinak tento motorek programuji na mikrokontroleru picaxe 20m2,který je napojen na driver s čipem tb6560ahq a na něj je připojen samotný krokový motor. Dále je mikrokontroler s driverem propojen takto: picaxe 20m2 piny c.2 a c.4 jsou kabelem připojeny na driveru na konektory označené IO2 a IO4.
Za případné odpovědi děkuji.
Re: Programování krokového motoru
Vydrž do zítřka, něco k tomu napíšu.
Ta deska s TB6560 je tvůj výrobek, nebo něco komerčního? Jestli je to tvůj výrobek, pošli schéma, jestli komerční, pošli pěknou fotku nebo odkaz na web, odkud pochází.
Ta deska s TB6560 je tvůj výrobek, nebo něco komerčního? Jestli je to tvůj výrobek, pošli schéma, jestli komerční, pošli pěknou fotku nebo odkaz na web, odkud pochází.
jrt
Re: Programování krokového motoru
Zkus si pročíst tohle vlákno na jiném fóru, něco jsem se tam snažil na tohle téma vysvětlit:
https://forum.strojirenstvi.cz/viewtopic.php?t=17709
Ale takovou úroveň jako od jrt nečekej
https://forum.strojirenstvi.cz/viewtopic.php?t=17709
Ale takovou úroveň jako od jrt nečekej
Re: Programování krokového motoru
Že se nestydíš, dělat si legraci z nemohoucího starce!
Trocha čteni o krokových motorech, ke komentovanému programu se dostanu až navečer. Ještě štěstí, že jsem zatím nerozpojil to vrabčí hnízdo u lineárního vedení, ve kterém je PICAXE 20M2 a step/dir driver SMCB10!
jrt
Re: Programování krokového motoru
OT/
OT/
V čem si kreslil výkres té ozubené tyče s pohonem a zelenými popisky - jak je vedení sestaveno?Ještě štěstí, že jsem zatím nerozpojil to vrabčí hnízdo u lineárního vedení, ve kterém je PICAXE 20M2 a step/dir driver SMCB10!
OT/
Re: Programování krokového motoru
Základní kód, motor vykoná 200 kroků. Rychlost otáčení je určena velikostí proměnné spd (čím menší, tím rychleji), směr otáčení se nastavuje logickou úrovní pinu DIR.
Totéž jako v předchozím případě, ale přímé ovládání logické úrovně pinu STEP je nahrazeno generováním krátkého pulsu příkazem pulsout.
Totéž jako v předchozím případě, ale motor se otáčí strídavě vlevo a vpravo. Viz toggle dir.
Pokračovat s pokročilejšími kódy můžeme, až se ti povede úspěšně vyzkoušet tyhle.
A pokud by někoho jiného zajímalo řízení krokových motorů na trošku vyšší úrovni, odkazuji ho na články o GRBL a na Krokohrátky na robodoupěti.
Kód: Vybrat vše
#picaxe20m2
#no_data
symbol stp = C.2 ; signál STEP
symbol dir = C.4 ; signál DIR
symbol i = w0 ; pomocná proměnná pro počítadlo kroků
symbol spd = w1 ; pauza, která určuje rychlost otáčení motoru
symbol slp = w2 ; pauza, která určuje dobu zastavení motoru mezi jednotlivými otočkami
spd = 10
slp = 2000
high dir ; logická úroveň určuje, kterým směrem se motor bude otáčet
do
for i = 1 to 200 ; proveď 200x
high stp ; nastav na výstupu stp log.1
pause 1 ; čekej 1 ms
low stp ; nastav na výstupu stp log.0
pause spd
next i
pause slp
loop
Kód: Vybrat vše
#picaxe20m2
#no_data
symbol stp = c.2 ; signál STEP
symbol dir = c.4 ; signál DIR
symbol i = w0 ; pomocná proměnná pro počítadlo kroků
symbol spd = w1 ; pauza, která určuje rychlost otáčení motoru
symbol slp = w2 ; pauza, která určuje dobu zastavení motoru mezi jednotlivými otočkami
spd = 10
slp = 2000
high dir
do
for i = 1 to 200
pulsout stp,spd
next i
pause slp
loop
Kód: Vybrat vše
#picaxe20m2
#no_data
symbol stp = c.2 ; signál STEP
symbol dir = c.4 ; signál DIR
symbol i = w0 ; pomocná proměnná pro počítadlo kroků
symbol spd = w1 ; pauza, která určuje rychlost otáčení motoru
symbol slp = w2 ; pauza, která určuje dobu zastavení motoru mezi jednotlivými otočkami
spd = 10
slp = 2000
high dir ; nastavení směru otáčení motoru
do
for i = 1 to 200
pulsout stp,spd ; puls délky spd (tj. 10 ms) určuje rychlost otáčení motoru
next i
pause slp ; pauza slp určuje dobu nečinnosti motoru
toggle dir ; změna směru otáčení motoru
loop
A pokud by někoho jiného zajímalo řízení krokových motorů na trošku vyšší úrovni, odkazuji ho na články o GRBL a na Krokohrátky na robodoupěti.
jrt
Re: Programování krokového motoru
Mockrát všem děkuji za odpovědi i programovací kódy. Určitě odzkouším. A kdyby to někoho zajímalo, případně by se to hodilo později, přikládám ještě doplňující informace k mému předešlému příspěvku. Krokový motorek i jeho řídící deska jsou součást elektroniky od stavebnice robotické ruky od společnosti Merkur.
Re: Programování krokového motoru
Mě přišel ten program hodně povědomý (má typický font písma) a nespletl jsem se. Ve 3d verzí jsem dělal skoro 20 let.