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

Elektronika

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

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

dtb

Még ST32 sem kell hozzá, elég egy arduino. Nem ilyen céllal, de csináltam egy pár sorból álló programkódot, ami sima encoder lépés számláló. Ilyen programot ezret is találsz a neten. Ehhez már csak annyit kell hozzá tenni, hogy "AABB" sorrend elemei maximum egyszer ismétlődhetnek elemi szinten. Tehát akár lefutó, akár felfutó élről beszélünk, ha jön egy B+ inpulzus, az maximum még egyszer van engedélyezve(mert irányt vált pl.), utána letiltson (valamelyik másik lábat magasra állít például). Tehát van 4 (db pin) digitális bemeneted, ezekre jönnek a jelek, és van egy kimeneted, amivel tiltasz.

dezsoe

Szerintem nem kell húzni sehova. Ha megvan a + és - között a kellő feszültség, akkor jó. Ha bármelyik (vagy mindkettő) szakad, akkor nincs meg a feszültség. Az, hogy milyen a polaritása, az maga az adat, de a figyelés szempontjából csak az az érdekes, van vagy nincs.

dezsoe

Az a baj ezzel a számlálósdival, hogy - ahogy Svejk is írta - előfordulhat üzemszerűen, hogy csak az egyik láb ketyeg. Ez egy szervó enkódere, tehát pl. áll egy helyen (ahol kell neki) és mondjuk a rezgéstől éppen billeg a képen bekarikázott rész. Az A nem változik, a B szépen lépked föl-le. A szervó vezérlőnek nem lesz vele baja, mert nem egy lépésnyi hibára van kihegyezve, viszont ha számolgatsz, akkor hamar hibára futsz.

  

kaqkk007

A vezetékszakadást nem lehetne egyszerű ellenállásméréssel figyelni ? Mondjuk egy egy 100k- lenne a kimenetekkel párhuzamosan kötve és ha ennél nagyobb vagy végtelen az ellenállás tuti a vezetékszakadás ....

000000000

Így van! [#eljen]
De rezeghat az magától is, mert az egyszerűbb szervók I-tagja (és ugye ilyenekről beszélgetünk) állandóan +- irányba "mocorogtathatja" a motort álló helyzetben is.

TBS-TEAM pont ezt nem vette figyelembe (az egy csatornán jelentkező üzemszerű jel billegést állás esetén). És ahogyan Svejk is írta, az encoder jelfeldolgozás csak látszólag egyszerű, a valóságban egy csomó "ravasz" szekvenciális jelfeldolgozási elemnek is ott kell lenni az algortimusban, ha nem akarunk téves pozíció adatot kapni, ezek a mezei számlálós játék dolgok ide nagyon kevesek.

TBS-TEAM

Álló helyzetben nem számlálom az impulzosokat.

Minek számoljam áll a motor.

Amikor elindul akkor kell tiltani ha menet közben baj van.

Ezért kell a start jel.
Start jelre számolok.
Start jel hiányában minden számláló reset.

Úgy látom mocskosúl egyszerű sajnos nincs benne arctg stb.. [#eplus2][#eplus2][#eplus2]
József

dtb

Ha rosszmájú lennék, akkor írhatnám, hogy te nem programozó vagy véletlenül??? :-) :-) :-) A sorrend, és a szóba jöhető lépésverziók adottak. Ha valamelyik kimarad, akkor az már hiba, és ezt könnyű lekezelni, figyelni. ...de igazad van, nem jó a számlálósdi önmagában.

000000000

Rád hagyom, rád hagyjuk.:) Többen megmondák már, hol tévesz..., de te csak ragaszkodsz a semmihez.

TBS-TEAM

Szeretném ha felhomályosítanál, hogy tanuljak.

Feladat:
Van egy buta szervo+Motor+Encoder.
Encoder hiba esetén ha a program elinditja a szervót meg kell állítani, hogy ne menjen a falnak (ne törjön össze semmit.)

Egy külső egységgel figyelni kell az encoder jeleket.
Lehetséges:
szakadás A vagy B
Zárlat A vagy B
_____________________________
A servo ha áll miért is kell bármit is tudnom az encoderről, hogy éppen levitál A vagy B ?
Azt sem kell tudnom, hogy fel-lefutó éleket is számol a szervo vagy nem.
Semmit sem kell tudnom a szervo és az encoder belső viszonyáról.

A feladatom ha a program utasítja a szervót, hogy menjen akkor hiba esetén vészstoppal álljon meg.

Miért is kell nekem bonyolult program???
József

svejk

Én eddig még nem tapasztaltam hátrányt az encoder jelek szimmetrikus átviteléből.
Ha az adott encoder rendelkezik ilyen kimenettel akkor igyekszem is felhasználni.
Persze ma már inkább gyári cuccokat használunk és erre is buzdítok mindenkit.

svejk

Az Arduinoban nem hiszek ilyen alkalmazásban.
A DsPIC30Fxxxx-ekkel jók a tapasztalataim, ott sosem volt számolási hiba, köszönhető talán a kitüntetett quadratura bemeneteknek.
No meg a jó öreg kommersz logikai IC-k-ben hiszek.

svejk

Áááá... ez így bonyolult de egyben fapados.
De azért köszi az ötletelést!
(sokszor egy merőben más ötlet képes az embert kizökkenteni a saját mókuskerekéből)

svejk

Tudsz olyan vonali vevőt aminek van ilyen hiba jelző kimenete?

dezsoe

Kicsi gugli után úgy látom, hogy nem találtam fel semmi újat. :)

Egy pdf két vevő és egy AND kapu esetéről. Talán ez e legszebb és legegyszerűbb megoldás.

Gugli kulcs: "differential signal error detection".

svejk

No ja... itt van az első postban említett ablakkomparátorom. :)

Köszi!