Differences

This shows you the differences between two versions of the page.

Link to this comparison view

pm:prj2021:alazar:programmablesolderingstation [2021/06/03 19:41]
radu_leonard.rica
pm:prj2021:alazar:programmablesolderingstation [2021/06/10 12:12] (current)
radu_leonard.rica
Line 30: Line 30:
  
 === Schema Electrica === === Schema Electrica ===
-{{:​pm:​prj2021:​alazar:​ss3.jpg?​800|}} +{{:​pm:​prj2021:​alazar:​ss3.jpg?​600|}} 
-Din schema lipseste sursa de 24V 5A, coboratorul de tensiune, heaterul(un rezistor), si circuitul de comanda cu mosfetul ​irlb8743.+Din schema lipseste sursa de 24V 5A, coboratorul de tensiune, heaterul(un rezistor), si circuitul de comanda cu mosfetul ​IRLB8743.
  
 === Software Design === === Software Design ===
-Citirea de la modului MAX6675K necesita un delay de 200ms. Am realizat acest lucru non-blocant cu ajutorul functiei millis(). +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. +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 o banuiala ca perioada ​de esantionare este prea mica si derivata ​nu isi face efectul.  +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.\\ 
-La setarea unei temperaturi,​ algoritmul are putin overshoot, dar dupa o perioada integrala rezolva situatia si se stabilizeaza la +-1 grad celsius+Factorii de proportionala-derivata stabilizeaza temperatura fara overshoot ​la aproximativ SET_TEMP-5.\\ 
-Encoderul rotativ este atasat unei intreruperi. Astfel, am obtinut o interfata foarte fluida, care raspunde foarte bine la comenzi. +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 === === Rezultate obtinute ===
  
-{{:​pm:​prj2021:​alazar:​ss1.jpeg?500| Montaj in carcasa}}+{{:​pm:​prj2021:​alazar:​diablo50002.jpg?600| Montaj in carcasa}}
  
  
-{{:​pm:​prj2021:​alazar:​ss2.jpeg?500| Rezultatul final}}+{{:​pm:​prj2021:​alazar:​diablo50001.jpeg?600| Rezultatul final}}
  
 === Concluzii === === Concluzii ===
Line 52: Line 54:
 despre realizarea unei interfete eficiente, non-blocante,​ foarte placute estetic si cel mai important am realizat un aparat foarte 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. 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. De cand am montat varianta finala, cu sursa in comutatie, valorile constantelor algoritmului PID nu se mai potrivesc. Cu putine modificari, statia de lipit va functiona mai bine decat majoritatea variantelor din comert.+Majoritatea testelor le-am realizat cu o sursa liniara cu transformatoare.
  
 +=== Link Github ===
 +[[https://​github.com/​raduleo19/​Soldering-Station | Github]]
 === Download === === Download ===
 {{:​pm:​prj2021:​alazar:​solderingstation.zip| Cod sursa}} {{:​pm:​prj2021:​alazar:​solderingstation.zip| Cod sursa}}
 +
 === Jurnal === === Jurnal ===
    * 25 Aprilie -> Alegerea temei proiectului    * 25 Aprilie -> Alegerea temei proiectului
Line 64: Line 69:
    * 3 Iunie -> Crearea logicii principale a codului, proiectare interfata    * 3 Iunie -> Crearea logicii principale a codului, proiectare interfata
    * 5-6 Iunie -> Montaj final si programarea completa    * 5-6 Iunie -> Montaj final si programarea completa
 +   * 9 Iunie -> Adaugare setari temperatura butoane, rezolvare bug derivata cu semn inversat, adaugare sampling time 0.15s 
 +   * 10 Iunie -> Calibrare PID precizie +-1, varianta finala
 === Bibliografie/​Resurse === === Bibliografie/​Resurse ===
-[[https://​ocw.cs.pub.ro/​courses/​pm/​prj2021/​alazar/​programmablesolderingstation?​do=export_pdf |Download ​pagina asta]]+[[https://​ocw.cs.pub.ro/​courses/​pm/​prj2021/​alazar/​programmablesolderingstation?​do=export_pdf |Download ​PDF]]
pm/prj2021/alazar/programmablesolderingstation.1622738468.txt.gz · Last modified: 2021/06/03 19:41 by radu_leonard.rica
CC Attribution-Share Alike 3.0 Unported
www.chimeric.de Valid CSS Driven by DokuWiki do yourself a favour and use a real browser - get firefox!! Recent changes RSS feed Valid XHTML 1.0