Lambda Styrning vedpanna

Jag håller på att försöka få till en Lambdastyrning till vedpannan är tänkt jag ska styra sekundärluftspjället
med en r/c servo,
jag är helt ny på det här med arduino jag har suttit ett par kvällar nu och försökt fått till nått med Pid library men jag får inte servon att gå som jag har tänkt.

Jag skriver ner hur jag hade tänkt så får vi se ifall nån kanske kan hjälpa.
Jag har en bredbandslambda (innovates mtx-l) med en 0-5v utgång jag har ett arduino starterkit och en servo med dragkraft 4.1kg,
sekundärluftspjället går cirka 35mm horisontalt vill därför begränsa servons arbetsområde mellan 45-135 grader,jag har testat lite och pannan verkar gå bäst vid lambda 1.30 men vandrar lite så skulle vilja ha en setpoint på 1.30-1.35 är servon långt ifrån skulle jag vilja ha den att gå 15grader är den nära 5grader vill ha en väntetid imellan varje steg på 3sekunder!
översättning lambda utgång är 0v lambda=0.5 5v lambda=1.5.

jag har försökt att få till nåt med exempel koderna i arduino ide och har försökt hitta nåt liknande projekt
men har kommit till den punkt att jag tror jag bara krånglar till det så är det nån som skulle kunna hjälpa så vore det jättesnällt!

Hur mycket kod har du skrevet? Sät den inn här.

Har du gjort en sketch där du bara styrs servoen, och en annan där du bara tittar på vad mät-värde du får ; altså vet du om dom två delar fungerer som dom skal?

jag sätter in en test kod jag har några stycken,
men som sagt jag har bara använt arduino exemplen!
Lite skumt namn på filen kanske för det gör allt annat än funkar :frowning:

test_3_kanske_funkar.ino (1.01 KB)

Jag testar programmet med en potentiometer testar lite olika volt på ingången.
lambda sensorn med mätare sitter redan på pannan så jag ser värdena där när jag ändrar spjället!

nu tror jag att jag har fått till nåt som kanke funkar.
skulle vara kul ifall nån kunde kolla på det och se va ni tror,
ett problem nu är Pid setpoint som jag inte riktigt förstår måste man skriva setpointen mellan 0-1023 ifrån analoginput eller kan man konvetera den på nåt sätt till lambda?

nus__.ino (967 Bytes)

Om "lambda" er et lineart förhål af mätaren, så använder du "map" från ditt eget förra forsök

 Input = map(analogRead(PIN_INPUT), 0, 1023, 0, 180);

Om det er ett komplicere funktion, så måste den räknas ut
Input = sqrt(map(analogRead(PIN_INPUT), 0, 1023, 0, 180)*sin(månefase))+PI ; //... eller vad det nu ärmen passa på når du blandar integer og float

Tyvärr har jag inte lekt med PID så jag har ingen kommentar om du använder rätt parameter

ok! men om jag gör så här
Input = map(analogRead(PIN_INPUT), 0, 1023, 0.5, 1.5);

då ska det funka att skriva 1.3 i setpoint i Pid?

Tack för visat intresse!
Mvh!
Per

Hur har det gått med din lamda styrning? Märker du någon skillnad i sot mm?

Ja hur har det gått med styrningen. Jag har Innovates LC 2 och skall börja styra sekundärspjället.
Tacksam för svar. Är du på Byggahus.se ?