Table of Contents

Programmable Soldering Station

Autor: Radu-Leonard Rica

Introducere

Proiectul are ca obiectiv implementarea unei statii programabile de lipit.
Statia va afisa temperatura letconului in timp real pe un LCD,
va avea un meniul navigabil din encoder rotativ si 3 butoane programabile din meniu.

Descriere generală

Am conectat LCD-ul prin conexiune paralela.
Am conectat 2 butoane si encoderul rotativ, cu care setam temperatura.
LCD-ul afiseaza implicit o pagina cu informatii(temperatura currenta, temperatura setata, procentul de putere).
La apasarea lunga a encoderului rotativ se deschide un meniu de setari in care putem modifica daca vrem ca buzzerul sa fie activ sau nu.
Pentru a termostata temperatura letconului am folosit algoritmul PID.
Am comandat lectonul cu ajutorul unu MOSFET IRLB8743PbF.
Citirea temperaturii am facut-o din senzorul(termocupla K) din letcon cu ajutorul unui modul MAX6675 prin SPI.
Cand ajunge la temperatura setata, statia ne anunta printr-un mesaj sonor generat de buzzer.

Hardware Design

Schema Electrica

Din schema lipseste sursa de 24V 5A, coboratorul de tensiune, heaterul(un rezistor), si circuitul de comanda cu mosfetul IRLB8743.

Software Design

Citirea de la modului MAX6675K necesita un delay de 200ms. Am realizat acest lucru non-blocant cu ajutorul functiei millis().
Toate butoanele au debounce, iar butonul principal, cel al encoderului rotativ suporta si long-press, pentru a schimba intre meniuri.
Pentru termostatare am folosit algoritmul PID. Am adaugat erorile la integrala cu 5 grade inainte de temperatura setata, pentru a nu aparea overshoot puternic la incalzirea de la temperatura mica la temperatura mare(de exemplu de la 50 la 350). Perioada intre sample-uri este de 0.15s.
Factorii de proportionala-derivata stabilizeaza temperatura fara overshoot la aproximativ SET_TEMP-5.
Termenul integralei stabilizeaza temperatura la SET_TEMP+-1.
Encoderul rotativ este atasat unei intreruperi. Astfel, am obtinut o interfata foarte fluida, care raspunde foarte bine la comenzi.
Temperaturile butoanelor se pot seta din meniul de setari si se salveaza in EEPROM.
Compilarea am facut-o cu flag-ul -O2.

Rezultate obtinute

 Montaj in carcasa

 Rezultatul final

Concluzii

In urma acestui proiect mi-am consolidat cunostiintele de programare, am invatat mai multe despre algoritmul PID, despre realizarea unei interfete eficiente, non-blocante, foarte placute estetic si cel mai important am realizat un aparat foarte robust, compatibil cu orice letcon de pe piata care are termocupla de tip K, foarte bun pentru a realiza in continuare alte proiecte de acest tip. Majoritatea testelor le-am realizat cu o sursa liniara cu transformatoare.

Github

Download

Cod sursa

Jurnal

Bibliografie/Resurse

Download PDF