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 30 mar 2025, o 01:13


    Strefa czasowa: UTC + 1





    Utwórz nowy wątek Odpowiedz w wątku  [ Posty: 7 ] 
    Autor Wiadomość
    PostNapisane: 24 paź 2021, o 19:41 
    Offline
    Użytkownik
    Avatar użytkownika

    Dołączył(a): 26 mar 2014
    Posty: 356
    Lokalizacja: Pruszków
    Pomógł: 15

    Panel Klimatyzacji LEXUS IS300

    PROJEKT wykonałem jakieś 4lata temu.

    Mój dobry kolega Paweł zakupił kilka lat temu auto jak w tytule, samochód pochodzi z USA i niestety posiada prędkościomierz i licznik wyskalowany w milach a panel klimatyzacji pokazuje temperaturę w farenchejtach, dodatkowo zegarek na panelu jest tylko dwunastogodzinny (AM-PM).
    Auto dostało instalację LPG w związku z tym, że silnik to 2JZ, czyli trzylitrowa rzędowa szóstka lubiąca wypić sporo benzyny. Po założeniu LPG okazało się, że jadąc na samym gazie wskaźnik poziomu paliwa na fabrycznych zegarach opada (pomimo braku ubytku benzyny).

    Ja akurat przeczytałem Bluebook-a, więc przyszedł mi do głowy pewien pomysł aby spróbować swoich sił w programowaniu i wymienić fabryczny wyświetlacz w panelu klimatyzacji i zastąpić go własnym podłączonym do atmegi.

    Oglądając dziesiątki razy poradnik Mirka wziąłem się za robotę.


    Tak prezentował się oryginalny wyświetlacz

    Obrazek

    Co zawiera ten mini komputer:

    Procesor Atmega1284P
    Wyświetlacz RAYSTAR RX2402A-FHW (FSTN Positive Transflective).
    Zegar DS3231
    EEPROM AT24c04
    F-RAM FM24C04B - 4K bit Ferroelectric Nonvolatile RAM
    Buzer wlutowany w płytkę
    Przekaźnik do resetowania poziomu paliwa
    Gniazdo dla ATNEL WiFi
    Gniazdo do podłączenia interfejsu ELM327
    Dwa czujniki temperatury DS18B20 (temp. Wewnętrzna i zewnętrzna)
    Wejścia zewnętrzne:
    1 analogowe z dzielnikiem napięcia (0 – 24V)
    2 obroty silnika
    3 sygnał czujnika prędkości samochodu (do zliczania kilometrów)

    Wejścia separowane transoptorami:
    4 sygnał z cewki elektrozaworu załączającego LPG

    Te cztery na transoptorach z możliwością wyboru sterowania +12V lub masą (do wyboru zworkami)
    5 sygnał z podświetlenia zegarów (realizacja przyciemniania podświetlenia)
    6 sygnał po przekręceniu stacyjki
    7 dodatkowe wolne wejście na przyszłość
    8 dodatkowe wolne wejście na przyszłość

    Wyjścia zewnętrzne:
    3 Wyjścia PNP sterowanie +12V (na ULN2003)


    Fabryczny wyświetlacz był bardzo wąski więc miałem nie lada wyzwanie aby znaleźć taki który się zmieści w jego miejsce.
    I znalazłem w TME dwa małe wyświetlacze COG firmy RAYSTAR obsługiwane magistralą I2C.

    RX2002A-FHW-TS alfanumeryczny 2 wiersze po 20 znaków z kontrolerem ST7036i.
    Ten okazał się zbyt krótki bo Okienko w panelu było dość długie, więc wybrałem ten 2x24znaki.

    RX2402 alfanumeryczny 2 wiersze po 24 znaki z kontrolerem RW1062.
    Dość łatwo było napisać do niego bibliotekę oczywiście bazując na Mirkowej bibliotece od LCD.
    Dużym plusem tego wyświetlacza jest to, że jest czytelny nawet bez podświetlenia, a samo podświetlenie przerobiłem, wymieniając diodę LED z białej na pomarańczową bo wszystko w samochodzie jest podświetlane właśnie tym kolorem.

    Początkowo zaprojektowałem w Altiumie małą płytkę prototypową z samym wyświetlaczem abym mógł włożyć go w zestaw ATB i napisać do niego bibliotekę.

    Obrazek
    Obrazek

    Trochę kiepsko wygląda ta płytka bo nie ma soldermaski ale w celach testowych jest spoko.
    Raster pinów tego wyświetlacza to 1,27mm czyli dość gęsto.
    Nie chciałem się bawić żelazkiem z takimi wąskimi ścieżkami, a z pomocą przyszedł mi inny kolega który wyfrezował ją na mini CNC w pracy.

    Bardzo miłym zaskoczeniem okazało się, że ten wyświetlacz ma możliwość wyświetlać duże fonty, czyli zamiast dwóch linii jest jedna ale za to duże znaki. Na poniższym zdjęciu wyświetlacz jest w innej wersji niż docelowy, czyli negatywowy z oryginalnym białym podświetleniem. Cały program pisałem bazując na zestawie ATB. Można powiedzieć, że 90% programu napisałem będąc w delegacjach we Włoszech zdecydowanie lepiej tam było pisać bo nikt mi nie przeszkadzał.

    Obrazek

    Procek wybrałem trochę na wyrost bo Atmega1284 ale nie był drogi i wiedziałem, że nawet jak kiepsko napiszę program to nie zabraknie mi ani flesha ani RAM-u.
    Finalnie program po kompilacji zajął około 20KB Flash i około 1KB RAM.

    Zegar czasu zrobiłem na DS3231 ponieważ w samochodzie panują duże różnice temperatury a zależało mi aby nie trzeba było często go korygować.

    Zamontowałem także złącze dla modułu ATNEL_WiFi bo w planie miała być komunikacja ze smartfonem (ale nie została zrobiona).

    Drugi UART wyprowadziłem na złącze zewnętrzne bo chciałem podłączyć się do OBD samochodu przez interfejs ELM327.

    Temperatury mierzone są czujnikami DS18B20 na kablach.
    A ten od temp. zewnętrznej ma kabel prawie 1,5m.
    Zastosowałem przewód Liycy 3x0,25mm2 a same czujniki zalane są żywicą epoksydową w nierdzewnych gilzach.

    A tak prezentują się pojedyncze strony na wyświetlaczu:

    Kiedy wsiadamy do samochodu ekran prezentuje się następująco.

    Obrazek

    Oczywiście podświetlenie jest wtedy wyłączone ale naciśnięcie któregokolwiek przycisku zapala to podświetlenie na 10s. (gdyby ktoś po ciemku chciał podejrzeć godzinę czy temperaturę).
    Wyświetlane są także naprzemiennie Godzina.

    Obrazek

    I temperatura zewnętrzna.

    Obrazek

    Kiedy przekręcimy kluczyk w stacyjce przechodzimy do pierwszej strony.
    Same strony przełączamy przyciskami „H i M” przycisk „:00” służy za swego rodzaju „Enter”.

    Obrazek

    Na tej pierwszej stronie mamy tylko datę, godzinę oraz obie temperatury wewnętrzną i zewnętrzną.

    Obrazek

    U góry po lewej ilość przejechanych kilometrów na samym gazie „g” lub na benzynie „b” gdzie rodzaj paliwa sygnalizowany jest literką na końcu. Przełączanie między „b” i „g” dokonywane jest automatycznie kiedy załączy się elektrozawór od LPG ewentualnie można zmienić wskazanie przyciskiem po lewej „:00”. Licznik ten można resetować przytrzymując przycisk „:00” przez 3s. zresetowanie sygnalizowane jest piknięciem buzzera.
    Na dole po lewej jest licznik wszystkich przejechanych kilometrów i nie można go zresetować.
    Po prawej temperatury: „z zewnętrzna” i „w wewnętrzna”.

    Obrazek

    Na tej stronie jest dodatkowy licznik dzienny oznaczony „d” który zlicza kilometry bez znaczenia na rodzaj paliwa i także można go resetować.

    Obrazek

    Tu ma my kontrolę napięcia akumulatora.

    Obrazek

    Czasem może się jednak zdarzyć, że zechcemy wiedzieć tak naprawdę ile jest benzyny.

    Jednym z zadań komputerka jest resetowanie wskazania poziomu paliwa przez fabryczne zegary samochodu.
    Rezystor 100 omów włączony szeregowo w obwód czujnika poziomu paliwa ma za zadanie oszukanie komputera w aucie tak aby myślał on, że jest pusto całkowicie w zbiorniku.
    Przekaźnik zwiera ten rezystor od razu po włączeniu stacyjki a po wyłączeniu jej jest rozwarty.
    W internecie sprzedają to rozwiązanie nazwane jako uwaga „Emulator Poziomu Paliwa – Tank Fopper”. A to zwykły przekaźnik z jednym rezystorem podłączany pod stacyjkę.

    Będąc na pierwszej stronie gdzie wyświetlana jest data zegarek i temperatury, kiedy przytrzymamy przycisk „:00” przez 5s piknie buzzer i jesteśmy w „menu serwisowym”:

    Obrazek

    Tu ustawiamy czas

    Obrazek

    Tu ustawiamy datę łącznie z dniem tygodnia

    Obrazek

    Możemy ustawić kontrast wyświetlacza ponieważ jest on regulowany za pomocą jednego kanału PWM a także jasność podświetlenia wyświetlacza kiedy załączone są światła do jazdy nocnej, tak zwany „Dimmer”.

    Obrazek

    Podglądamy temperaturę wewnątrz układu RTC DS3231 czyli mniej-więcej jaka panuje na płytce PCB.

    Obrazek

    Tu widać wartości rejestrów ADC przy pomiarze napięcia akumulatora i poziomu paliwa w zbiorniku.

    Obrazek

    Tu można sprawdzić ID czujników DS18B20.

    Obrazek

    Tu można zmienić wartość dzielnika dla obliczania przejechanych metrów.
    Przydało mi się podczas kalibracji bo nie musiałem wgrywać całego programu za każdym razem od nowa.

    Obrazek

    A tu jest bardzo przydatna opcja bo można przypisać odpowiedni czujnik DS18B20 do wyświetlania temperatury zewnętrznej lub wewnętrznej. Gdyby uszkodził się któryś czujnik to podłączamy nowy i w razie potrzeby zamieniamy miejscami wskazania.

    Obrazek

    I tu ostatnia strona gdzie można wyjść z menu serwisowego.

    Docelowa płytka drukowana została zaprojektowana w AD17 dzięki poradnikom Pawła Kardaśa.
    a wykonana w firmie TechnoSerwis i kosztowała 100zł. Jeszcze wtedy nie wiedziałem, że w chinach można zamówić dużo taniej.

    Obrazek

    Zaznaczam, że to mój pierwszy projekt na którym uczyłem się programować AVR-y w C i to dzięki poradnikom Mirka.

    Panel działa już z czwarty rok i do tej pory nie było z nim żadnych kłopotów.

    Pozdrawiam Paweł „P3ndz3l3k”.



    Góra
     Zobacz profil  
    cytowanie selektywne  Cytuj  
    PostNapisane: 24 paź 2021, o 20:02 
    Offline
    Użytkownik

    Dołączył(a): 25 lip 2013
    Posty: 2595
    Pomógł: 128

    Świetny pomysł i projekt - kawał solidnej roboty. Gratuluje - nie ma to jak zrobić swój własny upgrade/tuning :)!



    Góra
     Zobacz profil  
    cytowanie selektywne  Cytuj  
    PostNapisane: 24 paź 2021, o 21:51 
    Offline
    Moderator
    Avatar użytkownika

    Dołączył(a): 03 paź 2011
    Posty: 27364
    Lokalizacja: Szczecin
    Pomógł: 1043

    Ja pierdziu! ... jaki projekt - taki z wyższej półki - do tej pory zbieram szczękę z podłogi ;) REWELACJA

    _________________
    zapraszam na blog: http://www.mirekk36.blogspot.com (mój nick Skype: mirekk36 ) [ obejrzyj Kurs EAGLE ] [ mój kanał YT TV www.youtube.com/mirekk36 ]



    Góra
     Zobacz profil  
    cytowanie selektywne  Cytuj  
    PostNapisane: 24 paź 2021, o 22:27 
    Offline
    Użytkownik

    Dołączył(a): 13 paź 2015
    Posty: 303
    Lokalizacja: Rybnik
    Pomógł: 10

    No gratulacje! Świetny projekt ;)



    Góra
     Zobacz profil  
    cytowanie selektywne  Cytuj  
    PostNapisane: 25 paź 2021, o 04:55 
    Offline
    Nowy

    Dołączył(a): 05 paź 2021
    Posty: 24
    Pomógł: 0

    Kapitalne! Gratuluję wiedzy i umiejętności.



    Góra
     Zobacz profil  
    cytowanie selektywne  Cytuj  
    PostNapisane: 25 paź 2021, o 09:19 
    Offline
    Użytkownik
    Avatar użytkownika

    Dołączył(a): 26 sty 2016
    Posty: 1168
    Lokalizacja: Kraków
    Pomógł: 93

    Świetna robota.
    I jest kolejny przykład na atmegę w zastosowaniach komercyjnych (oryginalna płytka).
    Swoją drogą, jeśli oryginalna była atmega, dlaczego nie zostawiłeś?



    Góra
     Zobacz profil  
    cytowanie selektywne  Cytuj  
    PostNapisane: 25 paź 2021, o 22:02 
    Offline
    Użytkownik
    Avatar użytkownika

    Dołączył(a): 26 mar 2014
    Posty: 356
    Lokalizacja: Pruszków
    Pomógł: 15

    Rnext napisał(a):
    Kapitalne! Gratuluję wiedzy i umiejętności.


    Jaka tam wiedza wszystko co jest w programie to akurat z Mirka poradników.
    Pisałem to wiele razy i napiszę jeszcze raz, Mirek ma umiejętność przekazywania wiedzy w bardzo zjadliwy sposób.
    Kiedyś mi powiedział, że przekazuje wiedzę w taki sposób jakby sam chciał się uczyć i to jest klucz do sukcesu.
    Możecie mi nie wierzyć ale jak dzisiaj piszę program to cały czas korzystam z poradników i bluebooka.



    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: 7 ] 

    Strefa czasowa: UTC + 1


    Kto przegląda forum

    Użytkownicy przeglądający ten dział: Brak zidentyfikowanych użytkowników i 0 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:  
    Sitemap
    Technologię dostarcza phpBB® Forum Software © phpBB Group phpBB3.PL
    phpBB SEO