Hallo,ich habe hier von einem Mitglied ein schönes Projekt zu einer Lötkolbenreglung für Lötkolben mit PTC Verhalten bekommen.Habe die Schaltung aufgebaut,funktioniert soweit auch alles.Nur die angezeigten Werte stimmen nicht,da ich ja einen anderen Lötkolben verwende.Ich komme mit dem Programm nicht weiter,sehr komplex und ganz so gut programieren kann ich noch nicht.Also mein Lötkolben hat bei ca 18-20 grad rund 7 ohm bei ca 400 19-20 ohm,auf dem display wird bei ist Tist,bzw cur temperatur im Kalten zustand der wert 152 angezeigt (18-20 grad)bis zum ereichen einer temperatur von 100-200-300-400 grad sind es ganz kleine Sprünge so circa 180-200(angezeigter wert) dann wäre schon die Temperatur erreicht,jetzt weiss ich nicht wo ich im Programm ansetzen muss.Die Werte der Wiederstände der Konstantstromquelle sind zweimal 150 ohm und am eingang des adc 22 kohm.Schaltung wurde 1 zu 1 übernommen.Es wäre super wenn mir jemand helfen könnte damit ich hier weiter komme. danke erstmal
Tausche deine 'Wiederstände' einmal gegen 'Widerstände' aus, dann könnte es funktionieren.
Ich habe die Station von Travelrec auch aufgebaut, funktioniert recht gut (noch mal vielen Dank!!). Ich glaube mich zu erinnern, das er keine Temperaturmessmittel hatte, um das richtig zu kalibrieren, deshalb entspricht der angezeigte Wert nicht der Temperatur in Grad Celsius. Ich kann auch so gut damit leben - falls du aber solche Möglichkeiten hast, passt da bestimmt noch eine Umrechnungstabelle mit in den Code. Du kannst Travelrec ja mal eine PM schreiben, eventuell findet er ja die Zeit, solch eine Dummy-Tabelle einzubauen (die du dann nur noch mit Werten füllen musst). Ich hätte dann auch Interesse (habe aber den "Original"-Lötkolben dran). Viele Grüße, egberto
Hatte ihn auch schon angeschrieben,er meinte ich sollte mich hierher wenden,er wartet das ganze nicht mehr weil er keine zeit hat,ich konnte mir das auch schon denken das keine Werte zu Umrechnung da sind,aber wenn ich schon was mit avr und lcd aubaue möchte das schon stimmen,mir nützt keine Regelung was,wenn sie im kalten zustand ne zahl 100 anzeigt und bei 300 120 zbsp,da müste ich ja in einer Schritten regeln,da könnte ich ja bei meiner analogen selbsgebauten bleiben ohne Anzeige,ich fand dieses Projekt sehr schön und hatte noch einen 80 Watt Kolben einer st-80 übrig und weil diese keinen fühler hat,baute ich mir mal die Reglung auf.
Das Problem ist halt immer, dass man irgendwann ein Projekt voller Idealismus beginnt und irgendwann Arbeit und Familie ihren Tribut fordern. Geht jedenfalls mir so. Ist auch kein böser Wille ;-). Das Umrechnen der Werte in sinnvolle Zahlen sollte mit einer Tabelle oder Berechnung nicht soo problematisch sein, zumal der PTC in dem interessanten Bereich fast linear ist. Die Auflösung des ADCs sollte sich mit Überabtastung auch noch erhöhen lassen, so dass man tatsächlich eine 1°C-Auflösung (wenn auch nicht exakte Genauigkeit) hinbekommt. Viellicht komme ich ja nochmal dazu, aber ich kann´s nicht versprechen.
Ich ersuche um Hilfe, ob ich das richtig sehe: Das Messprinzip lautet: in den PWM Pausen wird eine Spannung gemessen, die sich durch den Spannungsteiler ( R1||R2 ) + Lötkolben einstellt. D.h. in der Theorie müsste es reichen, R1 und R2 soweit anzupassen, dass sich zusammen mit den Kolbenwerten wieder ein vernünftiger Spannungshub ergibt. Stimmt das soweit? (Genau solche Programme sind für mich ein Grund in C zu schreiben. Die Umrechnung ADC-Wert in eine Temperatur ist dort ein Klacks, sofern die Umrechnungskonstanten bekannt sind.)
Karl Heinz Buchegger schrieb: > Das Messprinzip lautet: > in den PWM Pausen wird eine Spannung gemessen, die sich durch den > Spannungsteiler ( R1||R2 ) + Lötkolben einstellt. Der Regler stellt einen konstanten Strom ein, der durch R1/R2 vorgegeben wird. Hier sollte man nicht übertreiben, da man sonst den Regler kocht. Oder es wird halt ein Kühlkörper fällig :-). 100...200mA sollten ausreichen. Ansonsten wird der Kolben selbst bei 0% PWM nicht mehr richtig kalt. Karl Heinz Buchegger schrieb: > Genau solche Programme sind für mich ein Grund in C zu schreiben. Nanana... Das Programm ist hingeschustert, zugegeben. Aber es funktioniert. Und eine Umrechnung ist in ASM nicht schwieriger als in C. Man muss allerdings ein bisschen experimentieren. Selbst bei den Originalkolben gibt es Schwankungen im Absolutwert des PTC Widerstandes, wodurch eine Eichung auf den Kolben notwendig wäre. BTW: Der Widerstand des Originalkolbens beträgt etwa 10 Ohm bei 20°, Heißwiderstand habe ich jetzt nicht gemessen, könnte so gegen 2 Ohm bei 300° gehen.
Knut Ballhause schrieb: > Karl Heinz Buchegger schrieb: >> Das Messprinzip lautet: >> in den PWM Pausen wird eine Spannung gemessen, die sich durch den >> Spannungsteiler ( R1||R2 ) + Lötkolben einstellt. > > Der Regler stellt einen konstanten Strom ein, der durch R1/R2 vorgegeben > wird. Hier sollte man nicht übertreiben, da man sonst den Regler kocht. > Oder es wird halt ein Kühlkörper fällig :-). 100...200mA sollten > ausreichen. Ansonsten wird der Kolben selbst bei 0% PWM nicht mehr > richtig kalt. Das heißt: bei kleinerem Kolbenwiderstand müsste man den Strom erhöhen um wieder den Spannungshub zu kriegen. Ansonsten denke ich, hab ich im Code die Zutaten soweit beisammen. Timer 1 mit einer Fast-PWM, Top Wert über ICR1. Top = 0x07FF PWM wird hardwaremassig erzeugt, wobei vom Programm der Tastgrad in OCR1A auf 0x0465 limitiert wird zusätzlich gibt es noch einen Compare B Interrupt, wobei der OCR1B Wert immer um 250 größer als der PWM Wert ist. Vom Compare B Interrupt wird der ADC angestossen. Der somit immer in den PWM Pausen misst (daher auch die Limitierung von OCR1A auf einen kleineren Wert als ICR1) Die Regelung ist eine einfache 2-Punkt Regelung: Ist kleiner Soll -> PWM um 1 erhöhen (bis zum Maximum) Ist größer Soll -> PWM um 1 verringern (bis auf 0) Die Zykluszeit des Timers hab ich noch nicht, das ist aber reine Formsache. LCD und Drehgeber sind ohnehin klar.
Also 2 ohm bei 300 Grad geht nicht sondern müste bei ptc viel grösser werden.Bei mir hat der Kolben im kalten Zustand 8 ohm und im Heissen ca 400 Grad 20-21 Ohm.
Also mit den werten von R1 und R2 spiele ich auch gerade rum,der Angezeigte Wert wird nur höher.Aber das Problem,ein bsp Angezeigter Wert 120 bei 121 angezeigten Wert,hätte ich schon einen Temperatursprung von 25 Grad ich bin hier noch am messen.
@TravelRec Wenn du einverstanden bist, versuch ich heut abend mal, da codemässig was auf die Reihe zu kriegen (allerdings in C). (Ich liebe es, Code für eine Hardware zu schreiben, die nicht vor mir liegt :-) Um die Sache mit der Konstantstromquelle müsste sich Rene allerdings selbst kümmern.
Karl Heinz Buchegger schrieb: > Wenn du einverstanden bist, versuch ich heut abend mal, da codemässig > was auf die Reihe zu kriegen (allerdings in C). Keine Frage, wenn Du magst. Karl Heinz Buchegger schrieb: > Um die Sache mit der Konstantstromquelle müsste sich Rene allerdings > selbst kümmern. Ja klar. Bei einem Spannungshub von 1V bei 100mA zwischen heiß und kalt sollte aber einiges gehen. Wie gesagt, könnte man den ADC noch etwas "pimpen".
Hier nochmal der link zu den Eagle-Files, der sollte nicht fehlen: Beitrag "Re: Ratgeber Lötstation"
Karl Heinz Buchegger schrieb: > Wenn du einverstanden bist, versuch ich heut abend mal, da codemässig > was auf die Reihe zu kriegen (allerdings in C). Das wäre Klasse!
Habs ganz vergessen,hält der IRF7416 einen 80Watt Kolben aus,mein irf5305 schaltet bei 8MHz leider nicht richtig und verursacht störungen,deswegen hab ich das ganze nur auf 1mhz laufen
Rene Krause schrieb: > hält der IRF7416 einen 80Watt Kolben aus Wird knapp. Bei -10V VGS ist er auf 10A spezifiziert. Du solltest auf jeden Fall die Temperatur von dem Ding kontollieren und auf gute Wärmeleitfähigkeit der umliegenden Platine achten (Pins an großzügige Kupferfläche anbinden).
Rene Krause schrieb: > ,mein > irf5305 schaltet bei 8MHz leider nicht richtig Die Schaltfrequenz der PWM liegt nur bei rund 30 Hz laut Programmcode, daran sollte es eigentlich nicht liegen... Flashe doch mal sicherheitshalber die HEX aus dem o.g. Beitrag. Beitrag "Re: Ratgeber Lötstation"
Karl Heinz Buchegger schrieb: > Die Regelung ist eine einfache 2-Punkt Regelung: > Ist kleiner Soll -> PWM um 1 erhöhen (bis zum Maximum) > Ist größer Soll -> PWM um 1 verringern (bis auf 0) Das ist keine Zweipunktregelung, sondern ein I-Verhalten! Zweipunktregelung wäre: Ist kleiner Soll -> PWM auf Wert X setzen Ist größer Soll -> PWM auf Wert Y setzen Fuzzyregelung wäre: Differenz größer A -> PWM auf Wert X setzen Differenz größer B -> PWM auf Wert Y setzen Differenz größer C -> PWM auf Wert Z setzen ... etc (Das ganze natürlich in beide "Richtungen")
Habe ich auch schon gemacht der ir5305 will bei den 8mhz des avr nicht,den gate widerstand habe ich auf 1kohm veringert(zur positivern versorgungsspannung den npn kollektor widerstand zum gat 80 ohm damit läuft er mit 1mhz ohne probleme nur nicht mit 8mhz.sobald ich an die platine Strom gebe sinken zwei balken bis auf null vorher werden keine werte des kolben angezeigt,danach wenn auf null kommen zappelnde werte aber es wird nicht mehr geheitzt.
so jetzt habe ich doch nochmal die hex aus dem alten beitrag genommen,siehe da er heitzt auch mit den 8mhz,nützt mir nur nichts da ich ja einen kalten wert von 112 und die anzeige erst bei 240 anfängt,somit habe ich eigendlich bei 150 schon maximaltemperatur erreicht,und wenn ich das ganze nicht in 1schritten mache geht die temperatur nicht zuregeln.
Rene Krause schrieb: > so jetzt habe ich doch nochmal die hex aus dem alten beitrag > genommen,siehe da er heitzt auch mit den 8mhz, Hmm, dann scheint es Inkonsistenzen zwischen den Firmwares zu geben. Was mir zu Deinem FET-Problem noch einfällt ist, dass die Gate-Kapazität Deines FETs mitunter recht hoch ist, so dass der FET zu langsam sperrt. Wenn dann der ADC sampled, ist die Spannung noch nicht über dem Lötkolben abgesunken und der ADC bekommt Mist (sprich: eine zu hohe Spannung) zu lesen. Vielleicht sollte man den ADC dann später starten, so dass es wieder sauber läuft. Ich muss mal gucken, dass ich die aktuelle Firmware finde, die könnte u.U. auf einem anderen (älteren) Rechner zu finden sein...
Moin, weiß eigentlich jemand, ob die Heizelemente an Gleichspannung schneller altern? Irgendwo habe ich mal sowas aufgeschnappt, es hörte sich zumindest sinnvoll an. Außerdem hatten bis jetzt alle Lötstationen die ich mal offen hatte das Heizelemente direkt über einen Optokoppler + Triac an den Trafo geschaltet.
Ich werfe mal die hier in´s Rennen, hier ist die "Measuring offset time" in der Regulate Subroutine verlängert. Probiere mal, getestet habe ich es nicht. Einfach die alte asm-Datei gegen diese hier ersetzen und neu assemblieren und flashen. Bei Problemen wäre ich morgen wieder online.
Leo-andres H. schrieb: > Außerdem hatten bis jetzt alle Lötstationen die ich mal > offen hatte das Heizelemente direkt über einen Optokoppler + Triac an > den Trafo geschaltet. Dann kann man aber nicht den Innenwiderstand des PTC-Heizelementes messen ;-)
Auch mit der anderen asm geht es nicht mit dem schalten des irf5305 mit der hex aus dem alten Beitrag schon,bei 8mhz,leider bräuchte ich dann natürlich noch die anderen Daten.ich befürchte schon das wenn ich den 7416 bekomme und einlöte es auch mit 8mhz nicht läuft es muss ja am code bzw an der hex liegen,denn mit der alten läuft er.
was für einen Wert muss ich denn eintragen wenn der Start bei 100 und nicht bei 300 beginnen soll?bei mir kommt nichts vernünftiges raus unter 257 komme ich nicht.
Ferndiagnose ist immer schwer... Ich habe nochmal die Datenblätter der Transistoren durchgesehen und festgestellt, dass die Gate-Kapazität nicht wirklich voneinander abweicht. Daran sollte es also nicht liegen. Dann muss ich nochmal die alten Daten durchsehen, aber wenn Du ohnehin keine vernünftigen Spannungswerte für den ADC bekommst, ist vielleicht noch etwas anderes faul... Wie gesagt, funktionieren hier 2 Stationen und die von egberto scheint auch zu gehen... Hmm. Hast Du von Deinem Aufbau vielleicht ein paar Fotos?
Rene Krause schrieb: > Karl Heinz Buchegger schrieb: >> Wenn du einverstanden bist, versuch ich heut abend mal, da codemässig >> was auf die Reihe zu kriegen (allerdings in C). > > Das wäre Klasse! Sorry. Bin gestern nicht dazu gekommen. Aber wie ich sehe, gibts sowieso noch Änderungen.
Simon K. schrieb: > Karl Heinz Buchegger schrieb: >> Die Regelung ist eine einfache 2-Punkt Regelung: >> Ist kleiner Soll -> PWM um 1 erhöhen (bis zum Maximum) >> Ist größer Soll -> PWM um 1 verringern (bis auf 0) > > Das ist keine Zweipunktregelung, sondern ein I-Verhalten! Stimmt natürlich. Danke für die Korrektur. (Irgendwann werd ich mir diese Begriffe auch noch merken)
Wie schon gesagt die hex datei aus dem alten beitrag funktioniert auf anhieb,bei der neuen halt nicht,das heist ich kann nur mit 1mhz arbeiten,dann läuft die Reglung aber zulangsam.Also bei einem 8 Ohm Kolben bekomme ich die zahl 112-117 im kalten zustand.Dann ist es aber so das ich bei 130 bis 140 schon Schluss ist wegen der Temperatur,also nützt mir Einstellungen von 240-350 nichts.Das ganze läuft natürlich nur mit 1mhz,mit der alten hex die funktioniert habe ich auch bei 8mhz nur ganz kleine Sprünge bis die Temperatur erreicht ist.Da ihr ja nur einen Kolben mit 20-30 watt benutzt ich aber 80 Watt glaube ich das die reglung viel zuviel Power gibt damit steigen die ohmwerte sehr schnell oder der Kolben ist sehr schnell heiss deswegen regelt das ganze dann nicht vernünftig,schade.Ohne die alten dateien die zu der funktionierenden hex gehören kann ich nicht viel machen.Auch an den beiden Wiederständen des LM reglers habe ich mal werte von zweimal 120 Ohm das scheint mir bei meinem 8 ohm gegenüber den 10 ohm bei ihnen am sinvollsten.Leiterplatte ist genausogut aufgebaut wie bei ihnen ist eigendlich kein fehler Adc bekommt schon mit den von mir genanten Werten richtige Werte
So ich habe gestern Abend mal einpaar Messungen gemacht,in meinem Bsp,bei einem 80 watt kolben mit 8 ohm Kaltwiderstand,Anzeige bei 20 grad 137,bei 149 geht das Heizen los,bei 165 wäre dann schluss,dann hätte ich schon die maximal Temperatur erreicht,dass heist ich kann nur in Einer Schritten regeln und das wäre pro Schritt,20-25 grad,das ganze ist dann natürlich überhaupt nicht sinnvoll,da der Bereich ja eingestellt war von 240-350,in zehner Schritten,die ich erst mal in einer Schritten umgewandelt habe aber unter 256 Starttemperatur komme ich nicht,kann ich eintragen was ich will,somit müste ich immer erst ziemlich weit runterdrehen,bei mir habe ich lowest eingestelt 145,da der AVR viel mehr kann,ist es schade ihn nicht richtig zunutzen, Herr Karl Heinz Buchegger,haben sie schon Codemässig was geschaft? Herr Knut Ballhause,Haben sie nochmal geschaut nach den alten Dateien?da nur die alte Hex mit 8Mhz läuft,ich aber die restlichen Daten für AVR Studio brauche,dort meldet er auch fehler,beim compilieren,die asm datei habe ich mal mit Waveasm versucht zu compilieren,dort meldet er auch fehler,glaube code 14 und wandelt sie nicht um.
Rene Krause schrieb: > ich aber die restlichen Daten für AVR > Studio brauche,dort meldet er auch fehler,beim compilieren,die asm datei > habe ich mal mit Waveasm versucht zu compilieren,dort meldet er auch > fehler,glaube code 14 und wandelt sie nicht um. Siehe Anhang, darin ist das gesamte Projekt für 8Mhz mit der gemoddeten Offset-Zeit. Das Ganze ließ sich mit AVR-Studio 4.19 wunderbar assemblieren. Die alten Daten habe ich noch nicht gefunden, vielleicht hat Egberto die Dateien noch?!
Leider auch kein erfolg,Fehlermeldung bei avrSolderStation_mod\SolderStation.asm(779): warning: .cseg .db misalignment - padding zero byte,wavasm wandelt auch nichts um,da muss ein fehler sein. Geht auch nicht mit 8mhz,heut kommen meine 7416 mossfet,falls die dann auch nicht laufen wird das projekt zur Seite gelegt,so ist für mich keine vernüftige Reglung möglich,vielleicht schreibt jemand das ganze doch noch um.naja meine Platine auf analogbasis ist fast fertig,und macht das selbe.
Hi >Leider auch kein erfolg,Fehlermeldung bei >avrSolderStation_mod\SolderStation.asm(779): warning: .cseg .db >misalignment - padding zero byte,wavasm wandelt auch nichts um,da muss >ein fehler sein. Da steht 'warning:'. Der Assembler vom AVR-Studio hängt in dem Fall noch eine Null an. Wenn deiner das nicht macht, dann ergänze die betreffende Zeile mit einem ',0'. MfG Spess
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.