| Author |
Message
|
motykami Poziom 16

Joined: 20 Jun 2005 Posts: 323 Location: Tarnobrzeg
|
#1
02 Jan 2012 13:11 Stacja lutownicza na Atmega8 z wyświetlaczem 7-segmentowym |
|
|
|
Witam.
Od pewnego czasu chciałem zbudować stację lutowniczą. Po kilkudniowym przeszukiwaniu forum doszedłem do wniosku, że najlepiej będzie zbudować takową stację od podstaw samemu, dlatego że na forum powielane są wciąż 2 konstrukcje: jedna na Atmega8 z wyświetlaczem 2x16 znaków - co jak dla mnie jest sporą przesad. Taki wyświetlacz wg. mnie jest niepotrzebny do wyświetlania jednej temperatury i do tego mało czytelny. Drugi projekt, jaki jest powielany to stacja analogowa bodajże z PE, ten projekt również jakoś mi nie podszedł.
Tak się złożyło, że akurat niedawno zacząłem swoją przygodę z mikroprocesorami (jak na razie w Bascomie - wiem, że to mało ambitne, ale wychodzę z założenia "po co strzelać do muchy z armaty", a jak na moje potrzeby to zupełnie wystarcza).
Kolba:
Pierwszy dylemat, przed jakim stanąłem to wybór kolby (rączki). Zdecydowałem się na kolbę firmy Solomon (Pensol), stosowaną w stacjach Solomon Sl-20 Sl-30. Grzałka 50W 24V i termopara typu K. Uważam, że ta kolba jest naprawdę dobrej jakości (jakość wykonania na moje oko nie pozostawia nic do życzenia) i co więcej - jest naprawdę tania (około 30zł).
Transformator zasilający:
Projekt był dość niskobudżetowy, więc nie chciałem kupować nowego transformatora 24V 50VA, a miałem używany transformator 12V 50VA, który jak się okazało - dało się bez problemu rozłożyć i przewinąć (składał się z rdzenia EI (blaszki E oraz I). Odwinąłem zupełnie stare uzwojenie wtórne, i nawinąłem nowe trochę cieńszym drutem (emaliowany drut nawojowy, również używany), dowinąłem również drugie uzwojenie 6V cienkim drucikiem emaliowanym do zasilania samej elektroniki. Transformator po złożeniu nie buczy i nie grzeje się, wszystko jest w porządku.
Sterownik:
Tak jak pisałem wyżej, sterownik wykonałem w zupełności od zera. Jest to nic innego, jak Atmega8, która mierzy napięcie z termopary (oczywiście wcześniej wzmocnione na wzmacniaczu operacyjnym). W procesorze używam dwóch kanałów przetworników ADC - jednego do pomiaru napięcia z termopary, drugiego do pomiaru napięcia z potencjometru do ustawiania temperatury (zdecydowałem się na potencjometr, ponieważ uważam, że jest to wygodniejsze i praktyczniejsze w użytkowaniu niż przyciski). Grzałka włączana jest za pomocą triaka BT139, spiętego za pomocą optotriaka MOC 3041 z układem optotriak. Posiada detekcję przejścia przez zero, więc pozbyłem się zakłóceń wynikających z włączania grzałki, a do tego zapewnia separację galwaniczną pomiędzy elektroniką a napięciem zasilającym grzałkę.
Oprogramowanie napisane w Bascomie, wszystko raczej standardowo - nie wymyśliłem tutaj nic nowego :) Domyślam się, że program nie jest napisany najbardziej optymalnie, ale wszystko działa tak jak powinno.
W urządzeniu dodana została funkcja uśpienia. Po wciśnięciu przycisku Uśpienia, stacja przechodzi w tryb uśpienia i utrzymuje temperaturę lutownicy na poziomie 100 stopni Celsjusza.
Obudowa:
Posiadam kilka takich czarnych obudów z kupionych za gorsze starych reflektorów. Są one wykonane z aluminium malowanego na czarno.
Przód obudowy wykonany z cienkiej plexi, pod którą jest umieszczony wydrukowany i zalaminowany panel (zaprojektowany w Corelu). Niestety mam starą i kiepską drukarkę laserową i panel wyszedł szary, a nie czarny. Będę chciał go wydrukować na lepszej drukarce i podmienić. Tył obudowy to oryginalne zakończenie tej obudowy, wycięty jedynie otwór na gniazdo do kolby.
Płytkę projektowałem w Eagle`u i wykonywałem metodą termotransferu, nie było z nią większego problemu.
Uruchamianie stacji nie przysparzało większych problemów, program poprawiałem kilkukrotnie i sprawdzałem, w końcu otrzymałem zamierzony efekt.
Stacja była kalibrowana za pomocą termopary i miernika Unit Ut-33C, bardzo dobrze trzyma temperaturę.
Ustawianie temperatury z dokładnością co 10 stopni od 100 do 450 stopni. Stacja trzyma temperaturę z dokładnością do 3-4 stopni.
Zamieszczam schemat, nie dorzucam płytek i kodu źródłowego, ponieważ są one jeszcze niedopracowane. Jeśli będzie spore zainteresowanie stacją, to na pewno uporządkuję i poprawię ewentualne błędy w programie i na płytce oraz udostępnię je na forum.
Liczę na komentarze zarówno te pozytywne, jak i negatywne, proszę o wyrażanie swoich opinii oraz udzielanie porad, co jeszcze można zmienić, dołożyć, itd.
Pozdrawiam,
motykami.
| Description: |
|
 Download |
| Filename: |
StacjaLutownicza.pdf |
| Contents: |
|
| Filesize: |
15.61 KB |
| Punkty: |
0 |
|
|
| Back to top |
|
 |
Urgon Poziom 22

Joined: 27 Aug 2008 Posts: 2435 Location: Lublin
|
#2
02 Jan 2012 15:25 Re: Stacja lutownicza na Atmega8 z wyświetlaczem 7 segmentowym |
|
|
|
AVE...
Wygląd świetny. Panel mimo drukarkowych problemów bardzo fajnie Ci wyszedł - ja bym nic nie zmieniał, albowiem szarość pasuje...
1. Jak dokładny jest pomiar temperatury?
2. Co z kompensacją zimnych końców?
Jedyne, co mogę zasugerować, to użycie do pomiaru temperatury MAX6675 lub czegoś podobnego. Próbki możesz mieć z firmy Maxim bez większych problemów...
|
|
| Back to top |
|
 |
Google

|
#
02 Jan 2012 15:25 |
|
|
|
|
|
| Back to top |
|
 |
kubx Poziom 9

Joined: 19 Jun 2007 Posts: 32
|
#3
02 Jan 2012 15:31 Re: Stacja lutownicza na Atmega8 z wyświetlaczem 7 segmentowym |
|
|
|
Cóż, projekt super, nie powieliłeś konstrukcji, a wykonałeś ją od początku, a to się ceni. Bardzo ciekawa obudowa, wygląda estetycznie. Wykorzystanie wyświetlacza LED faktycznie jest lepszym rozwiązaniem, bo LCD to lekka przesada. Jedyne do czego się przyczepię to brak miejsca na gąbkę do czyszczenia (chyba, że ta jest w innym miejscu).
Sam planuję wykonać podobny projekt. Może lepiej wykorzystać mniejszy mikrokontroler - coś między Attiny45, a attiny2313? Można też zastosować enkoder zamiast potencjometru, dla większej dokładności, ale chyba tutaj nie jest taka wymagana?
Jak sprawuje się lutownica? Można nią lutować SMD?
Pozdrawiam
|
|
| Back to top |
|
 |
kaka0204 Poziom 11

Joined: 10 Apr 2010 Posts: 77 Location: Gościszów
|
#4
02 Jan 2012 16:05 Re: Stacja lutownicza na Atmega8 z wyświetlaczem 7 segmentowym |
|
|
|
Witam.
Stacja wygląda naprawdę świetnie i oryginalnie. Prosiłbym o kod do procka bo noszę się z zamiarem zbudowania stacji i ta wygląda obiecująco.
Pozdrawiam.
|
|
| Back to top |
|
 |
Karol966 Poziom 21

Joined: 30 Jul 2006 Posts: 1489 Location: Obecnie Poznań
|
#5
02 Jan 2012 16:33 Re: Stacja lutownicza na Atmega8 z wyświetlaczem 7 segmentowym |
|
|
|
Witam
Pierwsza moja uwaga odnosi się do projektowania schematów - dlaczego nie używasz symboli zasilania? Bez nich łączysz wszystkie wymagane punkty połączeniami, które utrudniają szybką interpretację schematu. Ten jeszcze nie jest skomplikowany ani trochę (jest aż za prosty o czym później) ale przy bardziej rozbudowanych schematach sam zauważysz te problemy.
Druga sprawa to algorytm regulacji mocy. Użyłeś optotriak z detekcją przejścia napięcia przez zero co od razu wyklucza możliwość użycia fazowej regulacji mocy grzałki. Pozostaje regulacja grupowa lub zał/wył. Do tej pierwszej nie posiadasz synchronizacji także drogą dedukcji zakładam, że regulator temperatury to prosty regulator dwupozycyjny/ histerezowy. Jeżeli tak to zapewne masz spory uchyb w regulacji temperatury oraz gigantyczne przeregulowanie po włączeniu lutownicy. Nie jest tak?
PS. Również uważam, że zadawanie niektórych wartości z potencjometrów/ enkoderów jest znacznie wygodniejsze niż z przycisków.
|
|
| Back to top |
|
 |
Egzeqtor Poziom 5

Joined: 14 Dec 2009 Posts: 13 Location: Oleśnica
|
#6
02 Jan 2012 16:36 Re: Stacja lutownicza na Atmega8 z wyświetlaczem 7 segmentowym |
|
|
|
Projekt świetny w swej prostocie. Wyświetlacz LED rzeczywiście bardziej pasuje i wystarcza do stacji lutowniczej niż inne wynalazki - przecież najważniejszą informacją jest wartość temperatury. Panelu też bym nie zmieniał.
Gratuluję pomysłu i czekam na schemat i kod do procesora.
Pozdrawiam i życzę dalszych pomysłów w Nowym Roku.
|
|
| Back to top |
|
 |
K.G. Poziom 11

Joined: 24 Oct 2009 Posts: 75
|
#7
02 Jan 2012 17:18 Re: Stacja lutownicza na Atmega8 z wyświetlaczem 7 segmentowym |
|
|
|
Witam.
Stacja wykonana bardzo dobrze. Rozumiem, że sterowanie odbywa się dwustanowo?
| kubx wrote: |
| Może lepiej wykorzystać mniejszy mikrokontroler - coś między Attiny45, a attiny2313? |
Według mnie autor wybrał dobry mikrokontroler ponieważ ATtiny2313 nie posiada ADC, natomiast ATtiny45 ma zbyt mało wyprowadzeń.
Pozdrawiam
|
|
| Back to top |
|
 |
silvvester Poziom 19

Joined: 13 Feb 2003 Posts: 628 Location: Warszawa
|
#8
02 Jan 2012 17:22 Re: Stacja lutownicza na Atmega8 z wyświetlaczem 7 segmentowym |
|
|
|
Tym że jest regulacja co 10 °C nie przejmuj się, jak i tym że stacja trzyma 3-4°C.To sprawy marginalne. Fabryczne za 1000zł są z regulacją co 25°C i bez wyświetlacza który też jest dodatkiem. Największym felerem stacji w twoim przypadku jest brak gąbki do wycierania spalonego topnika z grota :)
Wyświetlacz pełni przedewszystkim taką funkcję aby nie zapomnieć wyłączyć stacji po skończonej pracy :)
Obudowa bardzo pomysłowa :)
|
|
| Back to top |
|
 |
bulek01 Poziom 11

Joined: 03 Jun 2006 Posts: 63
|
#9
02 Jan 2012 19:00 Re: Stacja lutownicza na Atmega8 z wyświetlaczem 7 segmentowym |
|
|
|
Przy użyciu jakiego kleju zmontowałeś rdzeń transformatora aby się nie rozpadał? Jako ciekawostka: Ja kiedyś użyłem sylikonu i mi wszystko się nie zmieściło.
|
|
| Back to top |
|
 |
motykami Poziom 16

Joined: 20 Jun 2005 Posts: 323 Location: Tarnobrzeg
|
#10
02 Jan 2012 19:04 Re: Stacja lutownicza na Atmega8 z wyświetlaczem 7 segmentowym |
|
|
|
Witam, bardzo dziękuję za pozytywne opinie :), niezmiernie się cieszę że moja konstrukcja się podoba.
Sterowanie rzeczywiście odbywa się dwustanowo, grzałka jest albo włączona albo wyłączona.
Myślałem nad jakimś lepszym sterowaniem mocą grzałki, ale po wstępnych próbach (układ zmontowany na płytce prototypowej) okazało się że stabilność temperatury jest zadowalająca.
Procesor to niestety wg. mnie niestety minimum Atmega8, potrzebne jest co najmniej 2 przetworniki ADC, i do obsługi wyświetlacza jeden pełen port (8 bitów/pinów procesora) i 3 bity/piny innego portu. Już nie mówiąc o bajerach typu przycisk uśpienia, i dwie diody LED.
Regulacja jest w zakresie od 100 do 450 stopni z dokładnością co 10 stopni, tylko ze względu na łatwość ustawienia potencjometru... Nie ma problemu zrobić regulację co 1 stopień ale wtedy lekki ruch potencjometrem powoduje spore przestawienie temperatury - jest to nie praktyczne i ciężko tak obsługiwać stację - doszedłem do takich wniosków po zmontowaniu układu na płytce prototypowej.
Co do Eagle... wiem że moje schematy nie są zbyt profesjonalne :) Ale uwierzcie że uczyłem się obsługi Eagle 2 tygodnie temu i pierwszym moim projektem jest właśnie ta stacja :)
Rdzenia transformatora niczym nie kleiłem, blaszki z których składa się rdzeń, oryginalnie są tak ciasno poskładane że nie ma praktycznie szans na włożenie ich wszystkich z powrotem ponieważ są tak ciasno, mi zostały 2 blaszki których już nie było szans wcisnąć. Jak się okazało transformator na szczęście nie buczy, i nie było potrzeby klejenia ani zalewania go. Ale na taką ewentualność mam przygotowany lakier (zwykły lakier olejny) w którym zanurzam transformatory na jakieś 5-10min (oczywiście tak aby nie oblać rdzenia, czyli z każdej strony po troszkę), po takim nasączeniu olejem i wyschnięciu większość przewijanych transformatorów milknie :)
Transformator jest niemal idealny do tej obudowy (ledwo się mieści) i jest on po prostu położony na kawałku grubego filcu a od góry są wciśnięte między transformator i obudowę kawałki bardzo grubej gumy, taki sposób montażu unieruchamia skutecznie trafko w obudowie i nie ma możłiwości aby wypadło i latało po obudowie.
Pozdrawiam, motykami.
|
|
| Back to top |
|
 |
K.G. Poziom 11

Joined: 24 Oct 2009 Posts: 75
|
#11
02 Jan 2012 19:21 Re: Stacja lutownicza na Atmega8 z wyświetlaczem 7 segmentowym |
|
|
|
Ciekawi mnie jeszcze jak załatwiłeś kwestię temperatury odniesienia (otoczenia).
|
|
| Back to top |
|
 |
Google

|
#
02 Jan 2012 19:21 |
|
|
|
|
|
| Back to top |
|
 |
Mateusz-me-1990 Poziom 12

Joined: 19 Jan 2006 Posts: 91 Location: Ełk/Gdańsk
|
#12
02 Jan 2012 20:15 Re: Stacja lutownicza na Atmega8 z wyświetlaczem 7 segmentowym |
|
|
|
Mam kilka uwag co do samego schematu urządzenia. Nigdzie nie widzę filtrowanego zasilania na AVCC (dławik 10uH oraz kondensator), a mierzysz termoparę. Po co jest R15? zwora?, bo nie spełnia on żadnej roli poza zajmowaniem miejsca. Tak samo C4 w realu to nic nie da, no chyba że miałby bardzo dużą pojemność oraz idealne właściwości impulsowe. Wzmacniacz nieodwracający przydałoby się narysować tak jak to typowo rysuje się go w takiej konfiguracji. LM358 to nie jest za cudowny wzmacniacz do takich rzeczy. Spójrz na jego napięcie niezrównoważenia i napięcia jakie występują przy termoparze. Do linii resetu można podpiąć obwód zabezpieczający oraz resetujący. Nie widzę też w złączu ISP połączenia z masą co stwarza je mało użytecznym.
|
|
| Back to top |
|
 |
Ture11 Poziom 21

Joined: 05 Oct 2006 Posts: 1471 Location: Legionowo
|
#13
02 Jan 2012 20:18 Re: Stacja lutownicza na Atmega8 z wyświetlaczem 7 segmentowym |
|
|
|
Konstrukcja przepiękna, w obudowie nic nie zmieniaj, jest super. Elektronika też ciekawa, lecz widzę reset w powietrzu?, mam zwidy? A może działa on tu inaczej?. Tak czy siak, nie można się do niczego przyczepić. Czy konstrukcja nie jest łatwo wywrotna?
Pozdrawiam.
|
|
| Back to top |
|
 |
janek1815 Poziom 22

Joined: 03 Aug 2004 Posts: 2227 Location: częstochowa
|
#14
02 Jan 2012 21:17 Re: Stacja lutownicza na Atmega8 z wyświetlaczem 7 segmentowym |
|
|
|
Konstrukcja świetna. Ja natomiast o ile nie interesują mnie płytki drukowane to z chęcią spojrzę na kod źródłowy w takiej postaci jakiej jest. Jeśli nie chcesz umieszczać go na forum to poproszę na PW. Interesuje mnie sterowanie i pomiar.
|
|
| Back to top |
|
 |
motykami Poziom 16

Joined: 20 Jun 2005 Posts: 323 Location: Tarnobrzeg
|
#15
02 Jan 2012 23:25 Re: Stacja lutownicza na Atmega8 z wyświetlaczem 7 segmentowym |
|
|
|
Sporo osób prosi o kod źródłowy, nie chciałem go wrzucać nie z tego powodu że nie chcę go udostępniać, tylko po prostu jest on mocno nie dopracowany, uczę się programować od około miesiąca, pod koniec listopada kupiłem płytkę testową i zacząłem się uczyć bascoma (wcześniej nie miałem w ogóle styczności z mikroprocesorami i z bascomem) więc proszę o wyrozumiałość - jeszcze się uczę :)
Oto program:
$regfile = "m8def.dat" $crystal = 1000000 Declare Sub Led_dec(byval Liczba As Word) Config Portd = Output Dataport Alias Portd Config Pinb.2 = Output Led1 Alias Portb.3 Config Pinb.1 = Output Led2 Alias Portb.2 Config Pinb.0 = Output Led3 Alias Portb.1 Config Pinb.3 = Output Led4 Alias Portb.0 Portb.2 = 1 'Konfiguracja wyświetlacza Config Pinc.3 = Output Grzalka Alias Portc.3 Config Pinc.4 = Output Led_usp Alias Portc.4 Config Pinc.5 = Output Led_grz Alias Portc.5 Config Pinc.2 = Input Set Portc.2 Uspienie Alias Pinc.2 'Konfiguracja podpiętych LEDów Config Pinc.0 = Input Config Pinc.1 = Input Config Adc = Single , Prescaler = Auto , Reference = Avcc Start Adc 'Konfiguracja wejść ADC Config Timer0 = Timer , Prescale = 8 Enable Interrupts Enable Timer0 On Timer0 Led Dim Akt_led As Byte Akt_led = 1 Dim Dane_led(4) As Byte 'Przerwania do obsługi wyświetlacza Config Timer1 = Timer , Prescale = 64 Enable Timer1 On Timer1 Przerwt1 Start Timer1 'Konfiguracja licznika do chwilowego wyświetlania wartości nastawionej Dim W As Word 'zmienna do odczytu nastawy potencjometru Dim W1 As Word 'zmienna pomocnicza do wykrycia zmian nastawy potencjometru Dim W2 As Word 'zmienna pomocnicza do wykrycia zmian nastawy potencjometru Dim T As Word 'zmienna do odczytu pomiaru temperatury Dim U As Single 'zmienna pomocnicza do pomiaru temperatury Dim Wsk As Bit 'zmienna określająca co ma być wyświetlane pomiar/nastawa Dim Usp As Bit 'zmienna określająca stan pracy praca/uspienie 'Deklaracja zmiennych Usp = 1 Grzalka = 1 W1 = 0 'Wstępne ustawianie zmiennych Do If Usp = 0 Then W = 100 End If If Usp = 1 Then W = Getadc(0) W = W / 29 W = W * 10 W = W + 100 End If 'Pomiar wartości z potencjometru T = Getadc(1) U = T U = U / 1023 U = U * 5 T = U * 120 'Pomiar temperatury i pomnożenie przez stałą termopary If W > W1 Or W < W2 Then Start Timer1 Timer1 = 0 Wsk = 1 W1 = W + 10 W2 = W - 10 End If 'Wykrywanie zmian nastawy potencjometru If Wsk = 1 Then Led_dec W End If If Wsk = 0 Then Led_dec T Waitms 200 End If ' Wyświetlanie odpowiedniej wartości zmierzonej lub nastawionej If W > T Then Reset Grzalka Reset Led_grz End If If W <= T Then Set Grzalka Set Led_grz End If 'Wlaczanie i wyłączanie grzałki i leda od grzałki If Uspienie = 0 Then Toggle Usp Waitms 300 End If 'Obsługa przycisku od uspienia Led_usp = Usp 'Obsługa Leda od uśpienia Loop End Przerwt1: Wsk = 0 Stop Timer1 Return 'Przerwanie Timera1 do chwilowego wyświetlania temp nastawionej '!!! PONIŻEJ OBSŁUGA WYŚWIETLACZA W PRZERWANIU Z TIMERA !!! Sub Led_dec(byval Liczba As Word) Local Reszta As Word Reszta = Liczba Mod 10 Dane_led(4) = Lookup(reszta , Led_cyfry) Liczba = Liczba / 10 Reszta = Liczba Mod 10 Dane_led(3) = Lookup(reszta , Led_cyfry) Liczba = Liczba / 10 Reszta = Liczba Mod 10 Dane_led(2) = Lookup(reszta , Led_cyfry) Liczba = Liczba / 10 Reszta = Liczba Mod 10 Dane_led(1) = Lookup(reszta , Led_cyfry) End Sub 'wyciąga poszczególne cyfry z liczby do wyświetlenia Led: Set Led4 Set Led3 Set Led2 Set Led1 Dataport = Dane_led(akt_led) Select Case Akt_led Case 1 : Reset Led1 Case 2 : Reset Led2 Case 3 : Reset Led3 Case 4 : Reset Led4 End Select Incr Akt_led If Akt_led > 4 Then Akt_led = 1 Return 'obsługa wyświetlacza i wyświetlenie liczb Led_cyfry: Data &B11000000 '0 Data &B11111001 '1 Data &B10100100 '2 Data &B10110000 '3 Data &B10011001 '4 Data &B10010010 '5 Data &B10000010 '6 Data &B11111000 '7 Data &B10000000 '8 Data &B10010000 '9 'wzory cyfr 0-9
A teraz trochę objaśnień:
Pomiar temperatury z termopary zrobiłem mało profesjonalnie i nie prawidłowo, a mianowicie: Mierzyłem temperaturę grota lutownicy miernikiem Unit UT-33C i mierzyłem napięcie za wzmacniaczem operacyjnym który wzmacnia napięcie z termopary, następnie wyznaczyłem "stałą" przez którą należy pomnożyć odczytane napięcie aby otrzymać temperaturę (czytałem o termoparach i wiem że jest na to lepszy i prawidłowy sposób, ale program pisałem na szybkiego aby sprawdzić czy wszystko działa (stacje złożyłem dzień przed sylwestrem), i na razie tak zostało ale będzie to zmienione !!! Po prostu na spokojnie muszę przysiąść jeszcze troszkę poczytać i zrobić tak jak być powinno, ale w tej chwili
dokładność jest zadowalająca.
W programie jest fragment odpowiadający za wyświetlanie na wyświetlaczu 7 segmentowym, jest on napisany dla wyświetlaczy 4 pozycyjnych, po prostu taki program miałem już gotowy (do innego projektu gdzie wykorzystuje wyświetlacz 4 segmentowy), i "na szybkiego" zostawiłem taki fragment kodu, który oczywiście jest również do przerobienia, ale jest to kwestia czasu i chwili wolnego czasu.
Ogólnie jestem świadom że program może być napisany nie optymalnie i znajdziecie w nim mnóstwo niedociągnięć :) Ale to bardzo dobrze, człowiek uczy się na własnych błędach, więc mam nadzieję że czegoś się nauczę, a przy okazji usprawnię działanie stacji.
Tak jak pisałem proszę o wyrozumiałość, projekt powstał niedawno i bardzo szybko, a jako że programowaniem zajmuje się od bardzo nie dawna więc uwierzcie że jest to wielką frajdą uruchamiać pierwsze konkretne urządzenie od zera, a projekt jest jak najbardziej rozwojowy, po prostu uruchamiałem go troszkę na szybkiego a teraz będę poprawiał niedociągnięcia.
Proszę o pisanie co jest źle i co powinienem poprawić w programie, bardzo prosił bym również bez złośliwych uwag, tak jak pisałem dopiero się uczę.
|
|
| Back to top |
|
 |
Mateusz-me-1990 Poziom 12

Joined: 19 Jan 2006 Posts: 91 Location: Ełk/Gdańsk
|
#16
02 Jan 2012 23:30 Re: Stacja lutownicza na Atmega8 z wyświetlaczem 7 segmentowym |
|
|
|
To co jest potrzebne Ci do dokładnego odczytu temperatury w części konwersji to użycie specjalnego wielomianu. Poszukaj w google czegoś takiego jak
ITS-90 Thermocouple Polynomials.
|
|
| Back to top |
|
 |
Urgon Poziom 22

Joined: 27 Aug 2008 Posts: 2435 Location: Lublin
|
#17
02 Jan 2012 23:38 Re: Stacja lutownicza na Atmega8 z wyświetlaczem 7 segmentowym |
|
|
|
AVE...
Metoda pomiaru nie ma kompensacji zimnego końca - rozjazd pomiaru temperatury będzie o tyle stopni, o ile zmieni się temperatura otoczenia względem chwili, gdy kalibrowałeś miernik. Lepszy wynik uzyskasz z pomocą specjalizowanych układów (jak wspomniany MAX6675), albo robiąc to po staremu, czyli podpinając równolegle drugą termoparę tego samego typu ale odwrotnie pod względem polaryzacji umieszczoną w środowisku o stałej temperaturze (zasobnik z termostatem)...
|
|
| Back to top |
|
 |
Mateusz-me-1990 Poziom 12

Joined: 19 Jan 2006 Posts: 91 Location: Ełk/Gdańsk
|
#18
02 Jan 2012 23:42 Re: Stacja lutownicza na Atmega8 z wyświetlaczem 7 segmentowym |
|
|
|
Można też inaczej obejść problem wykorzystując pomiar temperatury otoczenia oraz uwzględnienie tego w programie. Unikając stosowania drogiego układu MAX6675, a należy pamiętać, że zastosowany tutaj algorytm regulacji i tak nie zapewnia sporej dokładności więc stosowanie bardzo precyzyjnych obwodów wejściowych mija się z celem.
|
|
| Back to top |
|
 |
narasta Poziom 17

Joined: 19 Feb 2008 Posts: 376
|
#19
03 Jan 2012 00:11 Re: Stacja lutownicza na Atmega8 z wyświetlaczem 7 segmentowym |
|
|
|
Muszę przyznać, że fajnei to wykonałeś
Podoba mi się obudowa i to że przede wszystkim upchnąłeś elementy w środku a nie tak jak niektórzy wykorzystują 10x większa obudowę niż trzeba,
Panel przedni także elegancki.
Do Bascoma się nie przyczepiam, bo o gustach się nie rozmawia :P
Triak się nie nagrzewa?
|
|
| Back to top |
|
 |
motykami Poziom 16

Joined: 20 Jun 2005 Posts: 323 Location: Tarnobrzeg
|
#20
03 Jan 2012 08:30 Re: Stacja lutownicza na Atmega8 z wyświetlaczem 7 segmentowym |
|
|
|
Macie jak najbardziej rację, pomiar temperatury przeze mnie zastosowany jest mało profesjonalny i obarczony sporym błędem.
Jak najbardziej zgadzam się również że pomiar powinien być jak najdokładniejszy (nie tylko w przypadku tej stacji, ale też ogólnie przy dokonywaniu jakiegokolwiek pomiaru liczy się dokładność).
Tyle że podchodząc do tematu od praktycznej strony:
To jest lutownica i tutaj różnica temperatur +-15 stopni nie robi wielkiej różnicy, i z takiego założenia również wyszedłem. Poza tym lutownica będzie używana w pomieszczeniu (w warsztacie) w którym jest raczej stała temperatura, nie mam zamiaru lutować na mrozie -10 stopni (lutownica jest przeznaczona do małych elementów, ewentualnie do SMD, wyobrażacie sobie lutowanie czegoś takiego na mrozie ??). Tak więc różnice temperatur otoczenia to maksymalnie +-10 stopni.
Ja rozumiem że to się wszystko na siebie nakłada, ale to i tak wg. mnie przyzwoity wynik.
Oczywiście z chęcią poznam bardziej zaawansowane i poprawne metody pomiaru temperatury, i dziękuję za nakierowanie mnie na materiały z którymi mógłbym się zapoznać.
Jeśli będzie to kwestia poprawienia programu, to na pewno w wolnej chwili nad tym posiedzę, zawsze warto coś poprawić jeśli kosztuje to tylko chwile czasu i trochę chęci.
Ale tak jak pisałem lutownica w tej chwili mimo że mocno nie dopracowana, ma wg. mnie przyzwoite parametry i przede wszystkim spełnia moje założenia i oczekiwania :)
Pozdrawiam, motykami.
|
|
| Back to top |
|
 |
neo_84 Poziom 13

Joined: 03 Dec 2005 Posts: 131 Location: Rzeszów
|
#21
03 Jan 2012 09:04 Re: Stacja lutownicza na Atmega8 z wyświetlaczem 7 segmentowym |
|
|
|
Witam moim zdaniem niema się do czego przyczepić obudowa rewelacyjna panel przedni starannie wykonany, zastosowałeś filtr na wyświetlacz ? Ja używam przeważnie folii do przyciemniania szyb świetnie się do tego nadaje. Jeśli chodzi o temperaturę to taka dokładność 3-4 C jest chyba wystarczająca więc nie robił bym z tego aż takich problemów. Jeśli chodzi o Bascoma to dobrze zrobiłeś ze właśnie od tego języka zacząłeś łatwiej jest zrozumieć mikro kontrolery ale jest to język dobry tylko na start... tak ze możesz się zastanowić nad językiem C polecam środowisko Eclipse.
|
|
| Back to top |
|
 |
narasta Poziom 17

Joined: 19 Feb 2008 Posts: 376
|
#22
03 Jan 2012 09:27 Re: Stacja lutownicza na Atmega8 z wyświetlaczem 7 segmentowym |
|
|
|
nie ma potrzeby dokładnego pomiaru temperatury - z resztą nie ma znaczenia w jakim otoczeniu lutujesz - ważne jest to co lutujesz - duże elementy wyższa temp, półprzewodniki niższa i smd jeszcze niżej.
ja mam solomona sl-20 ESD (z identyczną grzałka co Ty + ESD) i tam dioda jest co 40 stopni C i przy stałym ustawieniu temperatura wacha się w okolicy dwóch diod czyli +-20sopni.
Nic już nie zmieniaj. Masz fajną zbitą w kupie stację. :)
|
|
| Back to top |
|
 |
drzasiek Poziom 22

Joined: 09 Nov 2009 Posts: 1688 Location: Jodłowa
|
#23
03 Jan 2012 09:40 Re: Stacja lutownicza na Atmega8 z wyświetlaczem 7 segmentowym |
|
|
|
Po pierwsze zdecydowanie powinieneś poczytać to:
http://mikrokontrolery.blogspot.com/2011/04/minimalne-podlaczanie-pinow.html
Po drugie:
| motykami wrote: |
| wg. mnie niestety minimum Atmega8, potrzebne jest co najmniej 2 przetworniki ADC |
Atmega8 nie ma 2 przetworników AC, ma jeden.
A to, że ma kilka wejść to nie znaczy, że ma kilka przetworników.
Jest jeden przetwornik, ale na wejściu przetwornika jest multiplekser, który zmienia wejścia tworząc takie "wirtualne kanały".
|
|
| Back to top |
|
 |
siejacy_zamet Poziom 9

Joined: 31 Jan 2007 Posts: 34 Location: Kraków
|
#24
03 Jan 2012 10:07 Re: Stacja lutownicza na Atmega8 z wyświetlaczem 7 segmentowym |
|
|
|
Podoba mi się:
1. Zwarta i kompaktowa obudowa, która dobrze odprowadza ciepło.
2. Czytelny i funkcjonalny panel przedni.
Nie podoba mi się:
1. Użycie mikrokontrolera w tak prostym projekcie. Widzę, że temperatura regulowana jest potencjometrem, a można byłoby użyć przycisków góra-dół lub enkodera obrotowego - wtedy użycie procesora byłoby bardziej uzasadnione. Oczywiście, brak mikrokontrolera okupiony byłby większą komplikacją urządzenia i jego zupełnym "uanalogowieniem". Widzę, że po prostu zamiast analogówki postanowiłeś pouczyć się programowania - też dobrze, chociaż swoje zdanie na ten temat mam.
2. Wspomniane wyżej - regulacja temperatury potencjometrem w "cyfrowym" projekcie.
3. Brak kompensacji termopary.
4. Brak trybu oszczędzania energii - skoro posiadasz już procesor na pokładzie, można dorobić taki tryb, z którego stacja byłaby wybudzana poprzez spadek temperatury grota, czyli rozpoczęcie lutowania. (Fakt faktem, że z trybu oszczędzania nie znoszę korzystać, bo nie lubię czekać, aż grot się nagrzeje).
|
|
| Back to top |
|
 |
Pokrentz Poziom 15

Joined: 21 Dec 2008 Posts: 237 Location: Kraków & okolice
|
#25
03 Jan 2012 11:17 Re: Stacja lutownicza na Atmega8 z wyświetlaczem 7 segmentowym |
|
|
|
Kompensację temperatury otoczenia łatwo zrobić jak masz wolny pin w Atmedze. Podpinasz DS18B20 i uczysz się programować dalej: interfejs Single Wire. Z tego wiesz, jaką masz temperature odniesienia. Masz to prosto, bezproblemowo i, moim zdaniem, pożytecznie. Ja napisałem ten protokół korzystając tylko z datasheetów firmy Maxim (bez sprawdzania ID układu, za to z kontrolą CRC). Polecałbym ten sposób. Jak jeszcze "uwielomianujesz" kalibrację termopary, to dojdziesz z dokładnościa pomiaru w okolice 1-go stopnia.
Mozna by się zastanawiać, czy takie ceregiele są konieczne w lutownicy, gdzie dokładność 10 stopni jest zupełnie wystarczająca, ale jak masz okazję się pouczyć i zobaczyć na własnej skórze jak to działa, to proponuję ją zmarnować i nie siedzieć cicho. ;-)
Zastosowanie mikrokontrolera do tego projektu ma spory sens wbrew opinii kol. siejącego_zamęt - po pierwsze - edukacyjny - uczysz się programować, po drugie - jest tańsze w robociźnie i nawet finansowo (powodzenia z robieniem układu na standardowych TTL-ach, obsługującego wyświetlacz i przyciski funkcyjne, z analogówki potrzebny byłby przetwornik analog-cyfra na układ wyświetlacza, choć sam układ regulacji temperatury (przerzutnik z histerezą na wzm. operacyjnym to nie jest problem), po trzecie - układ na mikrokontrolerze ma w sobie potencjał rozwojowy ograniczony tylko liczbą dostępnych pinów i ilością pamięci. Mikrokontrolery dziś są często tańsze i skuteczniejsze od rozwiązań "na piechotę".
Gratuluje wykonania i życze powodzenia w następnych projektach!
|
|
| Back to top |
|
 |
Karol966 Poziom 21

Joined: 30 Jul 2006 Posts: 1489 Location: Obecnie Poznań
|
#26
03 Jan 2012 11:59 Re: Stacja lutownicza na Atmega8 z wyświetlaczem 7 segmentowym |
|
|
|
| Urgon wrote: |
| Lepszy wynik uzyskasz z pomocą specjalizowanych układów (jak wspomniany MAX6675) |
Osobiście mam bardzo złe opinie na temat tego układu. Testowałem go na kilka sposobów, zmieniałem aplikacje a i tak pomiar był błędny.
Inna sprawa to sam projekt PCB. Stosując ten przetwornik należy pamiętać o innych elementach wydzielających ciepło...
|
|
| Back to top |
|
 |
INTOUCH Poziom 19

Joined: 22 Dec 2007 Posts: 609
|
#27
03 Jan 2012 12:02 Re: Stacja lutownicza na Atmega8 z wyświetlaczem 7 segmentowym |
|
|
|
Lutownica ciekawa.
Nie czytałem wszystkiego więc nie wiem czy podpiąłeś PE do obudowy. Obudowa z aluminium więc lutownica w pierwszej klasie ochronności.
Gdzie znalazłeś takąfajną obudowę?
|
|
| Back to top |
|
 |
poorchava Poziom 16

Joined: 25 Apr 2009 Posts: 326 Location: Wrocław
|
#28
03 Jan 2012 13:15 Re: Stacja lutownicza na Atmega8 z wyświetlaczem 7 segmentowym |
|
|
|
Do pomiaru temperatury zainteresuj sie rodzina ukladow LMP90xxx. Masz tam zintegrowane wszystko co potrzebne jest do pomiaru. Mozna zamowic w samplach (czasem trzeba ladnie poprosic ale sie da na spokojnie). Jak by ci nie chcieli przyslac to moge jeden odstapic za friko albo jakis dobry browarek.
|
|
| Back to top |
|
 |
Google

|
#
03 Jan 2012 13:15 |
|
|
|
|
|
| Back to top |
|
 |
LOTR2 Poziom 9

Joined: 26 Apr 2009 Posts: 37 Location: Myślenice
|
#29
03 Jan 2012 13:55 Re: Stacja lutownicza na Atmega8 z wyświetlaczem 7 segmentowym |
|
|
|
Co do kompensacji zimnego końca to jest jeszcze prostszy i 10 razy tańszy sposób na pomiar temperatury otoczenia. Z zadowalającą dokładnością można zmierzyć temperature, mierząc spadek napiecia na przewodzącym złaczu diody krzemowej. Do takiego pomiaru wystarczy rezystor wpiety w szereg z diodą.
|
|
| Back to top |
|
 |
siejacy_zamet Poziom 9

Joined: 31 Jan 2007 Posts: 34 Location: Kraków
|
#30
03 Jan 2012 14:18 Re: Stacja lutownicza na Atmega8 z wyświetlaczem 7 segmentowym |
|
|
|
Sprostowanie - uważam, że to dobrze, że kolega uczy się programować. Tylko moim skromnym zdaniem mikrokontroler w takiej aplikacji to przesada, podobnie jak wyświetlacz LED. Wydaje mi się, że można się obejść bez procesora, a gotowość lutownicy sygnalizować zapaleniem diody. Zwłaszcza, że potencjometr na panelu przednim jest zadajnikiem analogowym, w dodatku wyskalowanym przez konstruktora w mniej, lub bardziej dokładny sposób. Tak po prawdzie, to nie ma znaczenia, czy kolba ma ustawioną temperaturę dokładnie 380 czy np. 367 st. - ważne, że da się lutować, bo osiągnęła odpowiednią temperaturę.
Polecam pogóóglać i znaleźć schematy rozwiązań analogowych, są zazwyczaj dosyć proste, ale ciekawe. Pamiętam, że kiedyś EP lub EDW coś takiego publikowało.
|
|
| Back to top |
|
 |