Elektroda.pl
Elektroda.pl
X

Wyszukiwarki naszych partnerów

Wyszukaj w ofercie 200 tys. produktów TME
Proszę, dodaj wyjątek 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 1305 27
  • #1 11 Sie 2017 14:35
    2920901
    Usunięty  
  • Pomocny post
    #2 11 Sie 2017 15:04
    badyl00
    Poziom 22  

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

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

    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.

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

    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.

  • 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.

  • 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 ...

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

    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.

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

    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.

  • #10 12 Sie 2017 09:16
    2920901
    Usunięty  
  • #11 12 Sie 2017 11:51
    Piotrus_999
    Poziom 39  

    szpoak napisał:
    Zdarzyło sie komu kolwiek kiedyś by program zapisany w procesorze pomylił się?
    Procesory mylą się rzadko (prawie wcale), ludzie piszący programy do nich baaaaardzo często. Nie przejmuj się błędami w procesorze, przejmuj się sobą - czy jesteś w stanie napisać taki soft, czy jesteś w stanie tak zaprojektować układ aby był bezpieczny i w losowych momentach procesor się nie restartował / zawieszał i WD miał mało pracy. Jak na te pytania odpowiesz sobie tak to możesz robić, jak nie - proponuję zacząć od czegoś bezpieczniejszego.

  • Pomocny post
    #12 12 Sie 2017 12:14
    Christophorus
    Poziom 40  

    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.

  • #13 12 Sie 2017 14:37
    2920901
    Usunięty  
  • Pomocny post
    #14 12 Sie 2017 21:37
    Christophorus
    Poziom 40  

    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.

  • Pomocny post
    #16 13 Sie 2017 21:06
    Loker
    Poziom 37  

    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" :)

  • #17 16 Sie 2017 09:20
    2920901
    Usunięty  
  • #19 16 Sie 2017 11:12
    2920901
    Usunięty  
  • Pomocny post
    #20 16 Sie 2017 11:17
    Piotrus_999
    Poziom 39  

    szpoak napisał:
    Do tego wszystkiego potrzebuję jeszcze programatora na RS232


    To się musisz cofnąć w czasie ze 20 lat.

    Jeżeli chcesz AVR to kup sobie płytke xplained mini - tam masz wszystko co Ci potrzeba włacznie ze sprzętowym debuggerem - a uwierz mi bardzo Ci się przyda.

  • 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.

  • 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.

  • Pomocny post
    #23 16 Sie 2017 13:08
    Piotrus_999
    Poziom 39  

    dondu napisał:
    Należy bowiem tak konstruować urządzenie i program, by nie by nie były możliwe sytuacje jakie kolega opisuje.


    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. 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

  • #24 16 Sie 2017 13:09
    2920901
    Usunięty  
  • 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?

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

    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.

  • #27 16 Sie 2017 14:12
    2920901
    Usunięty  
  • #28 16 Sie 2017 15:12
    Piotrus_999
    Poziom 39  

    dondu napisał:
    Znasz typ tego czujnika?
    Zapytam - nie interesowało mnie to szczególnie

    dondu napisał:
    W którym momencie przerwałbyś nalewanie?
    Jezeli mieszka w bloku to wtedy kiedy sąsiedzi zaczęliby walić do drzwi :)

 Szukaj w ofercie
Zamknij 
Wyszukaj w ofercie 200 tys. produktów TME