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

Sterownik rolet wewnętrznych na ATMEGA 8

JaGin4 26 Lis 2015 17:51 10188 26
  • Sterownik rolet wewnętrznych na ATMEGA 8
    4 lata temu zbudowałem sterownik, który do dzisiaj działa bezawaryjnie. Cały czas brakowało w nim jednak wielu funkcji. Wówczas programowałem w Basicu, ale teraz programuję wyłącznie w CC (AVR-GCC).
    :idea: Nadszedł czas na zmianę na konstrukcję w pełni elastyczną, którą można konfigurować, przez co możliwa jest do wykonania przez każdego i skonfigurowanie na własne potrzeby.

    Najważniejsze cechy tej konstrukcji to:
    • obsługa ustawionej ilości rolet od 1 do 5,
    • możliwość przełączenia trybu pracy na automatyczny lub ręczny,
    • automatyczne podnoszenie lub opuszczanie rolet w zależności od oświetlenia fotorezystora,
    • podwójny pomiar oświetlenia po 0,5 s zabezpieczający przed reakcją na błyskawicę,
    • możliwość przyuczenia komend dowolnego pilota (RC5 lub RC6) do funkcji ręcznego sterowania roletami,
    • możliwość sterowania przy pomocy pilota podnoszeniem i opuszczaniem każdej z rolet lub wszystkich z możliwością zatrzymania w dowolnym miejscu,
    • podczas przyuczania do komend pilota sprawdzane jest użycie komend zabezpieczające przed zdublowaniem dla więcej niż jednej funkcji (próba powtórnego użycia wskazywana jest potrójnym dźwiękiem beepera),
    • wyświetlanie komunikatów (z polskimi literami) na LCD w trakcie ustawiania lub wykonywania funkcji,
    • kontrola czasu podnoszenia rolet (podnoszenie 18 s, opuszczanie 10 s) po przekroczeniu którego silnik rolety zostaje wyłączony i traktowany jako awaria (np. przerwa w instalacji połączenia silnika),
    • ilość parametrów do ustawienia zależna jest od ustawienia ilości obsługiwanych rolet,
    • możliwość ustawienia wartości ADC prądu zasilania każdego z silników rolet (przekroczenie tej wartości traktowane jest jako osiągnięcie krańca),
    • możliwość sterowania np. oświetleniem pomieszczenia (w trybie automatycznym włączane po opuszczeniu wszystkich rolet lub wyłączane tuż przed podnoszeniem rolet),
    • ustawianie parametrów przy pomocy impulsatora stykowego z przyciskiem,
    • zapamiętanie parametrów i stanów rolet w nieulotnej pamięci EEROM co zabezpiecza przed utratą ustawionych parametrów w przypadku zaniku zasilania,
    • użycie jednego zasilacza 19,5V o dużej sprawności, z którego za pomocą dwóch przetwornic otrzymywane jest napięcie 5V i napięcie zasilania silników, ustawiane za pomocą potencjometru na wartość od 5V do 16V,
    • możliwość wyzerowania ustawionych w pamięci parametrów (przy wyłączonym zasilaniu nacisnąć i trzymać przycisk impulsatora, włączyć zasilanie, zwolnić przycisk),
    • informowanie o konieczności ustawienia parametrów (po pierwszym uruchomieniu lub wyzerowaniu pamięci),
    • modułowa budowa umożliwiająca szybkie serwisowanie (moduł przetwornic zasilacza, moduł procesora, moduł wykonawczy mostków H) oraz stosowanie modułu mostków H dostosowanych do mniejszej niż 5 ilości rolet (ja stosuję wersję z trzema mostkami dla 3 rolet),
    • w mostkach H zastosowanie optronów zabezpiecza przed przypadkowym niedozwolonym stanem na wejściach.

    Wykorzystałem przestrzeń programu w ATMEGA 8 praktycznie do końca (98,3%). Całość włącznie z zasilaczem od laptopa zmieściłem w obudowie o wymiarach 12x8x19,5 cm.
    Więcej szczegółów znajduje się w załączniku.

    Dołączam schematy, wsad hexa i bardziej szczegółowy opis.

    PCB na razie nie dołączam, ponieważ jeszcze nad nimi pracuję. W prototypie, który już działa, zaprojektowałem płytki dwustronne, ale niestety musiałem zrobić kilka połączeń kynarem.

    Uzupełniam o zdjęcia konstrukcji:
    Sterownik rolet wewnętrznych na ATMEGA 8 Sterownik rolet wewnętrznych na ATMEGA 8 Sterownik rolet wewnętrznych na ATMEGA 8 Sterownik rolet wewnętrznych na ATMEGA 8 Sterownik rolet wewnętrznych na ATMEGA 8 Sterownik rolet wewnętrznych na ATMEGA 8

    Poniżej są dodane projekty dwustronnych płytek modułów. Moduł mostków jest w wersji dla 3 rolet z wykorzystaniem układów SMD. Jedno połączenie trzeba niestety wykonać przewodem (oznaczone na czerwono). Ja płytki robiłem przez transfer termiczny z wydruku na drukarce laserowej.

    Fajne! Ranking DIY
    Potrafisz napisać podobny artykuł? Wyślij do mnie a otrzymasz kartę SD 64GB.
    O autorze
    JaGin4
    Poziom 10  
    Offline 
    JaGin4 napisał 22 postów o ocenie 8, pomógł 1 razy. Mieszka w mieście Gdańsk. Jest z nami od 2008 roku.
  • Relpol przekaźniki
  • #3
    jamrjan
    Poziom 12  
    Witam

    Bardzo ciekawe. Interesuje mnie jak wykonałeś napęd rolet, kiedyś próbowałem z serwami, ale niestety dość niepraktyczne i nie estetycznie to wyglądało (kolor i wystające elementy).
    Przeciążeniowa kontrola jest też dość problematyczna - po kilku przebiegach zrywał się zaczep ogranicznika przy zwijaniu rolet, a jak prąd był ustawiony zbyt nisko to przy oknie 120cm nie zwijał rolet (nie mógł wystartować). Zastanawiałem się nad krańcówkami tylko to komplikuje układ mechanicznie, ale w końcu kupiłem nowe rolety(ręczne) bo po modyfikacjach nie można było przywrócić stanu pierwotnego.
    Nie wiem czy silniki tzw. "fabryczne" mają krańcówki jak napędy rolet zewnętrznych. Szkoda że ceny tych silników są odstraszające. Może ktoś pochwali się ciekawym rozwiązaniem mechanicznym.
  • #4
    JaGin4
    Poziom 10  
    W odpowiedzi na uwagi zamieszczam kilka fotek zrobionych w czasie budowy prototypu i wygląd silnika przy rolecie.

    Fotki przeniosłem na początek tematu.

    Jako napęd rolet użyłem zainstalowane 4 lata temu i pracujące bezawaryjnie silniki 12 V firmy Micro Motors HL149.12.21 AS. Są to silniki z przekładnią długości 60 mm i średnicy 28 mm, czyli mniejszej niż przeciętna roleta.

    Należy oś silnika sprzężyć z osią rolety. Konstrukcja może się różnić z uwagi na różną budowę rolet. W roletach stosowana jest sprężyna zapobiegająca rozwijaniu się, którą należy usunąć. Opór silnika z przekładnią jest wystarczający, aby roleta samoczynnie się nie rozwijała.
    Kontrola przeciążenia silnika jest w tym układzie bardzo efektywna i nie powoduje żadnych problemów. Oczywiście prąd musi być odpowiednio dobrany i może się nieco różnić w poszczególnych egzemplarzach silników (zwłaszcza używanych, które ja stosuję). Nie jest to problem w tej konstrukcji, gdzie można dowolnie zmieniać wartość ADC prądu, przy którym następuje wyłączenie. Fotki dotyczą mudułu z obsadzonymi trzema mostkami H (mam 3 rolety).
    Uwagę mam aby umieszczać silnik od strony zawiasu okna, co ułatwia ułożenie kabla nie blokującego dowolne otwieranie.
  • #5
    kamo502
    Poziom 20  
    JaGin4 napisał:
    Uwagę mam aby umieszczać silnik od strony zawiasu okna, co ułatwia ułożenie kabla nie blokującego dowolne otwieranie.


    Ja bym proponował kablem zjechać po krawędzi skrzydła i przy dolnej zawiasie dać dopiero na ramę.
    U Ciebie nie można uchylić okna.
  • #6
    JaGin4
    Poziom 10  
    Dokładnie tak jak piszesz.
    To okno na fotografii nie uchyla się u góry. W innym pokoju mam właśnie kabel przyklejony na krawędzi schodzący do dołu, ale to są już szczegóły :D
  • Relpol przekaźniki
  • #7
    Samuraj
    Poziom 35  
    Będę czepialski lecz sam to napisał autor:
    "• wyświetlanie komunikatów (z polskimi literami) na LCD w trakcie ustawiania lub wykonywania funkcji"

    a na wyświetlaczu widzimy:
    Sterownik rolet wewnętrznych na ATMEGA 8
  • #8
    JaGin4
    Poziom 10  
    Tak jak pisałem, fotki robiłem w trakcie konstruowania. Wówczas nie miałem jeszcze dodanych polskich znaków.
    Teraz wygląda to tak:

    Obrazki przeniosłem na początek tematu.
  • #9
    jamrjan
    Poziom 12  
    Witam

    Daleki jestem od krytyki, bo fajnie jak można się czymś zainspirować, niestety z takim silnikiem i tak zamontowane to żona by mi od razu kazała to usunąć i pewno miała by rację. Może kiedyś uda mi się zrobić coś na wzór "fabrycznego" napędu, tam silnik razem z przekładnią włożony jest do rurki i nic nie wystaje. Może z serwa przeróbka - niestety zawsze czasu brak :)
    Gratuluję rozwiązania elektroniki - bo to jest ważna rzecz i może się przydać do innych zastosowań

    Pozdrawiam
  • #10
    eurotips
    Poziom 36  
    Bardzo przydatna rzecz, niestety robiłem dwa podejścia i poległem w temacie. Nie potrafiłem przejść problemów z opuszczaniem, o ile podnoszenie rolety nie sprawiało problemu o tyle opuszczanie wymagało dodania metalowego pręta który by "ciągnął w dół" w momencie opuszczania. Przed przerobieniem polecam ręcznie sprawdzić najpierw czy posiadany mechanizm nadaje się do opuszczania silniczkiem.
  • #11
    Fredw
    Poziom 20  
    eurotips napisał:
    Nie potrafiłem przejść problemów z opuszczaniem, o ile podnoszenie rolety nie sprawiało problemu o tyle opuszczanie wymagało dodania metalowego pręta który by "ciągnął w dół" w momencie opuszczania.

    Nie wiem jakie miałeś rolety ale ja nie spotkałem klasycznej rolety (typowej domowej z napędem na sznurek) która nie miała by obciążenia, przecież coś musi ją w dół ciągnąć.

    Ciekawi mnie za to inna rzecz, co w momencie jak zabraknie prądu?
    Jak otworzyć taką roletę napędzaną serwem lub innym mechanizmem z przełożeniami.
  • #12
    jamrjan
    Poziom 12  
    Serwo tak na prawdę po wycięciu blokady, kręci się choć z oporami.
    Ciągnąc za standardowy sznurek do ręcznego zamykania, spokojnie można zamknąć lub otworzyć roletę, problem że gdy zrobi się to zbyt gwałtownie, to niestety plastikowe zębatki zostaną zerwane. Ale tak naprawdę można zastosować serwo z metalowymi kółkami. Przekładnia planetarna na pewno stawia większy opór.
  • #13
    JaGin4
    Poziom 10  
    Rolety, które ja stosuję z silniczkami Micro Motors, dają się przesuwać za pomocą oryginałnego sznurka, na którym znajdują się plastikowe markery położeń skrajnych. Co prawda przez 4 lata nie było takiej potrzeby, ale sprawdziłem to przed chwilą. Zrobiłem to na wszelki wypadek powoli, bo przecież są to również prądnice, które mogłyby "uwalić" tranzystory w mostkach H.
    Co do obciążeń to rolety mają u dołu listwę (chyba lakierowane aluminium) a prowadzone są po bokach na żyłkach. Typowe tanie rolety kupione w internecie.
  • #14
    gbd.reg
    Poziom 21  
    Mam pytanie odnośnie wykrywania początku i końca rolety. Z opisu wynika, że zrealizowałeś to na podstawie wykrycia oporu / wzrostu prądu na silniku. Rozumiem, że roleta posiada wbudowany ogranicznik na dole?

    Rozumiem, że zastosowanie krańcówek byłoby tu problematyczne. Jednak jeśli posiadałbyś rolety z listwami po bokach, zasłaniającymi ich krawędzie:
    Sterownik rolet wewnętrznych na ATMEGA 8
    istnieje dość ciekawy patent na wykrywanie początku/końca rolety, a nawet na wykrywanie dokładnej pozycji rolety.

    Otóż można na krawędziach rolety (które są schowane w listwach) umieścić otwory/nacięcia na początku i końcu rolet, a na samej górze, już pod obudową rolety umieścić barierę optyczną, która miałaby za zadanie wykrywać te otwory lub nacięcia właśnie. Nacięcia mogą również znajdować się po drodze, (mogą się różnić np długością, szerokością lub mogą być wykrywane przez inną barierę optyczną, np przesuniętą lub umieszczoną po drugiej stronie okna) dzięki czemu możliwe będzie monitorowanie pozycji rolety w trakcie jej zwijania lub rozwijania. Można wtedy zaprogramować otwarcie do zadanej wysokośći, skok o podaną wysokość lub np otwarcie/zamknięcie rolet dzień/noc (rolety zwinięte na pół, składające się z umieszczonych na zmianę przezroczystych i nieprzezroczystych pasów. Jedna połowa jest nieruchoma. Dzięki temu można ułożyć pasy na przemian, blokując światło lub zgodnie, przepuszczając światło przez pasy).

    Przy odpowiednio małych i precyzyjnych barierach optycznych i odpowiednio precyzyjnych nacięciach można również zakodować binarnie bezwzględną pozycję rolety, jak to ma miejsce w enkoderach bezwzględnych.
  • #15
    JaGin4
    Poziom 10  
    Tylko po co tak komplikować układ, tym bardziej, że wykorzystałem wszystkie piny w ATMEDZE 8 (obudowa PDIP). Przez 4 lata ten sposób wykrywania krańca u mnie się sprawdzał. Dodatkowe okablowanie to już byłby przerost formy nad treścią. :D
    Właśnie zacząłem montować drugi sterownik do drugiego pokoju (2 rolety).
  • #16
    ditomek
    Poziom 21  
    Elektrycznie i programowo bez zarzutu.
    Dobra robota.
    Nie podoba mi się skrzynka.
    Zawsze uważałem że jedno z najtrudniejszych zagadnień w tego typu niewielkich projektach to obudowa. Ale w warunkach domowych często łatwiej zrobić PCB i zaprogramować układ niż męczyć się z obudową.
  • #17
    eurotips
    Poziom 36  
    ditomek napisał:
    Elektrycznie i programowo bez zarzutu.
    Dobra robota.
    Nie podoba mi się skrzynka.
    Zawsze uważałem że jedno z najtrudniejszych zagadnień w tego typu niewielkich projektach to obudowa. Ale w warunkach domowych często łatwiej zrobić PCB i zaprogramować układ niż męczyć się z obudową.


    Pewno jak zrobi komplet w całym domu to znajdzie w Castoramie jakiś nawilżacz czy osuszacz i tam to wepchnie, będzie ładnie i dyskretnie ale na początek trzeba koniecznie pochwalić się swoimi zdolnościami wszystkim znajomym żony i wyświetlacz LCD musi być wyeksponowany razem ze skrzynką :) Ja też tak robię :)
  • #18
    jamrjan
    Poziom 12  
    do gbd.reg
    też myślałem o czujnikach krańcowych, ale prościej jest założyć prosty enkoder na silnik i zliczać obroty(impulsy), aktualną pozycję zwinięte-rozwinięte zapisać do eeproma. W ten sposób nie komplikujemy układu kabelkami.
    Cały czas zastanawiam się jak upakować silnik z przekładnią do rurki w rolecie. Gdy ktoś miał pomysł to chętnie posłucham.
  • #19
    gbd.reg
    Poziom 21  
    @JaGin4 Nie twierdzę od razu, że Twoje rozwiązanie jest złe. Po prostu nie miałem nigdy zaufania do tego, by silnik za każdym razem się zatrzymywał na ograniczniku, a wykrycie końca pracy odbywałoby się poprzez pomiar prądu. Zawsze może się w takich sytuacjach coś urwać lub uszkodzić, np przekładnia (tym bardziej, gdy jest z plastiku). Mierzenie przeciążenia powinno być zapasowym sposobem wykrycia, gdy główny zawiedzie. Zbyt często widzę jak do sąsiadów moich rodziców przyjeżdżaja serwisanci do bramy, bo siłownik nie posiada krańcówek - wykrycie końca pracy jest właśnie przez przeciążenie silnika wykrywane.

    @jamrjan do tego też nie miałbym w 100 zaufania. Jeśli prąd zostanie odłączony od układu w trakcie pracy silnika, będziesz musiał ręcznie zresetować układ po powrocie zasilania. Dobrym kompromisem byłby enkoder + bariera optyczna i dziurki w rolecie tylko na początku i końcu. W ten sposób układ sam by się skorygował po dojechaniu do początku/końca rolety.

    Nie chcę tu negować każdego rozwiązania. Moje też posiada wady jak choćby brak możliwości estetycznego montażu, gdy nie mamy zamontowanych listew po bokach. Poza tym odpowiednie bariery optyczne możemy wydobyć np ze starej, zepsutej myszki z rolką :) (enkoder właściwie też, można wykorzstać całą rolkę).
  • #20
    Rafał Piwowarczyk
    Poziom 10  
    Ja jestem w trakcie montażu takiej rolety. Projekt zrobiłem sam wraz ze sterownikiem i serwai. Jeśli chodzi o krańcówki to chcę wykorzystać kontraktony z przekaźników które będą zamontowane w skrzydle okna a do rolety zamontuję mały magnes. Takie rozwiązanie widziałem u znajomego i sprawuje się bardzo dobrze. Kwestia tylko dobrania odpowiedniego magnesu żeby krańcówka nie zadziałała zbyt wcześnie.
  • #21
    JaGin4
    Poziom 10  
    ditomek napisał:
    Elektrycznie i programowo bez zarzutu.
    Dobra robota.
    Nie podoba mi się skrzynka.

    Od kilku dni drugi egzemplarz sterownika działa bez zarzutu. Umieściłem w typowym plastikowym pudełku o wymiarach 6x12x18. Użyłem do sterowania 3 astabilnych przycisków, ponieważ nie miałem drugiego impulsatora stykowego. Soft obsługuje je bez żadnych zmian. Zasilacz podpięty jest na zewnątrz. Dołączam fotkę (u góry z lewej znajduje się linijka diodowa subwofera). Sterownik rolet wewnętrznych na ATMEGA 8
    PS. Zarzuty kolegi Eurotips może byłyby słuszne jakieś 45 lat temu. Dzisiaj już tak nie robię. :D
  • #23
    veilside87
    Poziom 9  
    Brawa za chęci i za projekt ;) ( ale troche można by było to zminimalizować ;)
  • #24
    Fredw
    Poziom 20  
    jamrjan napisał:
    Serwo tak na prawdę po wycięciu blokady, kręci się choć z oporami.

    JaGin4 napisał:
    Rolety, które ja stosuję z silniczkami Micro Motors, dają się przesuwać za pomocą oryginałnego sznurka,

    Podbudowaliście mnie panowie, bo jakoś nie miałem okazji mieć w ręku żadnego serwa modelarskiego (czy podobnego rozwiązania) i obawiałem się właśnie blokady w przypadku braku prądu.

    Mam jeszcze prośbę o nakierowanie jak mocnych serw szukać żeby pociągnęły rolety 40-50x160.
  • #25
    ditomek
    Poziom 21  
    @ veilside87
    Minimalizacja niż nie wchodzi w grę. po prostu używając standardowych złącz ARK i tej szerokości obudowy już nie sposób obsłużyć większej liczby IO.
    U mnie jest to 16 wyjść i 18 wejść. Wszystkie porty komunikacyjne powędrowały na wyższe piętro.
  • #26
    jamrjan
    Poziom 12  
    Ważne jest aby były metalowe zębatki, pierwsze próby robiłem na Tower Pro SG90, ale po kilku pociągnięciach sznurkiem do ręcznego zamykania rolet, zębatki tylko zaterkotały jak wózek na kostce :). Tak na prawdę dużych mocy nie trzeba bo serwa nawet te małe są na tyle mocne że pociągną roletę. Dla długich rolet jest dość spory prąd rozruchowy i na kilku pierwszych centymetrach zwijania. Dlatego wykrywanie przeciążeń jest tu dość problematyczne, stąd pomysł z krańcówkami wydaje się właściwy.
    Kupiłem u chińczyka małe silniczki modelarskie z przekładnią - 30 obrotów na minutę, z metalowymi zębatkami, jak dostanę przesyłkę spróbuję zrobić testy i coś napiszę. Silniczki są na tyle małe że powinny się zmieścić do rurki - czyli to co szukam.
  • #27
    Erbit
    Poziom 35  
    jamrjan napisał:
    ... Kupiłem u chińczyka małe silniczki modelarskie z przekładnią - 30 obrotów na minutę, z metalowymi zębatkami, jak dostanę przesyłkę spróbuję zrobić testy i coś napiszę. Silniczki są na tyle małe że powinny się zmieścić do rurki - czyli to co szukam.


    Pochwal się. Pokaż jakie silniczki i napisz jak testy. Z chęcią schowałbym silnik w rurę.