HobbyCNC fórum
FTP tárhely: http://cnctar.hobbycnc.hu v0.9.6 Régi HobbyCNC oldal: http://archiv.hobbycnc.hu

    
   

 
DC szervó motoros vezérlés

Step/dir vezérlő programmal...

 

Időrend:
Oldal 251 / 266 Ugrás ide:
Sorok:
|◄ Első  ◄ Előző   247  248  249  250  251  252  253  254  255   Következő ►  Utolsó ►|

  Fórum főoldal  |  A lap aljára

tatai | 536    2007-02-19 10:46:00 [782]

Bocs.
Csak az Istvánnak akrtam segíteni.
Tényleg lehet, hogy egy kívülállónak (aki éppen nem fejleszt szervót) annak nem sok érdekeset mond.
Oké többet nem szólok. (csak ha kérdeztek)


Törölt felhasználó    2007-02-19 10:13:00 [781]

Szia Tatai! Bocs, hogy beledumálok, de azt
javasolnám, gyorsan csinálj egy szervót Te is
a gyakorlatban (ma ez úgyis nagy divat), és
akkor talán nem lenne ennyi elméleti ötleted
10 percenként. Az elméletet ugyanis itt
(legnagyobb sajnálatomra) nem nagyon szeretik.
Ez szerény véleményem szerint meg is látszódik a topicon egy ideje, Mindenkinek a saját
döntésére bízom, hogy az utolsó 100-120 beírás
műszaki tartalmát, hasznosságát a téma iránt
érdeklődőknek vesse össze az első 600-al. Igaz,
vita sincs...

Előzmény: tatai, 2007-02-19 09:58:00 [780]


tatai | 536    2007-02-19 09:58:00 [780]

Vagy még arra gondoltam, hogy ha beáll ez a jelenség (folyamatos +1 v. -1 a hibajel (de nem rezeg hanem folyamatos 1)) és persz egy bizonyos ideig ez fennáll, akkor a szoftver átadja a vezérlést egy olyan felügyeleti programrésznek, (ebben az esetben már nagy a valószínűsége a hibának) amely megpróbálja azt, hogy felére leveszi a PWM-kitöltést és figyeli hogy a hiba marad -e 1 értéken aztán megin megfelezi és figyeli tovább, aztán eljuthatunk addig, hogy egyszer csak leállítja a motort, és ha még mindig 1 a hiba adhat egy hibajelzést. (persze nem biztos, hogy el kell jutni a leállásig, előbb is adható már a hibajelzés)

Úgye szakadás nélküli hajtás esetén a felére vett PWM kitöltés egy egyre növekvő hibához vezet.

Talán ezzel ki lehetne küszöbölni a hibás riasztásokat.

Ezt az A csatorna B csatorna problémát nem értem, az én olvasatomba mindegy, hogy melyik vezetéke szakad el.?
Üdv:TT


svejk | 33152    2007-02-19 09:46:00 [779]

Köszönöm,hogy kipróbáltad és örülök a jó tapasztalatoknak. Ez egy kicsit megnyugvás számora ,hogy nem csak a mi vezérlőnkkel mutat jó eredményt.

Előzmény: n/a (inaktív), 2007-02-17 10:58:00 [704]


n/a (inaktív)    2007-02-19 08:31:00 [778]

Sajnos nem jó, mert menet közben a hibajel folyamatosan "rezeg" +-1 között! Azt meg nem merem megkockáztatni, hogy ha a hibajel mondjuk folyamatosan "rezeg CSAK 0 és -1 vagy CSAK 0 és +1 között X ideig, akkor a Vezérlőt blokkoltassam. Ilyen szitu is előfordulhat (pl. lasabb gyorsítások alatt)!
A másik probléma, hogy ha nem a B hanem az A csatorna szakad meg, akkor egyáltalán nincs adat az Encoder felöl (ez az én vezérlőm sajátossága a memóriák működése miatt)!
Köszi a segítségedet (szándékodat)!

Előzmény: tatai, 2007-02-18 23:39:00 [777]

tatai | 536    2007-02-18 23:39:00 [777]

Van itt még valami István.
Közbe gondolkodtam tovább, és arra gondoltam ha nem jönnek STEP jelek (áll a motor, vagy legalábbis kéne neki) és elszakad az encoder egyik csatornája, és a másik irányba megpöccinted egy inkremensnyi hiba beíródik a regiszterbe, a PID elkezdi ellenkezőleg egyre nagyobb sebességgel forgatni a motort (megszalad) de a regiszterbe a hibajel folyamatosan +1 (vagy -1) marad, és egész idő alatt az marad. Ugye?
Namármost normál üzemben, különböző motorsebességeknél (vagy akár teljes sebességnél) nem nagyon (sőt egyáltalán nem) fordul az elő, hogy tartósan pontosan 1 legyen a hiba (vagy más néven alapjel). Hiszen te is írtad hogy ez valami 10 körüli érték körül ingadozik, de a legjobb szabályozásnál sem hiszem, hogy pontosan egy legyen, vagy +1 v. +2 aztán megint +1 de lehet, hogy épp 0 esetleg -1, de az, hogy pontosan egy legyen tartósan (ez az időt ki kell találni kb.: 2..4 mp) nem nagyon lehet.
Most már csak az a kérdés hogy le lehet -e tiltani a hajtást ha például ez áll fenn (+1 -es érték) egy bizonyos ideig? Lehet -e ez az alapja egy errornak, meg mered -e ezt kockáztatni?
Készítettél méréseket arra vonatkozóan, hogy folyamatos működés közben a hibaregisztered (vagy alpjel regisztered) milyen értékeket vesz fel? Ez még esetleg érdekes lehet!

Gondold át te is, lehet, hogy tudsz vele valamit kezdeni.
Üdv: TT


Kristály Árpád | 3084    2007-02-18 21:16:00 [776]

Hallihó!
A lenti képen látható motor fénymásoló gépekben van. Főleg a (10-15-éves) gépekben.
Az újabb gépekben vagy Brusless illetve kisebb servok vannak. Azokban is van encoder de töbnyire csak 50-100 osztásúak, azért ezeket sem kell eldobni hiszen egy
1-5 milliméter menetemelkedésnél szerintem használhatók!

Fontos!
Nézzétek meg, mielőtt bajlodtok a kiszereléssel, hogy a kis sapka alatt milyen encoder található, mert van olyan ami mágnes impuzus elven mük, ami a szervo vezérléshez nem igazán jó.
A nyomatéka nagyon jó mert tányérmotor és nagy az átmérő ebből adodik a nagy nyomaték....
Nagyon csendes...., ja és olcsóóóóóóó!!!!!

Hallihó Mindenkinek


tatai | 536    2007-02-18 19:46:00 [775]

Jó azt értem, hogy álló helyzetben miért nem jó ez az eljárás. De talán álló helyzetben kisebb az esélye egy vezetékszakadásnak.

Akkor már félig meg van oldva, még gondolgodom a másik felén. (de most már tényleg mennem kell).

Bocsánat, nem akartam kötekedni, csak segíteni.

Üdv:TT


n/a (inaktív)    2007-02-18 19:42:00 [774]

ki fogok próbálni mindent (holnap)!
Köszi!

Előzmény: tatai, 2007-02-18 19:41:00 [772]


n/a (inaktív)    2007-02-18 19:41:00 [773]

Sehol! De mi van álló helyzetben (a motor picit remeg eleve, ebből indulj ki)?!
ezt teszteltem! A leg kisebb mechanikai pöccintésre a motor elszáll ilyenkor!

Előzmény: tatai, 2007-02-18 19:39:00 [771]


tatai | 536    2007-02-18 19:41:00 [772]

Ha nem esik nehezedre, szerintem próbáld ezt ki.


tatai | 536    2007-02-18 19:39:00 [771]

Hát akkor valamit nem értek.
Szóval jön be a STEP jel (mondjuk) folyamatosan, ez növel egy regiszter tartalmat, a vezérlő a PID-en keresztül forgatja a motort az enkóderen pedig jönnek az impulzusok amik csökkentik az előbb említett regisztert (elvileg) közel 0-ra, ha ebben a pillanatban az enkódertől nem jön több csökkentő jel (a STEP-en folyamatos a jel) a regiszter elkezd feltelni (megszalad), és error.
Hol rontottam el?


n/a (inaktív)    2007-02-18 19:35:00 [770]

Várjál csak! ebben lehet igazad!, de ha az encoder megszakad és nincs léptetés, akkor elszál a motor! ha van léptetés akkor a léptetés sebességétől (és irányától?!) függően késleltetődik az egyéb védelem megszólalási ideje!

Előzmény: tatai, 2007-02-18 19:29:00 [767]


n/a (inaktív)    2007-02-18 19:33:00 [769]

ha véletlenül 10 Step hiba felett szakad el, akkor működik a Sleep védelem, de mi van ha alkatta (és ez a normális állapot)?!

Előzmény: tatai, 2007-02-18 19:28:00 [766]


n/a (inaktív)    2007-02-18 19:32:00 [768]

De nem növekszik!!! Az aktuális szinthez képest +-1 váltakozik 8ugyan úgy mint amikor áll a 0-hoz képest vagy 0 és +1, vagy 0 és -1 az iránytól függően)!
Nincs folyamatos növekmény vagy csökkenés, csak két szonszédos érték váltakozása (a szakadt csatorna miatt egyszer +1 utána -1, helyben topog)!

Előzmény: tatai, 2007-02-18 19:28:00 [766]

tatai | 536    2007-02-18 19:29:00 [767]

De csak az enkóder szakad el a STEP jel nem. És akkor miért fagyasztódik be?


tatai | 536    2007-02-18 19:28:00 [766]

Ezt értem, de ha folyamatosan növekszik az alpjel (a STEP inkrementálja) akkor ha ez eléri a 10 impulzust és 2s-ig fennáll akkor (általad említetten) hibát ad.
Vagy valamit nem jól értelmeztem?


n/a (inaktív)    2007-02-18 19:27:00 [765]

Az említett szituban az éppen aktuális error szint befagyasztódik (az elszakadás pillanatában) és +-1 értékkel váltakozva marad (így a motor megy mint álat)!

Előzmény: n/a (inaktív), 2007-02-18 19:22:00 [763]


n/a (inaktív)    2007-02-18 19:24:00 [764]

Most úgy tűnik nekem, hogy nem lehet megoldani a problémát tisztán szoftveresen!


n/a (inaktív)    2007-02-18 19:22:00 [763]

A PID vezérlő már egy előkészítet előjeles error jelet (alapjelet) kap, ez nem külömbözik a Step vagy a mechanikai eltérésből származó error adatokban. nincs különbség, hogy a step vagy az Encoder miatt keletkezett a diffi.

Előzmény: tatai, 2007-02-18 19:19:00 [762]


tatai | 536    2007-02-18 19:19:00 [762]

Esetleg azt próbáld meg, hogy kap a STEP jelen a PC-felől (vagy jelgenerátorról) egy folyamatos impulzussorozatot és közben "elszakad" az encoder vezetéke, akkor mit csinál.
Talán ez még érdekes lehet.


n/a (inaktív)    2007-02-18 19:15:00 [761]

Egészen pontosan annyi gerjesztéssel gyorsúlva szált el, mint amennyi kell a +1-ről a 0-ra való beállásra (integrátor setuptól függően), de mivel folyamatosan 0 ás +1 között ugrált, nem vette le a gerjesztést (a motor szépen felgyorsult egy valamilyen max környéki sebességre).


n/a (inaktív)    2007-02-18 19:11:00 [760]

Kikötöttem az egyik csatornát (B-t) és megpöcköltem a tengelyt (elszált mint a győzelmi zászló)!

Előzmény: tatai, 2007-02-18 19:09:00 [759]


tatai | 536    2007-02-18 19:09:00 [759]

A #754-re: És csak álló helyzetben próbáltad, vagy küldtél neki impulzussorozatot a MACH-tól, mert szerintem akkor ki kell jönnie a hibának.


n/a (inaktív)    2007-02-18 19:09:00 [758]

Sajnos azt én sem tudom! Ezeket kölcsön kaptam!

Előzmény: tatai, 2007-02-18 19:07:00 [757]

tatai | 536    2007-02-18 19:07:00 [757]

De hol lehet ilyet találni? Miben keressük ezt?


n/a (inaktív)    2007-02-18 19:03:00 [756]

A teszte során ez a típusú servo motor kiemelkedően jó dinamikákat mutatot:




Ha ilyeneket találtok, termeljétek ki, mert nagyon jók! Erre érdemes építeni!
Adatai:
50W
24V
400-as Encoder
Dinamikája elsőosztályú!!!


n/a (inaktív)    2007-02-18 18:56:00 [755]

Valszeg lassú a srver (nekem is szokott lenni ilyen), bár most nálom jól megy.

Előzmény: tatai, 2007-02-18 18:48:00 [753]


n/a (inaktív)    2007-02-18 18:55:00 [754]

Ez sajnos nem igaz! írom, hogy olyan mintha helyben remegne (0 és1 között vagy 0 és -1 között)! Természetesen teszteltem (ez volt az első) és akkor vettem észre a jelenséget (rezgés szindróma)!
Semelyi meglévő védelem nem működik erre a hibára.

Előzmény: tatai, 2007-02-18 18:35:00 [751]


tatai | 536    2007-02-18 18:48:00 [753]

Miért van az, hogy begépelek egy csomót és mikor kattintok a "Mehet"-re eltűnik és amikor frissít, a hozzászólásom nem jelenik meg, és újra kell beírnom? És nem is kevésszer kb. minden második vagy még sűrűbben.
Veletek is elő szokott fordulni?


tatai | 536    2007-02-18 18:46:00 [752]

Mennem kell (kezdődik az eddzésem) sziasztok.
Üdv: TT


tatai | 536    2007-02-18 18:35:00 [751]

Tulajdonképpen tovább gondoltam az egészet és szerintem a probléma már meg van oldva.
Ugyanis a #726 5-ös pontjába írtad, hogy ha 10 impulzusnál nagyobb a hiba (2s-ig) akkor letilt, ha viszont elszakad az encoder vezetéke akkor előbb utóbb (és ez biztos, hogy előbb vagy utóbb előfordul) lesz 10 lépésnyi lemaradás hiszen a vezérlő felől jönnek az impulzusok az encoder felől pedig nem és akkor hiba.

Tulajdonképpen kipróbáltad már, hogy elvágtad az encoder vezetékét és akkor mit csinál?
Szerintem próbáld ezt meg mielőtt nekiállsz bármit is átírni a szoftveren (ennyit megér).


n/a (inaktív)    2007-02-18 18:24:00 [750]

A két PIC között nagysebességű soros kommunikáció van aminek a vonalára csatlakoztatjható egy 3. PIC ami a translator szerepét tölti be és RS232C vonalon továbbítja pufferelten és szétszedve az alapjelet a PC felé. Ez az opcionális kis panel végzi a digitális oscilloszkóp szerepét (ráadásul szoftveresen vezérelhetően adat trigerelést is tud végezni)!
segítségével real time módon ellenőrizhető mindig, mindenhol a valós error, párhuzamosan minden Win CNC-s szotverrel!


tatai | 536    2007-02-18 18:22:00 [749]

Hát igen ez így átgondolva már lehet alapja az error-nak.
De még mindig nem tudni, hogy elszakadt az encoder kábel vagy megszorult a gép egy pontban (esetleg végállásban), persze ha error-t ad ebben az esetben is az sem olyan nagy probléma.

De ezt az impulzus tárolást ezt énsem értem, sőt azt sem, hogy mi szükség van rá, hiszen itt késhet akkor a mosgatás. Ha igen akkor viszont nem lesz szinkron a tengelyek között. Ezt viszont nem hiszem, hogy az István megengedné, ugyhogy nem értem.


n/a (inaktív)    2007-02-18 18:18:00 [748]

Két PIC foglakozik a feladattal.
1. (én úgy hívom DSP) ami az encoder jeleiből és a Step/Dir jelekből előállítja az erősítetlen alapjelet (végzi a virtuális error regiszter kezelését ami 16 bites +- irányba egyaránt). ebbe a nagysebességű feldolgozás a lényeg (a PIC-et 3×2 db D tároló támogatja mint élvezérelt impulzus memória). Ez a PIC setupolható és így az encodert lehet illeszteni a Mach-hoz 3 fokozatban.
2:1, 1:1, 1:2 febontások jelölhetőek ki.
2. a PID PIC, ami a tényleges kiértékelést és hídvezérlést látja el (és egyébb védelmeket is).

Előzmény: tatai, 2007-02-18 18:04:00 [743]

n/a (inaktív)    2007-02-18 18:16:00 [747]

egyebkent a vegallas felderitesnel lehetne egy abszolut sw limitet is felvenni (step-ben), amit ha már atlepne a bejovo step vegrehajtasaval akkor is lehet error-t generalni


n/a (inaktív)    2007-02-18 18:12:00 [746]

de azt mindig tudjuk mikor all...
amikor nem jon be step vagy nem?


n/a (inaktív)    2007-02-18 18:10:00 [745]

az impulzus tarolas okan...

hogyan vezeted a "poziciot"?
egy regiszter es +-

vagy kulon + regiszter es -regiszter
es az egyeneleguk adja a "poziciot" ?
ez utobbinal nem kell tarolni kulon, szerintem


tatai | 536    2007-02-18 18:08:00 [744]

tomasz ez így nem jó, mert pont az álló helyzetben mutat ugyanolyan jelenséget az encoder mint szakadáskor, és a te megoldásod szerint minden megállás után egy kis idővel error-t adna.


tatai | 536    2007-02-18 18:04:00 [743]

Ezt már nem pontosan értem, látni kéne a rajzot, stb.
Mindenesetre nem vitának szántam. Gondolkozz rajta, hátha mégis tudod használni valahogy.

Azt lehet tudni, hogy miért kell két PIC hozzá?
És ez, egy tengelyt fog meghajtani vagy többet?


n/a (inaktív)    2007-02-18 18:02:00 [742]

... encoder megszakadason azt kell erteni, hogy
az A vagy a B vagy mindketto fixen kiakadt valamelyik ertekre?

Mert akkor elso felindulasbol(szeintnem)eleg lenne egy-egy kulon timeout-ot inditanni rajuk minden élvaltasukkor ...es ha nem valtanak elvarhato idon belul....akkor ugye error van.

Az elvarhato ido pedig mondjuk az elozo ervenyes valtas n-szerese, hiszen a cucc lassulasa, gyorsulasa nem vegtelen.

Szoval en azt figyelnem, hogy az A es a B kulon-kulon pulzal-e ....mert ha jol ertem vegul is ez erdekel es elsore ugy gondolom ez igy mindenfele encoder hibat eszre is vesz.






n/a (inaktív)    2007-02-18 17:48:00 [741]

Kimoderáltam magam. Kinlódjon meg a konkurencia is vele!


n/a (inaktív)    2007-02-18 17:42:00 [740]

Durván igen, de azt mondom, hogy nem biztos (sőt), hogy egy max fordulaton menő motor az 100%-os PWM-el megy (ez a PID beállításától függ) és az is lehet, hogy a 0 megtartásához 100%-os PWM kell (gondolj arra, hogy a motor akár terhet is tarthat, igaz ilyenkor már emelni nem tudna semmit)!
Ráadásul a DSP PIC előtt impulzus memóriákat használok a PIC sebesség függetlenítése miatt, tehát nem a PIC kapja az impulzusokat közvetlenül (csak a tárolt jeleket). Valamint az A csatorna adja az összes feldolgozás időalapját (fel és lefutó élei), ezért ha az A megszünik, nincs is tárolás!
Ez lehet, hogy megoldhatatlan szoftveresen...

Előzmény: tatai, 2007-02-18 17:35:00 [739]


tatai | 536    2007-02-18 17:35:00 [739]

Lehet, hogy félreértjük egymást. Az én felfogásomba két bejövő impulzussorozat van(ezek bemennek a PIC-be). Az egyik a PC-felől jön (STEP-jel) a másik az enkóder felől impulzus jel. Ezek különböző előjellel bemennek egy regiszterbe (gondolom), és a PID feladata, hogy ezt a regisztert 0-án tartsa.
Viszont amikor én azt mondtam, hogy 100%-os PWM mellett nincs bejövő impulzus akkor az enkóder felől bejövő impulzusra gondoltam nem pedig az eredményregiszterből jövő értékekre (impulzusokra).
Nem tudom, hogy ezt te is így gondoltad -e.


n/a (inaktív)    2007-02-18 17:32:00 [738]

Ez egy akkora Servos Axióma, hogy kőbe kéne vésnem (és titkolnom a konkurencia előtt)!

Előzmény: n/a (adathiba), [737]

n/a (inaktív)    2007-02-18 17:20:00 [736]

Az álló helyzeti "rezgés"-t pont a fékpadomon vettem észre mert itt a fékreőnél van bizonyos rugalmas erőhatás (pontosabban egy fék szallag miatt9 ami az Integrátornál egy ilyen kis rezgést eredményez, mivel az erővisszahatás rugalmas, ezért a kompenzáció az irányváltások környékén szintén rugalmas jelleget mutat (kicsit bonyulult, de ez a magyarázat)! Ez valós lehet, mivel minden hajtásnak van bizonyus rugalmas visszahatása (gondolj pl. a gumibetétes kuplungokra is)!


tatai | 536    2007-02-18 17:19:00 [735]

Igen de amikor az alpjel rezeg akkor a motort idee oda próbálja forgatni, de ebben az esetben soha nem lehet a PWM 100%-os, hiszen mihelyt elérné azt (vagy annak csak egy részét) már megy is a másik irányba és kezdi a 0%-ról az egészet. Nem?


n/a (inaktív)    2007-02-18 17:14:00 [734]

Normál esetben a mot állva is rezeg (het) 0- és 1 között, valamint stabil forgáskor is folyamatosan "rezeg" a 0 és +-1 között (virtuális 0 pozíció körül)! Gyakorlatilag csak folyamatos gyorsítás és lassítás alatt nem "rezeg"!

Előzmény: tatai, 2007-02-18 17:11:00 [732]


n/a (inaktív)    2007-02-18 17:13:00 [733]

Azon viszont lehetne filózni, hogy ha definiálnék egy PWM szintet (amit most nem tudok megmondani mennyi lenne) és az alapjel "rezeg" (ez sem egyszerű feladat megállapítani, mert a frekit nem ismerem előre és változó lehet), akkor X idő mulva letiltson (azért X idő mert üzem közben ilyen szitu biztos nem áll fent huzamosabb ideig)!


tatai | 536    2007-02-18 17:11:00 [732]

"Hát de jön impulzus az a baj!!! Pont úgy mintha rezegne helyben a motor! És a PWM nem 100%-os (nem tudom előre megmondani mennyi lesz)! " -Ezt nem értem!? Mikor rezeg a motor? Az milyen jelenség?


  Fórum főoldal  |  A lap tetejére

Időrend:
Oldal 251 / 266 Ugrás ide:
Sorok:
|◄ Első  ◄ Előző   247  248  249  250  251  252  253  254  255   Következő ►  Utolsó ►|


 ◊ 
[ 0.9432 ]