Sterownik bramy - program

To forum jest dla wszystkich pasjonatów mikrokontrolerów AVR Atmela. Wymiana doświadczeń i pomoc dla początkujących w pisaniu programów zarówno w C, Asemblerze jak i BASCOM. Zapraszam znawców tematu, aby pomogli wszystkim początkującym!
ODPOWIEDZ
Taliesin
-
Posty: 3
Rejestracja: 30 wrz 2005, 11:00
Lokalizacja: Dreamland

Sterownik bramy - program

Post autor: Taliesin » 17 wrz 2006, 22:52

Witam!

Jakiś czas temu zacząłem programować mikrokontrolery AVR, potrzebuję jednak pomocy w napisaniu programu (w BASCOM) do sterowania silnikiem. Założenia są takie:
- wejście, na którym pojawia się stan niski na czas do 1 sek.
- dwa wyjścia sterujące przekaźnikami
- każdorazowy sygnał na wejściu powinien włączać naprzemiennie przekaźniki na dokładnie określony czas (np. 75 sek.), przykład: sygnał na wejściu - włącza się przekaźnik, mija 75 sek., przekaźnik się wyłącza, znowu sygnał na wejściu, tym razem powinien włączyć się drugi przekaźnik, jeśli na wejściu pojawi się sygnał w momencie, kiedy już jest włączony jeden przekaźnik, mikrokontroler powinien go wyłączyć, odczekać 1 sek. i włączyć drugi na te 75 sek.
- nigdy nie powinny być włączone jednocześnie dwa przekaźniki!
- przydałaby się jakaś prosta sygnalizacja, np. diodą, kiedy włączone są przekaźniki

Mam nadzieję, że w miarę jasno przedstawiłem założenia. W projekcie chodzi głównie o niezawodność. Nie powinny mieć miejsca sytuacje, kiedy przekaźniki włączą się "same", bez sygnału na wejściu. Ważna jest też precyzja odmierzenia tych 75 sek, a najlepiej regulacja tego czasu. Prosiłbym o propozycje kodu w BASCOMIE na procesot ATiny2313. Propozycje możecie też kierować na PW :) Z góry dziękuję za pomoc!

bienias87
-
Posty: 3
Rejestracja: 19 wrz 2006, 6:29

Post autor: bienias87 » 19 wrz 2006, 6:33

Witam.

Wlasnie jestem w trakcie pisania sterownika do mojej bramy... zalozenia sa podobne wiec mozemy pomyslec razem...

a co do sterowanie przesowania czasem (75s) to nie jest dobry pomysl...
zalozmy ze na drodze bramy cos stanie, albo brama po drodze napotka opory na rolce. Wtedy czas przesowania bramy wydluzy sie, a brama sie nie domknie (lub sie nie otworzy).
Ja w swoim projekcie chce wzucic krancowki ktore beda wylonczac silnik po dojechaniu do konca.

Awatar użytkownika
matelektronik
Użytkownik
Posty: 161
Rejestracja: 01 sie 2006, 11:48
Lokalizacja: Przezchlebie
Kontakt:

Post autor: matelektronik » 19 wrz 2006, 17:09

bienias87 pisze:Ja w swoim projekcie chce wzucic krancowki ktore beda wylonczac silnik po dojechaniu do konca
Robilem kiedys taka brame i tez jest to sterowane systemem mikroprocesorowym i wylaczane krancowkami :)

Taliesin
-
Posty: 3
Rejestracja: 30 wrz 2005, 11:00
Lokalizacja: Dreamland

Post autor: Taliesin » 19 wrz 2006, 19:46

Bienias, pisałem o tym czasie, bo mój siłownik posiada wbudowane krańcówki i jest tak ustawiony, że się wyłącza w odpowiednich momentach (pełne zamknięcie i pełne otwarcie), nawet jeśli nadal jest podawane napięcie :) Dlatego potrzebuję czas, załóżmy te 75 sek, tyle trwa cykl otwierania lub zamykania, a 15 sek jest "na zapas", czyli po to, by niwelować niedokładność odmierzenia czasu spowodowaną niestabilnością oscylatora w funkcji temperatury. Siłownik i tak sam się wyłączy, ale przynajmniej będę miał pewność, że nie zabraknie mu napięcia w trakcie otwierania/zamykania ;)

Masz już jakiś wstępny szkielet programu do swojej bramy?

Pozdrawiam

bienias87
-
Posty: 3
Rejestracja: 19 wrz 2006, 6:29

Post autor: bienias87 » 20 wrz 2006, 15:54

jakis tam szkielet mam, ale mi sie pomysly zmieniaja co chwile i co chwile cos innego mi z tego wychodzi. Teraz troche mi czasu brakuje bo w szkole mi sie zajec narobilo, ale w wekend siade i pewnie skoncze ;)

zastanawiam sie tylko jak zrobic tor podczerwieni (albo jakos inaczej) zeby mikroporcek wiedzial kiedy samochod wjechal(wyjechal) zeby samo zaczelo brame zamykac

[ Dodano: 2006-09-21, 07:51 ]
zaczolem dzis klepac program i doszedlem do wniosku ze i tak bedzie ci potrzebna chociaz jedna krancowka ;) przeciesz brama musi wiedziec czy jest zamknieta czy otwarta.

Zalozny ze otworzyles brame i w tym momencie wylonczyli zasilanie na chwile... chcesz ja zamknac a program domyslnie bedzie ja probowal otworzyc...
z tego wniosek ze cos tam trzeba dac ze by wiedziala w jakim polozeniu sie znajduje.

a i powiedz mi jeszce jak chcesz zrobic naped przod tyl. (zmiana polaryzacji ??)
teraz pisze tak ze jak zamyka to podaje sygnal na portb.0 a jak otwiera to na portb.1

Taliesin
-
Posty: 3
Rejestracja: 30 wrz 2005, 11:00
Lokalizacja: Dreamland

Post autor: Taliesin » 21 wrz 2006, 10:34

Zmianę polaryzacji zrobiłem na dwóch przekaźnikach z dwoma parami styków. Zrobiłem z tego taki elektromechaniczny mostek H. Właśnie robię schemat w Protelu, ale pewnie to potrwa, bo nie korzystałem nigdy z takich narzędzi ;) Najgorszy jest brak kilku elementów w mojej bibliotece :/
Co do tej jednej krańcówki... w zasadzie mógłbym ją zastosować, ale żeby maksymalnie uprościć układ nic nie dodawałem. Jeśli układ będzie chciał zamknąć zamkniętą już bramę, nie stanie się nic. Krańcówka wbudowana w siłownik nie dopuści do załączenie siłownika. Wtedy będę widział, że nic się nie dzieje i jeszcze raz nacisnę przycisk, układ zmieni polaryzację i brama zacznie się otwierać, więc wszystko wróci do normalnego trybu. Wiem, że to mało eleganckie, ale upraszcza układ, a im prostszy układ, tym mniejsze ryzyko błędów ;)
Prototyp działa już kilka tygodni, mam tylko jeden problem. Czasami tuż po zamknięciu układ SAM zaczyna otwierać bramę. Nie wiem dlaczego :/

bienias87
-
Posty: 3
Rejestracja: 19 wrz 2006, 6:29

Post autor: bienias87 » 21 wrz 2006, 21:53

wyslij mi swoje kody zrodlowe programu i sie zobaczy co z tym moze byc :)
ja dzis rano napisalem cos takiego co z krancowka by dzialalo... bo to co ty chcesz zrobic to faktycznie dziwny pomysl... no ale jak to nas w szkole ucza... "choc by uklad mial byc maxymalnie dziwny albo mial by robic zwarcia... klijent wymaga ty robisz" :P

ODPOWIEDZ