PICAXE a krokové motory

MartinL
Příspěvky: 252
Registrován: 24 úno 2013, 14:13
Kontaktovat uživatele:

Re: PICAXE a krokové motory

Příspěvek od MartinL »

Podle mě je to Arduino jednodušší než PICAXE, protože nemusím stále vymýšlet obezličky jak obejít jeho výrazná omezení (málo proměnných, jen celá čísla, atd...). Ale je to jen můj osobní názor.
jova
Příspěvky: 361
Registrován: 16 pro 2013, 11:40

Re: PICAXE a krokové motory

Příspěvek od jova »

Tak jsem to nakonec dořešil takřka k úplné spokojenosti.
Motory se už téměř vzájemně neovlivňují, při 32MHz na plný krok to točí několik otáček za sekundu. Poměr mezi nejvyššími a nejnižšími otáčkami je dám počtem bloků, do kterých se rozdělí cca poloviční hodnota načtená z potenciometru. Konkrétně u tohoto programu je to 12x.
Jediné co mě mrzí je velikost programu. Nedalo by se to při zachování funkce nějak datově zmenšit?

Kód: Vybrat vše

setfreq m32

start:
readadc C.1,b0   ;potencometr 1 načtení hodnot z joysticku, nulová hodnota je cca 127
readadc C.2,b2   ;potencometr 2 načtení hodnot z joysticku, nulová hodnota je cca 127

if b0<120 then high b.1 toggle b.0 let w3=w3+1 end if ;směr otáčení(DIR), jeden puls(STEP), informace o počtu kroků pro další výpočty
if b2<120 then high b.3 toggle b.2 let w3=w3+1 end if
if b0>135 then low b.1 toggle b.0 let w3=w3-1 end if
if b2>135 then low b.3 toggle b.2 let w3=w3-1 end if

if b0<110 then high b.1 toggle b.0 let w3=w3+1 end if
if b2<110 then high b.3 toggle b.2 let w3=w3+1 end if
if b0>145 then low b.1 toggle b.0 let w3=w3-1 end if
if b2>145 then low b.3 toggle b.2 let w3=w3-1 end if

if b0<100 then high b.1 toggle b.0 let w3=w3+1 end if
if b2<100 then high b.3 toggle b.2 let w3=w3+1 end if
if b0>155 then low b.1 toggle b.0 let w3=w3-1 end if
if b2>155 then low b.3 toggle b.2 let w3=w3-1 end if

if b0<90 then high b.1 toggle b.0 let w3=w3+1 end if
if b2<90 then high b.3 toggle b.2 let w3=w3+1 end if
if b0>165 then low b.1 toggle b.0 let w3=w3-1 end if
if b2>165 then low b.3 toggle b.2 let w3=w3-1 end if

if b0<80 then high b.1 toggle b.0 let w3=w3+1 end if
if b2<80 then high b.3 toggle b.2 let w3=w3+1 end if
if b0>175 then low b.1 toggle b.0 let w3=w3-1 end if
if b2>175 then low b.3 toggle b.2 let w3=w3-1 end if

if b0<70 then high b.1 toggle b.0 let w3=w3+1 end if
if b0>185 then low b.1 toggle b.0 let w3=w3-1 end if
if b2>185 then low b.3 toggle b.2 let w3=w3-1 end if

if b0<60 then high b.1 toggle b.0 let w3=w3+1 end if
if b2<60 then high b.3 toggle b.2 let w3=w3+1 end if
if b0>195 then low b.1 toggle b.0 let w3=w3-1 end if
if b2>195 then low b.3 toggle b.2 let w3=w3-1 end if

if b0<50 then high b.1 toggle b.0 let w3=w3+1 end if
if b2<50 then high b.3 toggle b.2 let w3=w3+1 end if
if b0>205 then low b.1 toggle b.0 let w3=w3-1 end if
if b2>205 then low b.3 toggle b.2 let w3=w3-1 end if

if b0<40 then high b.1 toggle b.0 let w3=w3+1 end if
if b2<40 then high b.3 toggle b.2 let w3=w3+1 end if
if b0>215 then low b.1 toggle b.0 let w3=w3-1 end if
if b2>215 then low b.3 toggle b.2 let w3=w3-1 end if

if b0<30 then high b.1 toggle b.0 let w3=w3+1 end if
if b2<30 then high b.3 toggle b.2 let w3=w3+1 end if
if b0>225 then low b.1 toggle b.0 let w3=w3-1 end if
if b2>225 then low b.3 toggle b.2 let w3=w3-1 end if

if b0<20 then high b.1 toggle b.0 let w3=w3+1 end if
if b2<20 then high b.3 toggle b.2 let w3=w3+1 end if
if b0>235 then low b.1 toggle b.0 let w3=w3-1 end if
if b2>235 then low b.3 toggle b.2 let w3=w3-1 end if

if b0<10 then high b.1 toggle b.0 let w3=w3+1 end if
if b2<10 then high b.3 toggle b.2 let w3=w3+1 end if
if b0>245 then low b.1 toggle b.0 let w3=w3-1 end if
if b2>245 then low b.3 toggle b.2 let w3=w3-1 end if

goto start
packa
Příspěvky: 43
Registrován: 15 zář 2015, 12:32

Re: PICAXE a krokové motory

Příspěvek od packa »

jrt píše: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.

Zdravím jsem tu nový , ale chtěl bych se zeptat jestli se už někdo prokousal knihovnou accelstepper ? Něco se mi už povedlo , ale má kupu možností , ale některé nevím jak použít .
Dík
Packa
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 »

Prokousávám se jí po chvílích a něco už se daří. Když vydržíš, bude i český manuál a na akci CNC robotika chystám o téhle knihovně krátké povídání spolu s předvedením výsledků našeho snažení.
Pokud spěcháš, ptej se a já nebo kolegové se ti pokusíme odpovědět konkrétněji.
jrt
packa
Příspěvky: 43
Registrován: 15 zář 2015, 12:32

Re: PICAXE a krokové motory

Příspěvek od packa »

Ahoj a děkuji za odpověd ,
Řeším jednoduchou úlohu , kde potřebuji polohovat dva motory a ani né najednou , ale postupně , první se vždy otočí o řekněme půl otáčky a druhý řekněme o dvě otáčky a takto stále dokola s nějakou prodlevou mezi jednotlivými pohyby motorů , Moje představa o této knihovně byla taková že pošlu motorna pozici ,pakpošlu na pozici druhý motor , vynuluji pozice a jedu znovu , bohužel semi nedaří aby se to takto chovalo . Další možnost byla vždy přičíst tu samou hodnotu a takto stále dokola - potřebuji nastavit celkvý počet cyklů a při dosažení potřebného počtu motory zastavit. Co jsem se dočetl z dokumentace tak by knihovna měla umět počítat s absolutní i relativní polohou , ale nejsem z toho moudrý . Budu rád když mi tyto základy někdo trochu objasní .
Packa
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 »

Zkusím na to kouknout, ale nebude to hned...
jrt
Odpovědět