So, hier nun mal das erste Update von dem ich sprach. Ich bin schon eine ganze Weile damit beschäftigt, allerdings wollte ich mit dem Beitrag warten, bis ich einen Grundstein für die ganze Thematik habe, was nun für mich heute erfolgt ist.
Ich versuche das ganze etwas zu splitten in die prinzipiellen Informationen und die technischeren Details.
Worum geht es?
Simpel gesagt: Klimaautomatik mit integrierter Steuerung (zB. Timer) für eine Standheizung.
Warum?
Simpel gesagt: Weil ich kann.
Das ist natürlich nicht der einzige Grund. Also zum einen aus Spaß an der Bastelei, zum anderen Bequemlichkeit. Irgendwie nervt mich das hin und her schieben des Reglers. Wenn man mal Vollgas gibt ist auf einmal die Austrittstemperatur deutlich höher u.s.w....
Also Automatik! Das Auto hat alle Bedienungen (außer Sensoren) dafür, also warum nicht.
Was soll sie können?
In erster Linie die Temperatur auf einen eingestellten Wert regeln, die Klimaanlage bedienen und optional noch eine Webasto Standheizung ansteuern.
Dann geht es weiter mit Spielereien. Geplant sind ein paar grundlegende Bedienelemente, ein OLED Display und ein Bussystem zur Kommunikation mit anderen Steuergeräten, die ich so bauen will.
Welche Sensoren werden verbaut?
Simpel: Zwei Temperatur- und Feuchtigkeitssensoren, ein NTC mit Lüfter für die Temperatur an der Mittelkonsole und ein Pyrometer für den Wärmetauscher.
Komplexere Ausführung:
Zur Steuerung:
Zum Einsatz kommt ein ATMEGA2560 von Atmel, ein 8-Bit Mikrocontroller mit 256kByte Flash und 8kByte RAM (für diesen Zweck MEHR als genug).
Die Hardware wird weitestgehend von der original Bedienung abgekupfert, das trifft sich ganz passend, da es im Original auch weitestgehend elektronisch gesteuert war und somit schon "proofed" ist.
Die Stellmotoren:
Heizungsklappe:
Der Motor wird direkt vom Bedienfeld angesteuert, sprich beide Pole sind direkt im Bedienfeld verbunden. Je nach dem in welche Richtung er fahren soll muss er so oder so gepolt werden.
Dafür kommt ein H-Brücken-IC zum Einsatz (Eine H-Brücke sind vier Transistoren, die in H-Form angeordnet sind und gegengepolt werden können).
Die Position wird über ein Potentiometer ermittelt, welches vom Mikrocontroller ausgelesen wird.
Düsenauswahlklappe:
Eigentlich genau wie die Heizungsklappe, abgesehen von der Positionsbestimmung. Hier kommen Kontakte zum Einsatz, das ganze ist etwas ausführlicher, aber im Prinzip gibt es 7 Kontakte, von denen immer ein Kontakt nicht verbunden ist, an einer bestimmten Position. Anfang und Ende dieser Schaltkette werden auf GND gelegt, im Mikrocontroller sind Pull-Ups, die das Signal auf 1 ziehen, wenn der Eingang nicht auf Masse gezogen wird, so ist alles 0 außer dem Kontakt, auf dessen Position sich der Stellmotor gerade befindet.
Dazu könnte ich gern ein paar Bilder liefern um das genauer zu erläutern, aber ich denke der Bedarf besteht nicht, deshalb gehe ich nicht zu tief ins Detail.
Umluftklappe:
Die Umluftklappe hat eine feste Verbindung zur Betriebsspannung des Autos, zum Bedienfeld gehen zwei Steuerleitungen.
Wird nun eine der beiden Steuerleitungen kurz auf Masse gezogen, fährt der Motor in diese Richtung, bis er sich in der Endposition befindet und selbstständig abschaltet. Man kann tun was man will, er fährt dann nicht weiter in diese Richtung. Selbiges in die entgegengesetzte Richtung.
Viel interessanter an der Sache fand ich, dass die Steuerleitung des entgegengesetzten Pins bei erreichen der Endposition auf Betriebsspannung liegt.
Somit lässt sich auch hier sofort die Position der Umluftklappe über die Software bestimmen.
Rest:
Die Klimaanlage ist mit zwei Leitungen ans Bedienfeld verbunden, dem Einschaltbefehl und der Bereitschaft. Ist die Klimaanlage Einschaltbereit liegt diese Leitung auf Masse, sonst auf Betriebsspannung. Der Einschaltbefehl erfolgt ebenfalls in dem die Leitung auf Masse gelegt wird.
Die Bereitschaft der Klimaanlage interessiert nur ein Zustand: Lüfter an oder Lüfter aus. Mit abgeschaltetem Gebläse will sie nicht, das ist auch gut so.
Nun, da ich eh alles über Mikrocontroller steuere habe ich überlegt die Bereitschaft der Klimaanlage außen vor zu lassen, da ich selbst überprüfen kann ob der Lüfter läuft oder nicht und somit die Freigabe der Klimaanlage steuere.
Allerdings ist mir noch nicht klar wie genau die Klimaanlage die Bereitschaft ermittelt. Die Leitung dafür hängt am Wahlschalter des Gebläseschiebers. Ob die nun nur interessiert ob ich mindestens auf 1 stehen habe oder ob ein gewisser Strom über den Widerstand fließt (also der Lüfter nicht kaputt ist), weiß ich nicht.
Ich vermute aber tatsächlich nur ersteres.
Gebläsemotor:
Der wird nicht über Widerstände geregelt, wie es original der Fall ist. Ich werde den Widerstand gegen eine MOSFET-Endstufe tauschen, das trifft sich ganz gut, da so der Kühlkörper auch direkt aktiv gekühlt wird (steckt im Luftschacht des Gebläsemotors).
Die Drehzahl wird über PWM geregelt, allerdings strahlt das Zeug so sehr und macht EMV-Technisch derart viele Probleme, dass das ganze erstmal noch ausgereift werden muss. Es stört eben alles.
Auf das Bedienfeld gehe ich mal nicht sonderlich ein, da das eigentlich kein Bestandteil meines Projektes ist und nur ausgelesen wurde um vorerst einen Aufbau zu haben, mit dem ich experimentieren kann.
Das sieht natürlich alles erstmal sehr wüst aus, aber es geht mir in erster Linie darum einen praktikablen Aufbau zu haben, mit dem ich das Verhalten der ganzen Stellmotoren etc austesten kann.
Wenn ich weiß, wie das alles läuft kann ich die erste Grundsoftware schreiben und anschließend einen fertigen Aufbau einer Platine etc bauen.
Es wäre sehr ärgerlich sich die Mühe einer fertigen Platine zu machen und dann fällt einem auf, dass etwas so gar nicht funktionieren kann. Ich habe auch schon ein paar Dinge gefunden, die ich dann doch anders machen möchte.
Hier mal der aktuelle Stand:
Ich habe das heute ausprobiert und alles funktionierte nach Plan... Naja, nicht ganz, aber das sind Softwareprobleme gewesen.
Das OLED hat aktuell nur den Zweck mit Debug-artige Informationen zu übermitteln, da blind arbeiten immer scheiße ist. Später werden dort Menü, Temperaturen u.s.w. angezeigt.
PS: Ja, die Fernbedienung gehört zum Aufbau. Ich wollte erstmal was haben, womit ich dann die Standheizung von der Ferne einschalten konnte. Das ist erstmal nur temporär, da das später die CPU im Fahrzeug übernimmt und per BUS die Informationen an das Steuergerät übermitteln wird.