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 Domino

A silikon nie zda egzaminu ?

A silikon nie zda egzaminu ?

Portret użytkownika mirley

Re: Silikon

Być może zda egzamin ale on nie łączy się trwale z plexi (nie nadtapia jej struktury) więc połączenie jest mniej pewne jak dla mnie. Może jakiś specjalny silikon do klejenia akwariów dał by radę ale trzeba 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 kaban

efekt pracy sterownika trawiarki w ciut innym wydaniu

A oto efekt(częściowy) pracy sterownika trawiarki, jaki wykonałem :)
Przy okazji, dzięki Mirley za pomoc ;)

Portret użytkownika Andre

Dziwne zjawisko

Podczas pracy trawiarki, w różnych sytuacjach (np. włączenie lub wyłączenie pompki) na LCD pokazują się krzaki. Nie są one zapalone na stałe, a szybko się zmieniają. Czy coś mi się tam wzbudza? Po restarcie urządzenia jest o.k. ale wraca to dość często.

-

Andre

Portret użytkownika Matt_x89

Wyswietlacz

Miałem takie problemy kiedy połączyłem długą taśma LCD do płytki z uC. W Twoim przypadku może to też być słaba filtracja zasilania z którego korzysta LCD. Ja rozwiązałem to stosując dławik 10uH. Przed nim dałem kondensator elektrolityczny 220uF i ceramiczny 100nF. Za dławikiem dałem jeszcze jeden kondensator 100nF(możesz jeszcze dać elektrolit 47uF). Przylutowałem to przy samych pinach zasilania wyświetlacza(piny 1 i 2) i problem znikł.

Pozdrawiam

Portret użytkownika Andre

Wyświetlacz

O widzisz, może to będzie to. Taśmę mam ok. 7cm (już ją nawet skróciłem z 12cm),ale faktycznie filtracji żadnej nie dodawałem.
Swoją drogą, wprowadziłem już tyle zmian w Mirka projekcie schematu i płytki (pod swoje widzimisię, bo sam projekt Mirka jest jak najbardziej o.k.), że chyba będę musiał w końcu zrobić układ trawiarki jeszcze raz :-)

Aaa, i jeszcze jedno. Mirley, Ty jesteś jednak GOŚĆ. Wszędzie Cię znają :-D

-

Andre

Portret użytkownika mirley

Re: Trawiarka

Krzaki na LCD często są przyczyną zakłóceń lub zwieszenia procka, wypadało by oprócz dobrej filtracji zasilania, jak napisano wyżej dodać do programu reinicjalizację LCD. U mnie ten problem występował w innym układzie jak miałem przekaźniki w okolicy LCD. Można dodać co jakiś czas w programie żeby wykonywał INITLCD

-

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 Andre

Buzzer inaczej

Mirley, najlepszego na nowej drodze, itd. :)

Tak sobie myślę, czy dałoby się zmieścić jeszcze w tym programie sygnał dźwiękowy (krótki) po uzyskaniu przez płyn zadanej temperatury, a nie tylko po osiągnięciu krytycznej?

-

Andre

Portret użytkownika mirley

Re: Trawiarka

Dzięki za życzenia.....

---------

CO do trawiarki to w procedurze sterowania trzeba zmienić if'a od alarmu na:

  If Tm >= 600 Then
    Set Grzalka
    Toggle Buzz
  Else
    If Rr = 0 Then
      If Tdiff < 2 Then
        Buzz = 0
        Rr = 1
      Else
        Buzz = 1
      End If
    Else
      Buzz = 1
    End If
  End If

Na początku trzeba zadeklarować Rr jako bit i ustawić jej wartość na 0 w warunkach początkowych

-

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 Andre

Re: Buzzer inaczej

No, teraz ładnie. Tyle tylko, że program ... nie mieści się w procku :)
Dałem sobie z tym radę, wykopując trochę wyświetlanego tekstu z LCD. Teraz program ma 100% zajętości uC.

Podziękował.

-

Andre

Portret użytkownika Szars

Wyswietlacz

Zrobiłem powyższy projekt, zaprogramowalem attiny (.bin) i po włączeniu na wyswietlaczu pojawia sie:
Obecna temperatura - OK
Temepratura docelowa - juz nie koniecznie (gdy wlacze uklad to wynosi ona 40stopni, ale bardzo szybko po włączeniu rosnie do ~60stopni.)
Jaka moze byc tego przyczyna?

Portret użytkownika mirley

Re: trawiarka

Masz zwarcie przycisku + do masy. I jest efekt jakbys cały czas trzymał przycisk. Albo sam przycisk jest uszkodzony albo gdzieś na płytce się cos zwarło.

-

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 movan

wytrawiarka

Witam czy do tego projektu można użyć wyświetlacza 2*16 znaków

-

movan

Portret użytkownika Andre

LCD 2*16

Można - wejdź na Forum, tam masz wszystko, co potrzeba.

-

Andre

Portret użytkownika movan

Witam mam problem po

Witam mam problem po podlączeniu wyświetlacz pokazuje 40 stopni na dole wyswietlacza a na gorze zero

-

movan

Portret użytkownika Andre

No to masz zimną

No to masz zimną wodę.
Podgrzej ją trochę :-)

A tak serio, to może źle podłączyłeś czujnik albo jest uszkodzony?

-

Andre

Portret użytkownika movan

Jaka może być przyczyna

Jaka może być przyczyna migającego wyświetlacza co jakieś 2 sekundy

-

movan

Portret użytkownika mirley

Re: Trawiarka

A fusebity są dobrze ustawione, wyłączyłeś podzielnik prze 8?

-

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 andrzej19903

Chciałem się dowiedzieć w

Chciałem się dowiedzieć w jaki sposób wykonuje Pan obliczenia dla Timerów tzn. jak Pan wylicza to że np. w projekcie tej trawiarki liczy Pan 25 przerwań co daje czas 100ms. W tym przypadku przerwanie jest zgłaszane co 4ms? jak to wszystko wyliczyć? Jestem na etapie poznawania Timerów i zależy mi na tym aby to wszystko dogłębnie poznać i się tego nauczyć

Portret użytkownika rafliczek22

Ten temat był poruszany nie

Ten temat był poruszany nie wiem ile razy, ale napiszę raz jeszcze.

Mamy zegar główny 8MHz, preskaler timera 256 a więc 8000000/256 = 31250Hz z taką częstotliwością taktowany jest ukłąd timera. Timer0 jest 8-bitowy a więc liczy do 256, ale co każde przerwanie jest do niego ładowana wartość 131 więc naprawdę zliczy 256-131=125 taktów. Teraz 31250/125=250Hz czyli z taką częstotliwością wywołuje się przerwanie czyli co 4ms.

Jednak jeśli nie wiesz o takich podstawach to zostaw to na później, a najlepiej przeczytaj jakiś kurs (najlepiej z C, szybko zalety bys docenił)

Portret użytkownika Krzysiek

Czujnik temperatury

A mnie interesuje w co "opakowałeś" ten czujnik temperatury, w jakąś koszulkę termokurczliwą? Roztwór nic w nim nie nadtrawia, może sobie być w nim zanurzony cały czas? Widzę że już półtora roku jak zbudowałeś tą trawiarke, musiałeś może przez ten czas wymianiać już jakiś element z tych co mają bezpośredni kontakt z roztworem?

Pozdrawiam
Krzysiek

Portret użytkownika mirley

Re: Trawiarka

Narazie nie wymieniałem żadnych elementów. Musiałem za to poprawić szczelność pojemnika bo zaczął przeciekać.... Czujnik DS z nóżkami izolowanymi termokurczliwką okleiłem bodajże poxipolem bo juz nie pamiętam. Najlepsza była by jednak jakaś rurka zamknięta od dołu, cos jak próbówka i zalac to olejem

-

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 andrzej19903

Staram się przeanalizować i

Staram się przeanalizować i zrozumieć kod tego programu i już prawie załapałem o co chodzi ale prosił bym o rozszyfrowanie skrótów tych zmiennych: Hb, Hw, N, Tt, Tm, Tu, Tdif

Portret użytkownika andrzej19903

Witam, Chce wykonać ten

Witam,
Chce wykonać ten sterownik do trawiarki na ATmega8 i również chciałbym dodać do programu funkcje sprawdzania czy czujnik temperatury odpowiada czy jest sprawny. Jeśli czujnik jest uszkodzony to miałby wyświetlać napis brak układu i wejść w nieskończoną pętle w celu zablokowania grzałki aby po prostu w ten sposób odłączyć grzałkę. Próbowałem to zrobić w taki sposób:

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)      
If Err = 1 Then                                          'jeśli układ DS18B20 dołączony do magistarli ale nie odpowiada
 Lcd "brak ukladu"
     Do                                                    'nieskończona pętla w celu wstrzymania działania programu
 
      Loop
   End If 
 Tm = Tm * 10                                          
    Tm = Tm / 16                                           
  End If                                                    
  Enable Interrupts             

Efekt jaki jednak otrzymałem nie jest taki jak chciałem tzn. na wyświetlaczu przy braku czujnika na zmianę pojawia się napis brak ukladu i wyświetlane są wartości temperatury mierzonej, ustawionej oraz ster, a także grzałka jest uruchomiona. Jak można wyeliminować to zjawisko i żeby w takiej sytuacji awaryjnej wyświetlał się tylko napis brak układu i odłączał grzałkę?

Portret użytkownika mirley

Re; Trawiarka

Tak tego nie zrobisz bo jak program wchodzi w twój do loop to się reset watchdoga nie wykonuje i resetuje się procek. W miejscu gdzie masz ten do loop wstaw ustawienie zmiennje flagi na 1. A w miejscu gdzie wywołuje się procedura sterowanie trzeba wstawić ifa, który sprawdza stan tej flagi.

    Gosub Temperatura
    if flaga = 0 then 
      Gosub Sterowanie
    Else
      Set Grzałka
    End if

-

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 gosc

Witam jak powinny wyglądać

Witam jak powinny wyglądać ustawienia fusebitów w programie sinaprog.

Portret użytkownika mirley

Re: fusy

Prześlij jakiś zrzut z okienka z fusami bo pierwszy raz słyszę o takim programie

-

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 silverro

Witajcie! Mam zapytanie.

Witajcie!

Mam zapytanie. Interesuje mnie zmiana parametrów dot. buzzera mianowicie chciałbym aby buzzer "zapikał" przy 40*C

If Tm >= 600 Then
Set Grzalka
Toggle Buzz
Else
Buzz = 1
End If

Nie mam pojęcia jak to zmienić. Pomożecie??

Portret użytkownika mirley

Re: trawiarka


Jak zmienisz ten fragment to buzzer będzie cały czas pikał przy 40 stopniach a nie tylko jednorazowo da sygnał. W każdym bądź razie w pierwszej linijce jest If Tm >= 600 Then. wartość 600 to temperatura 60.0 stopnia jak tam wstawisz 400 to będzie alarm przy 40 stopniach.

Żeby raz pikło to trzeba wkleić drugi taki fragment:

if Tm < 300 then Pik_licz = 0
If Tm >= 400 And Pik_licz < 4 Then
  incr Pik_licz
  select case pik_licz
    Case 1: Buzz = 0
    Case 2: Buzz = 1
    Case 3: Buzz = 0
    Case 4: Buzz = 1
  end select
End If

Trzeba dodać nową zmienną Pik_licz as byte ale nie wiem czy to się zmieści w tiny2313 bo pisze to na sucho

-

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 Chester

Histereza

Witam

Gdzie w programie znajdują się zmienne odpowiedzialne za ustawianie histerezy? W jaki sposób to rozwiązałeś?

Pozdrawiam

Portret użytkownika mirley

Re: Histereza

Nie ma żadnej histerezy bo sterowanie jest liniowe

-

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 carbon54

Wtrawiarka.

Witaj.Przeglądałem kilka razy Twoje opracowanie trawiarki i na schemacie widziałem kilka ciekawostek.Sam szukam inspiracji dla swojej trawiarki.Chodzi mi o kontrolki informujące o włączonym obwodzie.(grzałka,napowietrzanie,włączenie zasilania głównego) W Twoim projekcie w obwodach 230V podłączone są diody LED tylko przez opornik 56K. W internecie znalazłem kilkanaście różnych wariantów z LED-ami podłączonymi przez opornik.kondensatory i diody prostownicze.Czy w Twoim przypadku takie podłączenie LED-ów jest właściwe.? Czy faktycznie wystarczy tylko opornik by podłączyć diodę pod nap.230V.Pozdrawiam.

Portret użytkownika mirley

Re: Diody 230V

teoretycznie nie powinno się podłączać diod bezpośrednio pod 230V bez drugiej równoległej diody prostowniczej. Napięcie wsteczne może przebić diodę jeśli nie ma tej drugiej prostowniczej. W praktyce zależy to od diody i zwykle nie ma z tym problemu - dioda przeżyje. Może się tak zdarzyć że podłączając sam rezystor, ulegnie ona uszkodzeniu. Ja mam tak jak pokazałem i 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 carbon54

Kontrolki LED.

Dzięki za błyskawiczną odpowiedź.Problem rozwiązany.

Portret użytkownika junkers11

Grzałka

Czy zamiast tamtej grzałki mogę wstawić taką http://allegro.pl/grzalka-do-wody-turystyczna-500w-i3183398588.html

Portret użytkownika demsy1

Grzałka

Do tej grzałki trzeba zastosować mocniejszy układ wykonawczy czyli mocniejszy triak lub odpowiedni przekaźnik.

Portret użytkownika mirley

Re: Grzałka

Myślę że triak sobie poradzi z mocą 500W bez problemu, ewentualnie niewielki radiatorek będzie trzeba dac. Problem jednak jest po stronie odpornści tej grzałki na wytrawiacz. Wydaje mi się że zostanie "zjedzona"

-

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 mtwronka

Witam mam pytanie czemu jak

Witam mam pytanie czemu jak wgrywam plik hex do procesora to wyskakuje mi że procesor ma za mało miejsca?

Portret użytkownika mirley

Re: trawiarka

Spróbuj przekompilowac program ale ten dostępny na stronie powinien działac bez kłoptou

-

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 kakus

wyswietlacz

Witam postanowiłem zbudowac taki układ mam problem z wyswietlaczem wgrałem juz do mikrokontrolera softa na wyswietlaczy nic nie pokazuje ani nie swieci jak go prawidłowo podłonczyc widze na fotkach ze wszystkie piny sa przylutowane ale gdzie czy mógłby ktos zrobic fotke jak prawidłowo przylutowac ja przylutowałem tak ze 4 te pierwsze puzniej jest przerwa sa tez cztery te zostawiłem i te na dole 6 szt przylutowałem tak jak na płytce było i nie działa pomorze ktoś

-

krzys

Portret użytkownika Jarek

Wymary grzałki

Wiatm.
Mógłbyś podać długość tej 300 watowej grzałki skalar?
Pozdrawiam
Jarek

Portret użytkownika Robert

Pompka

Witam.

Jakiej wydajności jest pompka napowietrzająca?

Pozdrawiam
Robert

Portret użytkownika mirley

Re: Pompka

Dowolna mała bo i tak trzeba zaworek do regulacji przepływu powietrza

-

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 PS

wartości

jakie moce mają podzespoły

Portret użytkownika mirley

Re: Trawiarka

Chodzi o rezystory? 0.25W zawsze, jeśli nie napisano inaczej na liście elementów

-

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 Marek

co kupić

Witam
Chciałbym złożyć taką wytrawiareczkę i mam pytanie jaką grzałkę i pompkę kupić przy wymiarach 30cm x30cm x5cm ?
Pozdrawiam

Portret użytkownika mirley

Re: trawiarka

pompka dowolna bo i tak musisz mieć zaworek żeby sobie regulować powietrze, co do grzałki to przy 2,5cm szerokości ja mam grzałkę 300W 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 Niko

Witam Czy zamiast

Witam

Czy zamiast wyświetlacza LCD 8x2 można użyć 24x2 ?

Portret użytkownika Andre

LCD 24x2

Oczywiście, że można. Ja dałem wyświetlacz 16x2. Im dłuższa linia, tym więcej wejdzie tam znaków, jeśli będziesz chciał dodać coś od siebie. Jeśli długość kodu programu Ci na to pozwoli.

-

Andre

Portret użytkownika Zbyszek

trawiarka

Witam wszystkich.
Jestem początkującym w dziedzinie elektroniki, stąd moje pytania. Na schemacie projekcie płytki nie widzę przycisków do ustawiania temperatury. Czytałem wyżej i już wiem gdzie je podłączyć, ale pytanie jest o ich rodzaj, czy to mają być typowe microswitche, czy jakieś inne? Drugie pytanie, to jakie zastosować diody led?
Pozdrawiam, Zbyszek.