Håller på att fixa varvtalsreglering till min hemmabyggda (mini) skotare. Motorn är en 2cyl 500cc diesel från en mopedbil, men nog om det
Setup:
Insprutningspumpen styrs av ett rc servo som i sin tur får sin styrning av en arduino.
Jag har en givare på svänghjulet som ger en puls per varv. Inställning av varvtal sker med en 10k pot. (tomgång > maxvarv)
Koden är en väldig röra som jag helst inte vill visa
Problemet är att det är väldigt dåliga instruktioner på hur man använder det. Tex. så får man inte veta hur relationen mellan inställt varvtal (setpoint) och verkligt varvtal (input) påverkar utgången.
Men efter en koll i koden till biblioteket så har jag ganska bra koll på det.
Men mitt största problem är att pid rutinen självsvänger om jag ger den 100% kontroll över gasreglaget och jag vet egentligen inte vad jag ska ändra upp eller ner (p eller i) för önskat resultat..
Jag får den att gå ganska bra om jag ställer minsta värdet (servovinkeln) till ca 1300rpm, dock svänger den fortfarande hörbart
Min fråga är alltså, hur hittar jag startvärden till P,I & D? Jag vet ju inte om det är 0.01, 10 eller 100 värden jag ska ha
I ett exempel i biblioteket används 2,5,1 och i ett annat 1, 0.05, 0.25
Tack på förhand

