Witam jestem nowy na forum więc proszę o wyrozumiałość
Zacząłem pisać program na Atmegę8 na podstawie różnych informacji z internetu wszystko wg mnie jest ok aż do momentu gdzie utknąłem i nie potrafię ruszyć z miejsca szukam po internecie i nic nie mogę znaleźć możliwe że nie właściwie szukam ale pomysłu nie mam jak to ruszyć
Problem polega na tym że nie potrafię wymodzi w kodzie żeby program
ustawił 1 na Portd.6 poczekać 3 sekundy i ustawić 1 na Portb.0 chcę to zrobić na Timer0 i jeśli chodzi o konfigurację timera to chyba zrobiłem dobrze ale nie potrafię zrobić aby program ustawił 1 po tym czasie komenda "Wait xx" odpada bo powoduje zwolnienie programu
załączam kod prosiłbym bardzo o pomoc
$regfile = "m8def.dat"
$crystal = 8000000
Declare Sub Przycisk
Declare Sub Otworz
Declare Sub Zamknij
Dim J As Byte
On Timer0 Przerwanie_co_2_ms
Dim Licznik As Integer
Config Pind.6 = Output
Config Pind.5 = Output
Config Pind.7 = Output
Config Pinb.0 = Output
Config Pinb.1 = Output
Config Pinb.3 = Input
Config Pinb.5 = Input
Config Pinc.0 = Input
Reset Portd.6
Reset Portd.5
Set Portb.3
Set Portb.5
Set Portc.0
Licznik = 0
Enable Timer0
Enable Interrupts
Config Timer0 = Timer , Prescale = 64
Timer0 = 6
J = 0
Do
Debounce Pinb.3 , 0 , Przycisk , Sub
Select Case J
Case 0
Reset Portd.6
Reset Portd.5
Reset Portb.0
Reset Portd.7
Case 1
Gosub Otworz
Case 2
Reset Portd.6
Reset Portd.5
Reset Portb.0
Reset Portd.7
Case 3
Gosub Zamknij
End Select
Loop
Sub Przycisk:
Incr J
If J = 4 Then J = 0
End Sub
Sub Otworz
Set Portd.6
If Pinb.5 = 0 Then Reset Portd.6
Reset Portd.5
Reset Portd.7
'po tym ma się po czasie 3 sekund
'załączyć Portb.0
If Pinc.0 = 0 Then Reset Portb.0
If Pinb.5 = 0 And Pinc.0 = 0 Then J = J + 1
End Sub
Sub Zamknij
Set Portd.7
Reset Portd.6
Reset Portb.0
'po tym ma się po czasie 3 sekund
'załączyć Portd.5
End Sub
Przerwanie_co_2_ms:
Counter0 = Counter0 + 6
Incr Licznik
If Licznik = 1500 Then
Toggle Portb.0
End If
Licznik = 0
Return
End
Re: Prośba o pomoc w uruchomieniu programu
Dajesz config timera tak:
Dorzucasz zmienna single i liczysz ją w przerwaniu do 10 000 co da Ci 1 sekundę, odpowiednio 2 sekundy liczysz do 20 000 i 3 sekundy do 30 000. Następnie zerujesz zmienną.
Więcej tłumaczyć chyba nie trzeba ?
Moja strona w powijakach
Na przykład dodaj sobie w
Na przykład dodaj sobie w zmiennych trzy Flagi np Dim Fl_1 as Bit itd.. , dwie ustawiane przez te Sub Zamknij/Otwórz i trzecią ustawiana przez licznk, czyli po napełnieniu Twojej zmiennej Licznik - Set np. Fl_1
Teraz po wejściu do Sub: Otwórz ,najpierw zerujesz flagę Fl_1,potem Twoje set/reset port i na wyjściu ustaw Flagę Fl_2.
Teraz w pętli głownej po End Select daj tak - If Fl_2=1 and Fl_1 =1 then Set Portb.0 co nie nastąpi dopóki nie ustawi się flaga Fl_1 którą skasowałeś, program czeka na jej ustawienie przez licznik.
W wejściu do innego podprogramu możesz już zresetować flagę fl_2
Analogicznie w Sub zamknij zeruj F1 i ustaw F3..a w pętli głównej Jeśli F3=1 and f1=1 to...
Ps. chyba masz zerowanie zmiennej licznik za IF`em co znaczy że zawsze jest zerowana a nie tylko jak Licznik=1500. nigdy nie wykona się Toggle bo ciągle masz zerowana zmienną Licznik i nigdy nie bedzie miał 1500
Edytowane:
Dobrze wylicz sobie timer możesz z gotowych kalkulatorów np wbudowany w mkAVCalkulator
Flagi możesz resetować w Case 0 i 2
BARTek
Moja strona
pomoc
zmień sposób pisania programów np na taki,
W odpowiednij instrukcji case dopisz procedury z wykorzystaniem zmiennej Flaga_1s np
if flaga_1s = 0 then
incr H
Portd.6=1
end if
if H = 3 Then
Portb.0 = 1
H = 0
end if
Ustaw stany spoczynkowe portów na 1 lub 0 lepiej na 1 ale wtedy stan aktywny to 0 i napisz jeszcze przy jakiej procedurze program ma zmieniać stany tych portów
Witam przepraszam że
Witam przepraszam że odpowiadam z opóźnieniem ale chwilowo mam inne zajęcie (nowe dziecka w drodze :-)) więc odp na pytanie kolegi kisoft-a
Algorytm ma wygadać w ten sposób
Po naciśnięciu Pinb.3 ma się wykonać odpowiednia procedura jedna z 4 określona w SELECT CASE (po kolejnym naciśnięciu przycisku kolejny wybór i tak dalej w kółko) i to mi działa ale ni cholery nie potrafię sprawić żeby w PODPROGRAMIE OTWÓRZ (tak samo w ZAMKNIJ tyle że inne porty ustawiane)
po Set Portd.6 ma się po czasie 3 sekund ustawić Portb.0 oczywiście nie wiem jak użyć do tego Timer0 kolega EDC podpowiedział jak ale coś chyba robię nie tak bo kurde nie chce działać a funkcja Wait spowalnia program dlatego Timer0
pomoc cd.
Witam kisoft z tej strony
przerwanie zrób tak jak podałem ci wyżej
po co w case 1 robisz gosub otwórz niech procedura w podprogramie otwórz wykona się od razu w case 1
i np tak
to samo dla case 3 i podprogramu
Witam po przerwie udało mi
Witam po przerwie udało mi się wygospodarować chwile więc się wziąłem za mój "projekt" po podpowiedziach "kisoft'a" skleciłam coś takiego
I kurcze dalej robię coś nie tak gdyż dalej Portb.0 nie załącza się po czasie tylko praktycznie wraz z Portd.6 z minimalnym opóźnieniem Panowie poratujcie i proszę powiedzieć co robię nie tak bo zaczynam tracić cierpliwość a ja z reguły jestem bardzo cierpliwy z góry dziękuję za ewentualne zainteresowanie
Różnica w zapisie
Błąd, kolego jest chyba w zapisie warunku w obsłudze przerwania
Też tak miałem jak się uczyłem. Jest różnica.
Jeśli warunek jest spełniony i ma zostać wykonana tylko jedna "sprawa" to możesz to zapisac w jednej linii.
Np.
I niestety nic wiecej już procesor za tym Ifem nie obchodzi. Te Twoje Set Flaga 500ms jest już poza ifem i jest ustawiane co przerwanie. Prawidłowo, jeśli po IF ma być więcej komend zostawiasz samo THEN i w następnych linijkach komendy.
Po prostu jeśli tylko jedna komenda za if to można w jednej linii i to kiedyś "doszło" do Bascoma
Jeśli w jednej linii za Then postawisz coś to tak jakbyś napisał End If
W Twoim przypadku po prostu spróbuj przenieść Y = 0 linię niżej i to tak na pierwszy rzut oka. Pozdrawiam.. Jak cos dopatrzę to dodam.
BARTek
Moja strona
Wielkie dzięki EDC za pomoc
Witam dzięki EDC za pomoc, po poprawkach, które Ty zasugerowałeś mój program zaczął wreszcie prawie działać jak trzeba Prawie bo niestety zaczęły się kolejne jaja tzn coś jakby zakłócało pracę instrukcji "Debounce" gdyż układ zachowuje się od czasu do czasu jakby przechodziły drgania styków ale co ciekawe nie za każdym razem i co lepsze dochodzi do tego jeszcze to że program przeskakuje w instrukcji select case o np 1 blok albo załącza oba porty jednocześnie zamiast wg programu poczekać ten czas co jest ustawiony wygląda że ta obsługa przerwań coś mu miesza gdyż jak jej nie było to program "przeskakiwał" wg założenia załączam program może ktoś mi odpowie co jest nie tak
Uwag mam kilka :)
Szkoda że nie wiemy co "to" ma robić bo może program napisało by się jeszcze inaczej. Prosząc o pomoc staraj się w komentarzach do tego przeznaczonych w listingu programu opisać co i po co.
Przypuszczam że mało komu chce się rozkminiac co to robi i wtedy mniejsza szansa że ktoś Ci pomoże mimo że wie. Nawet aliasy do portów już by coś wniosły.
Teraz Twój program..
W liniach
Jeśli coś ci tam wykonało sie szybciej (jakaś krańcówka czy coś) to opuszczajac pętle powinieneś wyzerowac sekundy licznika z którego korzystać bedzie inna Case bo wartośc może być juz np 2 i wtedy po jednej już sekundzie port Ci się załącza (lub od razu). Powinno to więc wygladac tak
I warunek ten postawić trzeba za Incrase żeby jeszcze 1 Ci nie dobiło :D do licznika...
Następna sprawa to :
To samo tyczy się przejścia do innej Case wymuszonego przyciskiem.. Jeśli wejdziesz do Case1 i naciśniesz przycisk zanim licznik H się przepełni to i tak juz coś w nim jest. Czyli znów przepełnienie go nastąpi szybciej niż chciane 3 sec. Trzeba więc dopisac w procedurze Przycisk H = 0
Sprawa trzecia:
Nie wiem czy masz jeszcze klapki na oczach i nie widzisz możliwości a jedynie przepisujesz i sklecasz różne kody.. Każdy tak zaczynał ale zawsze warto sie rozglądac jak można zoptymalizowac kod nawet przez kogoś napisany.
Zmienna Z to bajt więc może spokojnie zmieścić wartość do 255. Nie trzeba więc odliczać w każdej Case zmiennej H bo może ją pomieścić zmienna Z po prostu razy 3. Jako że Flagi 500ms nie używasz to możesz z niej zrezygnowac w deklaracjach i obsłudze przerwania, a flage 1s przemianować na Flaga_3s
Przerwanie będzie wyglądac tak
Analogicznie zmienić musisz wtedy ze
IF Flaga_3s = 1 Then
ustawianie Portd.5 albo Portb.0 i teraz kasować w podprogramie Przycisk, zamiast zmiennej H, flagę Flaga_3s by przy każdej zmianie Case liczyło od zera.Powinno się też zachować kolejnośc , najpierw skonfigurowac Timer a dopiero potem go włączyć i zezwolic na obsługe przerwań.
To pewnie nie wszystko co można tu zmienić. Opis specjalnie dłuższy i nie z końcowym od razu wynikiem by pokazać że procesor robi dokładnie to co mu kazesz ale tez nic więcej ani mniej. Myśleć za niego musisz Ty. Kazdy program tak naprawde najpierw pracuje w głowie (ile my mamy RAMu :D )więc jeśli coś nie działa to zobacz o czym Ty zapomniałeś..Jeśli przedtem działało Ci to na instrukcji Debounce to może te liczniki tam sprawe rozwiążą. Jesli nie to jest jeszcze ConfigDebounce bo to instrukcja czasowa. Lepiej byłoby zastosowac sprawdzone rozwiązanie opisane tu na stronie. Staraj się nie powtarzac instrukcji i upychac je w jedną. Dla przykładu : zmienna H można było tez każdorazowo zerowac w Case0 i Case2 , a zerowana jest już w Przycisk...
Pozdrawiam, jak coś jeszcze mi się rzuci w oczy to doedytuje.
BARTek
Moja strona
Witam dzięki za uwagi co do
Witam dzięki za uwagi co do tego co to ma być to jak się uda :-) to będzie sterownik do bramy uchylnej dwuskrzydłowej
i porty Portd.6 Portd.5 Portb.0 Portd.7 załączają przekaźniki które odpowiednio włączają silniki i zamieniają obroty silników brakuje jeszcze obsługi krańcówek tzn jedna jest a resztę dopiszę jak się uporam z tym czasem załączania portów, wiem że układów tego typu jest wiele ale coś zrobione samodzielne jest bezcenne i do tego się można czegoś nauczyć zdaję sobie sprawę że sposób pisania przeze mnie programu jest chaotyczny ale nie do końca jeszcze wiem jak to ma wyglądać i dla tego zlepiam to co mi ktoś podpowie to co udało mi się samodzielnie wykombinować jest trochę za mało żeby działo wg mojego pomysłu Pozdrawiam
pomoc
Witam
kisoft z tej strony
na samym początku podałem Ci sposób na twoje problemy . Zamierzasz zbudować centralkę sterującą bramą, przeanalizuj dokładnie sposób obsługi przycisków z tamtego postu krańcówki to też przyciski ew. bariera podczerwieni też przycisk i wreszcie sygnał otwierania i zamykania bramy z pilota to też przycisk ( i jeszcze dodatkowy przycisk otwir. i zamk. w domu). Jak widzisz same przyciski. Mirley opisał to bardzo dokładnie i skorzystaj z tego sposobu bo jest idealny dla Ciebie
Jezeli chodzi o to co zrobiłeś do teraz to wywal to wszystko z pętli głównej i zrób skok do etykiety przyciski ( w pętli głównej tak jak w pierwszym poście.
Sterownik bramy dwuskrzydłowej
Witam. Z braku czasu odpisuję dopiero teraz. Przemyśleń jest jednak więcej.
Tak jak kolega juz napisal - nie ma pomysłu jak to ma działać. To jednak podstawa do budowy takiego urządzenia.
1 Po pierwsze trzeba wiedzieć jakie będą silniki. Jesli stałoprądowe na niskie napięcia (popularne z wycieraczek) to prądy na stykach przekaźników będą duże i podnosi to "awaryjność" i poradziłbym zastosowac zamiast nich tranzystory MOSFET (popularne BUZ10 lub IRF za wzmacniaczy caraudio).
2 Skrzydła bramy to nie dyskoteka i albo się zamykaja albo otwieraja obydwa (lub jedno w funkcji Furtka) więc przekaźnik zmiany kierunku może być jeden i przełaczany zanim tranzystory włączą prąd przez co nie iskrzą styki (pzekaźnik podwójny w stanie zwolnionym już łączy w jednym kierunku a tylko włączony zamienia przewody) Tak to jest rozwiązane w pralkach automatycznych (lewo-prawo najpierw klapnięcie przekaźnika a potem włącza prąd tyrystor). Odpada tez od razu możliwość włączenia dwóch kierunków naraz wiadomo że kończące sie zwarciem.
3 Jeśli uparcie zostanie kolega przy przekaźnikach to nalezy przewidzieć możliwość zawieszenia się kontrolera i wystawienie np. stanów wysokich na wszystko. Przekaźniki w automatyce przemysłowej mają do tego styki pomocnicze które np rozłaczaja zasilanie cewki drugiego przekaźnika uniemożliwiając właczenie go naprzemiennie ten drugi może rozewrzeć kolegę obok.
4Może to i na wyrost ale krańcówki w każdym poważniejszym sprzęcie są zdublowane i do tego niezależne. Znaczyto na jednym przykładzie : Krańcówka zamknięcia bramy to sygnał dla mikrokontrolera by wyłączyć prąd zamykania ale gdyby coś poszło nie tak to druga krańcówka też na zamykaniu przerwie obwód przekaźnika już niejako czysto elektrycznie. Tak na wszelki wypadek ale coś może lodem obrosnać, coś nie łczyć, coś zostać zgniecone..
5 W programie powinno sie też przewidzieć czas na otworzenie się i zamkniecie bramy tak że po 20 zec "akcja zamykanie" jest juz nieaktualna. To pomoże ochronić silniki przed przegrzaniem gdy np, snieg stanie na drodze w jakiejś szczelinie i krańcówka nie da sygnału że brama jest juz na miejscu.
6 Przydałoby się oprogramować też zabezpieczenie pradowe. Jeśli coś ztanie na drodze Twojej bramy (samochód którego jeszcze nie widzi laser/bariera podczerwieni, albo co gorsze dziecko w wózku, czyjaś kończyna) To mierząc spadek napięcia na zasilaniu silników wewnetrznym ADC możesz odkryć spadek napiecia poniżej akceptowalnego.
7 Powyższe zabezpieczenia są wbudowane w układy sterujące szybami w samochodach. Wpisz w google automotive motor driver ic i masz wbudowane lewo/prawo, badanie przeciążenia. Dedykowany układ do sterowania silnikiem będzie chyba lepszym rozwiązaniem. Procesorowi zostaw tylko czas i obsługę logiki zamknij/stój/otwórz. Do tego pilot. Te do bram sa drogie bo maja większy zasięg niż te z alarmów. Wyjściem jest zakup na giełdzie samochodowej pilota z Webasto (zasięg kilometr :D )
Jak widac takie sterowniki to nieprosta na drugi rzut oka sprawa. Procesor w poczatkowej fazie przed resetem ma stany na portach nieustalone więc teoretycznie może włączyć prad w obydwu kierunkach.
Bardzo chętnie pomoge przy tym rozwiązaniu. Sam siadam dziś do sterowania silnikiem z wycieraczek z malucha. Mam układ dedykowany ale jeszcze pomyślę bo mi potrzebne jego precyzyjne pozycjonowanie.
PS. Piszac układ miałem na myśli scalony driver. Ja mam taki BTS 781GP z szyb Volvo.
BARTek
Moja strona
Witam w odpowiedzi na post
Witam w odpowiedzi na post kolegi EDC o to że nie wiem jak ma działać sterownik do bramy to tak się składa że doskonale wiem jak działają takie sterowania gdyż kilka lat temu byłem monterem takich sterowań jak również domofonów i innego tego typu spraw ale to nie ważne.
Wg mojego założenia to ma być tak
- Start - ma się jako pierwszy załączyć przekaźnik włączający duże trafo (po co ma doić na prądzie jałowym skoro może działać na czas otwierania/ zamykania) po dajmy na to 1,5 sek ma się załączyć np umownie otwieranie pierwszego skrzydła (opóźnienie wymyśliłem po to że jeśli włączyło by się jednocześnie i przekaźnik od trafa i od silnika mogłoby to tworzyć dodatkowe zakłócenia chociaż co do tego to do końca nie jestem pewien) po czasie np 3 sek (dobrane doświadczalnie) otwiera się drugie skrzydło wynika to z tego że jedno skrzydło ma opór ale to rzecz oczywista. Otwieranie / zamykanie bramy ma się zakończyć po dojechaniu do krańcówek. Marzeniem jest ale to nieosiągalne żeby działało to bez krańcówek tylko tak jak jest zrobione w oryginalnych sterowaniach NICE że bramę uczy się po prostu czasu po jakim czasie ma otworzyć / zamknąć (na przemiennie) dane skrzydło i otwieranie i zamykanie jest bez krańcówek tylko brama ma czas żeby dojechać dojeżdża i się zatrzymuje ale to mówię wyższa szkoła jazdy. Dobrze by było żeby po zadziałaniu fotokomórki (w sumie to tylko wystarczy żeby działała za zamykaniu) brama zatrzymała się na np 2 sek (żeby silnik nie cierpiał gdyby momentalnie dostał drugich obrotów) i po czasie tych 2 sek ma się otworzyć do końca.
1. Silniki fajnie by było żeby były na 230v ale niestety takie są drogie :-(. Więc wersja nisko napięciowa musi wystarczyć.
2. Nie uparłem się na te przekaźniki tylko wynika to z tego że w założeniu było żeby sterownie było jak najmniejszym kosztem a przekaźniki mam w domu w sumie to nie pomyślałem o tym pomyśle z tranzystorami trafna uwaga.
3. Wiem o tym że styczniki mają styk pomocniczy żeby można było na nim zrobić blokadę (ja to nazywam "głupoto odporność")
4. Zdaję sobie z tego sprawę że "może pójść coś nie tak mikroprocesorowi" i niestety boli mnie to ale kurde nie bardzo jest jak wykonać żeby i jedno i drugie (chce wykorzystać gotowe siłowniki z allegro w sumie nie jestem z nich do końca zadowolony gdyż są to po prostu siłowniki które dawniej były wykorzystywane do obracania anten satelitarnych zapewne mała wytrzymałość i te siłowniki maja tylko jedna parę krańcówek) działo razem
5. Fakt zapomniałem o tym czasie (może nie tyle zapomniałem o ile nie bardzo mam wiedze jak to zrobić )
6. Co do zabezpieczenia nad prądowego to gdzieś w głowie jest taka sprawa ale jeszcze do tego nie doszedłem.
Fajnie to jest rozwiązane (moim zdaniem) w kicie AVT 5341 nie wiem czy kolega widział opis (mam w domu kod źródłowy). Wersja niskonapięciowa a do 230 to odpowiednie termiki automaty + kod w procesorze załatwia sprawę
7. Co do zdalnego sterowania to są na allegro fajne Radiolinie 2 kanałowe ładne piloty za 59 zł z wysyłka działa wyśmienicie gdyż montowałem kilka i znajomi są zadowoleni z zasięgu i ceny zresztą też.
Pomysł kolegi z tym driverem do szyb fajny ale koszty rosną (układ kosztuje 30 pln) a moje założenie było żeby się zmieścić do 100 ze zdalnym sterowaniem i by się udało ale przerosło mnie niestety oprogramowanie tego wszystkiego w całość coś tam mam niby działa ale oczywiście nie do końca tak jak powinno
Re. Brama
No i gitara :D Będzie dobrze. Coś się na to napisze. Ja własnie czekam na części i powinny być jutro. Też chcę sterować serwem poważnym i zmieniłem koncepcję z drivera na 4x tranzystor MOSFET z wykrywaniem przeciążenia przez mikroprocesor. Z tym drugim trafo dałeś mi do myślenia.. Najlepiej oprogramuję najpierw mój :D , ale nic nie stoi na przeszkodzie żebyś coś próbował pisać.
BARTek
Moja strona
Witam jeśli chodzi o te
Witam jeśli chodzi o te tranzystory to mam rozumieć że chodzi o mostek H tyle że zrobiony na mosfetach?
Pomysł ok tylko że ja już polutowałem płytkę na gotowo właśnie z przekaźnikami ale to jak to bywa w prototypie zrobi się drugą wersje tylko robota idzie jak krew z nosa pod górę bo coś mi sie podziało z programatorem na usb nie chce działać AVR dude i muszę mocować się z programatorem na lpt który mam w komputerze stacjonarnym a nie jest to zbyt wygodne ale trudno jakoś trzeba dawać radę Pozdrawiam Grzesiek
Re. brama
Witam. Pech chciał żebym wszystkich części nie dostał :D
W lispolu brakowało kilku potrzebnych mi rzeczy z dłuższej listy i zamówiłem wszystko w sklep.avt... Zamówiłem w niedzielę,a paczka przyszła wczoraj i ..brakuje własnie tych tranzystorów mimo że widnieją na paragonie :D Na reklamację zareagowali tym, że wysłali mi je dzisiaj priorytetem :D
Ale dosyc o mnie Hihi :D Mam trochę czasu więc napisz: czy krańcówki mają styk zwierny czy jaki
Jeśli masz płytkę to opisz które wyprowadzenie do czego. Jedni rozwiązują krzyżówki albo sudoku a ja lubie w wolnych chwilach takie łamigłówki :D
I jeśli mógłbyś napisać na czym polega uczenie tej bramy czasu otwarcia (uczysz ją Ty w jakimś trybie nauki czy sama taka sprytna z czujnikiem przeciążenia) Napisz też przyblizony czas otwarcia się tych skrzydeł.
Edytowano
I co z wyuczonym czasem jak podczas zamykania/otwierania zanik napięcia? Po wznowieniu zasilania kontynuuje coś?
BARTek
Moja strona
Brama dwuskrzydłowa - program :)
To po części pasujący pod Twoje hardware program. Skorzystałem z Aliasów żebyś mógł dowolnie zmienić konfiguracje pinów tylko pamiętaj o poprawnym ustawieniu w Config Port i potem w Port.X = na początku programu.
Program powinien działać następujaco:
Przy otwieraniu włącza przekaźnik główny i po sekundzie włącza otwieranie pierwszego skrzydła. Po trzech sekundach włącza drugie skrzydło. Kończy kazdym skrzydłem osobno dojeżdżając do krańcówek. Jeśli obydwa skrzydła otwarte wyłącza przekaźnik główny.
Przy zamykaniu analogicznie z tą różnicą że jeśli w tym trybie zadziała bariera foto to automatycznie przechodzi do otwierania. Zeruje zmienne czasu więc dopiero po sekundzie zacznie się otwierać skrzydło i po trzech drugie.
Na czas prazy silników miga kogut :D taki bajer :P
Program można rozbudowywać o naukę czasu bram i takie tam :D
Nietestowane więc błąd mógł się wkraść. Niemniej jednak życzę miłej eksploatacji :D Uwagi co do funkcjonalności mile widziane.
BARTek
Moja strona
sterownik bramy
witam Kisoft
Siłowniki mają krańcówki w sobie, włączone szeregowo w śilnik, dlatego najlepiej uruchomić przetwornik i mierzyć prądy.Tym sposobem można realizować też funkcje przeciążeniowe
Wielki dzięki za pomoc
Witam dziękuję bardzo za zainteresowanie i pomoc szczególnie podziękowania dla EDC jak tylko znajdę wolną chwile to przeanalizuję kod i poprzerabiam na moje wyprowadzenia i odezwę się jak działa jeszcze raz dzięki
Brama dwuskrzydłowa - errata :D
Coś innego dziś skrobałem i błysnęło mi że mogłem zapomnieć o tym :
W Case3 przy opuszczaniu jej z powodu zadziałania bariery foto trzeba dopisac resetowanie przekaźników.
Program napisany pod cztery przekaźniki + główny, ale możesz go przerobić na trzy + główny. Jeden przekaźnik podwójny odwracajacy zasilanie na styki dwóch pozostałych. Ten zmieniajacy kierunek uruchamiasz tylko w Case3 a w Case1 i Case3 uruchamiasz po czasie te same przekaźniki.
BARTek
Moja strona
Witam jak na razie nie
Witam jak na razie nie doszedłem do programowania układu bo chwilowo brakło czasu przerobiłem nr portów pod moja płytkę więc dzięki z góry za dalsze zainteresowanie tematem jak się ogarnę to postaram się wpakować program do procka i napiszę o wynikach działania pozdrawiam Grzesiek