Trawiarka do Płytek


8.77778
Ocena: None Średnia: 8.8 (18 głosujących)

Trawiarka do płytek drukowanych jest najpotrzebniejszym narzędziem w warsztacie każdego elektronika. W większości przypadków do wykonania całkiem dobrych płytek drukowanych wystarczy wytrawiacz w słoiku, jednak w pewnym momencie podczas wykonywania upragnionego hobby przychodzi czas na zrobienie czegoś więcej. Jeśli zechcemy kontrolować bardziej dokładnie proces trawienia płytki, a w szczególności temperaturę roztworu trawiącego, koniecznym stanie się wykonanie jakiegoś prostego sterownika. Opisywany układ jest właśnie takim prostym sterownikiem temperatury z możliwością ustawienia temperatury zadanej. Sama płytka sterownika powstała kilka lat temu i była projektowana jeszcze pod mikrokontroler AT89C4051. W obecnych czasach lepiej było zastąpić wspomniany mikrokontroler czymś bardziej wygodnym. Wybór padł na ATtiny2313 ze względu na brak konieczności przerabiania istniejącej już płytki. Tak powstał sterownik trawiarki z wyświetlaczem LCD 2x8 znaków i z czujnikiem temperatury DS18B20. Elementem wykonawczym jest tutaj triak, a samo sterowanie grzałki odbywa się w sposób proporcjonalny poprzez cykliczne włączanie i wyłączanie grzałki z małą częstotliwością. Stosunek czasu działania do przerwy zależy od różnicy między temperaturą ustawioną a tą jaka panuje w pojemniku. Ze względu na brak miejsca w mikrokontrolerze nie ma zapisu ustawień do pamięci EEPROM. Jak się okazało nie jest żadną wadą gdyż praca w 99% przypadków i tak jest z typowym ustawieniem 40 stopni.

Nową wersję tego projektu można znaleźć na stronie: http://mirley.net

Działanie:


Schemat ideowy układu znajduje się na rysunku poniżej:

Sercem układu jest mikrokontroler U1 (ATTiny2313) działający na rezonatorze wewnętrznym o częstotliwości 8MHz. Buzzer alarmowy B1 jest włączany za pomocą tranzystora T3 (BC556). R1 (3,3k) podciąga bazę tranzystora do +5V, natomiast R2 (3,3k) ogranicza prąd jego bazy. Do wizualizacji działania układu wykorzystywany jest niewielki wyświetlacz LCD W1 (8x2). Potencjometr P1 (10k) reguluje jego kontrast, a rezystor R5 (510R) ogranicza prąd struktur LED podświetlających wyświetlacz. Złącze GP3 służy do podłączenia czujnika temperatury DS18B20, a rezystor R6 (4,7k) umożliwia poprawną jego pracę. Jako złącze klawiatury wykorzystuje się złącze Gp2. Obwód wykonawczy zrealizowany jest na triaku Tr1 (BT138-600E) oraz optotriaku OPT1 (MOC3042) zapewniającym izolację optyczną od napięcia sieci. Rezystor R4 (220R) ogranicza prąd bramki triaka, natomiast R3 (330R) ogranicza prąd diody optotriaka. Obwód zasilania zbudowany jest klasycznie za pomocą stabilizatora U2 (7805) i dwóch kondensatorów C5 (22uF) i C4 (47uF).

Budowa:


Układ z powodzeniem można zbudować w oparciu o płytkę drukowaną dostępną tutaj. Rysunek w odbiciu lustrzanym dostępny jest tutaj. Płytka na zdjęciach może się nieznacznie różnić od tej w projekcie, gdyż jak już wspomniałem jest to stary projekt, a na potrzeby publikacji został trochę zmodernizowany. Montaż dobrze jest zacząć od wlutowania trzech zworek, oznaczonych kolorem czerwonym. W drugiej kolejności należy przylutować rezystory i podstawki pod procesor i pod optotriaka. Stabilizator oraz triak powinny być zamontowane na leżąco, chyba że wymiary obudowy pozwolą na montaż pionowy. Wyświetlacz LCD powinien być zamontowany z wykorzystaniem gniazd szufladkowych na goldpiny aby można było go łatwo wyjąć. Szczególnie że regulacja kontrastu wyświetlacza znajduje się pod nim. Kolejność pozostałych elementów jest dowolna. Układ może być zasilany napięciem stałym z przedziału 7-12V. W układzie modelowym został zastosowany zasilacz 12V/1.2A w postaci przetwornicy impulsowej. Kilka minut czasu należy poświęcić czujnikowi temperatury. Należy pamiętać, że będzie on umieszczony w wytrawiaczu więc bardzo ważne jest zabezpieczenie jego nóżek przed strawieniem. Oprócz nałożenia cienkich koszulek termokurczliwych na każdą jego nóżkę, cały czujnik dobrze jest zalać poxipolem lub innym klejem tego typu. Pomocą w konstrukcji może okazać się schemat montażowy dostępny tutaj.

Na rysunku poniżej przedstawiony został schemat podłączeń sterownika z grzałką i pompką:

Wykaz Elementów:

1x Złącze Śrubowe ARK2(podwójne)
2x 3,3k
1x 4,7k
1x 220R
1x 330R
1x 510R
1x Potencjometr Montażowy 10k
1x 22uF Elektrolit
1x 47uF Elektrolit
1x BC556
1x Stabilizator 7805
1x Mikrokontroler ATTINY2313 + Podstawka
1x BT138-600E
1x DS18B20
1x MOC3042
1x Buzzer z Generatorem 5V
1x LCD 8x2

Programowanie:


Kod Źródłowy do sterownika trawiarki został napisany w BASCOM AVR firmy MCS Electronics (http://www.mcselec.com/). Program przedstawiony jest poniżej:

'************* Konfiguracja uC *****************
'***********************************************
$regfile = "attiny2313.dat"
$crystal = 8000000
Config Portb = &B11111111 : Portb = &B11111111
Config Portd = &B11000111 : Portd = &B11111111
Config Lcdpin = Pin , Db4 = Portb.4 , Db5 = Portb.5 , Db6 = Portb.3 , Db7 = Portb.2 , E = Portb.7 , Rs = Portb.6       
Config Lcd = 16 * 2
Cls
Cursor Off Noblink
Config 1wire = Pind.2
Config Timer0 = Timer , Prescale = 256
Enable Timer0 : On Timer0 Prztimer0
 
Grzalka Alias Portd.6
Sw1 Alias Pind.3
Sw2 Alias Pind.4
Buzz Alias Portd.0
 
Config Watchdog = 2048
Enable Interrupts
'********** Konfiguracja uC Koniec  ************
 
'******************  Zmienne *******************
'***********************************************
Dim Dziel(2) As Byte
Dim Flaga_1s As Bit , Flaga_100ms As Bit
 
Dim Hb As Byte , Hw As Word                                 'globalne uniwersalne zmienne pomocnicze
Dim N As Byte                                               'pomocnicza
 
Dim Tt As Word                                              'zmienna pomocnicza do wyświetlania liczb typu xx.x na lCD
Dim Tm As Word , Tu As Word
Dim Tdif As Integer
Dim Pomiar_odczyt As Bit
Dim Ster_licz As Byte
Dim Ster As Byte
'*************  Zmienne Koniec  ****************
'************ Warunki Poczatkowe ***************
'***********************************************
Tu = 400
Start Watchdog
'*******  Warunki Poczatkowe Koniec  ***********
'**************  Petla glowna ******************
'***********************************************
Do
 '***********************************************   co 100ms
  If Flaga_100ms = 1 Then
    Flaga_100ms = 0
    Gosub Przyciski
    Gosub Wysw_lcd
  End If
  '***********************************************
  '***********************************************   co 1s
  If Flaga_1s = 1 Then
    Flaga_1s = 0
    Reset Watchdog
    Gosub Temperatura
    Gosub Sterowanie
  End If
  '***********************************************
Loop
End
'*********** Petla glowna Koniec **************
'************ Przerwanie timer 0 ***************
'***********************************************
Prztimer0:
 Timer0 = 131
  Incr Dziel(1)
  If Dziel(1) = 25 Then                                     'liczy 25 przerwań czyli 100ms i ustawia flage
    Dziel(1) = 0
    Set Flaga_100ms
    Incr Dziel(2)
    If Dziel(2) = 10 Then                                   'liczy 10 razy po 25 przerwań czyli 1s
      Dziel(2) = 0
      Set Flaga_1s
    End If
  End If
Return
'******** Przerwanie timer 0 Koniec ************
Temperatura:
  Pomiar_odczyt = Not Pomiar_odczyt
  Disable Interrupts
  1wreset
  If Pomiar_odczyt = 1 Then
    1wwrite &HCC
    1wwrite &H44
  Else
    1wwrite &HCC
    1wwrite &HBE
    Tm = 1wread(2)
    Tm = Tm * 10
    Tm = Tm / 16
  End If
  Enable Interrupts
Return
'***********************************************
'*****************  Sterowanie    **************
Sterowanie:
  Tdif = Tu - Tm
  Tdif = Tdif + 7
  If Tdif <= 0 Then
    Ster = 0
  Else
    Ster = Tdif
    If Ster > 50 Then Ster = 50
  End If
 
  Incr Ster_licz
  If Ster_licz = 50 Then Ster_licz = 0
  If Ster_licz < Ster Then Reset Grzalka Else Set Grzalka
 
  If Tm >= 600 Then
    Set Grzalka
    Toggle Buzz
  Else
    Buzz = 1
  End If
 
Return
'***********************************************
'*****************  Przyciski     **************
Przyciski:
  If Sw1 = 0 And Tu <= 600 Then Incr Tu
  If Sw2 = 0 And Tu >= 250 Then Decr Tu
Return
'***********************************************
Wysw_lcd:
  Locate 1 , 1
  Tt = Tm
  Gosub Showt
 
  Locate 2 , 1
  Tt = Tu
  Gosub Showt
 
  Locate 2 , 7
  If Ster < 10 Then Lcd " "
  Lcd Ster
Return
 
 
Showt:
 Hw = Tt / 10
 Lcd Hw ; "."
 Hw = Tt Mod 10
 Lcd Hw
Return

Na początku programu zostaje zdefiniowana częstotliwość pracy mikrokontrolera, która w tym przypadku wynosi 8MHz (oscylator wewnętrzny). Po konfiguracji wyprowadzeń, magistrali 1-Wire, wyświetlacza LCD i watchdoga, zostaje ustawiona zmienna Tu = 400, co odzwierciedla temperaturę ustawioną na 40.0 stopni.

W pętli głównej Do Loop program kręci się cały czas czekając na ustawienie się jednej z flag bitowych. Następuje to co 100ms i co 1s nadając rytm pracy programu. Co 100ms program skacze do procedur obsługi przycisków i wyświetlacza, natomiast co 1s następuje reset licznika watchdog'a, skok do pomiaru temperatury oraz wywoływanie procedury sterowania triakiem w zależności od temperatury.

Flagi bitowe ustawiane są w obsłudze przerwania timera 0, który zajmuje się tylko tym. Wstępny podział timera ustawiony jest na 256, a za każdym przerwaniem do timera ładowana jest wartość początkowa 131. Przerwanie występuje zatem z częstotliwością: 8MHz/256/(256-131)=250Hz czyli z okresem 4ms. Kilka zmiennych dzielników zapewnia dalszy podział częstotliwości i ustawianie flag co 100ms i 1s.

Procedura odczytu temperatury działa w dwóch fazach zależnych od stanu zmiennej bitowej Pomiar_odczyt. W pierwszej fazie następuje wysyłanie polecenia konwersji temperatury do czujnika DS18B20 a w drugiej fazie następuje odczyt dwóch bajtów temperatury i odpowiednie ich przeliczenie do zmiennej Tm, zachowując precyzję 0.1 stopnia (Wartość w zmiennej to temperatura pomnożona przez 10).

Procedura sterowania odpowiada za stan logiczny na wyjściu triaka. Na początku liczona jest różnica między temperaturą ustawioną a mierzoną i na tej podstawie obliczana jest zmienna Ster (0-50), która odzwierciedla wypełnienie przebiegu podawanego na triaka. Każde wywołanie procedury sterowania zwiększa wartość zmiennej Ster_licz, cyklicznie w zakresie od 0 do 50. W każdej sekundzie zmienna Ster porównywana jest z Ster_licz i na tej podstawie ustawiany jest stan logiczny do sterowania triakiem. Jak zmienna Ster ma wartość np. 30 to grzałka będzie włączona na czas 30s a na pozostałe 20s wyłączona. Okres sterowania wynosi 50s. procedura sterowania odpowiada także za alarm temperaturowy. Gdy temperatura przekroczy 60 stopni, grzałka zostanie bezwzględnie wyłączona i odezwie się sygnał dźwiękowy.

Obsługa klawiatury jest tutaj bardzo uproszczona, gdyż jakiekolwiek procedury usuwania drgań styków nie zmieściły się w programie mikrokontrolera. Długi czas między kolejnymi odczytami klawiatury, w dużej mierze eliminuje szkodliwe efekty związane z drganiem styku.

Procedura wyświetlająca jest także bardzo uproszczona. W pierwszej linijce wyświetlacza pokazywana jest temperatura mierzona, natomiast w drugiej wyświetla się temperatura ustawiona i aktualna wartość zmiennej Ster, co pozwala na kontrolowanie stanu pracy sterownika.

Ustawienia fusebitów znajdują się na rysunku poniżej:

W bascomie wystarczy zmienić w fabrycznych ustawieniach mikrokontrolera tylko bit CKDIV, który powinien być równy 1 (dzielenie częstotliwości wyłączone).

Pojemnik Trawiarki - Uwagi:


Konstrukcja samego pojemnika trawiarki nie jest trudna ale bardzo pracochłonna. Nie będę tutaj przedstawiał planów mojego pojemnika gdyż można sobie wykonać pojemnik o różnych rozmiarach i grubości w zależności od potrzeb. Wymiary mojego pojemnika pozwalają zmieścić w środku płytkę o rozmiarach zbliżonych do A4, a grubość jest równa 3cm. Całość została wykonana z plexi o grubości 6mm. Przy projektowaniu pojemnika należy zwrócić uwagę na na to iż bąbelki powietrza przyczyniają się do wychlapywania wytrawiacza na zewnątrz, więc wysokość dobrze jest odpowiednio zwiekszyć. Wysokość ma także znaczenie przy przenoszeniu trawiarki. Jeśli wytrawiacz nalany jest prawie do pełna to łatwo jest wylać go na siebie podczas nawet lekkiego przechylenia trawiarki. Pojemnik dobrze jest wyposażyć w pokrywkę, znacznie poprawi to izolację cieplną trawiarki a jednocześnie będzie stanowiła dodatkowe zabezpieczenie przed wychlapywaniem. Do klejenia wykorzystałem rozpuszczone w acetonie kawałki tej samej plexi. Na dole pojemnika został rozmieszczony wężyk o średnicy około 6mm z małymi dziurkami wykonanymi rozgrzaną igłą. Zapewnia to dobre mieszanie roztworu trawiącego dzięki bąbelkom powietrza. Z boku wewnątrz pojemnika zostały wklejone uchwyty na grzałkę, która została umieszczona w pozycji pionowej. Jest to typowa grzałka akwariowa bez termostatu o mocy 300W. Dzięki pompce akwariowej temperatura w całym pojemniku jest jednakowa mimo takiego ułożenia grzałki. Po drugiej stronie pojemnika znajduje się czujnik temperatury w specjalnie wklejonym uchwycie z plexi. Cały pojemnik został przyklejony do większej płyty z plexi i obok niego powstała obudowa na elektronikę, wykonana także z tego samego materiału. Najbardziej pomocne przy projekcie i wykonaniu własnego pojemnika okażą się w tym przypadku zdjęcia umieszczone u dołu strony. Wymiary pojemnika oraz moc grzałki należy dobrać według własnego uznania.

Obsługa:


Działanie sterownika trawiarki jest bardzo proste. Jest to typowy sterownik proporcjonalny, steruje mocą grzałki proporcjonalnie do różnicy miedzy temperaturą w pojemniku a wartością ustawioną. Jeśli temperatura jest większa od ustawionej o określony offset to grzałka jest całkowicie wyłączona, w przeciwnym wypadku moc grzałki w % wyraża się następującą zależnością:

$P[\%] = 2* (Temp. ustawiona - Temp. mierzona + Temp. offset)$

Przy czym gdy wartość wyliczona z tego wzoru przekracza 100 to naturalnie moc jest zawsze równa 100%. Regulacja mocy realizowana jest przez cykliczne włączanie i wyłączanie grzałki. Wypełnienie przebiegu odzwierciedla jednoznacznie procent mocy grzałki, więc w istocie powyższy wzór określa czas włączenia grzałki wyrażony w jednostkach 0.5s, przy całkowitym okresie równym 50s. Sterownik posiada sygnał alarmowy, który na sztywno został ustawiony na 60 stopni, podobnie jak offset temperatury, który z doświadczenia został ustawiony na 0.7 stopnia.

Ze względu na brak miejsca w programie, sterownik nie posiada żadnego menu pozwalającego dostroić parametry, nie osiada także zapisywania ustawionej temperatury do pamięci EEPROM. Za pomocą dwóch przycisków można dostroić temperaturę ustawioną, a po włączeniu wynosi ona zawsze 40 stopni, co jest optymalne z punktu widzenia nadsiarczanu sodu używanego jako roztworu trawiącego.

Zdjęcia Projektu:

ZałącznikWielkość
Schemat48.47 KB
Płytka12.44 KB
Płytka (odbicie lustrzane)12.35 KB
Płytka (6 na stronie)61.59 KB
Montowanie14.99 KB
Opis30.76 KB
Soldermaska31.71 KB
Kod Źródłowy3.83 KB
Program po kompilacji (BIN)2 KB
Program po kompilacji (HEX)5.64 KB



Portret użytkownika rafliczek22

No rzeczywiście to bez

No rzeczywiście to bez tłuczenie chyba bedzie nierozbieralne, chyba najlepiej będzie jak zastosujesz tą o której pisałeś, ja (jak wyżej pisałem) grzałem i taka reczną 100w a teraz grzeję z czajnika 1500w ( pokryła się "ładną" warstwą kamienia, może to ją zabezpiecza, ale ta ręczna była bez kamienia i jej nie zjadło)

Portret użytkownika sentriozan

znalazłem w domu grzałkę

znalazłem w domu grzałkę akwariową o mocy 60W bez termostatu ;] więc ta będzie dobra zwłaszcza że moja wytrawiarka będzie mieściła 0,5L Nasiarczanu.

Co myślicie o wytrawiarce natryskowej ?? słyszałem że szybciej trawią miedź jak jest natrysk na miedź, szybciej się grzeje z małej ilości roztworu do 40 stopni, coś na zasadzie takiej:
http://www.elektroda.pl/rtvforum/topic1060475.html
jestem zainteresowany podobnym projektem gdyż mam prawie wszystko co trzeba.

Portret użytkownika mirley

Re: Grzałka

Grzałka firmy SKALAR jest na allegro i ma wersję bez termostatu

-

UWAGA! Możliwy jest zakup zaprogramowanych uC i zestawów elementów itp. do niektórych projektów. O dostępność proszę pytać via email. Konkretne oferty pojawiają się w cenniku.

Portret użytkownika r2r

Podziękowania

Właśnie skończyłem prace nad wytrawiarką, wzorowałem się właśnie na opisywanej tu właśnie.
Wszystko zadziałało świetnie. Podziękowania dla autora "Mirley'a" za inspiracje.

----

Małe podziękowanie poszło też na konto.

Portret użytkownika kamil18202

Optotriak MOC3041

Witam!!
Czy mogę zastowsowac Optotriak MOC3041 zamiast MOC3042 ???

Portret użytkownika r2r

tak możesz zastosować MOC3041

tak możesz zastosować MOC3041

Portret użytkownika gucio222

Wyświetlacz LCD 2x8

Witam
Jestem już prawie na końcowym etapie realizacji trawiarki i mam problem.
Zakupiłem wyświetlacz LCD 2x8 i nie chce działać na odwrocie jest napisane
WC0802C V1.0
poniżej jest napisane
WC0802C-STBLWNC06
po podpięciu zero odzewu przy wyciąganiu z gniazda coś migał, myślałem że coś źle zaprogramowałem albo upaliłem mikroprocesor kupiłem nowy zaprogramowałem i dalej nic odlutowałem kabelki od podświetlenia i zadziałało ale cały czas miga i pokazuje w dolnym wierszu 40.0 i po paru sekundach załącza się od nowa.
Pytanie czy ten wyświetlacz będzie działał.
Pozdrawiam

Portret użytkownika matrix

Re: Wyświetlacz LCD 2x8

Bascom współpracuje z wyświetlaczami opartymi na sterownikach hd44780, więc możesz mieć kłopot.

Portret użytkownika gucio222

Wyświetlacz LCD 2x8

Czyli ten wyświetlacz nie współpracuje z językiem Bascom, a jak można to rozpoznać? Bo widzę na allegro dwa rodzaje i identyczne z wyglądu i jedne są zgodne z HD 44780 a inne nie.
Porażka !!! jak chcę go do czegoś wykorzystać to trzeba nauczyć się innego języka programowania.
gucio222

Portret użytkownika gucio222

Wyświetlacz LCD 2x8

Witam
Dowiedziałem się od sprzedającego że wyświetlacz jest zgodny z HD44780 zamieszczam zdjęcia.
Ciekawi mnie dlaczego nie mogę uruchomić tego sterownika. Próbowałem już nawet z innym czujnikiem temperatury.
Pojawia się najpierw pierwszy ekran a po 4 sekundach drugi.
Pozdrawiam


Portret użytkownika matrix

Re: Wyświetlacz LCD 2x8

W takim razie dokładnie zweryfikuj podłączenie samego lcd. Może maz gdzieś błąd?

Portret użytkownika gucio222

Wyświetlacz LCD 2x8

Wyświetlacz sprawdziłem już chyba z 5 razy połączenia na płytce też.
Zostaje mi jeszcze polutować drugi wyświetlacz i sprawdzić.
Mam jeszcze wyświetlacz 2x16 spróbuje go podpiąć co on pokaże.
Może ma ktoś jeszcze inne propozycje co sprawdzić
Pozdrawiam

Portret użytkownika Grzegorz

stawiam hipotezę, że

stawiam hipotezę, że procesorek z jakiś przyczyn się resetuje, może coś z zasilaniem ?

Jak masz BASCOMA, i cokolwiek umiesz w w nim napisać, to pobaw się tym, co masz.
Wgraj do procka prosty programik, który wyświetla jakiś dowolny napis to zweryfikujesz poprawność połączeń wyświetlacza.
I zobaczy się, czy nadal miga ?

Rozbuduj program i jakąś zmianę napisu, w następstwie naciśnięcia przycisku, to weryfikujesz poprawność połączeń przycisków
i wyświetlacza.

itd.

Pozdrawiam
GGO

Portret użytkownika gucio222

Wyświetlacz LCD 2x8

Witam
Dziś sprawdziłem:
- drugi wyświetlacz efekt taki sam
- inny nowy procesor wgrałem wsad hex
- przekopiowałem program do Bascom-a jeszcze raz go skompilowałem i wgrałem do nowego procesora i nic.
- sprawdziłem wszystkie połączenia
już brakuje mi pomysłów.
Bascom-a nie nam tak dokładnie jestem na pozycji czytania i analizowania programów.
Jestem początkujący.
Pozdrawiam gucio

Portret użytkownika matrix

Re: Wyświetlacz LCD 2x8

To może wstaw ten swój program.

Portret użytkownika Grzegorz

Jedno ze zdjęć, pokazuje, że

Jedno ze zdjęć, pokazuje, że do wyświetlacza trafiają właściwe dane
bo pokazuje sie temparatura zadana -> '40 w drugim wierszu"
nie został wykonany żaden pomiar -> "0 w pierwszym wierszu"

Jak jesteś na etapie analizowania kodów, to bardzo dobrze, znakomita okazja do takich analiz.
Uprość program na maksa, wyrzuć z programu wszystko, poza konfigracją i zmiennymi.
i zadaj wyswietlanie prostego tekstu. Na przykład tak:

'************* Konfiguracja uC *****************
'***********************************************
$regfile = "attiny2313.dat"
$crystal = 8000000
Config Portb = &B11111111 : Portb = &B11111111
Config Portd = &B11000111 : Portd = &B11111111
Config Lcdpin = Pin , Db4 = Portb.4 , Db5 = Portb.5 , Db6 = Portb.3 , Db7 = Portb.2 , E = Portb.7 , Rs = Portb.6
Config Lcd = 16 * 2
Cls
Cursor Off Noblink
Config 1wire = Pind.2
'Config Timer0 = Timer , Prescale = 256
'Enable Timer0 : On Timer0 Prztimer0

Grzalka Alias Portd.6
Sw1 Alias Pind.3
Sw2 Alias Pind.4
Buzz Alias Portd.0

' Config Watchdog = 2048
' Enable Interrupts
'********** Konfiguracja uC Koniec ************

'****************** Zmienne *******************
'***********************************************
Dim Dziel(2) As Byte
Dim Flaga_1s As Bit , Flaga_100ms As Bit

Dim Hb As Byte , Hw As Word 'globalne uniwersalne zmienne pomocnicze
Dim N As Byte 'pomocnicza

Dim Tt As Word 'zmienna pomocnicza do wyświetlania liczb typu xx.x na lCD
Dim Tm As Word , Tu As Word
Dim Tdif As Integer
Dim Pomiar_odczyt As Bit
Dim Ster_licz As Byte
Dim Ster As Byte
'************* Zmienne Koniec ****************
'************ Warunki Poczatkowe ***************
'***********************************************

'******* Warunki Poczatkowe Koniec ***********
'************** Petla glowna ******************
'***********************************************
Do
Locate 1 , 1
Lcd "Pierwsza linia."

Locate 2 , 1
Lcd "Druga linia."
Loop
End

Prawdopodobnie ucieszysz się stale świecącymi sie napisami w wyświetlaczu.
Jak nie to problem z podłączeniem wyświetlacza. Do póki tego nie pokonasz dalej nie ma co wędrować.

Potem w głównej pętli dodaj potem jakąś trywialną obsługę przycisków, na przykład:

Do
Locate 1 , 1
Lcd "Pierwsza linia."

Locate 2 , 1
Lcd "Druga linia."

If Sw1 = 0 Then
Locate 1 , 1
Lcd "Przycisk 1 "
End If

If Sw2 = 0 Then
Set Buzz
Locate 2 , 1
Lcd "Przycisk 2 "
Else
Reset Buzz
End If

Loop
End

Pewnie znów zadziała, zapiszczy i ucieszy. Jak coś nie działa, to sprawdzaj połączenia, aż zadziała.

Jak zadziałają elementy "sprzęgu z człowiekiem", to dodaj wywołanie odczytu z DS'a i wyświetl wynik.
A jak to zrobić ?
Analizuj, analizuj, opisow jak i jakie różne osoby napotkały różne problemy jest dużo.

I tak dalej, aż zadziałają wszystkie poszczególne elementy układu.
Wtedy cały program Mirleya przestanie być tajemnicą i na pewno będzie działał.

Ucz się w ten sposób i ciesz się "odkryciami" !!

Wesołych Świąt i Dużo Radości Życzę !!

Portret użytkownika gucio222

Wyświetlacz LCD 2x8

Witam
Dzięki Grzegorz przy twojej pomocy stwierdziłem że wyświetlacz jest OK zresztą obydwa wyświetlacze tchnęło to sensem dalszej walki w drugiej fazie zauważyłem że buzer nie daje sygnału - pomyłka w biegunach po odwróceniu działa.
Problem z drugą częścią programu pojawia się napis "pierwsza linia" i "druga linia" oraz działa buzer ale niestety przyciski już nie uruchamiają dalszych napisów i nie wyłączają buzera.
Walczę dalej.
Dziękuje za życzenia i nawzajem.
Pozdrawiam Gucio222

edit 17:18
wykonałem na symulatorze część schematu (wyświetlacz procesor i dwa przyciski i dioda led za buzer) i okazało się że jeżeli przyciski są przyłączone do masy to jest możliwość zmiany napisów i wyłączania buzera-diody led.

Portret użytkownika emil134679

Fusy

Możesz wstawic fusy z bascoma ???
Wielkie dzięki

Portret użytkownika mirley

Re: Fusebity

Akurat nie mam pod ręką tiny żeby bascom mógł go odczytać..... wystarczy że wyłaczysz tylko bit CKDIV i powinno działać.

-

UWAGA! Możliwy jest zakup zaprogramowanych uC i zestawów elementów itp. do niektórych projektów. O dostępność proszę pytać via email. Konkretne oferty pojawiają się w cenniku.

Portret użytkownika emil134679

Jak będe miał attiny do tej

Jak będe miał attiny do tej trawiareczki to wrzuce moje fusy i pomożesz mi to ustawic

Chodzi o fusebit c by go zamknąc a fusa kla.... zostawic ?

Portret użytkownika mirley

Re; Fusebity

Jedyne co trzeb tu ustawić to jest bit CKDIV, nazwa fusebit C nic mi aktualnie nie mówi bo od ponad roku nie uzywam bascoma do ustawień fusebitów. Jak jednak wrzucisz zrzut z bascoma to powiem co trzeba przestawić.

-

UWAGA! Możliwy jest zakup zaprogramowanych uC i zestawów elementów itp. do niektórych projektów. O dostępność proszę pytać via email. Konkretne oferty pojawiają się w cenniku.

Portret użytkownika emil134679

Fusy

Oto fusy:
http://imageshack.us/photo/my-images/200/fusy.jpg/
Które mam przestawic ???

Portret użytkownika mirley

Re: Fusy

Tylko fusebit C czyli CKDIV tak jak pisałem wcześniej. Ma mieć wartość "disabled"

-

UWAGA! Możliwy jest zakup zaprogramowanych uC i zestawów elementów itp. do niektórych projektów. O dostępność proszę pytać via email. Konkretne oferty pojawiają się w cenniku.

Portret użytkownika emil134679

A tego kla... zostawic w

A tego kla... zostawic w spokoju ???

Portret użytkownika mirley

Re: fusy

nie rozumiesz po polsku stwierdzenia "Tylko fusebit C.. ".... co chcesz więcej zmieniać jak reszta bitów jest domyślnie ustawiona tak jak trzeba?

-

UWAGA! Możliwy jest zakup zaprogramowanych uC i zestawów elementów itp. do niektórych projektów. O dostępność proszę pytać via email. Konkretne oferty pojawiają się w cenniku.

Portret użytkownika emil147963

fusy

To ja emil
Tak pytałem dla pewności

Portret użytkownika Jaras

sterownik

Witam wszystkich.
Panowie wykonałem sterownik i nic. Na wyświetlaczu pojedynczy rząd kratek. Po wgraniu do procka prostego lcd coś tam
wyświetla prawidłowo. Niby wyświetlacz podłączony prawidłowo.Na wgranie okrojonego powyższego programu brak reakcji.
Czy nie podłączony buczek oraz element wykonawczy mają wpływ na brak reakcji wyświetlacza.

Portret użytkownika emil134679

Zaprogramowałem i nie

Zaprogramowałem i nie działa
Na nóżkach scalaka jest nap. ale np: przy nóżce idącej do optotriaka nie ma napięcia
Pomocy

Portret użytkownika gucio222

Problemy z uruchomieniem

Witam
Ja też walczyłem z tym urządzeniem.
Ale wszystko jest prawie Ok zostało jeszcze napisy zrobić na obudowie i tyle.

Pytanie do kolegi Mirka
- czy przyciski działają bo u mnie da się zwiększyć temperaturę termostatu ale obniżyć się nie da trzeba resetować wyłączyć i włączyć urządzenie.

Uwagi dla kolegów
- przy braku podłączenia termometru sygnał dźwiękowy, górna linijka wyświetlacza wyświetla 409.5 dolna 40.0

Portret użytkownika emil134679

Ps: Narazie mój sterownik

Ps:
Narazie mój sterownik pozbawiony lcd a buzzera, tranz. i dwóch 3,3k też nie będzie
Czy przyczyna tkwi w buzzerze? (lcd będzie)
Tak jak mówiłem
Podłączyłem zasilanie i stabilizator działa
Triak z optotriakiem też działają (podałem nap. na diodę optotriaka i sprawdziłem przewodnośc przy gniazdku 220V)
Układ nie reaguje na zmianę temp. dallasa (wogóle nie podaje nap. na optotriaka)
Czy to wina programowania (coś nie tak) ???

Portret użytkownika mirley

Re: Trawiarka

Nawet bez LCD układ powinien dążyć do utrzymania 40 stopni. Napięcie na wyjściu triaka pojawia sie impulsowo gdy temperatura dochodzi do zadanej. W temperaturze pokojowej grzałka powinna chodzic cały czas. To że przy praku DS18b20 jest 409.5 stopnia to normalne. Nie starczyło miejsca na obsługę errorów. Obsługa dwóch przycisków jest napisana na pind.3 i pind.4.

napewno macie dobrze procki zaprogramowane? jest zasilanie 5V na procku podczas pracy?

-

UWAGA! Możliwy jest zakup zaprogramowanych uC i zestawów elementów itp. do niektórych projektów. O dostępność proszę pytać via email. Konkretne oferty pojawiają się w cenniku.

Portret użytkownika emil134679

Napięcie jest wszędzie gdzie

Napięcie jest wszędzie gdzie powinno byc
Poprostu gdy włączyłem układ to jako urządzenie wyk. podłączyłem diodę
Po zmianach temperatury i kombinowaniach nie zaświeciła
Czyli prwogramowac jeszcze raz (tym razem w avrdude z zakładką burn o mat)
Podasz mi link do tego proramu

Dodano:
Próbowałem na nowo programowac w bascomie i nic
Podaj link to spróbuje w avrdude

Portret użytkownika mirley

Re: Trawiarka

Burn-o-mata znajdziesz tutaj http://www.brischalle.de/avr8_burn-o-mat_avrdude_gui/avr8_burn_o_mat_avrdude_gui_en.html ale prawdopodobnie nic to nie zmieni bo mało istotne jest w jakim programie programujesz

-

UWAGA! Możliwy jest zakup zaprogramowanych uC i zestawów elementów itp. do niektórych projektów. O dostępność proszę pytać via email. Konkretne oferty pojawiają się w cenniku.

Portret użytkownika emil134679

Poprostu wnioskuje że nawala

Poprostu wnioskuje że nawala mi procek bo inne 'części' urządzenia działają (sprawdzalem)
Zastanawiam się, czy gdy kupię LCD (i stracę pieniądze) czy to coś zmieni w zachowaniu sterownika
Kolego mirley:
Jeżeli byś mógł do wsadź do tego sterownika attinkę zaprogramowaną w bascomie ustawieniami takimi jak mi podałeś i bezpośrednio z pliku o rozszerzeniu .bin i napisz jak u ciebie

Portret użytkownika emil134679

Muszę sprawdzic jak kupie lcd

Muszę sprawdzic jak kupie lcd czy mam kratki czy 409.5 st.
Z tego co wiem z doświadczenia z lcd to kratki mówią o źle zaprogramowanym procku a akurat tu 409.5 st. o spalonym ds'ie

Portret użytkownika mirley

Re: LCD

A kontrast do wyświetlacza ustawiłeś? Może pomyliłeś wyprowadzenia ds18b20? jakie fusy masz ustawione jak dasz "read" w bascomie?

-

UWAGA! Możliwy jest zakup zaprogramowanych uC i zestawów elementów itp. do niektórych projektów. O dostępność proszę pytać via email. Konkretne oferty pojawiają się w cenniku.

Portret użytkownika gucio222

Przyciski

Gnębią minie te przyciski jest cztery wyprowadzenia do złącza jak podłączyć piny pind.3 pind.4 do masy czy inaczej.
Może jakiś schemacik, obrazek co kolwiek.
Pozdrawiam Gucio222

Portret użytkownika mirley

Re: Przyciski

No to proste... jeden przycisk od pinu d.3 a z drugiej strony do masy, drugi przycisk do pinu d.4 a z drugiej strony do masy

-

UWAGA! Możliwy jest zakup zaprogramowanych uC i zestawów elementów itp. do niektórych projektów. O dostępność proszę pytać via email. Konkretne oferty pojawiają się w cenniku.

Portret użytkownika gucio222

przyciski

Dzięki za odpowiedź.
Czy pin d.5 jest bez użyteczny w tym schemacie.
Pozdrawiam Gucio222

Portret użytkownika emil134679

sterownik

teraz jestem na wakacjach (w czechach) wiec nic nie powiem o sterowniku. Burn o mat mam
ale czy mozna z niego korzystac bez avrdude? Chyba nie

jeszcze jedno pytanko, czy pod ten sterownik (jezeli go uruchomie) i pod wykonany przezemnie
termometr mozna podpiac jeden ds18b20 ? Nie zmieni to utrzymywanej temp. I nie zakluci pracy urzadzen?
Chcę w pokoju kontrolować temp.
Sory za bledy (pisze z komórki)

dodano:
jest bardzo prawdopodobne że spaliłem ds'a
kupie ten lcd i sprawdzimy
to read też kliknę

Portret użytkownika mirley

Re: Trawiarka

Tak tylko 2 piny są używane w tej wersji programu.

----------

musi być avrdude, burn-o-mat to tylko nakładka. Jednego ds18b20 nie da się podłączyć do dwóch procków.... chociaż można to sprawdzić

-

UWAGA! Możliwy jest zakup zaprogramowanych uC i zestawów elementów itp. do niektórych projektów. O dostępność proszę pytać via email. Konkretne oferty pojawiają się w cenniku.

Portret użytkownika emil134679

a zapodasz linka do avrdude

a zapodasz linka do avrdude bo burn o mat mam

Portret użytkownika mirley

Re: Avrdude

Jest w załącznikach do usbaspa http://mirley.firlej.org/files/USBASP_avrdude.zip poza tym po wpisaniu na google będzie mnóstwo wyników na temat avrdude

-

UWAGA! Możliwy jest zakup zaprogramowanych uC i zestawów elementów itp. do niektórych projektów. O dostępność proszę pytać via email. Konkretne oferty pojawiają się w cenniku.

Portret użytkownika emil134679

Ściągałem z neta już avrdude

Ściągałem z neta już avrdude i widzę że z twoim plikiem mam to samo:
Przy włączeniu wywala mi że brak pliku libusb0.dll. Tak samo miałem ze wszystkimi pobranymi z neta
Co zrobic w tym przypadku?

Dodano:
Czy to znaczy że nie ma procka?
Muszę go podpiąc przed włączeniem?
Czy musi byc prog. USB czy mogę podł. pod LPT bez bufora?

Portret użytkownika mirley

Re: USB

To znaczy że brak ci sterowników lub jakichś innych plików potrzebnych do działania programatora na USB. Jaki masz programator? Jak chcesz programować pod LPT to wykorzystaj BASCOMA, on nie potrzebuje dziwnych sterowników do LPT tak jak avrdude

-

UWAGA! Możliwy jest zakup zaprogramowanych uC i zestawów elementów itp. do niektórych projektów. O dostępność proszę pytać via email. Konkretne oferty pojawiają się w cenniku.

Portret użytkownika matrix

Re: USB

Jak napisał Mirek wyżej. Brak Ci sterownika do usb. W takim przypadku klikasz prawym mój komputer, wybierasz Właściwości, menedżer urządzeń i patrzysz czy masz gdzieś żółty wykrzyknik przy porcie usb. Jak masz to dajesz na niego prawy klawisz myszy i wybierasz aktualizuj sterownik i ściągasz z netu co trzeba. Może nie masz sterów od płyty głównej?

Portret użytkownika emil134679

mam prosty prog. na lpt bez

mam prosty prog. na lpt bez bufora
to znaczy ze z avrdude nici :(
to co zrobic z tym bascomem, bo nie ogarniam

walcze i nic i chzba dam se spokoj

Portret użytkownika mirley

Re: Programowanie

Patrz tutaj. W bascomie jest to bardzo proste

-

UWAGA! Możliwy jest zakup zaprogramowanych uC i zestawów elementów itp. do niektórych projektów. O dostępność proszę pytać via email. Konkretne oferty pojawiają się w cenniku.

Portret użytkownika emil134679

Twój temat o fusebitach mi

Twój temat o fusebitach mi bardzo pomógł ale wykonałem inny projekt
Za ten się weznę jak będe miał nerwy :)

Portret użytkownika popak

Pomoc w programie

Witam
Mam pytanie do mirley-a.
Przerabiam trochę kod dla własnych potrzeb i mam mały problem, a właściwie dwa. :-)
Pierwszy to taki:
Jak przerobić kod aby buzer dostawał ciągły sygnał, a nie przerywany? Bo zamiast buzera będę miał pompkę powietrza.
Drugi to taki:
Jak zrobić histerezę aby cały czas była ustawiana na 5 stopni. Chodzi mi o to że jak ustawie temperaturę na 35 stopni, to grzała grzeje do tych 35 stopni i się wyłącza. Po spadnięciu temperatury o 5 stopni (do 30 stopni) ponownie się załącza grzałka.
Ps. O miejsca w AVR nie martwię się bo całość będzie sterowana atmegą8 lub 16 ;-)

Pozdrawiam