Servo motort milyen precízen lehet vezérelni?
Értem én, hogy 20ms-onként kell kiküldeni a jelet. Azt is értem, hogy 1ms és 2ms közötti jelet kell kiküldeni. De ez viszonylag szűk sáv. Bármilyen szögű elfordulást nem tudok elérni.
PIC-el szeretném megvezérelni. Saját PWM jelet állítottam elő...de nem vagyok megelégedve a pontossággal.
Esetleg erről szóló dokumentumot, vagy c programot is adhatnátok.
A timer0 leteltekor a case utasítások 3 fele ágaztatják a programot.
Egy adott sevo -ra minden harmadik alkalommal kerül a sor,
ezért 3*6,666ms adja ki a 20ms-ot.
Lehet hogy van benne néhány szintaktikai hiba, csak az elve miatt írtam a példát.
Na kipróbáltam egy szimulátorral (proteus). Oszcilloszkópon tökéletes, de a három motor ugyanakkora értéknél, nem ugyanannyit fordul el. Habár 1.5ms-nál nullába kéne álljanak, mégis az első motor -2.98, a második -3.42 és a harmadik -3.87 fokba fordul el.
Oszcilloszkópon lemértem az időket és megvan a 20ms-os periódus, és az 1.5ms is tökéletes. Remélem, hogy csak a szimulátor rakoncátlankodik :D.
Leírnád ide a végleges programrészletet?
Hátha tudja más is hasznosítani.
Kapcsolódó kérdések:
Minden jog fenntartva © 2024, www.gyakorikerdesek.hu
GYIK | Szabályzat | Jogi nyilatkozat | Adatvédelem | Cookie beállítások | WebMinute Kft. | Facebook | Kapcsolat: info(kukac)gyakorikerdesek.hu
Ha kifogással szeretne élni valamely tartalommal kapcsolatban, kérjük jelezze e-mailes elérhetőségünkön!