Sari la conținut
ELFORUM - Forumul electronistilor

eSol - statie de lipit digitala


Postări Recomandate

Bine ca a inceput sa-ti mearga, eu oricum o sa revin cu masuratorile mele in weekend. Statia asta eSol am facut-o in 2 exemplare, iar masuratoarea de temperatura am realizat-o doar pe cea a prietenului meu (in pozele de pe site apare cu cele doua butoane pe panoul frontal) , din cate imi amintesc eroarea de temperatura era in jur de 2-3 grade la 200-300grade, dar crestea la 6-8 grade la temperaturi mici (50-100 grade).

BTW cu R2 de 150 ohmi practic curentul este de 12mA. Pt 18mA trebuia 100ohmi, dar cu valoarea asta cred ca offsetul trebuia sa fie mai mare. Eu ieri schimbasem rezistenta de 150 ohmi cu un semireglabil de 500 ohmi si inca nu puteam citi corect temperatura.

Exact in capcana asta am cazut si eu la inceput :), dar pentru 18mA rezistenta trebuie sa fie totusi 150ohm. Asta deoarcece LM1117, variantele de tensiune fixa mai au intern o rezistenta inseriata cu GND, rezistenta care apare in diagrama bloc a circuitului (in datasheet pag. 3) dar a carei valoare nu este detaliata niciunde in datasheet. Pentru LM1117 de 1.8V eu am dedus-o prin masuratori si am ajuns la valoarea de 330ohm. Astfel aceasta rezistenta in paralel cu cea de 150ohm externa dau o valoare rezultanta de 103ohm, exact cat ai mentionat si tu mai sus. De aceea te-am intrebat prima oara ce varianta de LM1117 ai folosit, pentru ca varianta adjustable nu ar mai necesita o astfel de corectie asupra valorii rezistentei externe la un curent dorit.Ceea ce m-ar ajuta sa stiu la statia ta, sunt valorile tensiunii de la intrarea + a ADC-ului (pin 36) pentru cateva puncte de referinta, sa zicem 100grade, 250grade si 400grade, masurate in conditiile unui curent de 18mA (17.4mA) prin PTC (adica cu R2=150ohm). Aceste masuratori bineinteles ca trebuie facute cu temperatura citita direct pe multimetru extern, ca sa avem referinta precisa dupa care calibram statia. Eu o sa ridic aceste valori si de pe statia mea, in mod normal ar trebui sa fie sensibil apropiate, si dupa aceea o sa corectez suplimentar in software formula matematica de conversie in temperatura daca consideram necesar.In alta ordine de idei, sunt curios de alte detalii constructive ale statiei tale... ai comandat carcasa aia Hammond indicata pe site? Cum ti s-a parut operatia de realizare/populare PCB, chestii care s-ar putea imbunatatii? Ai testat modul de STANDBY? E OK cum "sforaie" display-ul in STANDBY?
Link spre comentariu

woops,Mna, la asta nu m-am uitat, ai dreptate, cu 100ohm avea 30mA, de acolo si citirea eronata.Trebuie sa stabilizatorul, chiar si fara rezistenta am 17mA prin letcon, dar nu e stabila variaza, eu am folosit LD1117A(L18ATJ).Da si cutia am cumparat-o si mufa si encoderu, o sa pun poze mai tarziu, dupa ce decupez front panelu pt afisaj si encoder/mufe.Inca nu am testat modul de stand-by, adica nu am lasat-o sa mearga mai mult de 4-5 minute, dar era sa ard letconu(se inrosise). Transformatorul actual e cam micut 2*18V la 1.5A. Dupa cum am testat-o fara R2 si cu un curent de 17mA, aproape ca citeste lafel cu wsd81:), asta era problema, nici nu m-am gandit ca, curentul ar fi mai mare, desi daca faceam un calcul ........

Link spre comentariu
  • 1 lună mai târziu...

Am gasit in sfarsit un pic de timp pentru statia eSol si am facut un update pentru software/hardware;pentru a preveni problemele de genul celor intampinate de CATA2003 am decis sa modific in schema cateva componente:

- IC4=LM1117IMP-ADJ/NOPB, dupa cum vedeti este varianta "adjustable", elimina orice probleme legate de calcul al curentului prin senzorul PTC

- R2=47R: impreuna cu IC4 asigura prin PTC un curent constant de 1.25V/47R = 26.6mA

- R3=1K12, scopul a fost ca pe intrarea negativa a ADC-ului sa obtinem aprox 1.125V. Valoarea asta atipica de 1.12K eu am obtinut-o punand in paralel un rezistor de 1.2K si unul de 18K.

Dupa cum vedeti nu este necesara nici o modificare de PCB, doar cateva valori de componente... :)

Aplicand modificarile de mai sus se obtine o crestere de range a tensiunilor de la PTC, implicit o rezolutie mai buna a schemei de conversie temperatura/tensiune. Tot in acest release de software am folosit un multimetru sa calibrez in cateva puncte output-ul de pe display in functie de temperatura citita cu sonda K a multimetrului. Rezultatul obtinut este foarte bun (liniar), eu am constatat o precizie de +/- 2..3 grade celsius pe intregul range de temperatura al statiei (50...450).

Am postat pe pagina proiectului toate update-urile de software si schema, in sectiunea de changelog.

Nu am uitat de asementea de modificarile legate de punctul zecimal, doar atat ca am nevoie de mai mult timp pentru a face schimbarea cat mai placuta/utila pentru user... probabil va mai fi un release in perioada sarbatorilor de iarna.

 

Daniel

Link spre comentariu
  • 2 săptămâni mai târziu...

buna ziua,in cautarea confectionarii unei statii de lipit am gasit proiectul dvs care mie se pare foarte bun,doar ca nu am mai lucrat pana acum cu microcontrollere,am observat ca ati facut mai multe versiuni,una cu 2 butoane + potentiometru si una numai cu un potentiometru,la ultima versiune de soft care dintre cele 2 versiuni trebuie facut si cum ati programat microcontrollerul atmega16,se poate programa inainte sau dupa instalare pe pcb?

Link spre comentariu

buna ziua,in cautarea confectionarii unei statii de lipit am gasit proiectul dvs care mie se pare foarte bun,doar ca nu am mai lucrat pana acum cu microcontrollere,am observat ca ati facut mai multe versiuni,una cu 2 butoane + potentiometru si una numai cu un potentiometru,la ultima versiune de soft care dintre cele 2 versiuni trebuie facut si cum ati programat microcontrollerul atmega16,se poate programa inainte sau dupa instalare pe pcb?

@Adrian_e30,

panoul frontal are PCB-ul cu locuri pentru 2 butoane, am realizat statia in mai multe exemplare, la unele am montat acele butoane la altele nu. Softul este deja adaptat sa functioneze corect cu ambele variante, depinde doar de tine sa alegi varianta preferata. Functiile celor doua butoane sunt salvare_temperatura_curenta si jump_la_preset_temperatura. "Potentiometrul" de care ai pomenit este de fapt un encoder rotativ :), dar are aceeasi functie, de setare temperatura din grad in grad. Daca observi in schema si PCB exista un conector ISP (SV2), prin acest connector se face programarea microcontroller-ului deja montat pe PCB. Microcontroller-ul este de fapt un ATMega164P, am repetat acest lucru pentru ca ai mentionat "atmega16".

Daniel

Link spre comentariu

Multumesc pt raspuns,mai am 2 intrebari si dupa ma apuc de treaba,cu ce soft ati scris microcontrollerul si ce cod sau ce valoare are encoderul rotativ?

Eu folosesc un programator compatibil STK500v2, care merge atat din AvrStudio cat si din Avrdude (in cazul meu asta am folosit). Encoderul este mentionat in schema si pe pagina device-ului: ED16112O.
Link spre comentariu
  • 1 lună mai târziu...
:jytuiyu Am corectat ... sorry for mistake.Poti sa faci un test pe statie, cu versiunea asta (atentie la noile valori de componente)?Daniel
Salut, Azi am incarcat versiunea 3 de soft ...si ups nu imi prea merg cateva segmente, am schimbat si uc-ul deoarece pe celalalt am reusit sa-l prajesc punandu-i 24v din greseala pe intrarea adc-ului..... poti incarca aici versiunea 2 de soft sa vad daca e greseala de hard.
Link spre comentariu

Salut @CATA2003,cand lipsesc cateva segmente de la display, verifica intotdeauna fuse bit-ul de JTAGEN... eu unul m-am tepuit in trecut cu JTAG-ul asta :).Varianta 3 de software nu ar trebui sa aiba vre-o problema cu salvarea ultimei valori in EEPROM, dar atentie la varianta constructiva: daca ai plantat cele doua butoane pe panoul frontal, atunci comportamentul este cel descris de tine. Unul din butoane comuta in inel niste preset-uri de temperatura, iar celalalt face save la valoarea curenta in EEPROM si aceasta va fi folosita la urmatoarea pornire. Soft-ul invata automat daca ai keyboard salvand in EEPROM oricare din actiunile button_pressed, deci dupa o reflash-uire daca nu apesi niciodata vre-un buton atunci valoarea setata din encoder se salveaza automat dupa 2 sec si se foloseste la urmatoarea pornire.Eu am construit pentru mine varianta fara butoane, dar cativa prieteni au facut varianta cu butoane, iar comportamentul soft-ului pentru acea varianta l-au ales ei. Daca crezi ca s-ar putea imbunatatii sa-mi spui si se rezolva.Ce ma intereseaza foarte mult de la testul tau este acuratetea temperaturii: la versiunea 3 am imbunatatit atat rezolutia citirii de la ADC cat si curba (linia :) ) de temperatura de la senzorul PTC. Ai o termocupla la un multimetru?Daniel

Link spre comentariu

Salut, Maine o sa masor temperatura, am folosit un lm117 banal iar curentul l-am stabilit cu un semireglabil de 500 ohm la 26-27mA. Tot un semireglabil am folosit si pentru tensiunea de 1.125V (in locul rezistentei de 330ohm). Nu am folosit butoane ci doar encoder. La prima vedere am o eroare de ofset la temperatura de vreo 30C(dupa statia weller) dar maine o sa vad, offsetul cred ca il pot modifica usor prin schimbare valori tensiunii 1.125V, nu ?

Link spre comentariu

Am masurat temperatura pe varful letconului si e cu 10-20 C mai mica de cat cea afisata (varful este unul lung si subtire, pt smd-uri).Temperatura masurata la baza elementului de incalzire e cu 20C mai mare decat cea afisata, cred ca eroare o am de la sursa de curent constant....nu cred ca e foarte stabila, dar e ok pentru aplicatia mea.Nu am plantat nici un buton pt setarea temperaturii, doar encoderul. E interesant ca nu-mi salveaza nici o temperatura.....pur si simplu la fiecare restart pleca de la 150.

Link spre comentariu

Am masurat temperatura pe varful letconului si e cu 10-20 C mai mica de cat cea afisata (varful este unul lung si subtire, pt smd-uri).Temperatura masurata la baza elementului de incalzire e cu 20C mai mare decat cea afisata, cred ca eroare o am de la sursa de curent constant....nu cred ca e foarte stabila, dar e ok pentru aplicatia mea.

Asta inseamna ca varful tau introduce un mic offset de temperatura, eu am folosit pentru calibrare un varf scurt si destul de bulky (a venit cu letconul) si propun ca aceasta sa fie referinta in calibrare (e normal ca elementul de incalzire sa aiba o temperatura un pic mai mare, dar pe utilizator il intereseaza temperatura la varful care topeste) ... ce poti sa-mi spui despre liniariatea temperaturii? Offset-ul de 20C este cat de cat constant pe range-ul 50C-450C?

Nu am plantat nici un buton pt setarea temperaturii, doar encoderul. E interesant ca nu-mi salveaza nici o temperatura.....pur si simplu la fiecare restart pleca de la 150.

Ceva nu e in regula cu chestia asta si banuiesc ca este de la flash-uirea propriuzisa: eu folosesc avrdude direct din Eclipse, astfel ca am putut configura flash-uirea sa stearga EEPROM-ul la fiecare programare. Daca tu folosesti alt software (AvrStudio de exemplu) ar trebui sa stergi cumva EEPROM-ul... poti sa incerci asta si sa-mi zici rezultatul? In cel mai rau caz putem invalida direct in software, bucata de detectie keyboard si atunci nu are cum sa nu mearga...Anyway, am adaugat in software indicatorul ala de heater, pe ultimul punct zecimal asa cum recomandase Eftimie, rezultatul e OK, dar mai trebuie formatat codul inainte de publicare. Voi posta in curand probabil un filmulet cu indicatorul asta de heater impreuna cu codul sursa cu noul feature...Daniel
Link spre comentariu

Creează un cont sau autentifică-te pentru a adăuga comentariu

Trebuie să fi un membru pentru a putea lăsa un comentariu.

Creează un cont

Înregistrează-te pentru un nou cont în comunitatea nostră. Este simplu!

Înregistrează un nou cont

Autentificare

Ai deja un cont? Autentifică-te aici.

Autentifică-te acum
×
×
  • Creează nouă...

Informații Importante

Am plasat cookie-uri pe dispozitivul tău pentru a îmbunătății navigarea pe acest site. Poți modifica setările cookie, altfel considerăm că ești de acord să continui.Termeni de Utilizare si Ghidări