Navigacija
Lista poslednjih: 16, 32, 64, 128 poruka.

Arduino i stepmotor - problem!

[es] :: Elektronika :: Mikrokontroleri :: Arduino i stepmotor - problem!

[ Pregleda: 1155 | Odgovora: 4 ] > FB > Twit

Postavi temu Odgovori

Autor

Pretraga teme: Traži
Markiranje Štampanje RSS

janosik
vojvodina

Član broj: 117495
Poruke: 14
*.dynamic.isp.telekom.rs.



Profil

icon Arduino i stepmotor - problem!18.04.2017. u 18:02 - pre 84 meseci
Stepmotor ima 400 koraka, odredenim davacem (promenljiva x) deli se 400 koraka sa promenljivom x i kad je kolicnik ceo broj odradi stepmotor tacno.
Pitanje: kako da odradi kad je kolicnik decimalni broj npr. 15,34 koraka kako decimalni ostatak 0,34 "ugraditi" u broj koraka stepmotora? Da se greska smanji.

PS. izvinjavam se ako ima obradena tema na forumu, prosledite mi link iste. Hvala
 
Odgovor na temu

bogdan.kecman
Bogdan Kecman
"specialist"
Oracle
srbistan

Član broj: 201406
Poruke: 15887
*.dynamic.sbb.rs.

Sajt: mysql.rs


+2377 Profil

icon Re: Arduino i stepmotor - problem!18.04.2017. u 19:19 - pre 84 meseci
nema nikakve veze sa mikrokontrolerima jbg .. tako da ces resenja te vrste problema traziti na cnc forumima, ne na elektronici...

generalno ima nekoliko pristupa, pre svega videces cesto da se dodaje mikrosteping i da u tom slucaju ljudi misle da imaju vecu preciznost (posto dobijes recimo 51200 koraka u jednom krugu za isti taj motor) - u startu, grese, nemaju vecu preciznost, ali mogu lakse da pokrenu motor, imaju manje trzanje i slicno ..

prvi pristup je da "ignorises" ostatak, tj da radis "rounding" (dodas 0.5 i odbacis sve iza zareza) i tako da vozis motor. mnogi stari kontroleri su tako radili i to ima cudo i karate problema, kumulaciona greska moze da bude ogromna, artefakti na zidovima modela mogu da budu vrlo zanimljivi i slicno .. operatori koji su radili sa cnc-ovima sa takvim upravljanjem su "adaptirali" kodove tako da im se sve koordinate uvek nalaze na "tacnoj" poziciji (broj koraka * prenos)..

drugi pristup je da "pamtis" gde si, dakle bez obzira dal ti je pomeraj absolutni ili relativni ti pamtis tacno gde si tako da ako si trebao da se pomeris za 1.7 stepova, ti se pomeris 1 i pamtis 0.7, sledeci put na tu stranu kad se pomeras dodajes na ono koliko treba da se pomeris tih 0.7 koje si pamtio i opet se pomeras za ceo broj koraka i opet pamtis ostatak. tu se sad razlikuje kvalitet drajvera u tome kako sinhronizuje 0.2 stepa ostatka na jednoj, 0.7 stepa ostatka na drugoj i 0.9745 stepa ostatka na trecoj osi ( cetvrtoj, petoj, sestoj ...) jer svi treba da krenu odjednom i da zavrse u isto vreme prateci najsporiju rampu.

iskreno, bolje pitanje ovde je, obzirom da ima jedno 20 razlicitih free, i bar 5 open source, resenja za vozenje steper motora, za koji klinac gubis vreme praveci to uopste? uzmes gotovo resenje i vozi misko, 5 stepera vozis bez problema sa obicnog osmobitnog atmega2560 brzinama do 100mm/sec
 
Odgovor na temu

janosik
vojvodina

Član broj: 117495
Poruke: 14
*.dynamic.isp.telekom.rs.



Profil

icon Re: Arduino i stepmotor - problem!18.04.2017. u 19:30 - pre 84 meseci
Arduino ima mikrokontroler, zato sam na forumu za mikrokontrolere.

Drugi pristup mi u principu odgovara, i imam samo jedan stepmotor i jedan davac, i nije u pitanju cnc ploter, 3d printer i slicno.

Hvala na odgovoru.



 
Odgovor na temu

mikikg
System administrator
Srbija

Član broj: 3779
Poruke: 5059
*.dynamic.sbb.rs.

Sajt: yu3ma.net


+505 Profil

icon Re: Arduino i stepmotor - problem!19.04.2017. u 16:45 - pre 84 meseci
Kao sto ti je Bogdan predlozio, uzmes neko gotovo resenje, bez obizra sto je relativno prost zahtev (u sustini i nije bas prosto to vezano za stepere), uglavnom imas vrlo dobar GRBL software za Atmega328 (Arduino UNO), recimo kod njega imas ovako nesto za podesavanje, odprilike sa tim zavrsavas sve sto ti treba oko kretanja stepera:

https://github.com/grbl/grbl

Code:

SEND: $$
RESP: $0=10 (step pulse, usec)
RESP: $1=25 (step idle delay, msec)
RESP: $2=3 (step port invert mask:00000011)
RESP: $3=4 (dir port invert mask:00000100)
RESP: $4=0 (step enable invert, bool)
RESP: $5=0 (limit pins invert, bool)
RESP: $6=0 (probe pin invert, bool)
RESP: $10=3 (status report mask:00000011)
RESP: $11=0.010 (junction deviation, mm)
RESP: $12=0.002 (arc tolerance, mm)
RESP: $13=0 (report inches, bool)
RESP: $20=0 (soft limits, bool)
RESP: $21=1 (hard limits, bool)
RESP: $22=0 (homing cycle, bool)
RESP: $23=0 (homing dir invert mask:00000000)
RESP: $24=25.000 (homing feed, mm/min)
RESP: $25=500.000 (homing seek, mm/min)
RESP: $26=250 (homing debounce, msec)
RESP: $27=1.000 (homing pull-off, mm)
RESP: $100=1600.000 (x, step/mm)
RESP: $101=1600.000 (y, step/mm)
RESP: $102=1600.000 (z, step/mm)
RESP: $110=550.000 (x max rate, mm/min)
RESP: $111=550.000 (y max rate, mm/min)
RESP: $112=550.000 (z max rate, mm/min)
RESP: $120=70.000 (x accel, mm/sec^2)
RESP: $121=70.000 (y accel, mm/sec^2)
RESP: $122=70.000 (z accel, mm/sec^2)
RESP: $130=200.000 (x max travel, mm)
RESP: $131=220.000 (y max travel, mm)
RESP: $132=200.000 (z max travel, mm)
RESP: ok


Dakle to spakujes u jedan Arduino ili klot ATMega328, to ce ti biti "motion controler" i odatle nadalje sa steperom pricas preko G-CODE comandi, bilo iz nekog terminala ili iz nekog tvog drugog kontrolera (npr jedan ATMega328) ...

Izgleda kao glomazno resenje ali nije tako, ovaj GRBL je super-odlican program, mnoooogooo problema ce ti to resiti i ustedeti vreme da to isto pravis sam, to ti je trosak od jednog Arduina ili IC visak ...
Site about Software Defined Radio – SDR
http://yu3ma.net/
https://github.com/yu3ma
On-line LM317 kalkulator
 
Odgovor na temu

janosik
vojvodina

Član broj: 117495
Poruke: 14
*.dynamic.isp.telekom.rs.



Profil

icon Re: Arduino i stepmotor - problem!19.04.2017. u 21:57 - pre 84 meseci
Hvala, resio sam problem tako sto pamti ostatak"decimalni" u sledecem prolazu sabira - ako je veci od 1 uvecava korak a ostatak preko 1 ide u sledeci krug i sabira se ...

Za ovu konstrukciju uredaja zadovoljava

Hvala
 
Odgovor na temu

[es] :: Elektronika :: Mikrokontroleri :: Arduino i stepmotor - problem!

[ Pregleda: 1155 | Odgovora: 4 ] > FB > Twit

Postavi temu Odgovori

Navigacija
Lista poslednjih: 16, 32, 64, 128 poruka.