[elektro] pic C18 motor fordulatszám szabályozás
Móczik Gábor
pm_levlista at progzmaster.hu
Thu Dec 15 23:47:18 CET 2011
2011.12.14. 23:02 keltezéssel, Gabor Jordan írta:
> Túrtam a uchip lapján, de nem találtam hasonló application note-ot. Nem
> tudtok valami jól paraméterezhető PID algoritmust C-ben, amihez jó
> leírás is van?
Egy egyszerűbb PID algoritmus néhány sor.
Fix, stabil időközönként (ami gyorsabb mint a fordulatszám adat
frissítési gyakorisága) végrehajtod a kalkulációt.
> A freki mérésre (ami fordulatszám mérés) azt gondoltam ki, az ECCP1
> lábra kötöm a visszacsatoló jelet, capture módban mérem 16 periódus
> idejét a 16 bites számlálóval párszor, majd azt átlagolom. Azért 16
> periódust, hogy a rovátkás korong hibái, amiről a fordulatszám jelet
> leveszem (54 osztás 1 fordulat), minél kevésbé rontsák a mérést. Soha
> nem használtam még a CCP modult, jó az elgondolásom?
Ezekkel az adatokkal 33 RPM fordulatszám jön ki. Nem lehetne az enkódert
a motor tengelyére, a lassító áttétel elé tenni?
Mindenesetre én nem átlagolnék, ennyire legalábbis tuti nem, mert akkor
csak fél másodpercenként lesz fordulatszám adat, ami igencsak rontja a
terhelés-stabilitást. Lehet gördülő átlagot használni, de az meg rontja
a D tag hatásosságát, hirtelen változásokra nem fogsz tudni gyorsan ragálni.
Szerintem vezéreld a PID-ből kijövő eredménnyel, aztán majd a motor
tehetetlensége kiátlagolja.
Persze nem írtad mekkora motor, milyen jellegű terheléssel és mekkora
pontosság szükséges, valamint hogy mennyire szar a jeladó, ezek
nagymértékben befolyásolják a feladatot.
More information about the Elektro
mailing list