Znajdź zawartość
Wyświetlanie wyników dla tagów 'avr' .
Znaleziono 1 wynik
-
Chciałem wszystkim zaprezentować urządzenie, które obecnie jest automatyczną dolewką opartą na mikrokontrolerze attiny13. Urządzenie to cechuje prostota budowy, a zmiana np. czujnika poziomu cieczy, na termometr i zmiana oprogramowania, przerobi nasze urządzenie z automatycznej dolewki na np. cyfrowy termostat regulowany do włączenia grzałek czy wiatraków w naszym zbiorniku. Teraz troszkę o schemacie, jak widać, na początku mamy TR1, zastosowałem tu transformator 6V 1.2AV, za którym znajduje się B1 mostek Greca w obudowie SMD, zresztą jak widzicie na po płytce większość elementów jest SMD, by było jak najmniej odwiertów w płytce. Kolejnymi elementami C1 i C2 są kondensatory elektrolityczne 100uF, pełnią one role filtra. Pomiędzy kondensatorami znajduje się stabilizator 5V. I tyle o zasilaczu. Kolejnym elementem wręcz podstawowym tego urządzenia jest uC attiny13, który ma jak widzicie 6 portów. Pierwsza noga jest resetem, który podpięty przez rezystor 10k do zasilania +5V, 2 noga B3 podpięty przez diodę LED i rezystor 220ohm służy, jako sygnalizator pomiaru, 3 noga port B4 podpięty do środkowej nogi potencjometru, ustawiony jest jako przetwornik AC, którym robię pomiar jego ustawień. Potencjometr ten obie przeciwne nogi podpięte ma do zasilania i masy co w efekcie daje na środkowej nodze jakieś zasilanie, które potem ląduje na przetworniku. Przetwornik w programie zwraca nam wartość od 0 .. 1024, w zależności jak ustawiony jest potencjometr. Noga 5 i 6 jest odbiornikiem, który oczekuje na sygnał z czujnika. Jaki czujnik tu zastosujemy NO czy NC nie ma większego znaczenia, ponieważ jest to niewielka zmiana w oprogramowaniu, kwestia jest tylko raka czy będziemy reagować na zwarcie czy na przerwę z czujnika. Na końcu został nasz moduł wykonawczy, zastosowałem tu optotriac MOC3041 i triak BT136, ponieważ ze wzglądu na małe rozmiary, i dodatkowo działa bezszelestnie, i świetnie sprawdza się, jako włącznik 600V 4A. By nie szaleć całość zabezpieczone jest bezpiecznikiem 2A, to jest najsłabsze ogniwo tego urządzenia. Całość sterowane jest z portu B2 . Teraz jak zaprogramować nasze urządzenie. Do programowania takiego urządzenia używamy programatora ISP, którego koszt na allegro to ok. 20zł, programator musimy podpiąć do portu SV1, który ma 6 nóżek, 1. Zasilanie 5V 2. Masa 3. RESET 4. SCK 5. MISO 6. MOSI czujnik Płytka PCB góra i dół obraz poglądowy jak są umieszczone elementy SOFT 2 wersje, dolewka_attiny13_.hex dla czujnika NC i dolewka_attiny13_rev.hex dla czujnika NO dla źródła dla czujnika NC napisane w BASCOM $regfile = "attiny13.dat" $crystal = 1000000 $hwstack = 32 $swstack = 0 $framesize = 12 Config Portb.0 = Input 'czujnik Config Portb.1 = Input 'czujnik Config Portb.2 = Output ' wlacznik Config Portb.3 = Output 'led error Config Portb.4 = Input 'potencjometr p2 Config Adc = Single , Prescaler = Auto Config Watchdog = 2048 Set Portb.0 Set Portb.1 Config Timer0 = Timer , Prescale = 64 On Timer0 Przerwanie Enable Interrupts Enable Timer0 Start Adc Dim Pot As Word Dim Ms As Integer Dim I As Byte For I = 1 To 5 Portb.3 = 0 Waitms 10 Portb.3 = 1 Waitms 10 Next Start Watchdog Do If Pinb.0 = 0 Or Pinb.1 = 0 And Portb.2 = 0 Then Portb.2 = 1 End If Pot = Getadc(2) + 1 Ms = Pot * 250 If Pinb.0 = 1 And Pinb.1 = 1 And Portb.2 = 1 Then Portb.2 = 0 End If Portb.3 = 0 Waitms Ms Portb.3 = 1 Waitms 1 Loop End Przerwanie: Reset Watchdog Load Timer0 , 1 If Pinb.0 = 0 Or Pinb.1 = 0 And Portb.2 = 0 Then Portb.2 = 1 End If Return jutro umieszczę źródła bo tam muszę komentarze napisać. miłej zabawy wam życzę dolewka_attiny13_.zip