Kanał - ATNEL tech-forum
Wszystkie działy
Najnowsze wątki

KURS HOME ASSISTANT

Chcesz zautomatyzować swój dom bez skomplikowanego kodowania?
Zastanawiasz się nad wyborem sprzętu, oprogramowania i aplikacji?
Od czego zacząć przygodę z HA w 2025? Co będzie najlepsze na start?

Nasz kurs Home Assistant nauczy Cię krok po kroku, jak łatwo zautomatyzować swój dom i oszczędzić na rachunkach za prąd i ogrzewanie. Bez chmur, bez zbędnych abonamentów. Twoja przygoda z Home Assistant zaczyna się tutaj!

↓↓↓

    Szanujemy Twoją prywatność. Możesz wypisać się w dowolnym momencie.




    Teraz jest 5 kwi 2025, o 16:02


    Strefa czasowa: UTC + 1





    Utwórz nowy wątek Odpowiedz w wątku  [ Posty: 1 ] 
    Autor Wiadomość
    PostNapisane: 17 gru 2018, o 22:39 
    Offline
    Nowy

    Dołączył(a): 13 wrz 2018
    Posty: 14
    Pomógł: 0

    Chciał bym przedstawić projekt sterowania oświetlaniem bazujący na arduino.
    Projekt składa się z trzech części :

    1. Modułowych płytek PCB
    Płytki zaprojektowane za pomocą webowego narzędzia easyeda. Płytki składaną się z dwóch modułów logicznego i wykonawczego. Płytki logiczne komunikują się arduino za pomocą i2c.
    Do każda z nich można podłączać zamiennie moduły wykonywalne. Sterowanie napięciem stałym zamontować można zarówno do modułu PWM dzięki czemu uzyskamy ściemniacz jak i ekspandera realizującego zwykłą funkcję włącz wyłącz.
    Płytki które puki co zaprojektowałem to :

    Sterownik PWM
    https://easyeda.com/piroaa/pinexpander-header-pwm
    Jest to płytka logiczna głównym elementem wykonywalnym jest PCA9635 jej zadaniem jest wystawienie 16 kanałów pwm. Wyjścia podzielone są na dwa segmenty więc można podłączyć dwa rożne moduły wykonawcze. Obecnie z tą płytką można podłączyć ze sterownikiem DC.

    Sterownik PortExpander
    https://easyeda.com/piroaa/portexpander-header
    Kolejna płytka z logiką tym razem na module MCP23017 płytka umożliwia sterowanie 16 portami mogą one być ustawione zarówno jako wejścia i wyjścia. Tu podobnie jak powyżej wyjścia są podzielone na dwie sekcie każda z nich może pełnić różną funkcję. Obecnie do płytki można podłączyć sterownik DC sterownik AC oraz płytkę wejść.

    Płytki wykonywalne :

    simple input
    https://easyeda.com/piroaa/simple-input
    Prosta płytka realizuje zabezpieczenie wejść/wyjść 5v dla układu PortExpander.

    PortExpander-60
    https://easyeda.com/piroaa/portexpander-60
    Płytka umożliwia sterowanie prądem stałym do wartości 60V można ją podłączać zarówno z sterownikiem PWM oraz PortExpander.

    2. Biblioteki PinControl
    Biblioteka składa się z dwóch części PinExpander oraz ButtonControl. Pierwsza z nich realizuję komunikacie z modułami MCP23017 oraz PCA9635 poprzez i2c. Została tak pomyślana by można z niej było korzystać z s portów układów tak jak ze standardowych wyjść arduino. Wystarczy tylko zadeklarować obecność modułu i do dyspozycji mamy wyprowadzenia. Przykład poniżej :
    Składnia: [ Pobierz ] [ Ukryj ]
    język c
    Musisz się zalogować, aby zobaczyć kod źródłowy. Tylko zalogowani użytkownicy mogą widzieć kod.

    Oczywiście użycie biblioteki niesie za sobą obostrzenie każdy z układów musi być adresowany kolejno 0,1,2 ...
    Żeby jeszcze uprościć zapis w samym arduino dodałem bibliotekę ButtonControl. Korzysta ona z PinExpander i dodając kolejną warstwę abstrakcji upraszczając kod w samym arduino. Biblioteka umożliwia dodanie kilku rodzajów przycisków dla przykładu :
    SimpleButton - to zwykły przycisk z dodaną obsługą debouncera zwraca wartość 1 nie zależnie od tego jak długo przycisk jest wciśniemy
    ButtonLoop - przycisk zwraca 1 co określony czas tak długo jak przycisk jest wciśnięty
    ButtonCounter - najbardziej zaawansowany przycisk zlicza ilość szybkich przyciśnięć przy długim przyciśnięciu zwraca wartość 200
    PwmGoTo - ustawia PWM na podaną wartość dodatkowo zmiana nie jest realizowana od razu a w formie płynnego przejścia.
    Biblioteki oraz projekt arduino który obecnie wykorzystuje u siebie dostępny pod adresem :
    https://github.com/PawelZawodzinski/PinControl

    3. Arduino stanowiącego główny moduł wykonywalny.
    Co du dużo pisać po prostu albo aż arduino z wgranym powyżej kodem odpowiada za sterowanie całości oraz dostarcza zasilania do zainstalowanych modułów. Samo arduino zasilone jest z zasilacza buforowego LRS-150-12 który jednocześnie stanowi źródło prądu dla oświetlenia. Obecnie w mojej przełącznicy znajduje się :
    pinexpander-header-pwm z wpiętym jednym modułem PortExpander-60. Oraz sterownik PortExpander z dwoma modułami simple input. Jedna sekcja skonfigurowana jest jako wejście dla przycisków dzwonkowych sterujących oświetleniem, czujnika ruchu PIR HC-SR501 oraz kontaktronów. Niestety okazało że napięcie na wyjściu czujnika jest zbyt niskie by mogło być wykryte poprawnie przez PortExpander dla tego musiałem wyposażyć go w tranzystor PNP na wyjściu tak by czujka sterowała tranzystorem PortExpander dostawał napięcie +5V z samego tranzystora. Podobnie kontaktron który steruje oświetleniem w szafie musiałem na szybko zlutować prostą bramkę NOT na jednym tranzystorze tak by sterowanie odbywało się we właściwy sposób.
    Poniżej zamieszczam zdjęcia rozdzielnicy oraz samych modułów sterujących od strony tylnej:
    ObrazekObrazek
    Jak widać przy modułach dolutowane są dodatkowe kondensatory. Miałem problemy z zawieszaniem się całości układu przy uruchomieniu wiertarki czy lampy jarzeniowej w pokoju obok. Po dodaniu kondensatorów problem zdarza się rzadziej choć nadal potrafi występować.
    Również płytki dla modułów simple input wykonałem na płytce uniwersalnej. Na wierzchu widać diody zenera pod spodem są wlutowane tranzystory SMD.

    Ok.
    Z grubsza to chyba tyle. Nie wiem czy projekt spełnia założenia działu bo jak widać nie jest w pełni zamknięty a raczej w fazie testów rozwoju i ciągłych poprawek.
    Pozdrawiam.



    Góra
     Zobacz profil  
    cytowanie selektywne  Cytuj  
    Wyświetl posty nie starsze niż:  Sortuj wg  
    Utwórz nowy wątek Odpowiedz w wątku  [ Posty: 1 ] 

    Strefa czasowa: UTC + 1


    Kto przegląda forum

    Użytkownicy przeglądający ten dział: Brak zidentyfikowanych użytkowników i 3 gości


    Nie możesz rozpoczynać nowych wątków
    Nie możesz odpowiadać w wątkach
    Nie możesz edytować swoich postów
    Nie możesz usuwać swoich postów
    Nie możesz dodawać załączników

    Szukaj:
    Skocz do:  
    cron
    Sitemap
    Technologię dostarcza phpBB® Forum Software © phpBB Group phpBB3.PL
    phpBB SEO