PICAXE a krokové motory

Uživatelský avatar
jrt
Příspěvky: 1921
Registrován: 17 úno 2013, 17:13

Re: PICAXE a krokové motory

Příspěvek od jrt »

Vyzkoušel jsem (PICAXE 14M2, driver A3988 full až 1/16 step, NEMA 17 bez bližšího označení) a program mi funguje v obou směrech bez závad, jen regulace rychlosti otáčení je silně nelineární.
jrt
jova
Příspěvky: 361
Registrován: 16 pro 2013, 11:40

Re: PICAXE a krokové motory

Příspěvek od jova »

Asi to mám nějaké zakleté :?
Co jsi prosím tě použil za potenciometr?
PICAXE 14M2 mám také, potenciometr 10k/N. Zkoušel jsem i otočit na něm polaritu zde není u jedné strany poškozená dráha, ale chová se to stejně.
Uživatelský avatar
jrt
Příspěvky: 1921
Registrován: 17 úno 2013, 17:13

Re: PICAXE a krokové motory

Příspěvek od jrt »

1k, ale stejně to chodí i s 10k. Nemáš náhodou ten potenciometr logaritmický?
jrt
jova
Příspěvky: 361
Registrován: 16 pro 2013, 11:40

Re: PICAXE a krokové motory

Příspěvek od jova »

Tak záhada nepravidelnosti otáček byla odhalena a je pro mě překvapivě prostá.
Celé to testuji na cvičné destičce. Jednotlivé součástky jsou propojené ustřihanými kousky vodičů. A právě mezi běžcem potenciometru a AD vstupem jsem použil vodič o trochu delší, přesněji 20cm. A právě těch 20cm se chovalo jako anténa a přijímala brum z okolí. Ten se pak projevoval jako nepravidelné otáčky. Přišel jsem na to náhodou. Když jsem se přiblížil k tomu vodiči rukou, začal se motor pootáčet i v 0lové poloze. Po vykrácení na minimální délku vše funguje jak má.
Inu, člověk se musí pořád učit.
Uživatelský avatar
jrt
Příspěvky: 1921
Registrován: 17 úno 2013, 17:13

Re: PICAXE a krokové motory

Příspěvek od jrt »

A právě mezi běžcem potenciometru a AD vstupem jsem použil vodič o trochu delší, přesněji 20cm. A právě těch 20cm se chovalo jako anténa a přijímala brum z okolí. Ten se pak projevoval jako nepravidelné otáčky. Přišel jsem na to náhodou. Když jsem se přiblížil k tomu vodiči rukou, začal se motor pootáčet i v 0lové poloze.
To se mi nezdá, protože, pokud je vše ostatní v pořádku, je ten AD vstup buď spojen s napájením, nebo se zemí, nebo je napojen na dělič s příčným odporem 10k a brum, který se do AD vstupu dostává je díky tomu zcela nepodstatný.
Nemluvě o tom, že já jsem sice zapojení testoval na AXEstepperu, ale kablík k potenciometru je dlouhý asi 1/4 metru.
jrt
jova
Příspěvky: 361
Registrován: 16 pro 2013, 11:40

Re: PICAXE a krokové motory

Příspěvek od jova »

Netuším co se tam přesně děje, ale stejně se to chová se všemi 5ti potenciometry které jsem tam zapojil. Uvedený jev zmizel po výměně vodiče za kratší a opět jsem ho docílil dnes po výměně vodiče za původní viz následující video. https://youtu.be/0oXkA0AXNZs
Asi se na to budu muset kouknout osciloskopem, ale v současnosti mě to tolik netrápí.
jova
Příspěvky: 361
Registrován: 16 pro 2013, 11:40

Re: PICAXE a krokové motory

Příspěvek od jova »

Ve svém dalším projektu bych rád použil dva krokové motory řízené joystickem. Motory budou připojené na driveru řízené signály DIR a STEP. Tyto signály bych rád generoval jedním procesorem 20M2 a protože potřebuji každý krok zaznamenávat v proměnné, nemohu na to využít PWM.
Nezkoušel jste někdo už toto zapojení? Nebo nenapadá vás jak to provést?
Zatím jsem se dohrabal k programu níže, bohužel pokud řídím oba motory součastně, tak dochází k tomu, že se ty pauzy různě sčítají a rychlost motorů se vzájemně ovlivňuje. Multitasking mi tam dělá neplechu s LCD zobrazením, takže ho použít nemohu.

Kód: Vybrat vše

setfreq m32

let w10=1000		;proměnné s kterými potřebuji dále pracovat
let w11=1000 

nataceni:
readadc C.1,b0		;potencometr 1 načtení hodnot z joysticku, nulová hodnota je cca 127
readadc C.2,b3		;potencometr 2 načtení hodnot z joysticku, nulová hodnota je cca 127
if b0<120 then		;motor 1 vpřed
high B.1 			;směr otáčení / DIR
pause b0
toggle B.0			;jeden puls / step
let w10=w10+1
end if
if b0>130 then		;motor 1 vzad
let b0=255-b0
low B.1 			;směr otáčení / DIR 
pause b0
toggle B.0			;jeden puls / step
let w10=w10-1
end if
if b3<120 then		;motor 2 vpřed 
high B.3 			;směr otáčení / DIR 
pause b3
toggle B.2			;jeden puls / step
let w11=w11+1
end if
if b3>130 then		;motor 2 vzad
let b3=255-b3
low B.3 			;směr otáčení / DIR 
pause b3
toggle B.2			;jeden puls / step
let w11=w11-1
end if
goto nataceni
Uživatelský avatar
jrt
Příspěvky: 1921
Registrován: 17 úno 2013, 17:13

Re: PICAXE a krokové motory

Příspěvek od jrt »

Bojím se, že na tohle je PICAXE už malý kalibr...
Po chvílích si hraju s knihovnou AccelStepper pro Arduino, jednak, abych pochopil všechny funkce, jednak abych přeložil manuál z jazyka geeků, jen vzdáleně připomínajícího angličtinu :lol: do smysluplné češtiny.
Pokud to příliš nespěchá, vydržte.
jrt
jova
Příspěvky: 361
Registrován: 16 pro 2013, 11:40

Re: PICAXE a krokové motory

Příspěvek od jova »

Díky za odpověď. Pro to co potřebuji, bude stačit přinejhorším i tahle verze, bude se s tím natáčet fotoaparát na počáteční a konečnou pozici. Současný pohyb není zase až tak nutný. Jen jsem nechtěl zase prošlapávat slepou cestičku. Tohle programování beru jako zábavu a říkám si, když už z toho nic nebude, třeba mi pomůže zahnat Alzheimera :P
Na Arduino si zatím netroufám.
Pirx
Příspěvky: 181
Registrován: 24 úno 2013, 16:29
Kontaktovat uživatele:

Re: PICAXE a krokové motory

Příspěvek od Pirx »

Na Arduino a jiná -duina si klidně troufni :-)
Jsou přesně pro lidi, kteří se chtějí seznámit s technologií bez většího násilí a investic. No a až tě přestane bavit omezení Arduina, tak si můžeš přečíst datasheet od použité ATMegy, smazat -duino z paměti a začít programovat normálně :-)

BTW, taky doufám, že programování zahání Alzheimera. Podle posledních průzkumů prý luštění křížovek nepomáhá...
Soldering fumes make you stronger!
Odpovědět