(5 głosujących) Urządzenie jest sterownikiem (programatorem czasowym) pozwalającym na sterowanie niezależnie pracą dwóch urządzeń, przez włączanie ich o określonej godzinie i/lub na odpowiedni ustawiony wcześniej czas. Posiada wiele trybów pracy do których należą między innymi: cykliczne włączanie z określonymi czasami działania i przerwy oraz praca w konkretnych godzinach w jednym lub dwóch przedziałach czasu . Ten wyłącznik przyda się do sterownia pracą fontanny, światełek ozdabiających dom podczas świąt gdy nie chcemy zostawiać ich włączonych na całą noc, a nawet jako symulator obecności domowników poprzez zapalanie lamp w domu.
Działanie:Schemat ideowy wyłącznika przedstawia rysunek poniżej: Sercem układu jest mikrokontroler U1 (ATMega8) wraz z rezonatorem kwarcowym X1 (8MHz) i kondenstorami C1 (22pF), C2 (5,6pF) oraz trymerem C3 (10-20pF) za pomocą którego możemy ustawić częstotliwość zegara procesora aby wynosiła dokładnie 8MHz. Złącze Prog służy do programowania mikrokontrolera a rezystory R21 - R24 (330R) zabezpieczają port drukarkowy komputera przed uszkodzeniem. Na czas programowania należy pozostawić rozłączoną zworkę JP. Przyciski S1 - S4 stanowią klawiaturę umożliwiającą ustawianie parametrów pracy urządzenia. Złacze Zas służy do podłączenia napięcia zasilającego o wartości ok. 7-12V. Kondensator C4 (220uF) filtruje to napięcie. Stabilizator U2 (7805) wraz z diodą D1 (1N4007) oraz kondensatorem C5 (47uF) dostarcza napięcia ok 5,6V, które po przejściu przez diodę D2 (1N4007) stanowi zasilanie procesora (ok. 5V). Diody D3 - D5 (1N4007) mają za zadanie obniżyć napięcie zastosowanej baterii które powinno być mniejsze niż napięcie pochodzące z zasilacza sieciowego. Napięcie zasilacza wyższe niż baterii (na nóżce 7 mikrokontrolera) powoduje spolaryzowanie diod D3 - D5 w kierunku zaporowym i tym samym odłączenie baterii od mikrokontrolera. Podczas zaniku napięcia zasilania dioda D2 zostanie spolaryzowana w kierunku zaporowym, diody D3 - D5 w kierunku przewodzenia a procesor będzie zasilany z baterii. Tranzystor T5 (BC548) wraz z rezystorem R25 (15k), R26 (3,3k) oraz R27 (15k) stanowi obwód wykrywania zaniku napięcia zasilającego. Triaki Tr1 (BT138) oraz Tr2 (BT138) wraz z optotriakami OPT1 (MOC3042) i OPT2 (MOC3042) stanowią obwody wykonawcze uruchamiające sterowane urządzenia. Diody D6 (LED) i D7 (LED) włączone szeregowo z diodami optotriaków sygnalizują stan pracy triaków. Rezystory R19 (180R/100R) oraz R20 (180R/100R) ograniczają prąd diod D6 i D7. Tranzystory T1 - T4 (BC557) wraz z rezystorami R1 - R8 (3,3k) są odpowiedzialne za sterowanie anodami wyswietlaczy podczas jego multipleksowania. Rezystory R9 - R16 (470R) ograniczają prąd segmentów wyświetlacza. Budowa:Urządzenie można zbudować w oparciu o płytkę dostępną tutaj. Rysunek w odbiciu lustrzanym dostępny jest tutaj. Montaż rozpoczynamy od wlutowania 3 zworek. Pod mikrokontroler stosujemy podstawkę DIP28 a pod wyświetlacz przeciętą na pół podstawkę DIP14. Może się okazać że wyświetlacz wymaga zastosowania dwóch podstawek włożonych jedna w drugą aby podnieść go podad stojący stabilizator i triaki, a tym samym ułatwić montaż płytki w obudowie. Diody D3 - D5 na schemacie zostały przewidziane ze względu na różnorodność doboru baterii i nie wszystkie muszą być montowane. Baterię oraz ilość diod należy dobrać tak aby na wyprowadzeniu 7 procesora napięcie pochodzące od zasilacza sieciowego było większe od napięcia w tym samym punkcie pochodzącego z baterii, jednocześnie pamiętając że mikrokontroler należy zasilać napięciem z przedziału 4,5 - 5,5 V. Kolejność pozostałych elementów jest dowolna. Pomocą przy budowie może okazać się dostępny tutaj schemat montażowy. Wykaz Elementów:4x Złącze śrubowe 1x Listwa Goldpin 1x2 1x Złącze szufladkowe na Goldpiny 1x8 4x uSwitch 12x12mm 2x 180R lub 100R 1x 5,6pF 1x Rezonator Kwarcowy 8MHz Programowanie:Mikrokontroler do sterownika został zaprogramowany w wersji demo programu BASCOM AVR firmy MCS Electronics (http://www.mcselec.com/). Program przedstawiony jest poniżej: '************* Konfiguracja uC ***************** '*********************************************** $regfile = "m8def.dat" $crystal = 8000000 Config Portb = &B00000000 : Portb = &B11111111 Config Portc = &B11111111 : Portc = &B11111111 Config Portd = &B11111111 : Portd = &B11111111 Config Timer0 = Timer , Prescale = 64 Enable Timer0 : On Timer0 Prztimer0 Enable Interrupts '********** Konfiguracja uC Koniec ************ '****************** Zmienne ******************* '*********************************************** Dim N As Byte Dim Czasakt_g As Byte , Czasakt_m As Byte , Czasakt_s As Byte Dim Dwukropek As Bit Dim Czasust_g(8) As Byte , Czasust_m(8) As Byte Dim Tryb_pracy(2) As Byte Dim Triak1 As Bit , Triak2 As Bit , Triak As Bit Dim Praca_reczna_triak1 As Bit , Praca_reczna_triak2 As Bit Dim Czasakt_w_minutach As Word Dim Czasust_w_minutach(8) As Word Dim Licznik_minut As Word Dim Licznik_pomoc As Word Dim Dzielnik_60 As Byte Dim Zasilanie As Bit Dim Poz_menu As Byte Dim Licznik_podpowiedzi As Word Dim Podpowiedz As Bit Dim Autopowrot_menu As Word Dim Flaga_4ms As Bit , Flaga_1s As Bit Dim Timer_dziel250 As Byte , Timer_dziel2 As Bit Dim W(4) As Byte Dim Wartosc(2) As Byte Dim Ktory_w As Byte Dim Sw_port As Byte , Stan_portu As Byte Dim Licznik_sw As Byte '************* Zmienne Koniec **************** '************ Warunki Poczatkowe *************** '*********************************************** Poz_menu = 0 Praca_reczna_triak1 = 1 Praca_reczna_triak2 = 1 '******* Warunki Poczatkowe Koniec *********** '************** Petla glowna ****************** '*********************************************** Do If Pinb.5 = 1 Then Zasilanie = 0 Portc = 255 Portd = 255 Idle Else Zasilanie = 1 End If If Flaga_4ms = 1 And Zasilanie = 1 Then Flaga_4ms = 0 Gosub Wyswietlanie Gosub Przyciski End If If Flaga_1s = 1 And Zasilanie = 1 Then Flaga_1s = 0 Gosub Sterowanie End If Loop End '************ Petla glowna Koniec ************** '************ Przerwanie timer 0 *************** '*********************************************** Prztimer0: 'co 2ms Timer0 = 6 Timer_dziel2 = Not Timer_dziel2 If Timer_dziel2 = 1 Then 'co 4ms Set Flaga_4ms Incr Timer_dziel250 If Timer_dziel250 = 250 Then Timer_dziel250 = 0 Dwukropek = Not Dwukropek Set Flaga_1s Incr Czasakt_s If Czasakt_s = 60 Then Czasakt_s = 0 Incr Czasakt_m If Czasakt_m = 60 Then Czasakt_m = 0 Incr Czasakt_g If Czasakt_g = 24 Then Czasakt_g = 0 End If End If End If End If Return '******** Przerwanie timer 0 Koniec ************ '************ Inne *************** '*********************************************** Wyswietlanie: Incr Ktory_w If Ktory_w = 4 Then Ktory_w = 0 If Podpowiedz = 0 Then Incr Licznik_podpowiedzi If Licznik_podpowiedzi = 500 Then Licznik_podpowiedzi = 0 Podpowiedz = 1 End If End If If Poz_menu <> 0 Then Incr Autopowrot_menu If Autopowrot_menu = 2500 Then Autopowrot_menu = 0 Poz_menu = 0 End If Else Autopowrot_menu = 0 End If Select Case Poz_menu Case 0: 'czas Wartosc(1) = Czasakt_g Wartosc(2) = Czasakt_m Gosub Przelicz Case 1: 'ustawianie czasu If Podpowiedz = 0 Then Wartosc(1) = Czasakt_g Wartosc(2) = Czasakt_m Gosub Przelicz Dwukropek = 0 Else W(1) = 10 : W(2) = 11 : W(3) = 11 : W(4) = 10 Dwukropek = 1 End If Case 2 To 9: If Podpowiedz = 0 Then Wartosc(1) = Czasust_g(poz_menu - 1) Wartosc(2) = Czasust_m(poz_menu - 1) Gosub Przelicz Dwukropek = 0 Else W(1) = 10 : W(2) = 11 : W(3) = Poz_menu - 1 : W(4) = 10 Dwukropek = 1 End If Case 100: W(1) = 12 : W(2) = 1 : W(3) = 10 : W(4) = Tryb_pracy(1) Dwukropek = 1 Case 101: W(1) = 12 : W(2) = 2 : W(3) = 10 : W(4) = Tryb_pracy(2) Dwukropek = 1 End Select Gosub Przedstaw_jako_znak Select Case Ktory_w Case 0: Set Portc.2 Portd = W(4) Reset Portc.5 Case 1: Set Portc.5 Portd = W(3) Reset Portc.4 Case 2: Set Portc.4 Portd = W(2) Reset Portc.3 Case 3: Set Portc.3 Portd = W(1) Reset Portc.2 End Select Return '****************************************************** Przedstaw_jako_znak: 'przeksztalca liczby na znaki wyswietlacza For N = 1 To 4 W(n) = Lookup(w(n) , Tabela) W(n).7 = Dwukropek Next N Return '****************************************************** Przelicz: 'przelicza 2 liczby dwucyfrowe na 4 znaki W(1) = Wartosc(1) / 10 W(2) = Wartosc(1) Mod 10 W(3) = Wartosc(2) / 10 W(4) = Wartosc(2) Mod 10 If W(1) = 0 Then W(1) = 10 Return '****************************************************** Przyciski: Sw_port = Pinb And &B00001111 If Sw_port <> 15 And Stan_portu = Sw_port Then Incr Licznik_sw If Licznik_sw = 120 Then Licznik_sw = 0 Select Case Stan_portu Case 14: '+g Select Case Poz_menu Case 0: If Tryb_pracy(1) = 0 Then Praca_reczna_triak1 = 0 Case 1: Incr Czasakt_g If Czasakt_g = 24 Then Czasakt_g = 0 Case 2 To 9: Incr Czasust_g(poz_menu - 1) If Czasust_g(poz_menu - 1) = 24 Then Czasust_g(poz_menu - 1) = 0 Case 100: If Tryb_pracy(1) < 4 Then Incr Tryb_pracy(1) End Select Case 13: '+m Select Case Poz_menu Case 0: If Tryb_pracy(2) = 0 Then Praca_reczna_triak2 = 0 Case 1: Incr Czasakt_m If Czasakt_m = 60 Then Czasakt_m = 0 Czasakt_s = 0 Case 2 To 9: Incr Czasust_m(poz_menu - 1) If Czasust_m(poz_menu - 1) = 60 Then Czasust_m(poz_menu - 1) = 0 Case 101: If Tryb_pracy(2) < 4 Then Incr Tryb_pracy(2) End Select Case 7: '-g Select Case Poz_menu Case 0: If Tryb_pracy(1) = 0 Then Praca_reczna_triak1 = 1 Case 1: Decr Czasakt_g If Czasakt_g = 255 Then Czasakt_g = 23 Case 2 To 9: Decr Czasust_g(poz_menu - 1) If Czasust_g(poz_menu - 1) = 255 Then Czasust_g(poz_menu - 1) = 23 Case 100: If Tryb_pracy(1) > 0 Then Decr Tryb_pracy(1) End Select Case 11: '-m Select Case Poz_menu Case 0: If Tryb_pracy(2) = 0 Then Praca_reczna_triak2 = 1 Case 1: Decr Czasakt_m If Czasakt_m = 255 Then Czasakt_m = 59 Czasakt_s = 0 Case 2 To 9: Decr Czasust_m(poz_menu - 1) If Czasust_m(poz_menu - 1) = 255 Then Czasust_m(poz_menu - 1) = 59 Case 101: If Tryb_pracy(2) > 0 Then Decr Tryb_pracy(2) End Select Case 3: 'poz_menu (-g and -m) If Poz_menu < 10 Then Incr Poz_menu If Poz_menu = 10 Then Poz_menu = 0 Dzielnik_60 = 0 Licznik_minut = 0 End If Case 6 : '+g -g If Poz_menu = 0 Then Poz_menu = 100 Else If Poz_menu = 100 Then Poz_menu = 0 Dzielnik_60 = 0 Licznik_minut = 0 Case 9 : '+m -m If Poz_menu = 0 Then Poz_menu = 101 Else If Poz_menu = 101 Then Poz_menu = 0 Dzielnik_60 = 0 Licznik_minut = 0 End Select Autopowrot_menu = 0 Licznik_podpowiedzi = 0 Podpowiedz = 0 End If Else Stan_portu = Sw_port Licznik_sw = 70 End If Return '****************************************************** Sterowanie: Czasakt_w_minutach = Czasakt_g * 60 Czasakt_w_minutach = Czasakt_w_minutach + Czasakt_m For N = 1 To 8 Czasust_w_minutach(n) = Czasust_g(n) * 60 Czasust_w_minutach(n) = Czasust_w_minutach(n) + Czasust_m(n) Next N Triak = 1 Select Case Tryb_pracy(1) Case 0: Triak = Praca_reczna_triak1 Case 1: 'dziala od t1 do t2 N = 1 Gosub Porownaj_czas Case 2: 'dziala od t1 do t2 i od t3 do t4 N = 1 Gosub Porownaj_czas N = 3 Gosub Porownaj_czas Case 3: 'dziala na t1 z przerwa t2 N = 1 Gosub Porownaj_czas2 Case 4: 'dziala na t1 z przerwa t2 w czasie od t3 do t4 N = 3 Gosub Porownaj_czas If Triak = 0 Then Triak = 1 N = 1 Gosub Porownaj_czas2 End If End Select Triak1 = Triak Triak = 1 Select Case Tryb_pracy(2) Case 0: Triak = Praca_reczna_triak2 Case 1: 'dziala od t5 do t6 N = 5 Gosub Porownaj_czas Case 2: 'dziala od t5 do t6 i od t7 do t8 N = 5 Gosub Porownaj_czas N = 7 Gosub Porownaj_czas Case 3: 'dziala na t5 z przerwa t6 N = 5 Gosub Porownaj_czas2 Case 4: 'dziala na t5 z przerwa t6 w czasie od t7 do t8 N = 7 Gosub Porownaj_czas If Triak = 0 Then Triak = 1 N = 5 Gosub Porownaj_czas2 End If End Select Triak2 = Triak If Portc.1 <> Triak1 Then Portc.1 = Triak1 If Portc.0 <> Triak2 Then Portc.0 = Triak2 Return '****************************************************** Porownaj_czas: If Czasust_w_minutach(n) <= Czasust_w_minutach(n + 1) Then If Czasakt_w_minutach >= Czasust_w_minutach(n) Then If Czasakt_w_minutach < Czasust_w_minutach(n + 1) Then Triak = 0 End If Else If Czasakt_w_minutach >= Czasust_w_minutach(n) Then Triak = 0 If Czasakt_w_minutach < Czasust_w_minutach(n + 1) Then Triak = 0 End If Return Porownaj_czas2: Incr Dzielnik_60 If Dzielnik_60 = 60 Then 'co minute Dzielnik_60 = 0 Incr Licznik_minut End If Licznik_pomoc = Czasust_w_minutach(n) + Czasust_w_minutach(n + 1) If Licznik_minut >= Licznik_pomoc Then Licznik_minut = 0 If Licznik_minut < Czasust_w_minutach(n) Then Triak = 0 Return '******** Inne Koniec ******************* Tabela: Data 192 , 249 , 164 , 176 , 153 , 146 , 130 , 248 , 128 , 144 , 255 , 7 , 136 'znak: 0 1 2 3 4 5 6 7 8 9 pusty t A Na rysunku poniżej przedstawiona jest konfiguracja Fuse bitów mikrokontrolera (screen shot z programu BASCOM AVR Demo): Obsługa:Wyłącznik Czasowy zaprogramowany programem przedstawionym powyżej może pracować (dwa kanały niezależnie) w następujących trybach: Tryb 0 - Praca ręczna. Praca nie zależy od ustawionych czasów. Przyciskami +G i +M uruchamiamy urządzenie odpowiednio w kanale 1 i 2, natomiast przyciskami -G i -M wyłączamy. Do menu wyboru trybów pracy wchodzimy i wychodzimy wciskając jednocześnie +G i -G podczas wyświetlania czasu (dla kanału 2 wciskamy jednocześnie +M i -M). Zmianę trybów dokonujemy przyciskami +G i -G dla kanału 1 oraz przyciskami +M i -M dla kanału 2. Ustawienia czasu aktualnego oraz wszyskich 8 wspomnianych wcześniej czasów dokonujemy przez jednoczesne wciśnięcie klawiszy -G oraz -M. Kolejnym wciśnięciem -G i -M przechodzimy do ustawień następnego czasu. Za pomocą przycisków +G i -G ustawiamy godziny, a dzięki +M i -M minuty. Gdy nie naciskamy zadnego przycisku przez ok. 1s, zobaczymy podpowiedź jaki czas aktualnie jest ustawiany ("tt"- aktualny czas, "t1" - czas t1, itd.). Zdjęcia Projektu:
|
|||||||||||||||||||||||||||||||||
Fusebit
Mam programator LABTOOL48 i za chiny nie mogę ustawić tych fuse bitów.....proszę łopatologicznie napisać co jak ustawić :)
wiem ,wiem, następny lamer.......hehe
http://www.fociki.pl/pt-5130890213814.html
z góry dziękuję
Marek
RE: Fusebity
Nie mam czasu aby instalowac ten program ale ustawienie nie jest skomplikowane. Wykorzystujesz sekcję options i z mojego zrzutu w bascomie czytasz ustawienia. Będzie to:
CKSEL0 = 1 (odznaczony)
CKSEL1 = 1
CKSEL2 = 1
CKSEL3 = 1
SUT1 = 0 (zaznaczony)
SUT0 = 1
CKOPT = 1
Reszta bez zmian. Uważaj jednak przy ustawianiu i jeśli jest opcja odczytu fusebitów to je najpierw odczytaj aby pozostałe bity miały wartość domyślną a potem pozmieniaj te co napisałem i zapisz konfigurację. Jeśli program nie ma możliwości odczytu fusebitów to lepiej skorzystaj z czegoś innego do ustawiania fusó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.
Gratulacje..
Kolejny projekt który po złozeniu ruszył od pierwszego łączenia. Jak zwykle musze pogratulować dobrego projektu ...
sterownik
Witam. Gratuluję pomysłu. Planuję złożyć w oparciu o niego -wyłącznik prostownika. Obciążenie indukcyjne -transformator.
Posiadam małe wyświetlacze 12h wsp. anoda z kropkami AM, PM(bez symbolu), szerokie na 50mm. Zastanawiam się co zmienić by uzyskać taki tryb pracy(12h,AM,PM) i czy w ogóle jest to możliwe ? I dodatkowo -czy w czasie pracy wyświetla się po prostu czas bieżący? Przy okazji -drobna rada: Rezystory R17,R18 ze względów bezpieczeństwa obsługi warto wykonywać w postaci 2 szeregowych rezystorów, po obu stronach triaka w optotriaku. Pozdrawiam
Re: Wyłącznik
Podczas normalnej pracy wyswietlany jest czas. Da się zrobic żeby pokazywało w systemie 12h ale trzeba grzebać w programie i zastanowic sie jak to zrobić. Może się okazac że czasowo nie opłaca się tego robić i lepiej kupic wyświetlacz taki jak ja zastosowałem..
Odnośnie triaków to wiem, nowsze projekty mają po dwa rezystory. Ten co zastosowałem u siebie jest 0.25W a nie taki mini 0.125W więc ryzyko przebicia jest małe.
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.
problem z wyświetlaczem
Witam. zastosowałem wyświetlacz 5643 i mam coś takiego ,ze pierwsza cyfra powinna być ostatnia a druga przed ostatnia. Czy da rade to rozwiązać czy szukać wyświetlacza 5462?
Po załaczeniu zasilania świecą się pierwsze trzy zera od lewej i miga dwukropek.
Zle zworki połączyłem :)
Zle zworki połączyłem :)
Re: Wyłącznik
Zamień anody miejscami w programie i po problemie. Powinno działać jeśli to jedyna różnica między tymi wyświetlaczami.
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.
Przeróbka pod solar
witam
Pierwszy post i zaraz pytanie
Zrobiłem solara i jest on obrotowy zastanawiam się nad prowadzeniem go zgodnie ze słońcem ,wiem że w internecie jest tego trochę, większość projektów w zasadzie jest oparta na fotorezystorach które pilnują słońca co nie zawsze się sprawdza.
Zastanawiam się nad wykorzystaniem tego wyłącznika bo wydaje mi się on bliski mojemu projektowi,
układ może sterować niezależnie dwoma urządzeniami.
Teraz do rzeczy
Obracanie kolektora odbywać się będzie za pomocą silnika 12V z przekładnią.
Triaki zastąpił bym przekaźnikami jeden z nich przesuwał by solar w jedną stronę a drugi w drugą
(zmiana biegunowości na silniku)
Ustawienia programu
Jeden z przekaźników załączany był od szóstej rano do szóstej wieczorem w cyklach ustawionych np.co 0,5 godz.załączał by obrót solara na 20 sekund potem znów ileś tam przerwy i znów
np.kolejne 20sekund obrotu.Tych cyki musiało by być około 24 na 12godz.Długość obrotu ustawił bym na podstawie przesunięcia solara .
Drugi przekaźnik cofał by solara do punktu startu o np. 18.30 i wtedy czas obrotu był by 3min.
Jak myślicie zda to egzamin.
Jakieś uwagi mile widziane.
ps.
Widzę że zdjęcie obrotowego solara z innego wątku jest z mojej miejscowości.
pozdrawiam
Re: Solar
Myślę że dało by radę tak zrobić, jednak nie będziesz miał tutaj żadnego zabezpieczenia w postaci krańcówek itp. Dodaj chociaż krańcówki, które odetną zasilanie całości jak wyjdziesz poza zakres obrotu z jakiegoś powodu. Osobiści zastanawiałem się nad obrotem zależnym od czasu i daty, co jest najbardziej efektywne i proste ale narazie trochę mi czasu brakuje na realizację i ulepszenie części mechanicznej.
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.
Krańcówki dam bo różnie bywa
Krańcówki dam bo różnie bywa tak jak piszesz, na razie muszę się uporać z lekką przeróbką solara napęd zrobię inaczej ja Ty masz będzie on na przekładni ślimakowej 1:750 potem zajmę się elektroniką i dam znać jak mi poszło.
Przedziały czasowe
Witam
Robię podobny timer tylko z większą ilością kanałów i z większą ilością przedziałów czasowych. Dla jednego przedziału czasowego poradziłem z odpowiednim algorytmem ale dla większej ilości mam problem w związku z tym mam prośbę czy mógłbyś opisać dokładniej swój algorytm bo trochę gubię się w kodzie.
Re: wyłącznik
Zamieniam oba ustawione czasy i aktualny czas na liczbę minut lub liczbę sekund, zależy jaką potrzebujesz dokładność. Dalej zwykłe porównanie, z tym że jeśli czas końca jest mniejszy od czasu początku to znaczy że przechodzimy przez północ (wartość zero) i trzeba włączyć urządzenie na czas > czas początku lub czas < czas końca. W przeciwnym wypadku urządzenie włączam gdy czas > czas początku oraz czas < czas końca. Kluczem są słowa lub i oraz
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.
Prosiłbym jeszcze o
Prosiłbym jeszcze o wyjaśnienie tego:
tzn jak załącza się i wyłącza dany kanał i gdzie to się ustawia?
Re: Sterowanie triakami
Dokładnie te linijki sterują portami.... działa to tak że zmienna pomocnicza jest modyfikowana przez logikę programu a na samym końcu wpisywana na port, ale tylko wtedy jeśli port ma inny stan niż zmienna. W sumie mogło by tu być zwykłe przypisanie:
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.
Przeróbka pod solar
witam
Biorę się za przerobienie tego schematu i płytki pod przekaźniki zamiast triaków napotkałem na pierwszy problem, nie mogę znaleźć tego wyświetlacza w eaglu ani biblioteki z nim.
edit.
już znalazłem bibliotekę
Przed sprawdzaniem czasu
Przed sprawdzaniem czasu ustawiasz Triak = 1 a potem sprawdzasz czas. Jak dobrze rozumiem to przyjmujesz, że triak ma być załączony a jeżeli warunki zostaną spełnione to wyłączony?
PS.
Chodzi o działanie w dwóch strefach czasowych. Jeżeli w pierwszej strefie triak ma być załączony a za chwilę sprawdzana jest druga strefa gdzie ma być wyłączony to jak się wtedy zachowa program? Z tego co patrzę wydaje mi się, że nie zostanie w ogóle włączony.
Re: Sterownik czasowy
Dokładnie na odwrót.... Triak = 1 to triak wyłączony, warunki go włączają jeśli jest taka potrzeba..... Na samym końcu procedury stan ten dopiero wpisywany jest na por, więc zmienna Triak, Triak1 i Triak2 mogą zmieniać się wielokrotnie.
W dwóch strefach wywoływane jest dwa razy porównywanie czasu i jedyne co może się tam zrobić to włączyć triak (Triak = 0). Wejście do drugiego porównania nie wniesie nic nowego jak pierwsze włączy triaka
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.
Zrobiłem coś takiego i jest
Zrobiłem coś takiego i jest mały problem. Po ustawieniu czasów poprawnie załącza się pierwszy kanał i reszta gdzie czasy reszty na to nie wskazują a gdy pierwszy jest wyłączony a np drugi powinie się załączyć to się nie załącza.
Skróciłem całość i umieściłem
Skróciłem całość i umieściłem w jednej pętli, ale dalej po załączeniu 1 kanału załączają się wszytskie.
Re: Uniwersalny sterownik
Co chcesz zrobić w programie? Strasznie nagrzebałe.... chcesz 8 kanałowy wyłącznik?
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.
6 kanałowy wyłącznik z 2
6 kanałowy wyłącznik z 2 strefami czasowymi na kanał. Z jedna strefą zrobiłem i działa a z 2 strefami wzorowałem się na Twoim i prawie działa tylko nie wiem czemu załącza się cały portC na raz a nie pojedyncze kanały.
Re: Uniwersalny sterownik
Rozpisz sobie na kartce stany zmiennych jakie są przy każdej iteracji pętli. I spróbuj określić jaki powinien być wynik wywołania Porównaj_czas. Jesli wydaje się że jest ok to sprawdź fragment kodu gdzie obliczasz czasy w minutach... może są źle liczone
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.
To raczej jest wszytko dobrze
To raczej jest wszytko dobrze bo 1 kanał działa poprawnie według ustawionych czasów ale później jeszcze raz to sprawdzę.
witam Układ zmontowałem w
witam
Układ zmontowałem w całość wyszedł fajnie ale coś nie działa. Atmegi jeszcze nie zamontowałem chciałem sprawdzić wyświetlacz czy świecą wszystkie segmenty i co nie świeci żaden.Pierwsze sprawdziłem zasilacz i wygląda ok. Na pinie atmegi 7 jest 5.2v na 8 masa czyli wygląda ok.Dwa elementy mam inne niż na schemacie jest to rezystor R26 ma być 3.3k ja dałem 2.6k i kondensator c2 obok kwarca miał być 5.6pf dałem 22pf.
Zastanawiam mnie jeszcze jedna sprawa ile ten układ pobiera prądu bo podczas włączania napięcia skacze dość spora iskra.Stabilizator napięcia zimny czyli chyba zwarcia niema.
Brak pomysłu co jeszcze sprawdzić płytka wygląda wizualnie identycznie jak na zdjęciu.
I świecić nie będą to właśnie
I świecić nie będą to właśnie atmega steruje "świeceniem" wyswietlaczy.
świecą już sobie poradziłem
świecą już sobie poradziłem źle podłączałem karode i anode
Problem rozwiązany
PROBLEM Z POPRAWNYM DZIAŁANIEM
Witam zbudowałem układ wszystko działa ładnie pięknie ale nie do końca> :P mianowicie :P Gdy wszystko zostało już ustawione czasy itp często zdarza się że podczas załączenia któregoś z kanałów urządzenie wyłącza się, gaśnie wyświetlacz, przestaje pracować zapada jakby w "stan uśpienia" gdy wcisnę obojętnie który z guzików wznawia prace i pamięta nastawione czasy. Zdarza się też ze po wpięciu do gniazdka w tym samym pokoju innego urządzenia sterownik też się wyłącza. Proszę o pomoc w rozwiązaniu tego problemu. Jest to uciążliwe ponieważ steruje pompkami i oświetleniem akwarium a bez tego ani rusz a czesto nie ma mnie w domu. Dodam że domontowałem kondensatory ceramiczne na nóżki vcc atmegi i kondensator podtrzymujący:P ale nie pomogło. Próbowałem także przy wypiętym napięciu(odłączonym całkiem od sieci) które sterowane jest triakami i dalej nic, gdy włączę coś sterownik pada. jak dla mnie ciężki orzech do zgryzienia.
Re: Sterownik czasowy
Jaki masz zasilacz podłączony do złącza zas? Masz baterię i zwartą zworkę JP?
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.
przepraszam za przerwę ale
przepraszam za przerwę ale nie miałem kiedy odpisać. A więc zasilacz mam 12V 0,2A nie zasilam z baterii i zworka jest wpięta.
Re: Zasilanie
Próbowałeś dodac większy kondensator filtrujący na zasilanie? Może ten zasilacz nie daje tych 200mA jak powinien i napięcie przysiada. Próbuj zewrzeć na stałe PB5 do masy, zworkę JP wypnij.
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.
a więc na wejściu dawałem
a więc na wejściu dawałem kondensator większy(1000uF) i dalej nic:P zworkę wypiąłem i podpiąłem do masy nórzkę PB5 jak mówiłeś wyświetlacz nie świeci. Co za-uwarzyłem mianowicie gdy wypinam zworkę JP to sterownik się wyłącza ale później po wpięciu zworki juz się nie załącza a jak wcisnę któryś z guzików budzi się spowrotem. :)ciężki przypadek ale co dwie głowy to nie jedna:) proszę o dalsze podpowiedzi. dodam ze wszystkie luty poprawiałem drugi raz dla pewności :P
a własnie zapomniałem dodac
a własnie zapomniałem dodac że gdy sterownik się "jak by wyłaczy" to po wcisnieciu ktoregos z guzików pracuje juz z naliczonymi minutami czyli nie zawsze się resetuje :P może to cos pomorze w rozwiazaniu zagadki :P
wszystko już działa Mistrzu
wszystko już działa Mistrzu :) zrobiłem jak mowłeś ale na poczatku źle bo podpoiłem z pina zwroki do masy przez rezystor (R21 330ohm)ale teraz juz wszystko wporzadku:) działa jak należy. a wiec co w trawie piszczy ze tak powiem :P? wielkie dzieki :) Rybki będą żyć sobie w spokoju:)
Re: Sterownik czasowy
W takim razie coś jest nie tak ze stabilnością zasilania lub poprostu tranzystor T2 jest walnięty, albo jeden z rezystorów przy nim ma złą wartość itp. Jak nie używasz baterii to tranzystor ten może być ominięty w taki sposób jak podałem ze zwarciem pinu na stałe do masy, jednak powinno to działać mimo wszystko, a na kolektorze tranzystora powinien być potencjał bliski masie
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.
ok wielkie dzięki. Znajdę
ok wielkie dzięki. Znajdę chwile czasu to jeszcze sprawdze tranzystor ewentualnie rezystorek jak mowisz ;)
Wyświetlacz słabo świeci
Witam
Układ zmontowałem programowanie czasów działa ale niestety wyświetlacz świeci mi słabo (słabo widać co na nim pisze) wie ktoś może co się dzieje???
Wyświetlacz mam AF-05643FMR-B
http://www.sklep.monster.pl/AF-05643FS-B-WYSWIETLACZAF-05643FMR-B%284,,34011%29.aspx
Mam jeszcze pytanie
Gdzie w programie zwiększyć jasność wyświetlanych cyfr bo mi słabo świeci (dobrze świeci tylko dwukropek a resztę to przy włączonym świetle ciężko odczytać)
Re: Jasność
Zmień rezystory 470R od segmentów wyświetlacza na 220R lub 330R, sprawdź pierwsze na pojedynczym segmencie jak się zmieniła jasność
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.
czasówka
Witam a czy moge go zastosowac do układy gwiazda trojkąt jako czasówke?da rade ustawic go np.na 4s. czy trzeba zmienic cos w programie
Re: 4s
Czy ja dobrze rozumiem że chcesz zrobić układ, który po włączeniu zasilania czeka 4s i przełącza przekaźnik/stycznik? Opisywany układ nie da się ustawić na 4s
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.
tryb cykliczny
Witam serdecznie!
Na początku gratuluję wspaniałej stronki - szkoda, że dziś tak mało "charyzmatyków", którzy tworzą projekty, publikują je i nawet służą pomocą!
Wielkie szacunek!
Mam takie pytania:
Czy ten układ może załączać urządzenie na 30 sekund, po czym wyłączał by je na 12 minut w systemie powtórzeniowym?
Czy ewentualnie istnieje prostsza wersja tego układu, który działał by na takiej zasadzie?
Jaki jest koszt wykonania tego projektu i czy istnieje możliwość zakupu gotowego układu (jeśli tak, to w jakiej cenie)?
Z góry dziękuję za odpowiedź i pozdrawiam!
Re: Wyłącznik czasowy
Układ ten potrafi działać w trybie cyklicznym ale ustawianie jest z dokładnością do minuty. Napisz do mnie email to pomówimy bo to nie będzie do końca zgodne z tym tematem. Skorzystaj z formularza kontaktowego na stronie
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.
Witam, mam małe pytanie...
Witam, mam małe pytanie... gdzie moze lezec problem gdy na pinach od wyswietlacza jest ok ~1,5V. Rezystory R9 - R16 wlutowalem 470R, sprawdzalem tez duzo razy czy sa jakies zwarcia lub przerwy miedzy sciezkami ale wszystko wyglada ok. Na uC jest ~ 5V.
Re: Wyświetlacz
A jak to mierzysz.... podczas pracy procesora? no to pewnie średnio jest 1.5V, przecież wyświetlacz steruje się multipleksowo
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.
Tak podczas pracy, bez
Tak podczas pracy, bez podlaczonego wyswietlacza bylo te 1-1.5V ale po podlaczeniu napiecie zmniejszalo sie do malych wartosci. Wymienilem T5 i wszystko ladnie dziala.
Witam. Mam pytanie. Czy mógły
Witam. Mam pytanie. Czy mógły Pan przerobić program tak aby były 3 kanały? Chodzi mi żeby np. do pinu 7 atmegi8 podłączyć jeszcze jeden blok wykonawczy. Rzecz jasna żeby tylko zmienić program, z pcb sobie poradze. Z góry dziękuję.
Pozdrawiam:)
???
Pinu7 atmegi8? Kolega chyba nie wie co pisze
.
Siema, mam pytanko, czy jest możliwe dodanie do układu buzzera by po skończeniu się zadanego czasu piszczało?
Nie potrzebuje 2 kanałów więc mogę po prostu od jednego kanału wywalić triak, optotriak itp.?
Robię dwa takie układy, jeden do sterowania grzałki, a drugi do zamykania obwodu sygnałowego w zasilaczu.
W tym drugim wypadku wtedy mogę wywalić triak optotriak itp. i wstawić jakiś mały tranzystorek, np. BC547?
Sorry za pytania ale w elektronice jestem newbie i dopiero wytrawiłem jedną płytkę(kolejne >4 zrobię na postawie schematów z tej strony :) ).
Z góry dzięki za odp.
PS Super stronka, gdyby nie różnica w ilości informacji bylibyście lepsi od elektrody(same zgredy i inne wredne stare kapcie odsyłające do google).
Re: Buzzer
jak miał by działać dokładnie ten buzzer bo układ działa cyklicznie w trybie dobowym i buzzer ma sie włączać na jakiś czas co każdą zmianę stanu triaka czy inaczej?. W jaki sposób dokładnie chcesz korzystać z tego układu
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.
...
To ja, Arecki.
No dobra z wersji do grzałki zrezygnowałem.
Chce wykorzystać ten układ do zamykania obwodu sygnałowego w pewnym zasilaczu(najsłabszy tranzystorek wystarczy).
I chciałbym by buzzer popiszczał sobie około 5s. po tym jak skończy się zadany czas w trybie 1.
Klik, klik nastawiam tryb 1 i nastawiam czas np. 5h, klik czas start, tranzystor zamyka obwód i zasilacz śmiga, minęło 5h i tranzystor otwiera obwód a buzzer sobie piszczy te 5 sekund.
Co cie nie zabije to cie wzmocni(nie dotyczy kondensatora 400V w zasilaczu impulsowym).