[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