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

000000000

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...

000000000

Kimoderáltam magam. Kinlódjon meg a konkurencia is vele![#nevetes1]

000000000

... 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.
 
 
 
 
 

e3h0cv4ph

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?

e3h0cv4ph

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.

000000000

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

000000000

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

000000000

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

000000000

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

e3h0cv4ph

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.

000000000

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!

e3h0cv4ph

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

e3h0cv4ph

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

e3h0cv4ph

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?

000000000

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.