PICAXE a krokové motory
Re: PICAXE a krokové motory
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.
Re: PICAXE a krokové motory
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?
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
Re: PICAXE a krokové motory
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 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
Re: PICAXE a krokové motory
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.
Pokud spěcháš, ptej se a já nebo kolegové se ti pokusíme odpovědět konkrétněji.
jrt
Re: PICAXE a krokové motory
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
Ř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