Hallo Forumsexperten, ich habe eine Heizkammer, deren Heizung über einen Triac mit vorgesteuertem Triactreiber MOC3061 betrieben wird. Das gleiche gilt für drei AC-Ventile. Der onboard µC ist defekt. Ich würde das System gerne wieder zum Laufen bringen. Mein Ansatz wäre jetzt, dass ich die Signalpins des Triac-Treibers vom µC kappe und über bspw. einen Arduino oder Raspberry ansteuere, Heizung mit einem PID Regler und die Ventile sind nur an/aus. Das Datenblatt zum MOC3061 gibt es hier: https://www.jameco.com/Jameco/Products/ProdDS/133874.pdf Ich würde also versuchen Pin 1 und 2 (Kathode, Anode) anzusteuern und den Rest der Triac-Schaltung unverändert zu lassen. An einem Vergleichsgerät habe ich mit einem Multimeter 2,5 VAC zwichen Pin 1 und 2 am Treiber für die Heizung gemessen. Habe leider kein Oszilloskop bzw. Frequenzmessgerät zur Hand. Auf DC hat das Multimeter nichts angezeigt. Meine Frage wäre, kann der Ansatz grundsätzlich funktionieren und bekomme ich ein brauchbares Ansteuersignal direkt aus dem Arduino / Raspberry heraus? Ich werde hierzu auch mal ein Bild vom jetzigen Steuerungsboard machen und hochladen, damit die ganze Triacschaltung zu sehen ist. Falls Ihr aber sagt, dass dieser Ansatz unrealistisch ist, hättet ihr einen anderen Lösungsweg? Ich habe mal provisorisch die Heizung mit einem SSR-Relais und einem PID-Regler angesteuert, das klappt. Aber da die verbaute Leistungselektronik an sich noch funktioniert, würde ich diese lieber weiterverwenden. Vielen Dank für alle Tips und Hinweise! Viele Grüße Hans
Hans Westermann schrieb: > Meine Frage wäre, kann der Ansatz grundsätzlich funktionieren und > bekomme ich ein brauchbares Ansteuersignal direkt aus dem Arduino / > Raspberry heraus? Da Deine Steuerung durch einen µC vorher funktioniert hat, warum sollte sie jetzt plötzlich nicht mehr funktionieren?
Grundsätzlich steuert man den MOC3061 genauso an wie eine (rote/IR) LED. Da er auch einen Nulldurchgangsdetektor hat, ist er zum Dimmen nicht geeignet, so das man auch auf die Phasenlage des Netzes keine Rücksicht nehmen muss. Also wie eine LED mit Vorwiderstand betreiben. Am Arduino o.ä. bewährt sich da ein 220 Ohm Vorwiderstand. Muss halt 15mA durch die LED schicken. Das wird ein Problem bei den schwachen Ausgängen des RPi, der a) nur 3,3V Logik hat und b) normalerweise die 15mA nur schlecht schafft. Der MOC3063 wäre mit 5mA zufrieden, aber der ist ja leider nicht verbaut.
:
Bearbeitet durch User
Hi, super vielen Dank schon mal für die Antworten. Das hört sich doch eigentlich machbar an. Aber was mich noch etwas irritiert ist, dass ich ja Wechselspannung an Pin 1 und 2 (vermutlich) gemessen habe. Da kann ich doch dann nicht mit Gleichspannung vom Arduino drauf gehen, oder ist das bei dem Treiber egal? Die angesprochene LED-Schaltung bekommt ja auch "nur" Gleichspannung von bspw. Arduino. Also die Temperatur der Kammer war ja einstellbar, also müsste da eine Regelung dahinter stecken. @Matthias S. also wenn der Treiber keine Dimmfunktion hat, müsste die Regelung wie mit einem SSR (an/aus Zeiten) funktionieren, oder liege ich da jetzt falsch? Also wenn ich den MOC 3061 ansteuern will, könnte ich das mit einer zwischengeschalteten Transistorschaltung tun, dann würde es mit Arduino und Raspberry und den digitalen Ausgängen und Gleichspannung funktionieren? Zumindest sollte ich so die Ventile ja ansteuern können. Aber kann ich so die Heizung regeln? (Bin vom Hintergrund Maschinenbauer, bitte nicht steinigen wenn ich was offensichtliches übersehe...) Viele Grüße Hans
Hans Westermann schrieb: > also wenn der Treiber keine Dimmfunktion hat, müsste die > Regelung wie mit einem SSR (an/aus Zeiten) funktionieren, oder liege ich > da jetzt falsch? Nö, da liegst du richtig. Das kann nur eine Wellenpaketsteuerung sein, wenn da was gesteuert werden muss. Hans Westermann schrieb: > Also wenn ich den MOC 3061 ansteuern will, könnte ich das mit einer > zwischengeschalteten Transistorschaltung tun, dann würde es mit Arduino > und Raspberry und den digitalen Ausgängen und Gleichspannung > funktionieren? Wie o.a., kann der Arduino den MOC3061 sicher ansteuern, ohne das es einer Stromverstärkung bedarf. Der RPi allerdings ist leistungsschwach und muss mittels Treiber aufgebohrt werden, damit er sicher die 15mA liefern kann. Dazu kann man z.B. einen ULN2803 benutzen oder auch einen mittelkräftigen HC-TTL Baustein. Hans Westermann schrieb: > Zumindest sollte ich so die Ventile ja ansteuern können. Wenn du einen ULN2803 benutzt, der ja 8 Kanäle hat, kannst du damit sowohl den MOC als auch Relais ansteuern. Sollte es evtl. sogar auf Fertigplatinen geben. Das wäre dann ein Treiber, der sowohl vom Arduino als auch vom RPi angesteuert werden kann, ohne Änderungen auf der MC Seite vorzunehmen.
Hallo Matthias, also so in etwa wie in dem angehängten Schaltplan. Merci
Hans Westermann schrieb: > also so in etwa wie in dem angehängten Schaltplan Ja. Damit steuerst du den MOC korrekt an. Poste doch mal, was für ein Typ der originale MC auf der Steuerung war.
Hallo, also hier mal ein Foto von dem Board mit µC und meinem geplanten workaround um das Gerät mit einem Arduino zu betreiben. Es gibt meiner Meinung nach zwei Möglichkeiten zur Ansteuerung. 1. ich nuzte den verbauten Vorwiderstand (sieht nach 100 Ohm aus). Allerdings ist mir das mit L gekennzeichnete Bauteil unklar. Ist das eine LED? Eine Spule scheint es mir nicht zu sein. Der Pin 2 des Treibers geht direkt auf den "hinteren" Pin des Bauteils. Das könnte doch der zusammengeschlossene Ground sein. 2. ich gehe mit einem eigenen Vorwiderstand direkt auf den Pin 1 des Treibers. Sollte ich davor die ursprüngliche Steuerleitung zum µC trennen, bevor ich die externe Steuerleitung vom Arduino verbinde? Gruß Hans
Also erster proof of concept hat geklappt. Ich habe einfach ein Labornetzteil auf 1,2 V eingestellt und bin auf die Pins der Treiber. Dann erfolgt das Schalten. Meine Frage wäre jetzt nur noch, würdet ihr die bestehende Verbindung zum µC irgendwie physisch trennen? oder einfach mit der neuen Steuerung drauf?
Hans Westermann schrieb: > Also erster proof of concept hat geklappt. Ich habe einfach ein > Labornetzteil auf 1,2 V eingestellt und bin auf die Pins der Treiber. > Dann erfolgt das Schalten. Hoffentlich strombegrenzt, sonst hat der MOC den ersten Knacks weg. > Meine Frage wäre jetzt nur noch, würdet ihr die bestehende Verbindung > zum µC irgendwie physisch trennen? oder einfach mit der neuen Steuerung > drauf? Wieso? Du hast doch eine galvanische Trennung durch den MOC.
Harald W. schrieb: > Wieso? Du hast doch eine galvanische Trennung durch den MOC. Ich denke, der TE möchte gerne anstelle des STM32F103 den Arduino einsetzen. Also ja, dann sollte der STM32 auf jeden Fall gekappt werden, damit er a) nicht dazwischenfunkt und b) nicht rückwärts über die GPIO Pins Strom zieht. Man kann da Pin für Pin vorgehen, immer wenn der Arduino die Kontrolle über einen Optokoppler übernimmt, den entsprechenden Pin des STM32 hochbiegen oder per Cutter abtrennen. Notizen dazu schaden sicher nicht, denn dann besteht immer noch die Chance, später mal wieder einen STM32 zu verwenden.
Ich glaube du stellst dir das ein bisschen zu einfach vor. Die Eingänge der Optokoppler sind auf (und wegen) der Platine nicht völlig unabhängig. Vermutlich hängen sie alle direkt oder indirekt an einer gemeinsamen Stromversorgung. Es könnte z.B. sein, dass alle Anoden miteinander verbunden sind. Oder alle Kathoden. Oder indirekt, durch einen Widerstand oder die SMD Dioden daneben. Ich würde hier erstmal dazu raten, einen Schaltplan von deren Eingangsbeschaltung aufzunehmen. Dann sehen wir weiter.
:
Bearbeitet durch User
Stefanus F. schrieb: > Es könnte z.B. sein, dass alle Anoden miteinander verbunden sind. Das sind sie, nämlich über die 200 Ohm Widerstände, wie man auf dem Platinenausschnitt sieht. Man verbindet also den Arduino vorzugsweise auf der Seite der 'L' Drosseln und zieht sie mit dem Arduino gegen Masse, um den Optokoppler zu schalten. Im gleichen Arbeitsschritt trennt man die Leitung zum STM32 ab. Das könnte leicht dadurch erfolgen, das man 'L' entfernt und auf der OK Seite den Arduino anschliesst. Vorwiderstand und Versorgung bleiben dann erhalten.
:
Bearbeitet durch User
Matthias, genau darauf wollte ich hinaus. Wenn der "originale" Mikrocontroller nicht mehr laufen muss, könntest du seinen Reset Eingang fest mit GND verbinden. Dann sind alle seine I/O Pins inaktiv, so dass du keine Leiterbahn auftrennen musst und keine Bauteile entfernen musst. Eventuell sind die Pins am STM32 nicht alle 5V tolerant. Um da Probleme zu vermeiden, würde ich die I/O Pins des AVR im Open-Drain Modus benutzen. Das geht so: Initialisierung: Das jeweilige Bit in PORTx und DDRx auf 0 setzen. LED einschalten: Das Bit in DDRx auf High setzen. LED ausschalten: Das Bit in DDRx auf Low setzen.
:
Bearbeitet durch User
Hallo, vielen Dank für die zahlreichen Tips! lso könnte ich doch die Pins 1&2 des Treibers trennen und mit meinem Arduino verbinden. Dann bräuchte ich aber dann noch einen 200Ohm Widerstand. Das wäre doch machbar und sicher, falls sich beim stm32 noch was rührt. Wie programmiert/flashed man den diesen stm32? Der hat ja keinen USB Ausgang? Gibt's da zart bootloader Kabel?
Hans schrieb: > Wie programmiert/flashed man den diesen stm32? http://stefanfrings.de/stm32/stm32f1.html#proginterfaces > Der hat ja keinen USB Ausgang? Doch hat er. Aber programmieren über USB geht nur bei wenigen Modellen in dieser Serie. Und dazu müsste man natürlich eine USB Buchse angeschlossen haben.
Matthias S. schrieb: > Das wird ein Problem bei den schwachen Ausgängen des RPi, der a) nur > 3,3V Logik hat und b) normalerweise die 15mA nur schlecht schafft. Klar geht das! Einfach einen UNI-Transistor in die LED-Leitung einfügen und schon funktionierts. Auch wenn der RPi nur 3,3V-Logik hat-na und? Einen Vorwiderstand zur Basis des genannten UNI-NPN-Transistor 1 K und die Diodenleitung bekommt bei 5 V Versorgung 330 Ohm. Das reicht aus, um den MOC zu steuern! Und das mit den mA als treibertrom hat sich schon mal je nach Transistor auf > als mA vervielfacht... Gewusst wie! Wo ist jetzt das Problem?
MOCTICTACK schrieb: > Gewusst wie! Wo ist > jetzt das Problem? Es hat niemand bezweifelt, das der RPi mit einer externen Endstufe einen Optokoppler antreiben kann. Es ging immer darum (einfach mal lesen), ob es auch ohne Endstufe geht und da ist die Antwort Nein. Der RPi kann nicht direkt den OK treiben, der ATMega aber schon. Als universelle Endstufe habe ich oben den ULN2803 vorgeschlagen, der sowohl vom RPi als auch vom AVR benutzt werden könnte. Hans schrieb: > lso könnte ich doch die Pins 1&2 des Treibers trennen und mit meinem > Arduino verbinden. Dann bräuchte ich aber dann noch einen 200Ohm > Widerstand. Nö, den Widerstand brauchst du nicht, weil er ja schon bei jedem Koppler auf der Platine ist und diese dann auf die gemeinsame + Schiene gehen. Der Punkt, um den AVR anzuschliessen ist am 'L' Bauteil. Lowpegel aktiviert dann den MOC Koppler. Stefanus F. schrieb: > Dann sind alle seine I/O > Pins inaktiv, so dass du keine Leiterbahn auftrennen musst und keine > Bauteile entfernen musst. Das klappt dann, wenn am STM32 die Pins auch noch heile sind. Wenn da eine Schutzdiode durchgeschlagen ist, muss der Pin abgetrennt werden. Ob die ST-Link Pins zugänglich sind, um den STM32 neu zu programmieren, könnte man ja mal mit Datenblatt prüfen. Jedes billige Discovery Board von ST hat übrigens einen ST-Link Programmer an Bord, der auch alleine benutzt werden kann. Kostet also fast gar nix. Mir persönlich machen die Dingerchen auch Spass beim programmieren, ich bleibe dabei aber im Moment bei SPL und schlage mich nicht mit CubeMX rum.
Matthias S. schrieb: > Wenn da eine Schutzdiode durchgeschlagen ist, # > muss der Pin abgetrennt werden. Wenn das Wörtchen "wenn" nicht wäre ... Warum sollten dort Schutzdioden durchgeschlagen sein? Das halte ich für extremst unwahrscheinlich.
Stefanus F. schrieb: > Warum sollten dort Schutzdioden durchgeschlagen sein? Das halte ich für > extremst unwahrscheinlich. Irgendwas am STM32 ist halt defekt. Was es genau ist, wissen wir nicht. Es kann sein, das er ein Stückchen seines Flash verloren hat, es kann der ganze Chip wg. Bursts auf der Betriebsspannung kaputt sein oder es können eben auch Pins durchgeschlagen sein. Und weder du noch ich wissen, wie die Jungs die Eingänge oder Ausgänge am MC geschützt haben.
Mag alles sein, aber ich halte es momentan für nicht angemessen, alle möglichen Defekte herauf zu beschwören und die Schaltung darauf auszulegen. Im Zweifelsfall kann man einzelne Pins immer noch freilegen, wenn es nötig wird.
Hallo, nochmal zur Absicherung: Ich würde jetzt mal den im Bild zu sehenden Anschluss durchführen. Rein vor dem Hintergrund der praktischen Umsetzung, ich muss ja dort irgendwie meine Schaltleitung vom Arduino fest bekommen, dass die nicht gleich bei der kleinsten Erschütterung, bspw. wenn ich das Gerät mal transportiere, abgeht. Würdet ihr aus eurer Erfahrung sagen, dass ein angelöteter Draht auf dieser kleinen Lötstelle (ist ja nur an der Oberfläche) hält? Oder sollte ich vor dem Hintergrund der Betriebsfestigkeit, doch lieber an die Pins des Treibers anlöten (mit entsprechendem Vorswiderstand und schrumpfschrauchversiegelt versteht sich).
Hans Westermann schrieb: > Würdet ihr aus eurer Erfahrung sagen, dass ein angelöteter Draht auf > dieser kleinen Lötstelle (ist ja nur an der Oberfläche) hält? Lötstellen sind spröde. Seit Bleifrei gelötet wird, ganz besonders. Du musst die Drähte ankleben, so dass im Bereich der Lötstelle keine Bewegung stattfindet. In Unterhaltungselektronik wird das üblicherweise auch so gemacht.
Hans Westermann schrieb: > ... hier noch das Anschlussbild. Nein, nicht "GND von vom Arduino", sondern "I/O Pin vom Arduino". Und vergesse nicht, den STM32 entweder durch Dauer-Reset still zu legen oder abzutrennen.
:
Bearbeitet durch User
Die Drossel 'L' ist spassig, aber nicht unbedingt nötig. Du kannst also den I/O Pin vom Arduino auch direkt an Pin 2 der MOC3061 löten und ihn so ein wenig besser festlegen. Ein extra Vorwiderstand ist nicht nötig, weil die auf der Platine ja schon da sind, nur eben auf Pin 1 des MOC. Das ist aber gehupft wie gesprungen, Hauptsache ist, das er im LED Kreis ist.
:
Bearbeitet durch User
Matthias S. schrieb: > Die Drossel 'L' ist spassig, aber nicht unbedingt nötig. Das ist eine LED, die (mit Vorwiderstand) parallel zum Optokoppler liegt. > Du kannst also den I/O Pin vom Arduino auch direkt an Pin 2 der > MOC3061 löten und ihn so ein wenig besser festlegen. Das wird nichts ändern, diese LED leuchtet dann trotzdem mit.
HI, ok, also gehe ich direkt vom I/O Pin des Arduino auf den Pin 2 des Optokoppler. Aber bräuchte ich nicht dann am Pin 1 noch Ground vom Arduino? Pin 1 = Anode, Pin 2 = Kathode (siehe Bild) Müsste nicht die +5 V vom Arduino an Pin1 anliegen, um durchzuschalten? War das nicht so, wenn ich positive Spannung an die Kathode anlege, dann sperrt die? Oder verstehe ich gerade das Prinzip von dem Optokoppler nicht? Ist das dann invers, d.h. ich Schalte +5 V auf Pin2 und sperre damit und ohne +5V ist er immer offen? Bin ehrlich gesagt etwas verwirrt gerade.
Hans Westermann schrieb: > Aber bräuchte ich nicht dann am Pin 1 noch Ground vom Arduino? > Pin 1 = Anode, Die Anode gehört an den Plus-Pol der Stromversorgung. > Müsste nicht die +5 V vom Arduino an Pin1 anliegen, um durchzuschalten? Ja doch. > Bin ehrlich gesagt etwas verwirrt gerade. Merkt man. Was jedenfalls nicht geht, ist ein gemeinsamer GND Anschluss und dann die I/O Pins des Mikrocontrollers mit den Anoden zu verbinden, weil die nämlich alle miteinander verbunden sind. Also brauchst du einen gemeinsamen + Pol und schließt die I/O Pin an die Kathoden an. Genau so, wie es auf dem Board bereits mit dem STM32 gemacht wurde. Wenn man genau hinschaut, ist es offensichtlich.
:
Bearbeitet durch User
So dachte ich das auch. Also muss der I/O Pin vom Arduino doch an Pin 1 und nicht an L oder Pin 2 (L geht ja an die Kathode = Pin 2, laut Schaltplan), korrekt? Und dann muss der Pin 2 (Kathode) doch noch an Ground vom Arduino.
ahhhhh, ok. Also leg ich den konstanten +5V Ausgang vom Arduino parallel auf alle Anoden der Optokoppler die ich schalten will (Pin1). Und meinen ausgewählten digitalen Ausgang vom Arduino auf die jeweiligen Kathoden. "ziehe" ich dann beim Schalten mit dem Arduino die Kathode über den Arduino auf Ground und erreiche somit die benötigte Potenzialdifferenz an der Optokopplerdiode?
Hans Westermann schrieb: > So dachte ich das auch. Also muss der I/O Pin vom Arduino doch an Pin 1 Nein! Ist das denn so schwer? Der I/O Pin macht an der Anode keinen Sinn, weil alle Anoden auf der Platine miteinander verbunden sind. Stefanus F. schrieb: > Ich würde hier erstmal dazu raten, einen Schaltplan von deren > Eingangsbeschaltung aufzunehmen. Dann sehen wir weiter. Aber nein, da wird lieber stundenlang herum gekaspert. > ahhhhh, ok. Also leg ich den konstanten +5V Ausgang vom Arduino parallel > auf alle Anoden der Optokoppler die ich schalten will (Pin1). Eine reicht, die sind ja schon alle miteinander verbunden. > "ziehe" ich dann beim Schalten mit dem Arduino die Kathode über den > Arduino auf Ground und erreiche somit die benötigte Potenzialdifferenz > an der Optokopplerdiode? Nach diesem Plan legst du 5V an die Optokoppler. Du musst die Kathoden vom Rest der Platine (dem STM32F103) trennen. Wenn du das nicht machst, sind andere Maßnahmen nötig: GND vom Arduino mit GND vom Board verbinden. Das Board mit Spannung (3,3V?) versorgen. Die Aufgänge des Arduinos im Open-Drain Modus programmieren, damit dieser keine 5V ausgibt und damit den STM32 überfordert.
:
Bearbeitet durch User
Stefanus F. schrieb: > GND vom Arduino mit GND vom Board verbinden. > Das Board mit Spannung (3,3V?) versorgen. Genau, warum sollte der Arduino nicht von der Platine gespeist werden? Das habe ich die ganze Zeit stillschweigend vorausgesetzt. Der läuft mit 3,3V prima und man muss sich weder um die Speisung der Optokoppler noch um den STM32 Sorgen machen. Auch GND ist dann ganz einfach richtig verbunden.
Matthias S. schrieb: > Genau, warum sollte der Arduino nicht von der Platine gespeist werden? Klingt sinnvoll. Dann muss man allerdings die Dioden entfernen, welche die 5V vom USB Kabel an den Mikrocontroller durch reicht. Und man muss die Taktfrequenz senken. Das hatten wir ja schon weiter oben. Da fällt mir gerade noch etwas ein: Wenn die GND Leitung dieser unbekannten Platine irgendwo geerdet ist oder sonstwie mit GND vom Computer verbunden ist, dann kann man nicht einfach 5V an die Anoden der Optokoppler legen, weil sonst die ganze Platine mit eben diesen 5V versorgt wird, wofür sie nicht ausgelegt wurde. Und selbst wenn der AVR nur mit 3,3V versorgt würde (was die Sache sicher erheblich entschärft), müsste er immer noch das ganze große Board mit versorgen. Wie viel Strom mag das große Board wohl aufnehmen? Vielleicht ist es doch besser, die Optokoppler komplett (also Anoden und Kathoden) von der alten Platine zu trennen. Dann hat man mit diesen Seiteneffekten keinen Stress.
:
Bearbeitet durch User
Stefanus F. schrieb: > müsste er immer noch das ganze große Board > mit versorgen. Nö, der Arduino wird vom Board versorgt, nicht umgekehrt. Das ganze Drumherum eines Arduino Boards ist allerdings wirklich unnötig. Da macht man sich eine kleine Platine (gerne auch Lochraster), auf die dann der Mega mit ein paar Stiftleisten oder so kommt. Den Arduino kann man immer noch als Programmieradapter nutzen.
:
Bearbeitet durch User
Hallo, möchte kurz ein Update zum Umbau geben. Also ich habe jetzt die Ansteuerungspins von der Grundplatine gelöst und steuere diese über einen Arduino an, siehe Bilder. Derzeit noch provisorisch angelötet, für den eigentlichen Einsatz kommt noch Schrumpfschlauch drüber. Funktioniert alles ohne Probleme, Danke schon mal für die vielen Tips! An dem Tiac ist eine Heizmatte angeschlossen. Ich würde jetzt gerne einen Temperaturregler aufbauen. Also eine einfache An/Aus Regelung
habe ich schon implementiert, allerdings schwingt die immer 2 °C über den Sollwert, wenn sie den Sollwert von "oben" unterschreitet und dann nur kurz nachheizt. Die Idee wäre jetzt, ob ich die Leistung der Heizung drosseln kann, bspw. wenn ich das Ansteuersignal mit einer Frequenz pulsen lasse, in Abhängikgeit der Nähe zum Sollwert. Allerdings weiss ich nicht, ob das dann dem Triac oder dem Optokoppler schadet und ob das grundsätzlich so geht. Vom Prinzip müsste das doch auch bei diesen PID-SSR Reglern sein? Viele Grüße, Hans
Hans schrieb: > allerdings schwingt die immer 2 °C über > den Sollwert, Normalerweise sorgt man für eine Hysterese ... die man dann halbwegs an den minimal möglichen Heizpuls (dessen Umfang für diesen "Overshoot" sorgt) anpaßt. Das bedeutet, daß z.B. erst bei 2°C Unterschreitung der Solltemperator wieder geheizt wird, weil ja eh nicht weniger als die Solltemperatur erreicht wird, sobald die Heizung kurz einsetzt. Ohne auch nur im Ansatz zu wissen, wie Du das realisiert hast, kann ich kaum sagen, wie Du zu Deiner Hysterese kommst (ob in Software durch setzen eines geringeren Wertes zum "EIN" als zum "AUS", oder anders).
Hallo, also ich will die Temperatur so genau als möglich halten. Daher will ich eigentlich weg von der Hytereseschaltung und hin zu einem (PID)-Regler. Derzeit ist es so realisiert: In meinem geschlossenen Topf, dessen Luft ich auf 40 °C erwärmen und konstant regeln will, steckt ein PT1000. Der liefert mir über einen Signalwandler die Ist-Temperatur zurück. In meinem Script frage ich alle 500 ms die Temperatur ab und wenn diese unter 40 ° C ist, wird geheizt (100 %), sonst aus. Die Heizung steuere ich mit der oben beschriebenen Triac-Schaltung an. Die resultierende Hysterese von ca. 2 °C ist mir aber zu viel. Es gibt ja im Online Handel diese PID-Regler-sets (PID Regler, Temperaturfühler, SSR-Relais). Die machen doch auch keine Hystereseschaltung, sondern werden irgendwie die Leistung über die Ein/Aus-Schaltdauer einstellen. Sowas würde ich gerne auch aufbauen mit der PID-Bibliothek. Nur weiss ich nicht, 1. ob ich das mit der hier vorliegenden Triac-Schaltung machen kann und 2. ob diese Ansteuerung mit dem Arduino geht. Mein Ansatz wäre jetzt, ich nehme bspw. die pwm vom Arduino und nehme die Frequenz als Stellgröße vom PID-controller. Merci
Hallo, habe gerade nochmal recherchiert und beim Arduino pwm Beispiel wird damit eine LED gedimmt. Da mein Triactreiber "ähnlich" einer LED funktioniert, müsste das doch klappen. Ich versuch das jetzt mal...
Hans schrieb: > habe gerade nochmal recherchiert und beim Arduino pwm Beispiel wird > damit eine LED gedimmt. > > Da mein Triactreiber "ähnlich" einer LED funktioniert, müsste das doch > klappen. Nein. Denn ein Triac, der einmal eingeschaltet ist, bleibt solange eingeschaltet, bis der Laststrom Null erreicht (was bei Wechselstrom 100x pro Sekunde passiert). Die LED geht hingegen sofort aus.
Stefanus F. schrieb: > Nein. Ist so nicht richtig. Denn man kann ja die PWM viel langsamer machen (also z.b. mit 20ms Periode) und dann klappt das auch wieder mit der PWM. Viele Leute nennen das dann Wellenpaketsteuerung, ist aber das gleiche. Ich takte in so einem Fall den PWM Timer mit 50 oder 100Hz aus dem Netz und habe damit 5s oder 2,5s Periodendauer einer PWM mit 8-bit Timer. Für meine Herdplatten oder eine andere träge Heizung ist das genau richtig.
:
Bearbeitet durch User
Die normale PWM Frequenz von Arduino liegt allerdings bei 500Hz
Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.