Allegro A3972

Odpovědět
k
Příspěvky: 814
Registrován: 12. 8. 2008, 12:00
Bydliště: Kosice SK

23. 9. 2009, 1:36

nie o tom je rec . ako riesit akceleraciu a deceleraciu je jedna vec (je podstatne jednoduchsia ako to na co sa pytam), ale planovanie nadvaznosti pohybov vam kompletne chyba .. to nie je o nejakych 100 krokoch..

Priklad .. z 0,0 ideme linearne na 100,0 a potom na 100,200. zo zaciatku zrychlujem z 0 na maximalnu moznu rychlost .. ale nie je iste ci ju dosiahnem (to zalezi od moznosti stroja t.j. co da motor). Najneskorsie v bode 50,0 musim zacat zas spomalovat, pretoze v bode 100,0 bude musiet motor X zastat a rozbehne sa motor Y..

Zatial to je jednoduche .. ale zmenme drahu takto:

0,0 -> 100,0 -> 200,100

Kde tuna zacnem spomalovat na drahe 0,0 az 100,0 ? v pozici 100,0 sa totiz draha zmeni o 45 stupnov, nemusim teda zacat brzdit v bode 50,0, pretoze motor X v bode 100,0 moze ist dalej .. nezastane, len spomali .. ale preco by spomaloval uz na 50,0 ? vypocitajte si ako domacu ulohu kde by mal zacat spomalovat ;)

Pozor . v bode 100,0 sa meni draha .. uhol drahy je voci pohonu x a y 45 stupnovy .. aby som v tejto drahe zachoval rovnaku rychlost ako pri pohybe rovnobeznom s osami x alebo y.. musim prepocitat rychlost na zlozky .. t.j v tomto pripade ak pojdu oba (x aj y) motori rychlostou cca 0.7x rychlost definovaneho pohybu .. pojde vlastne vysledny pohyb prave rychlostou 1 = zodpoveda definovanej rychlosti.
(ak mi operator zada rychlost pohybu nastroja 100mm/sec, musi motor X ist 70mm/sec a motor y 70mm/sec .. menit sa to bude samozrejme s uhlom)

Dalsi problem je zvladnutie rychlsoti pohybu pri drahe na obluku.. alebo na helixe.

Ked operator zada .. xcem aby sa nastroj pohyboval 100mm/s .. musite to vediet dodrziavat pri lubovolnej drahe .. nie len ak je to draha len pre motor x alebo len pre y .. Musi to odvodit rychlost pohybu aj ked sa naraz menia suradnice x,y,z ... (niekedy ano to nestaci .. pretoze nastroj mzoe mat svoj vlastny suradnicovy system a naviac su tu rotacne osi).


Trochu som to ozrejmil ? to nie je o krokoch a casoch medzi nimi . toto je matika ..

Odporucam . skuste si to EMC .. aspon zistite co vsetko ma riadiaci system zvladat ..
RETFIE
Příspěvky: 50
Registrován: 1. 6. 2009, 8:32

23. 9. 2009, 8:12

skusim to neskor zobrat do uvahy. najprv potrebujem doriesit zakladne veci (dostat sa z bodu a do bodu b podla suradnic) , a az potom sa budem zaoberat zlozitejsimi sposobmi posunu.. v kazdom pripade si cenim vase pripomienky. neodradzaju ma, naopak, nadobudam vdaka nim nove pohlady na vec a pokusim sa ich vyuzit a aplikovat najlepsie ako budem vediet
k
Příspěvky: 814
Registrován: 12. 8. 2008, 12:00
Bydliště: Kosice SK

24. 9. 2009, 6:34

no pokial potrebujete len pohyb z bodu "a" do bobu "b" hladajte bresenhamov algoritmus na kreslenieu usecky (pouziva sa na kazdom rastrovacom zariadeni .. ale prave vdaka tomu moze byt pouzity aj pre krokace). tento algorimus sa da pozmenit aby generoval kruznicu, spiralu elipsu a mnoho dalsich grafickych primitiv mimoriadne rychlo a s pouzitim len celociselnej aritmetiky. Lahko implementovatelny aj v jednocipaku.

Polda toho ale budete musiet preist este velmi velmi dlhu cestu .. ste ani nie na zaciatku programovania riadiaceho systemu ..
RETFIE
Příspěvky: 50
Registrován: 1. 6. 2009, 8:32

3. 10. 2009, 10:37

takze znovu menim koncepciu vymeny dat a vykonavania pohybu podla suradnic.

pre vykreslenie linearnej krivky som sa rozhodol pouzit len casovace.
popis:
- chcem dostat mini CNC z bodu "a" do bodu "b" po linearnej krivke
- na presun potrebujem vediet, kolko krokov mam prejst po osi X a kolko po osi Y .tieto udaje viem programom v PC vypocitat zo suradnic
-aby som presiel z "a" do "b" po najkratsej moznej linearnej krivke, potrebujem vediet casovy interval, v ktorom sa mi vykona jeden krok po osi X, a druhy casovy interval, po prekroceni ktoreho sa vykona krok na osi Y

pripad:
ak mam prejst zo suradnice 0,0 do 100, 100 najkratsou moznou trasou, budem sa musiet pohybovat po 45 st. uhle. Tzn., ze casovy interval kroku pre os X musi byt rovnaky ako casovy interval pre os Y.

Ale:
ak chcem ist z bodu x0,y0 do bodu x100,y200, uhol uz nebude 45st., tzn. ze casove intervaly po ktorych sa budu vykonavat jednotlive kroky pre os X a os Y musia byt rozne.
A kezdze po osi X mam prejst menej krokov (x100), znamena to, ze casovy interval jedneho kroku tu musi byt vacsi ako pre os Y, na ktorej potrebujem prest krokov viac (x200) a teda spolu ich musim stihnut vykonat v rovnakom case, ako x100 krokov pre os X. tento casovy pomer si taktiez viem vypocitat programom v PC a poslat do mikrokontrolera.

Na overenie pouzitelnosti tohto sposobu pohybu CNC som si na PC vytvoril simulator, ktory z nacitanych gerber dat vykresluje data popisanym sposobom - tj. nepocitam krivky ziadnym grafickym algoritmom. Pouzivam 2 casovace, jeden pre os X a druhy pre os Y. tieto casovace nastavujem podla suradnic z gerber dat - pomerom.
jeden vykresleny pixel reprezentuje jeden krok.

sumarizacia, co potrebujem z PC poslat do riadiacej elektroniky pre kazdy jeden linearny pohyb:
1.pocet krokov pre os x
2. pocet krokov pre os Y
3. smer pohybu pre os X
4. smer pohybu pre os Y
5. casovy interval po ktorom sa vykona jeden krok na osi X
6. casovy interval po ktorom sa vykona jeden krok na osi Y

prikladam link na YouTube. zobrazovany text som nakreslil a vygeneroval do gerber v Eagli.


http://www.youtube.com/watch?v=S1V6LoCAzq8
---------------------------------------------------------

vyhodu tohto sposobu vidim v jednoduchsom a rychlejsom softveri pre mikrokontroler, kedze nepotrebujem nic prepocitavat,ale len sledovat cas a po preteceni vykonavat kroky.
Uživatelský avatar
CZ_Pascal
Příspěvky: 884
Registrován: 14. 1. 2008, 8:24
Bydliště: Brno

4. 10. 2009, 8:20

No ono na pocitaci se da simulovat ledacos, ale v praxi jsou jednotlive intervaly mezi kroky natolik male, ze se v celociselne aritmetice bude problem dostat na potrebny pomer intervalu mezi sebou a tim se zacnou uhly nepatrne odchylovat a po ujeti par metu skoncis par milimetru jinde nez potrebujes. Kdyz se do toho jeste promitne nezbytna akcelerace/decelerace tak se problem celociselne aritmetyyky jeste zvetsi. Netvrdim ze je to nemozne, ale je treba s tim pocitat a na pocitaci pouzivat taky celociselnou aritmetiku (zadne 64bit floating point). A teprve po simulaci v PC s pouzitim stejnych datovych struktur ktere jsi schopen pouzit na dane rychlosti v mikrokontroleru to chce zkontrolovat jestli jsi dojel opravdu tam kam jsi potreboval.
RETFIE
Příspěvky: 50
Registrován: 1. 6. 2009, 8:32

4. 10. 2009, 9:49

no ja prave naopak v MCU ocakavam ovela vacsiu presnost ako som to simuloval na PC, pretoze v simulacnom programe som pracoval s casovacmi, ktore maju minimalny interval 1 ms (a pouzivaju len cele cisla), kdezdto v MCU mam presnost casovaca 1 us. (4Mhz krystal)
Uživatelský avatar
CZ_Pascal
Příspěvky: 884
Registrován: 14. 1. 2008, 8:24
Bydliště: Brno

4. 10. 2009, 1:46

No co dodat. Moc v to neverim :oops: , ale drzim palce :wink:
...... kdyz uz tak aspon pouzij AVRko na 20MIPS. Tam uz by se ty úhly mohly pri trose dobre vule trefit presneji. Nezapomen po kazde care skontrolovat kam jsi skutecne dojel :D
k
Příspěvky: 814
Registrován: 12. 8. 2008, 12:00
Bydliště: Kosice SK

5. 10. 2009, 7:16

bresenham umoznuje pocitat priamku aj kruznicu v celociselnej aritmetike postacujuco rychle .. (je mozne ho modifikovat na spiralu, elipsu a dlasie geom. tvari.
RETFIE
Příspěvky: 50
Registrován: 1. 6. 2009, 8:32

8. 10. 2009, 10:20

pridavam link na nove video. motor sa uz toci bodla suradnic z gerber dat, rychlostou, vypocitanou pomerom podla predchadzajuceho prispevku.
kedze zatial nemam ziadnu mechaniku, na ktorej by som mohol pohyb cnc realne odskusat, bude este nejaky cas trvat, kym zistim ci je moj sposob pouzitelny...

http://www.youtube.com/watch?v=uTNMQXDDY_8
---------------------------------------------------------------
k
Příspěvky: 814
Registrován: 12. 8. 2008, 12:00
Bydliště: Kosice SK

9. 10. 2009, 6:33

Pri rychlostiach z toho videa by motor snad ani nepotreboval rampovanie ;) ... Ked to bude tocit aspon 10 otacok za sec .. potom to zacne mat zmysel. (teda nie len tocit ale aj spomalovat a zrychlovat). A samozrejme, okrem linerarneho pohybu treba zvladat aspon obluk a helix. V tom momente uz mozeme povedat, ze je to na nejake CNC obrabanie vhodne. Aby to vedelo vacsinu G-cka odporucam vykuchat z EMc rs274 interpreter .. a jeho kanonicke funkcie naviazat priamo na poveli procaku.
RETFIE
Příspěvky: 50
Registrován: 1. 6. 2009, 8:32

13. 10. 2009, 12:09

Prikladam moj navrh nizkonakladovej mechaniky nakresleny v SketchUp-e. Sklada sa zo zeleznych prifilov 40x20, 30x15 a 20x20.
Pohyblive casti som objavil v baunaxe - kolajnicky na sufliky s gulickovymi loziskami (na obrazku zelenou farbou). V strede je vykres formatu A3. To, ze idem pouzit tyce s metrickym zavitom radsej ani nejdem spominat.
Ked to bude fyzicky zostrojene, podelim sa o foto. A ak mi s tym tie motorceky pohnu, tak aj o video.
Přílohy
CNCv6.jpg
RETFIE
Příspěvky: 50
Registrován: 1. 6. 2009, 8:32

9. 11. 2009, 10:27

zdravim. chcel by som sa opytat...

pouzivam bipolarne zapojeny KM s full step ovladanim. Napajacie nap. 22 V. Napatie sice neskor zvysim na 38..

ale otazka je, ci ma pre mna vyznam riesit mikrokrokovanie pokial ide o otazku momentu vs. otacok
kebyze pouzivam mikrokrokovanie, zvysil by sa mi moment motora oproti full step ovladaniu pri rovnakom napajani a rovnakych otackach?
k
Příspěvky: 814
Registrován: 12. 8. 2008, 12:00
Bydliště: Kosice SK

9. 11. 2009, 12:17

Vacsina drivrov pri full step dava plny prud do oboch cievok takze rotor sa otoci presne medzi cievky .. pri halfstepe alebo mikrokrokovani je vzdy sucet vyslednych prudov mensi ako pri fullstepe.

Sila motora je priamo umerna prudu, najsilnejsi je teda motor pri fullstepe.
RETFIE
Příspěvky: 50
Registrován: 1. 6. 2009, 8:32

9. 11. 2009, 1:37

dakujem za objasnenie.

Takze mojou jedinou moznostou je uz len zvysenie napajacieho napatia.
Momentalne pouzivam univerzalny spinany zdroj na notebooky.
Tu na fore sa pise, ze je lepsie pouzit trafo. Moja dalsia otazka by teda bola, ci by na napajanie krokovych motorov stacil zdroj konfiguracie

trafo (toroid) -> gretz -> filtracne kondenzatory
Uživatelský avatar
tomashal
Příspěvky: 288
Registrován: 15. 7. 2006, 10:19
Bydliště: Kudlovice
Kontaktovat uživatele:

9. 11. 2009, 4:42

Jo takovy zdroj by stacil.
Ale reagoval bych jeste na ten moment pri fullstepe. k sice psal, ze vetsina budicu ve fullstepu pousti plny proud do obou fazi a diky tomu jede motor na plny vykon, ale:
1) pokud vas budic nepousti pri fullstepu plny proud do obou fazi, pak lze moment zvisit tim, ze si poridite budic, ktery to delat bude.
2) a nebo pokud vas budic umi mikrostepovani a pri fullstepu nepousti do obou fazi plny proud, tak je lepsi zvolit mikrokrokovani.

Protoze jsou kroky pri mikrokrokovani kratsi, zmensi se energie, ktera rozrezonovava celou pohybovou soustavu a tim klesne potreba tak velkeho momentu (zvetsi se momentova rezerva) a za druhe protoze jsou kroky kratsi, je zapotrebi k pritazeni o tu kratsi vzdalenost mensi magneticke pole, cimz zase klesa narok na tak velky soucet proudu fazi. Za treti pri mikrokrokovani jedou KM daleko klidneji. Za ctvrte ten vykonovy rozdil fullstepu oproti mikrokrokovani neni zas tak velky, protoze moment je umerny elektrickemu vykonu a ten je umerny zahrivani motoru, coz je vlastne limitujici faktor, pro nastaveni proudu motoru. Takze vlastne pri fullstepu treba ani nemuzete nastavit plny jmenovity proud motoru, protoze by se motor prehrival kdezto pri mikrokrokovani muzete nastavit vyssi proud na fazi narozdil od fullstepu, cimz se prave spominany rozdil dosti zmensi. Jsem toho nazoru, ze pokud nemate mezi KM a sroubem velky prevod do pomala, vyplati se vam spise mikrokrokovani.

Tomas
Odpovědět

Zpět na „Krokové motory“