Universelle Thermosteuerung am Beispiel Lötgerät

OP (Firma: privat) #4359122
Lesenswert?
• ▲
▼
Hier mal mein letztes Projekt, eine unversell einzusetzende 
Thermosteuerung. Das Projekt basiert auf dem Lamitatorregelung von 
Thomas Pfeifer, welche er ebenfalls auch für den Reflowofen verwendet 
hat. Ich habe die Steuerung ein wenig modifiziert, was einen deutlich 
universelleren Einsatz erlaubt. Man kann jetzt eine Temperatur auch 
während des Betriebes einstelle und sieht auch ohne Verbindung zum PC 
welche Temperatur gerade anliegt. Für die etwas ungeübteren Bastler habe 
ich die Schaltpläne, Platinen, den Quellcode sowie das Hexfile mit 
eingestellt. Wer das Hexfile direkt verwendet sollte sich darüber im 
klaren sein, das die Temperatur nicht ganz korrekt sein wird. Dies 
liegt, wie bei Thomas Pfeifer schon beschrieben, am Sensor (1N4148) 
welcher zu kalibrieren ist, dazu müssen im Quellcode die ADC Werte bei 
Zimmertemperatur und einer zweiten möglichst hoch liegenden Temperatur 
im Quellcode an zwei Stellen eingetragen werden.

Code:

int convert2degree(int value)
{
  static const float c1=21;
  static const float v1=270;  //ADC-Wert=270 @ 21°C

  static const float c2=261;
  static const float v2=119;  //ADC-Wert=119 @ 261°C


  float m=((c1-c2)/(v1-v2));
  return((int)((m*(float)value)+(-m*v1)+c1));
}

int convert2value(int temperatur)
{
  static const float c1=21;
  static const float v1=270;  //ADC-Wert=270 @ 21°C

  static const float c2=261;
  static const float v2=119;  //ADC-Wert=119 @ 261°C


  float t=((v1-v2)/(c1-c2));
  return((int)((-t*c1)-(-t*(float)temperatur)+v1));
}

Die hier vorgestellte Steuerung wird hier am Beispiel eines 
"Kleinlötgerätes" für kleinere SMD-Platinen verwendet. Andere 
Anwendungen sind ohne Probleme zu realisieren. Limitierend wirken nur 
die Triacs welche einen Kühlkörper haben sollten. Viel Spaß beim 
Nachbau.
Janoschik
Angehängte Dateien:
Gast #4359175
Lesenswert?
• ▲
▼
Uwe J. schrieb:
> dazu müssen im Quellcode die ADC Werte bei
> Zimmertemperatur und einer zweiten möglichst hoch liegenden Temperatur
> im Quellcode an zwei Stellen eingetragen werden

Warum stehen die nicht im EEPROM, so dass man sie ohne Programmänderung 
eintragen kann?
(Firma: matzetronics) #4359435
Lesenswert?
• ▲
▼
Uwe J. schrieb:
> Musst dann immer noch flashen wo ist da der Vorteil?

Eigentlich hast du LCD und Buttons, ein Punkt zum Speichern im EEPROM 
ist da doch ein Klacks. Nettes Projekt ansonsten, das man evtl. noch in 
Projekte & Code verschieben könnte.

Oh, noch eines: die Kunststoffhülsen der Lüsterklemmen am Heizer könnte 
man noch entfernen, die fangen sonst evtl. an, zu schmelzen.

Antwort schreiben

Hinweis: der ursprüngliche Beitrag ist mehr als 6 Monate alt. Bitte hier nur auf die ursprüngliche Frage antworten, für neue Fragen einen neuen Beitrag erstellen.

Formatierung
  • [c]C-Code[/c]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] – Link zu einem Artikel
  • Verweis auf einen anderen Beitrag: Rechtsklick auf dessen Beitrags-ID (#8078628), „Adresse kopieren“, in den Text einfügen

Mehr zur Formatierung

Längeren Sourcecode als Anhang, nicht in den Text. JPG nur für Fotos und Scans; Zeichnungen und Screenshots als PNG oder GIF. Siehe Bildformate.

Schon registriert? Anmelden

Wird nicht angezeigt. Wir schicken dir einen Link; sobald du damit bestätigst, erscheint dein Beitrag.

Mit dem Abschicken legst du einen kostenlosen Account an und erkennst die Nutzungsbedingungen und die Datenschutzerklärung an.