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

DC szervó motoros vezérlés

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

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

gaben


bmejdz9nu

Itt kellene elkezdeni...  
 
Van egy step jel az LPT porton...
Ez egy lépés a léptetőmotornál (maradjunk egyszerűség kedvéért egész lépésesben...)
Hogyan fordul 1,8 fokot a DC motor...?

000000000

Nos akkor játékosan, egyszerűen próbálok
válaszolni.
A szervo vezérlő állandóan (minimum 100 kHz-es
frekivel) azt kérdezi a számítógéptől:
elmozduljak az adott pozícióba, amit adsz nekem?
Egyszercsak jön egy Step jel.
Erre észbe kap a vezérlő, és addig pofozgatja  
impulzusokkal a szerencsétlen szervomotort, ameddig annak enkódere azt nem mondja: elég, a motor teljesítette a pozíció uatsítást.
Ha netán túlbuzgó lett volna a motor, és
túllendül, akkor a szervo ellentétes taslikkal
megint intézkedik, azaz állandóan egy adott
pozícióba (ezt nevezik alapjelnek) tekeri a
motort.
És ez így megy minadaddig, ameddig a főkacsoló
tápfeszt ad a rendszernek, azaz állandó
egyensúly fenntartására törekszik.
Ilyen egyszerű.:))

bmejdz9nu

Tökéletes. köszi.
Csak egy kérdés:
"A szervo vezérlő állandóan (minimum 100 kHz-es  
frekivel) azt kérdezi a számítógéptől..."
 
Ez a 100 Khz hol kérdezi aszámítógépet, hol megy bele? És miért ilyen szaporán... miért nem csak akkor csinál valamit amikor a step jel érkezik.
A többi mind világos...

s5f8tmfv3

Ez a túllendülés a szoftver által meghatározott pozíción nem éppen kellemes dolog pl. egy gravírozás közben. Itt jön képbe a PIC vagy AVR által tárolt algoritmus hogy a közeledő pozíció előtt lefékezze a motort?

bmejdz9nu

Ez alapvető szerintem egy szervó hajtásnál, hogy gyorsítani és lassítani is tudjon...
De szerintem ezt a szoftver teszi meg ahogy a lépetető motorral is.
Ha léptető motorod van akkor a túllengés nem is probláma... mert nincs mit csinálni... úgy szereted ahogy van...mert nem megy vissza...[#confused]

000000000

A Te szervódnál az eltérést (deviation-t) tudod valós időben mérni? Én erre kidolgoztam egy remek módszert, amivel valós időben is és rekorder formában is tudom mérni (PC-n keresztül), és lineáris P-taggal és időben lineáris I-taggal nem tudom nagy fordulaton 30 Step alá vinni az alapjelet. Mivel a motor látszólag állandó fordulaton is lengedezik, a 0-hoz közelítés fokozása rendkívül hajlamossá teszi lengésre a motort! És akkor még nem is beszéltünk a mechanika esetleges ütéséből származó lengések plusz hatásáról!

s5f8tmfv3

A szoftveresen a motorokra megadott gyorsítás, sebesség, lassítás egy dolog. Kell itt lennie a vezérlőben is valami trükknek hogy hogyan kezeli le a motor pillanatnyi pozíciója és az elérni kívánt közti különbséget/hibajelet.
 
Hozzáértők most evezzetek más oldalakra, két biciklista éppen arról tárgyal mire való egy Harley Davidson!

000000000

[#wink] igen, ez a PID dolga!

s5f8tmfv3

http://en.wikipedia.org/wiki/PID_controller" TARGET=_fnew>Ezt adta a Gugli elsőre a "pid algorithm" kérdésre, itt a hibajel képzése és kezelése volna látható.

000000000

A szoftveres gyorsítás és lassítás nagyon sokat segít a PID-nek, de a servo pont azért jó, hogy brutálisabban lehet vele bánni, mint a léptetőmotorokkal.

s5f8tmfv3

Köszönöm, ez egy gyertyaláng nekem a sötétben.
Tehát folyamatosan, a motor mozgása közben is mérni kell hogy mekkora a hibajel, és ennek függvényében kell piszkálni a motort. Mi történik ha szoftveresen nagyobb gyorsítást adok mint amennyit a motor/mechanika tud? Jó nagy lesz a hibajel és ezért nagyobb áramokat vagy nagyobb kitöltési tényezőjű PWM-t küld a vezérlő a motorra?

000000000

Pontosan! Ez (is) a dolga a PID-nek, hogy mindenféle mathematikával igyekezzen a kívánt pozíciót megtartani és ilyenkor extra gyorsítással igyekszik a motort felpörgetni. A motor szabályzása PWM-el történik (nálam), ami azt jelenti, hogy a PWM kitöltési tényezőjével állítgatja a motor fordulatszámát (gerjesztését). A PID algoritmus ezt piszkálgatja (és a híd gerjesztési irányait is)!

000000000

Nos a válaszok:
A 100KHz-et csak példaként írtam, ez attól függ, milyen gyors a szervo elektronikád,
és digitális vagy analóg. Az analógnál nincs probléma, a legrosszabb is 1 Mhz fölött
szanbályzási sebességgel dolgozik. A digitális
az más világ, ott adott esetben 100 Khz is probléma lehet, attól függ mekkora a procid
teljesítménye is miket csinál. Ne felejtsd el,
integrálni, deriválni, osztani, szorozni, összadani, kivonni kell ilyen ütemben.
A nagy sebesség igény pedig már az előzőekből
kiderült. Egy átlagos 1000-es encodernél már  
100 kHz -el is zúdulhatnak az inkremuntumok,
azaz már éppen határeset. Tehát minél gyorsabb
a jelfeldolgozás, egy teljes döntési ciklus
kivitelezése annál minőségibb és biztosabb a
szervó. Ezért általában egy PIC-el alig lehet
ezt a sok feladatot ilyen sebességgel
megoldani, valahol ott már kompromisszimukat
kell kötni.
 
Túllendülést úgy kell érteni, hogy ez max., 1-5
inkrementum lehet, és csak gyorsmenetben.
Munkaelőtoláskor szigorúan max. +- 0.5-1, erről  
alapvetően a perecíz integrátor szabályzás
gondoskodik, és nullához közeli értékre
beszorítja a hibát.
Abban pedig tévedésben vagy, hogy egy léptető motor nem lendül túl, hiszen tömege van a
rotornak, vedd elő a mikronos mérőórádat, és mérd ki a stepközeli rezonanciákat, ha
kételkedsz.

bmejdz9nu

Tényleg bonyolult...  
A látja hogy egy kicsit kell mennie akkor nem szerencsés ha full gázzal teszi ezt?...
De biztos gyártanak olyn IC-ket amiben minden benne van...?