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

Új regisztráció / Átregisztráció a régi fórumról
    
   


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

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?


tatai | 536    2007-02-18 17:09:00 [731]

Most olvasgatom ennek a topicnak az elejét (mert akkor lemaradtam róla). És ott tartok amikor a fékkel bajlódsz. Végülis tudtál szerezni féket a teszteléshez mert nekem lenne egy kölcsönbe, bár még nem néztem meg közelebbről, ha érdekel megteszem.
Üdv: TT


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

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)!

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


tatai | 536    2007-02-18 17:07:00 [729]

Azt értem, hogy a 100%-os PWM kitöltés a PID eredménye és sok mindentől függ, de az a tény hogy a motor 100%-on megy és egyetlenegy bejövő impulzus sincs (mondjuk egy bizonyos ideig) az nem teljesen normális! Ezt a program egyik részének figyelnie kellene!


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

ÁÁÁ nem jó! ha nem huzalozza össze, akkor a védelem hatástalan...

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

Az 1-es védelenek átsorolásán (Stop védelem a PC felé) még filózok! lehet, hogy értelmesebb lenne nem azonnal blokkolni...


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

Leírom a jelenlegi védelmeket (amik már integrálva vannak és jól működnek):

1. Vezérlő túlterhelési védelem. Fixen beállított hűtőborda hőfokon a Vezérlőt letiltja (motor blokkolás motorfékkel és erőátvitel kikapcsolása) Reset-ig (nameg lehülésig).

2. Nagysebességű túláramvédelem (lehet, hogy zárlatvédelemnek is jó lesz, majd kiderül). Trimmerrel állítható a szintje és a motor max áramára lehet állítani. Ez azonnal limitálja a motor álltal felvehető max áramot. Külön LED jelzéssel.

3. Motor túlterhelés védelem. Ez ha a motor max árammal megy X ideig (most 5s), akkor blokkoltat és kikapcsolja a motort.

4. Impulzus puffer max értéken (akár tulfutással is). Ez azt jelenti, hogy a differenciál puffer (hiba puffer) folyamatosan (most 3s-ig) max értéken van, akkor blokkol és kikapcsolja a Vezérlőt. Ez alkalmas a fordítottt encoder bekötés detektálására és 3s múlva leállítja a vezérlőt hibára. Az impulzus puffer túlméretezett, akár a jelzés után is képes vesztés nélkül impulzusokat tárolni (motor encoder felbontás és fordulatszám függően több sec.-ig tárol)

5. Sleep hiba. Ha a Vezérlő 2s-ig folyamatosan 10 impulzustól nagyobb késésssel követi a PC-t, akkor hibajelzés generálódik a PC felé (és LED es jelzés a Vezérlőn). Ez a rosszul beállított Vezérlőt, vagy a mechanikai túlterheléseket hivatott felderíteni és a Pc felé jelezni (impulzis vesztés nélkül)!

Jelenleg a védelmek két csoportba sorolódnak:
1- Rendszervédelmek, amik azonnali blokkolással járnak (motofékes stop, de nem ellenáramú). ezek a védelmek is hibajelet generálnak a PC felé (Mach is megáll). Ide tartoznak a következőek:
1, 2, 3, 4-es védelmek. ezeknek van külön-külön LED-es jelzéseik is és csak a reset hozza ki öket. Ezek minden esetben blokkolják a Vezérlőt és leállítják a PC-t (ha össze lesz huzalozva a P2B-vel)!
2 - Impulzus vesztés nélküli Stop védelmek. Jelen pillanatban ide csak a 5-ös tartozik. Ha a Vezérlő folyamatosan több mint 10 Step késést detektál 2s-on keresztül, akkor jelzést küld a PC felé, ami ha úgy van beállítva (Mach3) megállíthatja a végrehajtást impulzus vesztés nélkül (a hiba kijavítása után a munka selejt nélkül fojtatható bizonyos feltételek mellett)! kiépítése (összehuzalozása) opcionális. Magát a Vezérlőt nem blokkolja csak jezést küld a PC felé (és LED-en ez is olvasható).

Ide kéne integrálni a visszacsatolás megszünése detektet rendszerhiba ként (autonom blokkolással, és persze jelzés a PC felé-vel)!


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

Az áram felvételéről csak komparátoros kimenet áll rendelkezésre, ami azt mondja meg, hogy a beállítot küszöbtől tőbb vagy kevesebb a felvétel, nem a pillanatnyi értéket, ráadásul a motor kiakadva (max gázon pőrögve) nem feltétlenül a max áramát veszi fel (sőt, sose)!

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


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

Igen, de erre direkt nem készítem fel a P2S-t mert pl. amik itt vannak motorok egyiken sincs Index csatorna (ne legyen kötelező használni)!
Ha meg nincs a motoron, úgyse működne.

Előzmény: n/a (adathiba), 2007-02-18 15:48:00 [721]


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

Azzal az a baj, hogy a max PWM kitöltési tényező meg a PID eredménye ami sok mindentől függ és setup függő!

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


  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ó ►|


 ◊