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

Atmega8/32 jako programator do pralki

11 Sie 2017 14:35 1704 27
  • #1 11 Sie 2017 14:35
    2920901
    Użytkownik usunął konto  
  • Pomocny post
    #2 11 Sie 2017 15:04
    badyl00
    Poziom 25  

    Kolego do rozszerzenia ilości "wyjść-wejść" mikro kontrolera można użyć np. rejestrów lub expanderów.

    0
  • Pomocny post
    #3 11 Sie 2017 15:12
    czareqpl
    Poziom 28  

    Atmega 16/32 ma aż 4 porty po 8 bitów więc takim mikrokontrolerem spokojnie to opędzisz. Co do pinologii to w zasadzie dowolnie. Aby było wygodnie, całą magię robi oprogramowanie później.
    Ja staram się drutować zwykłe IO tak aby na layoucie płyty było jak najmniej przelotek. Co do wysterowania przekaźników to dla wolnych sygnałów polecam ULN2803. Pamiętaj o diodach zabezpieczających cewkę przekaźnika przed napięciem wstecznym powodowanym przez relaksację rdzenia.

    1
  • Pomocny post
    #4 11 Sie 2017 15:15
    badyl00
    Poziom 25  

    czareqpl napisał:
    Co do wysterowania przekaźników to dla wolnych sygnałów polecam ULN2803. Pamiętaj o diodach zabezpieczających cewkę przekaźnika przed napięciem wstecznym powodowanym przez relaksację rdzenia.


    Dodam, że w przypadku ULNa diody wbudowane są w strukturę i nie ma konieczności ich stosowania.

    0
  • Pomocny post
    #5 11 Sie 2017 15:29
    dondu
    Moderator Mikrokontrolery Projektowanie

    Pytasz o układ wykonawczy sterujący przekaźnikiem, czy zbyt małą ilość pinów w mikrokontrolerze?

    Jeśli to pierwsze, to ULN2803 jest jednym z wielu rozwiązań.

    Jeśli o to drugie, to expanderów różnej maści jest od groma. Czasami jednak brakuje jednego czy dwóch pinów, i wtedy należy zastanowić się jak je zaoszczędzić na pozostałych funkcjach całego układu tak by ich nie stracić, a expandera nie trzeba było by dodawać. To jednak zależy od konkretnego projektu, którego jeszcze nie masz. Jednym z takich przykładów jest klawiatura na jednym pinie: http://mikrokontrolery.blogspot.com/2011/03/epp-klawiatura-adc-by-dondu.html


    badyl00 napisał:
    Dodam, że w przypadku ULNa diody wbudowane są w strukturę i nie ma konieczności ich stosowania.

    To nie jest takie proste i zależy od wielu czynników.

    0
  • Pomocny post
    #6 11 Sie 2017 16:34
    rekinisko
    Poziom 22  

    Połowa płytek w pralkach opiera się na atmegach, np Atmega644. Wystarczy popatrzeć na kilka gotowców i widać czego trzeba użyć. LNK304, ULN2003, Z0103MN lub podobny. Nie piszesz nic o wyświetlaczu/diodach wskaujących i czymś czym chciałbyś wybierać program prania. Po za tym trzeba przewidzieć szereg sytuacji awaryjnych by nie doszło do pożaru czy zalania. Pomysł ciekawy, sam o tym myślałem, ale trzeba mieć czas ...

    0
  • Pomocny post
    #7 11 Sie 2017 17:01
    Loker
    Poziom 38  

    szpoak napisał:
    Nic w niej więcej do wysterowania nie widzę.


    W najbiedniejszej pralce:
    - pompa spustowa wody
    - dwa zawory wody - do kierowania strumienia w odpowiednie miejsce podajnika proszku
    - czujnik zamknięcia drzwi
    - grzałka
    - dwa wejścia z czujnika poziomu wody (presostatu) - brak wody, ilość wody odpowiednia, za dużo wody
    - sterowanie zamkiem drzwi
    - dwa przekaźniki sterujące silnikiem (obroty lewo-prawo)
    - wejście tacho - sygnał dający informację o prędkości silnika
    - triak sterujący silnikiem

    Do tego oczywiście jakiś interfejs użytkownika - wejścia (przyciski, enkoder) i wyjścia (wyświetlacz, diody).

    Dodatkowo odpowiedniej klasy software (albo zabezpieczenia w elektronice) - grzałka włączona bez wody może spowodować pożar, odblokowane drzwi przy kręcącym się silniku mogą zranić użytkownika.

    0
  • Pomocny post
    #9 11 Sie 2017 17:14
    Loker
    Poziom 38  

    Ten rosyjski sterownik jest nawet ciekawy. Dwie istotne sprawy:
    - w przypadku zwarcia triaka silnikowego procesor nie jest w stanie wyłączyć silnika - dlatego lepiej użyć dwóch przekaźników zamiast jednego podwójnego,
    - używanie fabrycznego presostatu przy napięciu 5V - podziała, niezbyt długo. Styki tych presostatów są projektowane pod 230V; 5V nie jest w stanie przepalić gromadzących się tlenków.

    2
  • #10 12 Sie 2017 09:16
    2920901
    Użytkownik usunął konto  
  • #11 12 Sie 2017 11:51
    2675900
    Użytkownik usunął konto  
  • Pomocny post
    #12 12 Sie 2017 12:14
    Christophorus
    Poziom 41  

    szpoak napisał:
    Jakiego typu czujniki poziomu cieczy są w pralkach?
    Rolę czujnika poziomu cieczy w pralka pełnią presostaty.

    szpoak napisał:
    Miło by było gdyby to był oryginalny potencjometr (te duże kółko).
    Ten "potencjometr" to może być impulsator, ewentualnie przełącznik obrotowy. Można by się pokusić o sterownie programatorem pralki przez WI-FI za pomocą smartfona. Wówczas nie trzeba by się martwić ułożeniem przełączników i kontrolek na przednim panelu pralki.

    0
  • #13 12 Sie 2017 14:37
    2920901
    Użytkownik usunął konto  
  • Pomocny post
    #14 12 Sie 2017 21:37
    Christophorus
    Poziom 41  

    szpoak napisał:
    Zacznę od prostych rzeczy czyli elektrozawór + ot by pompka, potem obracanie bębnem i tak dalej. Oczywiście najpierw też pobawię się ze zwykłymi przekaźnikami + jakaś zarówka.
    Przykładowy schemat wskazałem w linku powyżej. Prawdopodobnie będzie konieczne jego dostosowanie pod konkretną pralkę. Dostępne są symulatory, gdzie po napisaniu i skompilowaniu programu możesz go wczytać do wirtualnego mikrokontrolera, podłączyć do niego peryferia i testować.

    Odnoście tanich podzespołów do testów i "zabawy" to OK. Ale w pralce powinny być do podzespoły dobrej jakości. Tani przekaźnik włączający grzałkę o mocy 2kW może szybko ulec zużyciu.

    0
  • #15 13 Sie 2017 02:38
    2675900
    Użytkownik usunął konto  
  • Pomocny post
    #16 13 Sie 2017 21:06
    Loker
    Poziom 38  

    Przy projektowaniu tego typu urządzeń wyszczególnia się tzw. PEC (Protected Electronic Circuit). W przypadku pralki to będzie sterowanie grzałką i zamkiem drzwiczek. Jako PEC rozpatruje się cały "ciąg" - od aktuatora (w przypadku pralki przycisk uruchamiający/zatrzymujący program) do elementu wykonawczego. Cały PEC musi być odporny na jednoczesne wystąpienie dwóch uszkodzeń - procesor razem z programem jest traktowany jako jedno z nich. Odporność na uszkodzenie oznacza, że w przypadku zaistnienia jakiegoś błędu (zawieszenie programu, błąd programu, zwarcie na płytce) nie może zaistnieć ryzyko dla użytkownika.

    Odnośnie potencjalnych problemów z procesorem/programem - polecam zapoznanie się z hasłem "software class B" :)

    0
  • #17 16 Sie 2017 09:20
    2920901
    Użytkownik usunął konto  
  • Pomocny post
    #18 16 Sie 2017 10:22
    2675900
    Użytkownik usunął konto  
  • #19 16 Sie 2017 11:12
    2920901
    Użytkownik usunął konto  
  • Pomocny post
    #20 16 Sie 2017 11:17
    2675900
    Użytkownik usunął konto  
  • Pomocny post
    #21 16 Sie 2017 12:03
    REVISOR
    Poziom 25  

    Warto dorzucić kilka drobiazgów zabezpieczających pralkę w razie błędu elektroniki.
    Pod czujnik otwarcia drzwiczek podpiąć przekaźnik odcinający obwód elektrozaworów oraz silnika.
    Zamontować w obwodzie grzałki termostat bimetaliczny na ok 120-150 stopni w pobliżu grzałki.
    Pod elektromagnes blokady drzwiczek dorobić niezależny obwód sterowany przez presostat tak aby nie można było by otworzyć drzwiczek gdy pralka jest napełniona wodą.
    Można dorzucić drugi presostat ustawiony na wyższy poziom wody niż ten pierwszy i sterować nim przekaźnik odcinający obwód elektrozaworów.
    Wszystko to w miarę proste rozwiązania ale w całości niezależne od błędów programowych oraz uszkodzenia się elektroniki sterującej. W innym przypadku nic nie pomoże jeżeli program się zawiesi lub driver na płytce sterownika dostanie zwarcia i cały czas będą otwarte elektrozawory lub grzałka grzała bez przerwy.

    0
  • Pomocny post
    #22 16 Sie 2017 12:17
    dondu
    Moderator Mikrokontrolery Projektowanie

    REVISOR napisał:
    W innym przypadku nic nie pomoże jeżeli program się zawiesi lub driver na płytce sterownika dostanie zwarcia i cały czas będą otwarte elektrozawory lub grzałka grzała bez przerwy.

    Choć oczywiście można dodawać różne podwójne zabezpieczenia, to jednak większość z nich jest całkowicie zbędne. Należy bowiem tak konstruować urządzenie i program, by nie by nie były możliwe sytuacje jakie kolega opisuje. A na mityczne zawieszanie się są odpowiednie funkcjonalności w mikrokontrolerach jak np. watchdog.

    0
  • Pomocny post
    #23 16 Sie 2017 13:08
    2675900
    Użytkownik usunął konto  
  • #24 16 Sie 2017 13:09
    2920901
    Użytkownik usunął konto  
  • Pomocny post
    #25 16 Sie 2017 13:21
    dondu
    Moderator Mikrokontrolery Projektowanie

    Piotrus_999 napisał:
    No takie rzeczy się instaluje w pralkach i zmywarkach bo to strasznie wredne stworzenia. Wilgoć, woda, ciśnienie w rurach i elektryczność to bardzo złe sąsiedztwo.

    Nie podważam tego:
    dondu napisał:
    Choć oczywiście można dodawać różne podwójne zabezpieczenia, ...



    Piotrus_999 napisał:
    W serii pralek i zmywarek, przy której w niewielkim stopniu pracowałem w zeszłym roku jest też ciekawy czujnik ciśnienia wody w rurze odpływowej. Jeżeli wypadnie rura z odpływu, albo jest tylko zrobione uchem na umywalce / zlewie - zauważa zmianę i odcina aby nie zalać mieszkania

    Znasz typ tego czujnika?

    szpoak napisał:
    Czy Atmega może się w czymś zakręcić jeśli program będzie napisany z głową ?

    Nie może.

    szpoak napisał:
    ... to czujnik poziomu wody ... tylko co zrobć gdy czujnik padnie podczas prania?

    A co byś zrobił gdybyś miał wiadro z umieszczonym w nim zepsutym czujnikiem w połowie jego wysokości i nalewał do niego wodę w ciemnym pomieszczeniu?
    W którym momencie przerwałbyś nalewanie?

    0
  • Pomocny post
    #26 16 Sie 2017 13:25
    czareqpl
    Poziom 28  

    szpoak napisał:
    Można było by uznać że jeśli początkowy poziom wody = 0, po pierwszym wpompowaniu = 1 a po drugim = 2 to czujnik poziomu wody działa prawidłowo i puścić program do następnego punktu tylko co zrobć gdy czujnik padnie podczas prania? Jeszcze tego nie wymyśliłem do końca prócz tego że zainstalował bym na górze pojemnika do bębna kolejny czujnik odcinający całkowicie cykl prania jeśli jego zwarcie (zalanie) będzie dłuższe jak 5sek (oznacza przepełnienie bębna)


    Można przygotować mapę poziomu wody przy "typowym" ciśnieniu. Jeżeli czujnik nie wskazuje odpowiedniej wartości po 20 sekundach otwarcia to coś jest nie tak (nie ma wody lub popsuł się zawór lub czujnik). Oczywiście ten "oczekiwany" poziom musi mieć dość szerokie widełki tolerancji aby urządzenie nie wariowało.

    szpoak napisał:

    Czy Atmega może się w czymś zakręcić jeśli program będzie napisany z głową ?


    Atmega spokojnie sobie z tym poradzi... Kiedyś też upchałem atmegę praktycznie po kokardę kodem, kiedy implementowałem w niej obsługę ethernetu, programowanie funkcji specjalnych, predefiniowane skrypty itp... Da radę ogarnąć naprawdę sporo, tylko trzeba być konsekwentnym i pisać poukładany kod.

    0
  • #27 16 Sie 2017 14:12
    2920901
    Użytkownik usunął konto  
  • #28 16 Sie 2017 15:12
    2675900
    Użytkownik usunął konto