Hírek:

Fontos tudnivalók a migrációval kapcsolatban, kérlek olvasd el:

A régi fórumról áthozott hozzászólásoknál a felhasználó neve adatvédelmi megfontolásokból véletlenszerűen generált értékekre lett  lecserélve. Ez akkor tud a valódi értékre visszaállni, ha az adott felhasználó a régi fórumon nyilatkozik, hogy beleegyezik az adatainak az új fórumra továbbításához, majd ezután itt a régi felhasználónevével és email címével regisztrál.
8~20 óra között, 1~30 percen belül megtörténik a jóváhagyás, 30 percenként ellenőrizd email fiókodat (SPAM-ot is) mindenképp kapsz mail-t, a sikeres regisztrácioról, vagy a hibáról és, hogy mi a teendőd.
Nézd meg  "A régi fórumról, az új fórumra költözés útmutatót."
A régi fórumon használt email címmel de más felhasználói azonosítóval érkező regisztrációs kérelmek törlésre kerűlnek.

Main Menu

Léptetőmotor

Indította gaben, 2025 február 03, 18:30

Előző téma - Következő téma

bmejdz9nu

Hát igen az egész lépéses vezérlő már szinte nincs is a piacon...(de azért lehet még szerezni:) Szerezzek? Nem gond.
 
Terhelve, egy tesztpadon...  
Jó lenne orsó és lineáris vezető? Tudok egy jó beszerzési helyet :) :) :)
 
Na mindegy :)... A lényeges kérdésem:
Szerinted - így üresben - hány lépést (egész egységekben?) azaz fokot tud max. lemaradni a léptetőmotor amit még bírja lépésvesztés nélkül korrigálni magát?
Persze kíváncsi lennék még, hogy ez a szám függ e a motor nagyságától, terhelésétől...

000000000

Itt félre értesz valamit! A lépés "vesztés" nem vonatkozik körökre, csak a körön belüli szögelfordulások nem egyformák (kvázi lépésvesztés, vagy sietés lép fel), de teljes körre tekintve behozza magát! Tehát a motor nem minden lépésére ugyan annyi fokot mozdul, de a kör egészére tekintve ez végülis 0-ra kijön.

bmejdz9nu

Én akkor valamit félre értettem...  
Ezzel már Tiborral is hadakoztam, mert pont ezt nem tudom elképzelni...  
azaz, hogy tud a léptetőmotor 1,8fok elfordulásnál nagyobb lemaradást produkálni úgy, hogy ezt "behozza"...
Az, hogy a teljes lépésen belül (pl. microsteppek) mi történik az egyértelmű = bármi megeshet.
Az, hogy a motor pl. vegyünk alapul egész lépést... 360fok/200= 1,8fok... hogy ezt mennyire pontosan tudja... az csak a motorgyártón múlik... mennyire precíz az elektro-mechanikai kialakítás.

000000000

A mikrostep esetén a motor "lépése" egy relatív dolog. Ha a mikrostep miatt mondjuk kijönne 0.45°, akkor minden elméleti lépésének ennyinek kellene lenni, de a valóságba lehet (sőt biztos), hogy néhány lépésre többet fordul el, néhányra meg kevesebbet, de a körbeérésnél a forgórész ugyan oda fog beálni, tehát a körre tekintve nincs lpéseltérés, csak belül. A köztes fordulatok minden köztes térnegyedben, nyolcad, tizenhatodban (a motor kialakításától függően), két tekercs PWM-es gerjesztésének arányaitól függ. Ha a tekercselés, vezetékezés, netán vezérlőbeállítás nem az "ideális", akkor az eredő gerjesztési vektor már eltér a számítottól, tehát az elfordulás is el fog térni, de a kör végén, mindig ugyan úgy fog beállni mint induláskor (hisz ugyan azok a tekercsek, ugyanúgy lesznek gerjesztve).

000000000

Ha a köztrs lépés valahol több mint 0.45°(példában), akkor kvázi siet a motor abban a pillanatban.

bmejdz9nu

"körbeérésnél a forgórész ugyan oda fog beállni"
Azt hiszem itt értjük félre egymást... Te egy teljes motorfordulatra gondolsz? (360 fok?)

000000000

Igen, egen! Ez azért fontos "tudni" mert nem adódnak össze a szöghibák, tehát ami egszer siet, az músut késni fog. Mikro lépések közötti nonlinearitásról beszélünk, nem impulzus vesztésről (ugye ez fogalmi difi)!

3k74cecek

Szerintem nem csak a kör végére hozza be az eltéréseket hanem már a következő egész lépés poziciójánál jó (a mechanikai pontosságának megfelelő) helyzetben lesz, hiszen akkor már nem a mikrólépés arányában van gerjesztve a két tekercse.

3k74cecek

hogy tud a léptetőmotor 1,8fok elfordulásnál nagyobb lemaradást produkálni úgy, hogy ezt "behozza"..
 
 
Kissé bonyolult, de megpróbálom elmagyarázni.
Ha csak egész lépésekben gondolkodunk, akkor minden 4. lépésben lesznek a tekercsek azonosan gerjesztve. Ezalatt  a (200lépéses)  motor 7.2 fokot fordul. No ennak a fele, tehát 3.6 fok lehet elvileg a maximális késés, mert ha ennél nagyobb lenne, akkor visszaugrana a 0 fok (kiindulási állapot) poziciójába. Vagyis rögtön 4 lépést vesztene. Ez persze csak nagyon lassú léptetésre igaz, mert folyamatos mozgás közben még ekkora késés sem lehet, mert ebben a 3.6 fokos késés állapotában nincs nyomatéka a motornak.
Egyformán szeretne előreugrani a jó pozicióba és vissza a 4 lépéssel előbbibe.  
 
Ebből az is látszik, hogy egy hibázási alkalom, rögtön négy lépésnyi hibát jelent.
Egy lépést tehát nem tud veszteni csak 4-nek a többszörösét.
 
A terhelő nyomaték ingadozása (esetleg előjel váltása) behoz valamennyi szöghibát, hiszen a nyomatékot az elméleti poziciótól való szögeltérés hozza létre. Ennek nagysága a motor konstrukciótól függ. Ez azonban a lépés nagyságához képet nem jelentős.
Mikrolépéses vezérlővel, az egész  lépésen belül lehet linearitás hiba a vezérlő pontatlanságából, és ehhez adódik hozzá a  terhelő nyomaték ingadozásából eredő hiba. Ezért célszerű a szükséges nyomatéknál akár 2-3-szor nagyobb nyomatékú motort használni, ha a mikrolépéseket is szeretnénk lehetőleg pontosnak tudni.

3k74cecek

Nehezen tudom elképzelni, hogy a Varsányi ezt nem tudja. Ha elméletből esetleg nem is, de gyakorlatból mindeképpen tudnia kell.  
Azt szerintem senki sem gondolja, hogy a step jel kiadása után bármi is nulla idő alatt reagál.
Még az áram is "csak" fénysebességgel terjed, a mechanikáról már ne is beszéljünk.
Így tehát minden rendszernek van holtideje, meg időállandója. Majd azután kerül oda ahová küldtük.
 
 
Nem tudom értelmezni a következőket:
1. 500-as fordulat, 400-as mikrolépés, és az 1200-as forulat, 400-as mikrolépés  képén a középen lévő egy db nagy ugrást. Itt valami enkóder problémát gyanítok. Esetleg a jeleket figyelő kártya vagy szoftver problémát.
 
 
2. az egységugrásnak nevezett 500-as fordulat, 8000-es mikrolépés, 225rpm kezdő sebesség képet, és  az elején, közepén és végén lévő lengéseket.
Egyrészt a lengésektől eltekintve a görbe pontosan olyan jellegű mint a többi kép, ahol 100ms gyorsítási és lassítási ciklus van. Nehezen tudom elhinni, hogy ezek nélkül teljesen ugyanúgy viselkedjen a motor. Vagy ennél is megvolt ez gyorsítás/lassítás, akkor viszont mitől egységugrás?
A lengéseket sem igazán tudom elképzelni egy terheletlen motorról.
Persze ha tudnánk a #1654  1. és 2. pontjában hiányolt adatokat, akkor lehet hogy meglenne a magyarázat, így azonban  tanácstalan vagyok.
 
3. a többi kép indulási szakaszai is sántítanak szerintem.
Amikor az álló motornak kiadjuk az első step jelet, akkor amig a motor meg nem moccan, addíg kellene a legnagyobb hibának lennie, ami utána szépen csökken, de nem olyan lengés jelleggel, mint az egységugrásnak nevezett képen. Vagy a másik lehetőség, hogy teljesen azonos amplitúdójú az ábra végig (mint egy hárömszög jel) ha a step jelek pont olyan gyakorisággal követik egymást, hogy akkor jön a következő step jel mire a motor pont felvette az előzőnek megfelelő poziciót, és nullára csökkent a hiba.
Az viszont semmi esetre sem lehet, hogy induláskor kisebb a hiba, mint a gyorsulási szakasz végén, és az egyenletes sebességű részen.
 
Szóval elég sok dolog zavaró számomra ezeken a képeken.
De mivel a leírásod szerint (legalábbis én így értem) egy általad írt program kimenő adata ez a görbe, így még egy program hibát sem tartok kizártnak. Esetleg hozzájöhet még egy olyan probléma, hogy az enkóder jel közepe nem a motor lépéspoziciójánál van. Tudni kellene az enkóder hiszterézisét is. Lehet, hogy ez zavar be. Távolról persze a részletek ismerete nélkül csak találgatni tudok.

fs9s63xkf

1. Azt a jelenséget jelenleg én sem tudom megmagyarázni, lehet szoftver hiba is, de az enkóder rossz elhelyezése is okozhatja, ha lesz időm akkor utánajárok. De mindig ott volt, 400-as mikrolépésnél.
 
2. 225 rpm-el indult majd ezután következett egy 100ms-os gyorsítás 500-as fordulatra, utána kb 10 fordulat, 100ms-os lassítása 225 rpm-re majd megállás. Azok a lengések a léptetőmotor válasza az egységugrásra, ezt egyszer már Tibor45 is bemutatta:
http://cnctar.hobbycnc.hu/Tibor45/stepproblem.jpg" border=0>
 
 
3. A léptetőmotor eltérése a sebességével egyenesen arányos szerintem, és mivel egy gyorsítási szakasszal indul a mozgás ezért az eltérés szép fokozatosan nő, állandó sebességnél állandó...
Amire Te gondolsz, az a szervóra igaz:
http://www.t2cnc.hu/images/servokicsi.jpg" border=0>
 
A piros görbe a step jel, csak a kedvedért :)
Itt, amikor véget ér a gyorsítás szakasz akkor az eltérés is lecsökken 0 környékére. Itt az eltérés a gyorsítással arányos. Gondolom ez a különbség a visszacsatolás hiányából adódik, de ezt inkább Tibor45-el kéne megvitatnod :)
 
Tibor45 nem kritizálta eddig a méréseket, így feltételezem olyan nagy marhaságot nem csinálhattam :)
 
 
 
Tibor45:
Mi a véleményed a tesztekkel kapcsolatban?

3k74cecek

2.höz: Egyre homályosabb kezd lenni a dolog.
Jó lenne ha a görbe alatt szerepelne, hogy melyik szakasz minek felel meg, mert amit most leírtál eseménysornak azt nem tudom a görbéhez illeszteni. Vagy a leírás nem jó, vagy a görbe hosszabb, szóval zavaros.  
Tibor45 régi dolgaira nem emlékszem( lehet, hogy akkor még nem is voltam itt a fórumon).
Ennek a szép lecsengő lengésnek nem ismerem a körülményeit így nem tudok rá semmit mondani, csak azt, hogy az Y tengely feliratát még elolvasni sem tudom, olyan rossz a kép felbontása :(
 
 
Közben gondolkodom, hogy indulásnál ugyan mitől kezd vadul lengeni a motor (a megállásnál még értem).
Van is teóriám rá, de ahhoz a vezérlőn is kellene komoly méréseket végezni szkóppal, hogy  
eldönthessem igazam van-e. Vezérlőm,  meg szkópom még van is, de enkoderem nincs, így ezt nem tudom lemérni.
 
 
3. a #1669 3. pontjának első mondatának eleje értelmében az indulás pillanatában kellene a legnagyobb hibának lenni.  
Szerintem a hiba nem  a sebességgel  arányos (terheletlen motorról beszélünk, ahol a gördülési ellenállás elhanyagolható, és nem is sebesség függő ), hanem a gyorsulással. Mivel gyorsítani kell, a gyorsító nyomatékot pedig a lemaradás hozza létre.Ennek is ellentmond a te görbéd.
Vegyél fel görbét a motor határfordulatszámához közeli fordulattal, hogy ott mekkora lesz a lemaradás. Erős a gyanúm hogy a görbéd szerint már lépést kellene vesztenie, de a valóságban mégsem veszt. Ne legyen benne oda-vissza forgás, csak egy írány, mert akkor ha tényleg veszt a végeredmény mégis nulla lesz, vagy lehet.
 
 
Közben még arra is gondoltam, hogy a PCI-os kártya vajon minlyen gyakori mintavételezéssel dolgozik, illetve a program milyen gyorsan dolgozza fel az adatokat. Ez is okozhat hibát.
Gondolj csak arra, hogy a mintavevős szkóp hogy be tud csapni, ha a mintavételi freki nem jóval nagyobb mint a mért jel frekije. Esetleg itt is felléphet egy ilyen jelenség.
Erre az is utal, hogy nagyon háromszög jellegűek a görbék. Mintha a ritka mérési pontok lennének összekötve egyenesekkel, és ezáltal a valóságtól eltérő jellegű görbéket kapnánk.
 
A kedvemért betett step jeles görbét meg végképp nem értem.
Melyik PIROS a step jel ?
PIROS-ból csak 3 vizszintest meg egy enyhén emelkedő egyenest látok.  
Ezekhez képest akkor mi a  két fekete négyszög impulzus?
És hol a hiba nagysága a step jelhez képest?
Egyáltalán ez a kép most szervóra vonatkozik vagy léptető motorra?
Ez sem egyértelmű, mert a "szervóra igaz:" szöveg után van mintegy illusztrációként, de így sem értem. Idő lépték nincs így fogalmam sincs mit akar ábrázolni.
 
 
Továbbá: Az hogy Tibor45 nem kritizálta, az nem jelenti azt, hogy hibátlan amit írtál, mert:
1. lehet, hogy nem is olvasta (ebben a topikban nem írt a görbéid megjelenése óta)
2. olvasta de nem ér rá/ nincs kedve reagálni
3. most fogalmazza a hozzászólását
4. ...stb.

bmejdz9nu

http://de.nanotec.com/page_static__schrittmotor_animation__de.html" TARGET=_fnew>Mindíg tanul az ember és figyelmetlen voltam...:) (animációs link) Akkor persze 4. lépésekre gondoltam...
 
Ezek szerint semmi sem biztos egy léptetőnél?...Vagy encodert kell rá szerelni?
 
http://de.nanotec.com/image_downloads/header_de/4/teaser_schrittmotoren_encoder_de.jpg" border=0>
 
Egy szervóval, encoderrel ez nem fordul elő...:) Na megyek vissza okoskodni a szervótopikba :)

fs9s63xkf

2. Természetesen ez az eseménysor ismétlődik még egyszer csak a másik irányba, de ezt már írtam.
 
1ms-os mintavételezéssel dolgozik a szoftver, eddig még mindig elég volt.
 
Az a kép pedig egy szervómotor eltérését mutatja. A fekete görbe az eltérést mutatja, mint eddig. A három vízszintes vonal eddig is ott volt, így kizárásos alapon, az az enyhén emelkedő a step jel :) A görbe elején és végén hozzásimul a 2 vízszintes tengelyhez (ezt alig látni), a step jel aktuális értéke. És azért négyszög jel, mert a gyorsítás egy trapéz mentén történt, ha S görbe alapján gyorsítana, akkor egy háromszög formát kapnánk mint eltérés.

3k74cecek

Jól éreztem, hogy itt valami nem stimmel.
Sajnos a méréseidet nem lehet értékelni, totál átverted magadat (és minket is, de szemfülesek vagyunk és rájöttünk [#papakacsint])
 
Az 1ms mintavételezési idő ide használhatatlan. Kb. 200-szor töb mintára lenne szükség.  
Van egy egy motorod ami forog 500-at percenként. Ez 8.3 ford/sec. Erre feltettél egy 2000 jeles enkódert.
Ebből 8.3*2000=16666 jel jön másodpercenként. Ebből te megnézel 1000-et. A többi 15600-ról meg nem tudsz semmit.
Pontosan az a jelenség történik amit a mintavevős szkópról írtam.
Ahhoz hogy kellő pontosságú mérést tudjál végezni ilyen digitális jeleken, legalább 10-szeres sebességű mintavételezés kellene. Tehát kb. 5 mikrosec gyakorisággal kellene mintavételezned.
 
A step jeles képhez:
A step jelnek egy függőleges élnek kellene lennie. Akkor lehetne tudni, hogy mikor lett érvényes.  Annak a ferde egyenesnek melyik részét érzékeli vajon a vezérlő step jelnek? Alját, közepét, tetejét ?  
Aztán hogy van az hogy még nulla értékű a step jel, de a hibajel már elér egy jelentős negatív értéket? ( A pontos értéket nem tudom elolvasni, mert nem látszik jól a szöveg a képen)
Az biztos, hogy itt valami komoly mérési vagy kiértékelési hiba van a munkádban.
De nem is érdekes mert a fentiek miatt az egész mérés egy nagy önbecsapás sajnos.