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

jv7pu3a5p

Fogalmam sincs. Az ötletet elektron adta, én csak leprogramoztam. Miért szeretnél te is ilyet?

me3ua0a6

Egy ilyen nekem is tetszene. Mechanikámból adódóan a pontos léptetéshez talán még  16-os mikrolépés is szükséges lesz, viszont ha vissza lehetne venni, akkor szép sebessége lenne, pl rajzoláshoz, meg üresjáráshoz.

may47wb

Épp most készül egy 10A-es vezérlő, és ha hasznos dolog ez a lépé mód váltás, vagy ha érdemes lenne vele foglalkozni, akkor jobban megvizsgálnánk ezt a dolgot.
 

jv7pu3a5p

Egy ügyes programozó 5 perc alatt leprogramozza és ki lehet próbálni. Nekem eddig bevált, igaz még nem csináltam komoly marásokat. De tesztelek folyamatosan.

me3ua0a6

Egy kérdés! Érdekes a dolog:
Megy a géped x előtolással, pl 1/10-es mikrolépésben, ami legyen pl 10khz-es step jel.
Ha kiveszed a vezérlőt egész lépésbe, akkor csak minden 10. step jelet kell figyelembe venni. Ez azt jelenti, hogy 10khz-en jön a step, de nekünk 1khz a hasznos jel. Viszont a mach3 nem tudja, hogy most már gyorsíthatna, hiszen egész lépésben van.
Magyarán szólva: ha nem akarunk arányt rontani a koordináta rendszerben, akkor a 10-szer nagyobb lépéshez minden 10. step jelet kell figyelembe venni. De így akkor a sebesség ugyanakkora. Mit is nyertünk ezzel? Erőtartalékot?

may47wb

Lépésvesztés tesztre én két motort 90fokba elfordítva összeszereltem és raktam rá egy lézert, és írtam egy gkódot hozzá, a szobába kis dolgokra ment a sugár órákon keresztül, ha egy lépést tévedett 1/16-os mikrolépésbe az szemmel látható volt. Lehet hogy hülye ötlet volt de én így teszteltem.

yuagaci9g

Igy mar jobban hangzik!
Probalj pl. kis negyszoget gravirozni``Constant velocity`` allasban, mindket beallitassal, a sarkokban lathato lesz a kulonbseg.

000000000

Teszteld az ékteszttel 1000×! Ott látható lesz a hegyek elcsúszása ha gond lenne!
Még mindig nem értem a törte (nem kerek 10-el osztható lépések) lekezeléle!
Azt sem értem, miért érsz el kisebb sebességet a mikro-steppel mint egész lépéssel?! Szerintem a mikro-step kezeléseddel volt a gond, ezért nem pörgött ki a motor rendesen.

jv7pu3a5p

Megpróbálom csak előbb gravírtűt kell szerezni vagy csinálni. :)

jv7pu3a5p

OK. Kipróbálom.
Ezt már kitárgyaltuk annak idején az elektronika topikban. Valószínűleg azért nem tudtam mikrosteppel gyorsan pörgetni a motort mert nem tudok AVRrel olyan gyorsan áramot mérni és szabályozni. De amúgy sem értem még mindig hogy a cél ICk hogyan csinálják. Mert kb 600 fordulat felett nekem már kiakadt 255be a PWM értéke, mindezt azért tette hogy tudja tartani az áramot, de sokszor már így sem tudta a beállítottat tartani. És akkor ebből még a mikrostepphez vissza kéne szabályozni az amúgyis kevés áramhoz. Szóval zavaros egy kicsit, ez a része. Alacsony fordulaton ott ok, semmi gond hibátlanul szabályozható és tartható.  
MIért kéne 10-zel osztani? semmi köze a dolognak ehhez.  
Tegyük fel, hogy forog a motor mikrosteppben. Éppen két tekercs között van mikor az elektronika úgy itéli meg, hogy átvált mivel az érkezett impulzus ideje kevesebb 276uS-nél. Ekkor ami jön impulzus figyelmen kívül hagyja, motor marad ahol van. Mindezt addig csinálja míg jön egy olyan impulzus ami már tekercspozícióba állítja a motort. Ezt végrehajtja. Gond talán akkor lehetne ha hírtelen kéne megállnia a motornak egészlépésből, de lehet akkor sem. De ez úgysem áll fenn mert szerencsére van lassítás gyorsítás.

000000000

"Ekkor ami jön impulzus figyelmen kívül hagyja, motor marad ahol van. Mindezt addig csinálja míg jön egy olyan impulzus ami már tekercspozícióba állítja a motort. Ezt végrehajtja. Gond talán akkor lehetne ha hírtelen kéne megállnia a motornak egészlépésből, de lehet akkor sem. De ez úgysem áll fenn mert szerencsére van lassítás gyorsítás. "
Pontosan erre gondoltam! Ez itt szerintem rizikós. Ha a határt nem kellően jelölöd ki, akkor "tört" lépésnél impulzus vesztés lép fel.

000000000

Ráadásaul maga a léptetés fáziskéséssel zajlik, mert impulzus hoszt (szünetet) csak a már lelépett impulzusok között tudunk mérni, addig a motor nem kezdheti meg a következő pozícióba lépést, az-az kvázi a PC és a léptecs egy teljes léptetési szöggel mindig késni fog.

jv7pu3a5p

A léptetés nem zajlik fáziskéséssel, ahogy bejön a megszakítás rögtön lecsekkolja, hogy az előzőhöz képest mennyi idő telt el és dönt a vezérlésben. MAx 5us telik el a megszakítás és vezérlés között. Elindítottam a teszteket, de úgy néz ki sajna van valmi relytett gibám még a vezérlőben mert akadozik, főleg alacsony fordulaton. Most javítom aztán jönnek a tesztek.

keri

Nem ilyen vészes a probléma szerintem.
Van egy számlálód ami a step/dir léptet.
Ez a számláló címzi meg az aktuális mikrolépés fázist. Célszerűen a számláló maximális értéke 2 valamelyik hatványa, vagyis mondjuk egy 8 bites számláló. Mivel a mikrolépés is tartalmazza az egész lépések fázisait, csak annyi a dolgod, hogy csak a felső kettő, vagy fél lépés esetén három bitet hagyod meg a címzéskor, persze célszerű még egy matematikai kerekítést is alkalmazni a címzésnél és akkor a legközelebbi fél lépésre ugrik. Innentől kezdve fél lépéses üzemmódban megy amíg vissza nem tér mikrolépésbe, akkor pedig visszaugrik a finomított pozícióra. Lépésvesztés kizárt, legfeljebb a pontosság romlik gyorsabb mozgáskor, de mivel a mikrolépéssel nem a pontosság növelése a cél, mert az már fél lépésnél is elegendő, ezért nem gond.
Ellenben nyomatékosabb lesz nagyobb fordulaton, hiszen több ideig van maximális áram engedélyezve, így az indukció miatt nagyobb lesz a tekercsen mért áramgörbe alatti terület, és így a nyomaték.
 
Persze ez egy normálisan megvalósított mikrólépésnél nem probléma.
 
Elektrontól függetlenül én is kitaláltam ezt a módszert...mondjuk adja magát a gyakorlatban,  amikor mikrólépésben nem forog annyit a motor mint teljes lépésben.

keri

Vagy ha problémásnak érzed, hogy visszalép a megkezdett mikrolépésből, akkor úgy kell megírni, hogy csak egész lépésfázisnál váltson üzemmódot és akkor tökéletes az átmenet, ilyenkor kerekíteni sem kell a címzésnél