Jak zaprogramować atmegę 8 do wykrywania napięcia 400 V AC za pomocą trzech PC814. Podłączyłem do portów PC5-3 i sprawdzam czy pojawiła się jedynka czy 0. Niestety jak wiadomo 0 pojawia się dosyć często. Jak zrobić aby atmega sprawdzała czy zanik napięcia jest dłuższy niż 30 sekund to wtedy ma wyłączyć urządzenie.
|
|||
Odp. Atmega8 + Pc814
Możesz zrobić tak: Na starcie programu zmienna ma wartość 30 i co sekundę jedna jest odejmowana. W pętli napisz że jeśli jest napięcie to wartosc od której odejmujesz ma znów wartość 30. Będzie więc stale miała wartośc 30 chyba że nie będzie pradu to warunek nie uzupełni zmiennej. Wtedy gdy wartosc zmiennej rowna zero wyłącz urządzenie. Cos w ten deseń
BARTek
Moja strona
Napisałem taki program ale w
Napisałem taki program ale w symulacji nie odmierza timer0
Re: Napisałem taki program...
A gdzie dyrektywy
??
W symulacji programowej trzeba też zaznaczyć odpowiednie ptaszki SYMULUJ TIMERY
Moja strona w powijakach
Odp.Napisałem taki program
Tak jak kolega napisał. Trzeba zezwolić na przerwanie od Timera i zezwolić na przerwanie w ogóle.
Jeszcze chyba zamiast tego
If V1 = 0 And V2 = 0 And V3 = 3 Then
lepiej byś napisał
If V1 < 3 And V2 < 3 And V3 > 3 Then
..bo rozumiem że masz do testów jedną faze, ale nie możesz celować w jedna wartość 3 tylko albo wyżej albo niżej bo równe 3 będzie tam rzadko.
BARTek
Moja strona
oki dzięki narazie na jednej
oki dzięki narazie na jednej fazie hula niedługo podłącze pod 3 fazy i zobaczę co będzie się działo
Dwa LED`y na jednym pinie
Wiesz kolego, jak tak na to patrze to musiałem sprawdzić coś, co już dawno wpadło mi do głowy, ale nie było nigdy czasu. Można tak podłączyć LED`y by świeciła albo czerwona albo zielona w zależności od stanu portu i to wykorzystując tylko jeden pin. Sprawdziłem i działa. Dla procesora z większą ilością wyprowadzeń może to nie ma takiego znaczenia, ale dla ośmiopinowego Tiny13 robi różnicę :D Tak samo dla sześciu pinów wystarczą trzy... sens ich rozdzielenia jest tylko wtedy gdy mają kiedyś zgasnąć (ewentualnie migać)
... a Twój program mógłby wyglądać tak i pokazywać której fazy nie ma..
Na koniec dodam że Twoje obliczenia dla Timera chyba nie bardzo działały bo wyglądają jak dla preskalera 128 który chyba nie jest tam osiągalny...a 6 napewno nie da sekundy dla preskalera 256.
Miłego dnia
BARTek
Moja strona