Elektroda.pl
Elektroda.pl
X
BotlandBotland
Proszę, dodaj wyjątek dla www.elektroda.pl do Adblock.
Dzięki temu, że oglądasz reklamy, wspierasz portal i użytkowników.

Zdalne sterowanie roletami - Nie wiem jak do programu podpiąć wyłączniki końcowe

29 Gru 2016 09:40 1266 17
  • Poziom 5  
    Witam planuje zrobić program do podnoszenia i opuszczania rolet.Program prawie zrobiłem tylko mam problem bo nie wiem jak do programu wstawić wyłączniki końcowe(krańcowy)


    Nie wiem jak go też podłączyć fizycznie do arduino z góry dziękuje za pomoc.


    Kod: c
    Zaloguj się, aby zobaczyć kod
  • BotlandBotland
  • Poziom 21  
    Podłącz te krańcówki tak samo jak zwykły przycisk, rezystor podciągający do plusa i już mamy. Rozwarty, mamy 1, zwarty mamy 0. Tylko pamiętaj o tym, że krańcówki nają dwa styki, jeden zwierany wciśnięciem, a drugi rozwierany, no i oczywiści styk wspólny.
    Co do programu to zwykła obsługa wejścia, można na przerwaniach, dla pewności szybkiego zadziałania.
  • Poziom 27  
    W większości obiektów z jakimi się spotkałem , do rolet jest zamontowany moduł :
    http://sterowanierolet.pl/pliki3/rcs5.pdf połączony dodatkowo ze stacją pogodową . Co do wyłączania w pozycji skrajnej , to roleta posiada tzw . elektromechaniczne wyłączniki krańcowe .W twoim wypadku sterowanie dwoma przekaźnikami góra - dół ) krańcowe położenia wyłączenie w rolecie .
  • Poziom 5  
    Tak myślałem żeby podłączyć.Widziałem podobny temat i gość fachowo podłączył używając wyjścia input w arduino
  • Poziom 27  
    Kolego Szybki946 .Takich sterowników używa się w małych jak i bardzo rozbudowanych systemach . Z tego co pamięć mnie nie myli można nimi sterować również okna i drzwi wyposażone w siłowniki elektryczne . Po poprawnym montażu są bezproblemowe . Jako ciekawostkę dodam iż w dużych obiektach mogą być stosowane w razie wystąpienia pożaru w celu otwarcia lub zamknięcia okien( oczywiście wówczas sterowanie przejmuje Centrala SSP jako sterowanie nadrzędne ) .
  • BotlandBotland
  • Poziom 27  
    Kolego podałem przykład jak to się robi . Skoro chcesz sam zaprojektować to zwrócę Ci uwagę na parę elementów :
    1. Upewnij się czy roleta posiada fabryczne krańcówki
    2. Co się dzieje z twoim układem w chwili zablokowania rolety ( czy układ ją wykrywa jako przeciążenie , czy dalej idzie do oporu )
    Wbrew pozorom to są ważne pytania . Z biegiem czasu będziesz chciał zastosować układ do innych rozwiązań . Przy np. pracy dwóch siłowników musisz je monitorować oba . Osobiście widziałem rozwalone okno dachowe sterowane przez 2 siłowniki w którym jeden zawiódł . Okazało się , że wspomniana prze ze mnie płytka była zamontowana niepoprawnie . Uwierz mi "cudownie " wyglądało aluminiowe okno ( 1,5 m *3 m ) skręcone w ósemkę
  • Poziom 5  
    To ma być proste otwieranie rolet wewnetrznych rolety przerobie sam, juz silniczki zamówiłem do nie jest skomplikowane. Program na androida juz zrobiłem do sterowania. Mogę to zrobić czasowo czyli obliczyć czas podnoszenia rolety ale chciałem zrobić że jak roleta się opuści to wyłączy krańcowy np. Dolny zatrzyma ja. Po prostu nie wiem jak mam to napisać w arduino.
  • Poziom 21  
    Polecał bym zmierzyć czasowo ile trwa zamknięcie i otwarcie i jeżeli po tym czasie krańcówka nie wykryje pozycji skrajnej to wyłączyć silnik. Dobrym rozwiązaniem był by też bezpiecznik w szereg z silnikiem, taki na maksymalny prąd silnika, ale zwłoczny i w tedy jak roleta się zaklinuje, to po prostu pójdzie bezpiecznik a nie co innego.
  • Poziom 36  
    Szybki946 napisał:
    . Mogę to zrobić czasowo czyli obliczyć czas podnoszenia rolety ale chciałem zrobić że jak roleta się opuści to wyłączy krańcowy np. Dolny zatrzyma ja. Po prostu nie wiem jak mam to napisać w arduino.


    Nie możesz tego robić czasowo.....
    Jeżeli podnoszenie i opuszczanie będzie sterowane zawsze z terminal monitora to:
    Powiedzmy że dla rolety1 dolna krańcówka ma wejście podciagane i oznaczone 'Kr_1d'
    Dopisz więc w programie
    if (Kr_1d == 0){
    state =’2’;
    }
    -to powinno wyłączyć silnik1, ale prawdopodobnie spowoduje problem z jego załączeniem w kierunku podnoszenia, bo ciągle siedzisz na wyłączniku, który zmieni ci state. Wyjściem z tego ‘zamka’ może być wprowadzenie małej zwłoki ‘delay’ na czas zjechania z wyłącznika.
    Zaraz po instrukcji:
    if (state == '1') {
    digitalWrite(S1_G, HIGH);} //Silnik 1 podnoszenie
    //dodaj
    delay(50); //być może to wystarczy, albo dobierz doświadczalnie.

    Podobnie daj dla pozostałych 2-ch silników; state = odpowiednio 5 i 8
    Jezeli dodasz także krańcówki górne, to będzie wymagana dalsza modyfikacja programu, nie koniecznie w tym samym stylu.

    e marcus
  • Poziom 5  
    Dobra może zacznę o co mi chodzi przykład dla jednego wylacznika


    Kod: c
    Zaloguj się, aby zobaczyć kod

    Nie wiem czy to zadziała zna się ktoś na kodzie do arduino.
    Tak wygląda ten wylacznik:

    Zdalne sterowanie roletami - Nie wiem jak do programu podpiąć wyłączniki końcowe
  • Specjalista - Mikrokontrolery
    Proponuję zacząć od zapomnienia o czymś, co nazywa się"pętlą główną". Zaczynamy od przerwania timera zgłaszanego np. 100 razy na sekundę, w którym realizujemy prosty automat dla każdej rolety. Zaczynamy od okreólenia stanów. Prawdopodobnie będą to:
    - zatrzymanie w pozycji dolnej
    - zatrzymanie w pozycji górnej
    - zatrzymanie w pozycji nieokreślonej
    - przesuwanie w górę
    - przesuwanie w dół
    - awaria

    Natępnie zastanawiamy się, jakie zdrzenia mogą wystąpić w każdym stanie i na jaki stan natępuje zmiana przy wystąpieniu danego zdarzenia. Np dla przesuwania w dół:
    - osiągnięto pozycję dolną -> stop, zatrzymanie w pozycji dolnej
    - przyszło polecenie inne niż "w dół" - stop, zatrzymanie w pozycji nieokreślonej
    - przekroczony czas maksymalny - stop, awaria

    I tak dla każdego stanu.
  • Poziom 5  
    Ja zapytałem tylko o kod i tego oczekuje
  • Specjalista - Mikrokontrolery
    A ile płacisz za ten kod?

    Do zlecania projektów służy inny dział na tym forum. Tutaj udzielamy porad technicznych - dajemy wędkę, a nie rybę.
  • Pomocny post
    Poziom 33  
    Krańcówki mają dwie możliwości podpięcia, NC - normaly closed i NO - normaly open, dlatego masz trzy wyjścia z krańcówki, jeden pin jest wspólny a dwa pozostałe to albo NC lub NO. Proponuje skonfigurowąć jako NO i ten wspólny podpiąć do GND arduino a drugi od NO do jakiegoś pinu arduino, np. 2, i wtedy w setup musisz zadeklarować rodzaj pinu :
    Kod: c
    Zaloguj się, aby zobaczyć kod

    W pętli loop musisz czytać stan tego pinu, a np. :
    Kod: c
    Zaloguj się, aby zobaczyć kod


    Pozdr
  • Poziom 5  
    BlueDraco napisał:
    A ile płacisz za ten kod?

    Do zlecania projektów służy inny dział na tym forum. Tutaj udzielamy porad technicznych - dajemy wędkę, a nie rybę.


    Jednak gość poniżej okazał się bardziej pomocny. Podchodzisz jak ci w rządzie.
  • Specjalista - Mikrokontrolery
    "Gość poniżej" zaproponował rozwiązanie, które w ogólnym przypadku nie działa, bo Twoje urządzenie musi być ciągle gotowe do reakcji na kilka możliwych zdarzeń, z których jedno nie wyklucza drugiego, np. nadejście polecenie, osiągnięcie pozycji końcowej, przekroczenie czasu).
  • Poziom 33  
    Kolego, to jest tylko przykład obsługi krańcówki, widzisz gdzieś abym napisał, że to gotowy program ? no proszę cię.
    rs6000 napisał:
    W pętli loop musisz czytać stan tego pinu, a np. :

    Słowo "np." jest tu kluczem ;)
    Kolega zapytał o podłączenie krańcówki wiec napisałem mu jak to zrobić, więc nie rób ze mnie proszę imbecyla ;) oczywistym jest, że program wymaga obsługi większej ilości wątków i tu ameryki nie odkryłeś ;)

    Pozdr