Da ich mit der original Regelung unseres Holvergaser Heizkessels unzufrieden bin und ich gerne den Wirkungsgrad anheben und den Schadstoffausstoß senken will hier ein Versuch das mit Arduino zu erledigen…
Sensoren und Aktuatoren mit dem Arduino zum laufen gebracht werden sollen:
- Thermoelemente Messung Abgastemperatur und Brennkammertemperatur
- Fühler Kesseltemperatur
- Steuerung Gebläsemotoren per Phasenanschnitt oder Vollwellensteuerung
- Schrittmotoren für Sekundärluftregelung
- Lambdasonde
- Drucksensoren Schornsteindruck, Gebläsedruck
- evtl. Luftmassenmesser
Thermoelemente Typ-K mit Maxim MAX6675
Für den MAX6675 (12Bit AD Wandler für k-typ Thermoelemente) gibt es eine Library für Arduino – das vereinfacht die gane Sache sehr…
Ryan McLaughlin hat diese Library erstellt – bei ihm sind auch komplette Breakout Boards zu haben.
Ich habe mir schon vor längerer Zeit kleine Adapterplatinchen machen lassen – demnächst werde ich auch selber
SOP8 – DIL8 Adapter im Angebot haben.
Temperaturfühler Kesseltemperatur/Puffertemperatur
Als Kesseltemperaturfühler möchte ich 1-Wire Sensoren DS18B20 einsetzen.
http://www.arduino.cc/playground/Learning/OneWire
Steuerung Gebläsemotoren per Phasenanschnitt oder Vollwellensteuerung
Momentan teste Ich mit Vollwellensteuerung – hätte den Vorteil das weniger Störungen erzeugt werden weil keine
steilflankigen Einschaltströme fliessen.
Bei der Vollwellensteuerung wird immer eine ganze Schwingungsperiode lang ein bzw. ausgeschaltet – natürlich im Nulldurchgang.
Nulldurchgangserkennung momentan diode – transisor auf Arduino PIN2
soweit ich das mit meinem Scope sehe ist die Verzögerung der ansteigenen Flanke max 1μs was ok wäre…
triggern mit ansteigender flanke
Mein Gedanke ist folgender:
Interupt auslösen – Zähler starten
10% (aus) bei INT aus erst nach 9 Ints wieder an
20% nach 8 Ints wieder an
…
…klappt aber leider nicht da die (Puls-Pausen) Frequenz zu niedrig wird und der Motor hörbar an und abschaltet
Also Phasenanschnitt:
Habe also neue SSRs (ohne Nulldurchgangserkennung) bestellt: SHARP_S202T01
Nach viele Experimenten mit Timer Interupts bin ich im Arduinoforum auf diesen Code gestossen.
Vielen Dank an Ryan McLaughlin,Mark Chester,James Orland
Im Code wird die Zeit der Halbwelle ermittelt d.h er funktioniert auch bei anderer Netzfrequenz
zuverlässig (60Hz). Ausserdem erfolgt eine Anpassung der Ausgangsleistung bezogen auf die Sinusform der Netzspannung (per Arrray PowerMap())
Hier mein dimmer_sketch den ich in meine Steuerung mit einbauen werde.
Lambdasonde
Hier soll eine Breitbandsonde (Bosch LSU 4) zum Einsatz kommen – werde mir mal den original Ansteuerungsschaltkreis CJ125 von Bosch besorgen – einzige Quelle die ich bisher ausmachen konnte: http://www.futureelectronics.com/ Preis 8,36$ scheint auch ok –
Hier noch eine sehr interessante Seite zur Breitbandsonden Ansteuerung mit CJ125
– denkbar wäre auch ein Steuereingang für
Lambdacheck oder LC-1 von Innovate Motorsports oder http://www.14point7.com/SLC-OEM.php
…..
Momentaner Stand der Dinge (16.02.2011):
original AK2005 Steuerung wurde komplett durch Arduino ersetzt!
Geregelt wird momentan nur das Gebläse in Abhängigkeit von der Abgastemperatur.
Gemessen wird Abgastemperatur (NiCrNi), Brennkammertemperatur (NiCrNi), Kesseltemperatur (DS18B20)
Gebläse wird über SolidStateRelay (Sharp S202T01) per Phasenanschnitt gesteuert.
Pumpe wird per SolidStateRelay (Sharp S02T02 – mit Nulldurchgangserkennung) geschaltet.
Im Schaltbild ist momentan das Display nicht eingezeichnet – ich verwende ein 2 Zeilen LCD das per I2C Bus angesteuert wird.
Momentaner Code alles noch sehr rudimentär und unkomfortabel….
Links/Datenblätter:
Steckverbindung Vigas Gebläse: http://de.farnell.com/tyco-electronics-amp/1-350943-0/steckverbinder-rechtwinklig/dp/1999989
Datenblatt DS18B20 Pinout (auf Beschriftung gesehen links nach rechts) 1 GND,2 DQ, 3 VDD
5 Antworten auf Vigas Holzvergaser Regelung mit Arduino