logo elektroda
logo elektroda
X
logo elektroda
Adblock/uBlockOrigin/AdGuard mogą powodować znikanie niektórych postów z powodu nowej reguły.

3-funkcyjny wyświetlacz do motocykla na Arduino

jaclew 06 Cze 2015 23:48 17367 36
  • Początkiem projektu była potrzeba posiadania w moim leciwym motocyklu... czasomierza.
    Podczas jazdy bowiem nie orientowałem się o czasie, a jego odczytanie z zegarka czy telefonu dla kierującego bywa kłopotliwe.
    Z czasem gdy już miałem pomysł jak to wykonać, powstała myśl aby do zegarka dodać inne funkcjonalności. I tak chciałbym tu przedstawić mój gotowy i działający projekt 3-funkcyjnego urządzenia, które może być przydatne nie tylko w motocyklu.
    Mamy więc:
    - zegarek, który pokazuje datę i bieżący czas z sekundami. Data jest zmieniana automatycznie z uwzględnieniem liczby dni miesiąca oraz lat przestępnych. Czas można zmieniać przyciskami. Wyłączenie zasilania nie zeruje zegara, dane są pamiętane (podtrzymanie bateryjne na około 6 lat)

    - termometr, który pokazuje temperaturę oleju silnikowego, bo tak skonstruowałem czujnik. Mierzy w zakresie 0 ... 100 stopni C. Przekroczenie progu 100 C powoduje, że na wyświetlaczu pojawia się komunikat "GORACY OLEJ" a podświetlenie LCD cyklicznie zmienia jasność (efekt migotania) przez co informacja jest łatwiej zauważalna

    - woltomierz, wyświetla napięcie w instalacji motocyklowej. Mierzy w zakresie 7...20 V. Obniżenie napięcia poniżej ustawionego progu powoduje, iż na wyświetlaczu na 2 sekundy pojawia się komunikat "SPRAWDZ BATERIE", a po nim wartość napięcia na czas 1 sekundy. W tym czasie podświetlenie LCD cyklicznie zmienia jasność (efekt migotania) przez co informacja jest łatwiej zauważalna (analogicznie jak w alarmie termometru). Próg alarmu napięcia można ustawić przyciskami od 10 V do 12 V
    Ważne! w czasie wyświetlania tego alarmu także istnieje możliwość zmiany jego progu. Ustawiona wartość progu jest zachowywana w pamięci urządzenia.

    Przy pomiarach napięcia i temperatury obok wartości cyfrowej pokazywany jest tzw. bar-graf czyli graficzny pasek, który obrazuje przybliżoną wartość mierzoną w formie analogowej (odpowiednik wskazówki). Ułatwia to szybszą orientację w pomiarze oraz o tendencji jego zmian. Bar-graf ma rozdzielczość 1/40 skali.

    Podświetlenie LCD jest automatyczne, tj. dostosowuje się do jasności otoczenia. Dzięki czemu kierowca nie musi skupiać uwagi na czytelności komunikatów w zmieniających się warunkach dnia. Są cztery zakresy czułości, przy których wyświetlacz jest podświetlany inaczej (określenia warunków otoczenia są umowne):
    - pełne słońce: podświetlenie wyłączone
    - dzień bez słońca: podświetlenie 30%
    - zmierzch: podświetlenie 100%
    - noc: podświetlenie 50% (zredukowana wartość ponieważ zbyt jasny wyświetlacz drażni wzrok)

    Na panelu czołowym obok wyświetlacza LCD znajduje się czujnik światła oraz przycisk do zmiany wyświetlanych danych w sekwencji pętli: zegar -> woltomierz -> termometr -> zegar -> ...

    Od spodu znajdują się trzy przyciski służące do zmian nastaw: czasu oraz progu alarmu niskiego napięcia. Przyciski działają kontekstowo, tzn. wejście do ustawień realizowane jednym z przycisków umożliwia zmianę tych danych, przy których przycisk został naciśnięty. Pozostałe dwa przyciski służą odpowiednio do zmiany godzin/minut oraz zmiany w górę/w dół progu niskiego napięcia z krokiem 0,1 V


    Czujnik temperatury jest cyfrowy więc nie ma potrzeby kalibracji. Jest to trzy-końcówkowy układ DS18B20. Umieściłem go w nawierconym kanale w śrubie spustowej oleju. A ponieważ śruba ta ma kontakt elektryczny z masą motocykla, tak zaprojektowałem i wykonałem połączenia czujnika aby dwie jego końcówki miały styk ze śrubą. Wówczas trzecia końcówka będzie jedyną, która łączy go z urządzeniem (wystarczy wtedy do połączenia tylko jeden przewód)
    Znakomicie ułatwia to ułożenie w instalacji motocykla i upraszcza montaż i pracę.
    Taki sposób zasilania czujnika DS18B20 z linii danych nosi nazwę "zasilania pasożytniczego" , a jedyną wadą jest ograniczenie pomiaru do 100 stopni C.


    Bazą projektu jest moduł Arduino Pro-Mini, prezentacja danych na wyświetlaczu LCD 8x2, a wszystko zmontowane na tzw. kanapkę aby zminimalizować powierzchnię zabudowy.
    Druk jednostronny.
    Wymiary płytki 70x30 mm

    Schemat:

    3-funkcyjny wyświetlacz do motocykla na Arduino

    Kilka zdjęć montażowych:

    3-funkcyjny wyświetlacz do motocykla na Arduino 3-funkcyjny wyświetlacz do motocykla na Arduino 3-funkcyjny wyświetlacz do motocykla na Arduino 3-funkcyjny wyświetlacz do motocykla na Arduino 3-funkcyjny wyświetlacz do motocykla na Arduino

    3-funkcyjny wyświetlacz do motocykla na Arduino 3-funkcyjny wyświetlacz do motocykla na Arduino 3-funkcyjny wyświetlacz do motocykla na Arduino 3-funkcyjny wyświetlacz do motocykla na Arduino 3-funkcyjny wyświetlacz do motocykla na Arduino

    Filmik z działania na razie na biurku:




    Fajne? Ranking DIY
    O autorze
    jaclew
    Poziom 18  
    Offline 
    jaclew napisał 206 postów o ocenie 210, pomógł 27 razy. Mieszka w mieście Rzeszów. Jest z nami od 2011 roku.
  • #2 14750725
    razorxx100
    Poziom 12  
    Posty: 54
    Ocena: 1
    Calkiem fajny projekt.
    Warto pomyslec o dodaniu;
    -dioda ktora miga kiedy telefon dzwoni,
    -Przypominanie o wlaczeniu swiatel.
  • #3 14750742
    kundzios
    Poziom 19  
    Posty: 401
    Pomógł: 20
    Ocena: 42
    Projekt ma dobrą ideę, ale dla mnie sporo za duże.
    W celu ograniczenia wielkości możesz usunąć moduł Arduino i wstawić procesor bezpośrednio, całość będzie sporo niższa. Przewody zasilania możesz przylutować bezpośrednio bez złącz śrubowych, a złącza zamontować na końcu przewodów (ale już nie śrubowe). Według mnie bateria także jest zbędna, w samochodach stosuje się dwa przewody zasilające jeden bezpośrednio z akumulatora tylko do podtrzymania RTC, a drugi po kluczyku do reszty. Akumulatora nie odłącza się tak często aby stanowiło to problem.
    Oczywiście można iść dalej i zastosować dużo cieńszy wyświetlacz (ten jest stosunkowo gruby).
    Zakres pomiarowy temperatury do XT600 jest odpowiedni ale do motocykli z chłodzeniem powietrzem lub olejem już nie, w nich zakres typowej pracy jest powyżej 100*C.
    Zastosowałeś obudowę wodoszczelną dobre rozwiązanie na motocykl, ale ten przycisk nie jest wodoodporny, może przez niego przeciekać.
    Jako dodatkową funkcję możesz dodać wyświetlanie samej godziny na postoju (bez podświetlenia wyświetlacz ten pobiera znacznie mniejszy prąd), ale musisz postarać się, aby całość pobierała max kilkanaście mA na "postoju".
    Troszkę popracujesz nad projektem i będzie sporo lepiej :) .

    Pomysł razorxx100 o kontrolce dzwoniącego telefonu jest dobry, sam o takim czymś myślę, bo często nie słychać/nie czuć wibracji podczas jazdy :) .
  • #4 14750783
    andrzej55
    Poziom 37  
    Posty: 3000
    Pomógł: 306
    Ocena: 375
    Kolego jaclew co to za model obudowy i gdzie ją nabyłeś?
    Przycisk nie wygląda na wodoszczelny może podczas eksploatacji być źródłem podtopień. Może lepszym pomysłem byłoby przeniesienie go na kierownice blisko manetek. Czujnik oleju w postaci DS18B20 to zły pomysł i lepiej zastosuj go jako pomiar temp. otoczenia. Tutaj lepiej sprawdzi się termopara K lub platynowy Pt-100,Pt-1000. Olej może nagrzać się nawet do 160'C.
    Jak widzę Arduino podłączyłeś przez podstawkę -przy takich wibracjach lepiej przylutować na stałe.
    Wyświetlacz trochę niewiele informacji wyświetla na raz -nie myślałeś o jakimś graficznym OLED? Napisz jak ten sprawdza się w realnych warunkach.
    Będę niedługo coś takiego składał, ale dołożę pomiar prędkości i obrotów silnika na niebieskim 0,96' OLED, wskazanie nr. biegu na osobnym dużym wyświetlaczu siedmio-segmentowym.
  • #5 14751101
    LA72
    Poziom 41  
    Posty: 6600
    Pomógł: 648
    Ocena: 1661
    Warto zmienić zakres wyświetlania bargrafu na 10-15 V. Będziesz miał wtedy wartość prawidłową prawie na środku.
  • #6 14751172
    dondu
    VIP Zasłużony dla elektroda
    Posty: 13906
    Pomógł: 1292
    Ocena: 809
    Uwaga dot. wibracji vs złącze niekoniecznie musi być aż tak istotna, bo funkcjonalność układu nie jest funkcjonalnością krytyczną. Jednak lutowanie na pewno byłoby wskazane w szczególności w wersji finalnej.
  • #8 14751488
    jaclew
    Poziom 18  
    Posty: 206
    Pomógł: 27
    Ocena: 210
    razorxx100 napisał:
    Warto pomyslec o dodaniu;
    -dioda ktora miga kiedy telefon dzwoni,
    -Przypominanie o wlaczeniu swiatel.

    Fakt, przydatne funkcje, pomyślę nad ich wprowadzeniem.

    kundzios napisał:
    ale ten przycisk nie jest wodoodporny, może przez niego przeciekać.
    Jako dodatkową funkcję możesz dodać wyświetlanie samej godziny na postoju (bez podświetlenia wyświetlacz ten pobiera znacznie mniejszy prąd), ale musisz postarać się, aby całość pobierała max kilkanaście mA na "postoju".

    nie znalazłem odpowiedniego rozmiarem przycisku wodoszczelnego. Ten, który jest
    będzie miał założoną silikonową (cienka i elastyczną) nakładkę, która zapewni optymalną bryzgoszczelność.
    Co do wyświetlania samej godziny na postoju bez podświetlania - nie widzę sensu. Przecież gdy jest jasno to podświetlanie jest nieaktywne, a gdy jest już ciemniej to i tak nie widać byłoby danych na LCD więc podświetlenie wskazane. Układ pobiera bez podświetlenia około 15 mA, a z max podświetleniem 25 mA. Zasilanie jest "po stacyjce"

    LA72 napisał:
    Warto zmienić zakres wyświetlania bargrafu na 10-15 V.

    tak zrobię. Dzięki za sugestię :)

    andrzej55 napisał:
    Jak widzę Arduino podłączyłeś przez podstawkę -przy takich wibracjach lepiej przylutować na stałe.
    Wyświetlacz trochę niewiele informacji wyświetla na raz -nie myślałeś o jakimś graficznym OLED?

    Projekt ten to wersja "beta" taka bardziej edukacyjna stąd modułowy sposób montażu, łatwy do wielokrotnego składania i dobrej diagnostyki. Poza tym są to złącza precyzyjne goldpin i nie wydaje się, że łatwo poddadzą się wibracjom.
    Założeniem było zmieszczenie tego w takiej a nie innej obudowie, krytyczne były wymiary powierzchni, mniej wysokości. Nad OLED myślę w kolejnej wersji wskaźnika, która zastąpi prędkościomierz, obrotomierz i drogomierz.

    andrzej55 napisał:
    Olej może nagrzać się nawet do 160'C.

    wybrałem układ czujnika DS18B20 aby nie trzeba było go kalibrować. Przekonam się dzięki temu jaka jest realna temperatura oleju opływającego śrubę spustową. Być może zakres 100 C wystarczy do monitorowania tendencji nagrzewania się silnika. Gdy będzie za mały, zmienię koncepcję czujnika na np. PT100. Na razie do celów testowych jest to DS18B20...

    Seba_smd napisał:
    Co to za model obudowy i gdzie ją nabyłeś?
    andrzej55 napisał:
    co to za model obudowy i gdzie ją nabyłeś?

    www.elmag.net.pl
    obudowa GAINTA - G 200CMF
  • #9 14751613
    dondu
    VIP Zasłużony dla elektroda
    Posty: 13906
    Pomógł: 1292
    Ocena: 809
    jaclew napisał:
    Nad OLED myślę w kolejnej wersji wskaźnika, która zastąpi prędkościomierz, obrotomierz i drogomierz.

    Tylko nie przesadź, byś w trakcie jazdy nie zagapił się na swoje dzieło. Generalnie wraz ze wzrostem szybkości na wyświetlaczu powinny pojawiać się tylko duże znaki całkowicie niezbędnych informacji.
  • #10 14751758
    DEDMAN
    Poziom 17  
    Posty: 315
    Pomógł: 19
    Ocena: 73
    www.elmag.net.pl popraw linka bo brakło "L"
    Temp oleju to za nisko normalna to 90-100 w zależności od moto do 120 powinno być
    110 przy ciśnięciu to normalka a sytuacja upał plus korek co jest teraz normalne
    a powietrze .....
    Jeśli można opcja do wyswietlacza ustawienie 2 parametrów jednocześcnie
    np temp i czas itp
    przycisk to może być wandaloodporny z domofonu IP66 jak znajdę model to podrzucę
  • #11 14753023
    jaclew
    Poziom 18  
    Posty: 206
    Pomógł: 27
    Ocena: 210
    dondu napisał:
    wraz ze wzrostem szybkości na wyświetlaczu powinny pojawiać się tylko duże znaki całkowicie niezbędnych informacji.


    Pełna zgoda... Dlatego też wodotryski mnie nie interesują, wskaźnik ma mieć niezbędne informacje, których mi brakuje, a mogą prognozować stan maszyny, gdy np. napięcie baterii często słabnie. No i w moim moto nie ma łatwej kontroli poziomu oleju, myślę że monitorowanie jego temperatury chociaż w jakimś stopniu pomoże ustrzec się sytuacji krytycznej.
    Testy realne lada dzień...

    DEDMAN napisał:
    wandaloodporny z domofonu IP66 jak znajdę model to podrzucę


    poproszę w takim razie o typ tego przycisku.
  • #12 14753225
    chaka
    VIP Zasłużony dla elektroda
    Posty: 3221
    Pomógł: 134
    Ocena: 100
    Heh, właśnie opracowywałem identyczny projekt, jednak zamiast LCD wybrałem OLED bo jest bardziej czytelny i mniejszy od LCD. Prace na razie stanęły bo zmieniłem motocykl na taki który ma zegarek, nie ma problemu z akumulatorem a jedyne co by się przydało to termometr.
  • #13 14753529
    Trabi
    Poziom 36  
    Posty: 4567
    Pomógł: 169
    Ocena: 793
    razorxx100 napisał:
    -dioda ktora miga kiedy telefon dzwoni,

    Bez sensu. Mam takie fabryczne badziewie u siebie i świeci jak mu się chce. Czasami świeci jak gość obok w aucie rozmawia :D . A jadąc w mieście, świeci prawie cały czas.

    A projekt fajny i pewnie będzie użyteczny. Zwłaszcza temp. oleju.
  • #14 14755539
    kreth
    Poziom 12  
    Posty: 69
    Pomógł: 2
    Ocena: 48
    Popieram przedmówców, wyświetlacz graficzny OLED jest czytelniejszy (i szybszy). Tutaj prosty przykład (prototyp stołowego zegarka :P) - ekran 1.3" z Chin:

    3-funkcyjny wyświetlacz do motocykla na Arduino

    Jedynym problemem mogłaby być jasność (te wyświetlacze nie mają regulacji), ewentualnie zaprojektować "ażurową" czcionkę :P ale to już więcej roboty.

    Arduino bym w wersji finalnej wpakował w procesor i wlutował, najlepiej od razu SMD, całość byłaby płaska jak zeszyt.

    Nie myślałeś nad wycięciem obudowy z aluminium?
  • #15 14755704
    kundzios
    Poziom 19  
    Posty: 401
    Pomógł: 20
    Ocena: 42
    Według mnie najlepsze wyświetlacze, które są czytelne w słońcu, to monochromatyczne. Kolor w tym zastosowaniu jest niepotrzebny. Czemu wyświetlacze w licznikach motocykli nie są kolorowe? Bo w takich nic nie widać jak świeci słońce. Ja bym proponował wyświetlacz z Nokii 3310, chociaż z nimi już może być problem, kiedyś bawiłem się takim i prąd podczas pracy jest na prawdę znikomy, a czytelność duża (jak zastosujemy odpowiednią czcionkę).
  • #16 14756550
    jaclew
    Poziom 18  
    Posty: 206
    Pomógł: 27
    Ocena: 210
    Trabi napisał:
    Mam takie fabryczne badziewie u siebie i świeci jak mu się chce. Czasami świeci jak gość obok w aucie rozmawia


    może to sprawa czułości i selektywności. Gdyby wykonać antenki kierunowe w stronę kierującego moto to mogłoby to pomóc. Domyślam się, że w tym fabrycznym "badziewiu" antenki są w formie albo zwykłego drutu albo na PCB.

    kreth napisał:
    wyświetlacz graficzny OLED jest czytelniejszy (i szybszy)
    kreth napisał:
    Nie myślałeś nad wycięciem obudowy z aluminium?


    OLED ma dobry kontrast to fakt, nie wiem jak natomiast z jego jaskrawością czy w nocy może "razić" kierowcę (nie ma jak piszesz, regulacji świecenia)
    Nad aluminium nie myślałem, miałem już bowiem hermetyczną obudowę i pod nią chiałem zmieścić układ.
    Poza tym to dodatkowe koszty. Podsumowując wszystko - wydałem około 70 zł.

    kreth napisał:
    Arduino bym w wersji finalnej wpakował w procesor i wlutował, najlepiej od razu SMD, całość byłaby płaska jak zeszyt.

    OK, tylko po co skoro obudowa była już pewna o takich a nie innych rozmiarach. Gotowe Arduino ma tylko tą wadę, że jest wysokie, powierzchni zajmie podobnie jak gdyby zrobić na osobnej Atmedze z elementami wokół.

    kundzios napisał:
    Ja bym proponował wyświetlacz z Nokii 3310

    to jest temat do rozważenia, widzę na YT filmiki z LCD od Nokii i wygląda to całkiem fajnie.
    Problem do rozwiązania przy tym to zasilanie - potrzeba będzie dostosować do 3,3V...
  • #17 14765718
    karolek0155
    Poziom 9  
    Posty: 19
    Ocena: 1
    Mam pytanie. Jak oprogramowales ten bargraf? To jest zwykły wyświetlacz alfanumeryczny? Pisałeś w c czy może ArduinoIDE?
  • #18 14769592
    jaclew
    Poziom 18  
    Posty: 206
    Pomógł: 27
    Ocena: 210
    karolek0155 napisał:
    Mam pytanie. Jak oprogramowales ten bargraf? To jest zwykły wyświetlacz alfanumeryczny? Pisałeś w c czy może ArduinoIDE?


    LCD jest alfanumeryczny za 15 zł. Program pisałem w Arduino IDE.
    Bargraf to zdefiniowane 6 znaków - od pustego do całkowice zapełnionego (bo szerokość znaku to 5 pixeli) Zapełniane znaków będzie polegało na tworzeniu coraz grubszej pionowej kreski od początkowego piksela do ostatniego.
    Reszta to już działanie warunków if i pętli for.
  • #19 14776986
    v-cu
    Poziom 12  
    Posty: 71
    Pomógł: 1
    Ocena: 72
    Też sobie jakiś czas temu zrobiłem taki projekcjik do mojego motoroweru. Programowałem także w arduino.
    Mam już to około 2msc czasu i mogę powiedzieć to i owo.
    Mój jest na wyświetlaczu 16x2 (kiedyś właśnie na OLED 0.96" ale to nie wypaliło- napiszę niżej dlaczego)
    Wygląda to tak:
    3-funkcyjny wyświetlacz do motocykla na Arduino
    3-funkcyjny wyświetlacz do motocykla na Arduino 3-funkcyjny wyświetlacz do motocykla na Arduino
    No i jak narazie co mogę powiedzieć:
    -DS1307 nie nadaję się niestety, po 2tygodniach śpieszy się już o 15min! Zaprojektowałem już płytkę pod DS3231 tylko czekam aż mi przyjdzie z ebaya i będę testował.
    -widoczność na tym wyświetlaczu LCD jest naprawdę dobra
    - przydaję się niesamowicie :)
    Jeszcze przed wyświetlaczem LCD 16x2 robiłem na malutkim wyświetlaczu OLED.
    3-funkcyjny wyświetlacz do motocykla na Arduino
    Ale niestety ten wyświetlacz się nie nadaje:
    - jak przyświeci słońce kompletnie na nim nic nie widać!
    - trzeba się było przybliżać żeby w ogóle coś na nim zobaczyć
    - i najgorsze to to że wyświetlacz sam od siebie padał- po 2 tygodniach po prostu przestawał działać. Wymieniałem 2 razy, ale w końcu stwierdziłem że to się nie opłaca.

    Według mnie, przycisk to chyba kiepski pomysł. Bo jak pojedziesz szybko to nie będziesz co chwile klikał żeby zobaczyć napięcie czy godzinę.. lepiej mieć wszystko na jednym wyświetlaczu.

    Pozdrawiam!
  • #20 14777235
    jaclew
    Poziom 18  
    Posty: 206
    Pomógł: 27
    Ocena: 210
    v-cu napisał:
    -DS1307 nie nadaję się niestety, po 2tygodniach śpieszy się już o 15min!


    mój tez sie nieco spieszy - jakąś minutę na dwa dni. Kombinowałem z kwarcem bo było dużo gorzej. Może też wypróbuj kilka kwarców aż trafisz na odpowiedni. Ten element się starzeje i nawet lepszy DS3231 może nie rozwiązać problemu. Ale ciekawy jestem efektów jego zastosowania w Twoim projekcie...

    Korekcję czasu zrobiłeś tylko przez program? To trochę uciążliwe chociaż oszczędza miejsca.

    OLED ten 0.96" miałem kilka dni temu w ręku no i wrażenie słabe. Bardzo mały jednak.
    Niby kontrast dobry a w słońcu jakoś nieczytelny, no może dlatego że to maleństwo.
    Gdyby tak dorwać większy powiedzmy 2" byłoby lepiej. To z kolei zwiększy koszt.
    Raczej skupię uwagę na LCD Nokii 1,5" (np. z 5110). Sprawdzony w setkach projektów no i tani.

    v-cu napisał:
    Według mnie, przycisk to chyba kiepski pomysł.

    nie zgodzę się z tym. Przycisk ten nie jest po to aby nim się "bawić" w czasie jazdy, ale po to aby od czasu do czasu z ciekawości przekonac się jakie są mierzone parametry. Po co "co chwile" klikać jak piszesz? To zbędne, przecież gdy wartość osiągnie próg alarmowy ta automatycznie ostrzeżenie samo pojawi się na LCD. Nie ma mowy o przegapieniu tego alarmu więc klikanie "co chwilę" nie ma sensu.

    Mała rada: pomiar napięcia i temperatury z dokładnością 1/100 jest na wyrost.
    Do napięcia wystarczy 1/10, a temperaturę do jednostek ogranicz.

    LCD 16x2 robi dość duży gabarytowo projekt. Zmieściłeś wszystkie dane na jednym ekranie dzięki temu to fakt. Ale czy podczas jazdy naprawdę koniecznie potrzebujesz obserwować napięcie baterii czy temperaturę?

    Jak wygląda obudowa? Jest szczelna?
    I zapodaj schemat urządzenia.
  • #21 14777322
    v-cu
    Poziom 12  
    Posty: 71
    Pomógł: 1
    Ocena: 72
    DS3231 nie potrzebuje kwarcu i podobno się śpieszy tylko 1 minutę na rok.

    Tak korekcja tylko przez program, chciałem dać przyciski ale już nie ma miejsca a chciałem żeby wszystko schowało się pod wyświetlaczem.

    No tak- motorower 2suw więc temperatura potrzebna. Godzina to wiadomo, a napięcie czasami się przyda bo jak wejdę w wysokie obroty to wiem ile mam volt. A czasami jest 16V.

    Obudowy jak narazie nie mam. Szukam czegoś odpowiedniego ale ciężko..

    Mógłbyś dodać tą linijkę kodu jak odczytujesz napięcie i temperature? Bo chciałem właśnie zrobić tak jak mówisz, ale niestety mi nie wychodzi.

    Schemat: (już na DS3231, z DS1307 już niestety nie mam)
    3-funkcyjny wyświetlacz do motocykla na Arduino
  • #22 14778552
    jaclew
    Poziom 18  
    Posty: 206
    Pomógł: 27
    Ocena: 210
    v-cu napisał:
    DS3231 nie potrzebuje kwarcu i podobno się śpieszy tylko 1 minutę na rok

    Brzmi nieźle. Zainteresuję się tym układem na pewno.

    v-cu napisał:
    więc temperatura potrzebna.

    a w jaki sposób masz zamiar umieścić DS18B20 aby "czuł" temperaturę silnika?

    v-cu napisał:
    Obudowy jak narazie nie mam. Szukam czegoś odpowiedniego ale ciężko..

    no właśnie - projekt fajny elektronicznie, a wychodzi kiszka gdy trzeba upchać go w jakąś obudowę. Ja nauczyłem się już, że najpierw kombinuję opakowanie, a potem tak dopasowuję elektronikę aby całość współgrała. Dzięki temu projekty w 99% są kompletne. Inaczej często lądowały na półce...
    v-cu napisał:

    Mógłbyś dodać tą linijkę kodu jak odczytujesz napięcie i temperature?

    Zapewne chodzi Tobie o metodę wyświetlania dokładności dla zmiennej typu float.
    Zrób tak:
    lcd.print(temperatura, 0); // wyświetla temperaturę bez tego co po przecinku
    i
    lcd.print(napiecie, 1); // wyświetla napięcie z jednym miejscem po przecinku


    Pewno nie masz w kodzie u siebie tych parametrów, stąd wyniki pokazywane są z maksymalną dokładnością.
  • #23 14778727
    v-cu
    Poziom 12  
    Posty: 71
    Pomógł: 1
    Ocena: 72
    jaclew napisał:
    a w jaki sposób masz zamiar umieścić DS18B20 aby "czuł" temperaturę silnika?

    3-funkcyjny wyświetlacz do motocykla na Arduino
    Mam cylinder chłodzony cieczą, i od góry się wkręca termostat który powyżej 100stopni się załącza i zapala kontrolkę w liczniku. Wywaliłem środek z termostatu i dałem tam ds18b20 na sondzie.

    Wow, nie wiedziałem że wystarczy dać tylko po przecinku 0 albo 1. Super dzięki wielkie.
    W pewnym sensie pytałem też jak odczytujesz napięcie. Bo ja nie wiem czy mam poprawnie i skaka te napięcie sobie co chwilkę. Dzielnik mam jak na schemacie 15K i 47K.
    A odczytuje tak:
    Kod: C / C++
    Zaloguj się, aby zobaczyć kod


    A i myślę jeszcze co dać zamiast daty, bo zdaję mi się że ona nie jest potrzebna w ogóle..
  • #24 14778901
    jaclew
    Poziom 18  
    Posty: 206
    Pomógł: 27
    Ocena: 210
    v-cu napisał:
    Mam cylinder chłodzony cieczą

    czyli mierzysz temperaturę cieczy chłodzącej. U mnie to niemożliwe bo silnik wiatrem jest chłodzony. Nie myślałeś nad trybem pasożytniczym DS18B20?

    v-cu napisał:
    skaka te napięcie sobie co chwilkę.

    daj kondensator (u mnie jest to 1u) pomiędzy pin analogowy a masę. Możesz też programowo próbować uśrednić pomiar. Na przykład tak:
    Kod: C / C++
    Zaloguj się, aby zobaczyć kod


    Zamiast daty wstaw drugą temperaturę - otoczenia :idea:
  • #25 14788954
    v-cu
    Poziom 12  
    Posty: 71
    Pomógł: 1
    Ocena: 72
    Mam czujnik ds18b20 na sondzie:
    3-funkcyjny wyświetlacz do motocykla na Arduino
    Więc nie opłaca się.

    Temperatura otoczenia dobry pomysł.

    Kod: C / C++
    Zaloguj się, aby zobaczyć kod


    Niestety ta funkcja nic nie daje. Napięcie dalej skaka, np. co sekundę się zmienia 13.6V - 13.7V
    Z kondensatorem spróbuję jak przyjdzie DS3231 i zrobię płtykę.
  • #26 14791585
    gh00st
    Poziom 13  
    Posty: 118
    Pomógł: 4
    Ocena: 40
    Mała uwaga co do dzielnika do pomiaru napięcia. Warto dać tam potencjometr w środek, dzięki czemu będzie można skalibrować pomiar (zmieniać nieco wartość podziału).
    Wtedy podając napięcie referencyjne możemy sobie ustawić potencjometrem prawidłową wartość mierzoną przez procek.
    Oczywiście potencjometr malutki na płytce. Warto także kropelką farbki czy czymś podobnym go zakleić po ustawieniu wartości, żeby się nie przekręcił przez przypadek.
  • #27 14792502
    jaclew
    Poziom 18  
    Posty: 206
    Pomógł: 27
    Ocena: 210
    v-cu napisał:
    Niestety ta funkcja nic nie daje. Napięcie dalej skaka


    a jaki masz czas odświeżania pomiaru napięcia?

    ile ma wysokości zmontowana całość? U mnie wyszło 27 mm: od przycisków na spodzie PCB do frontu LCD.


    gh00st napisał:
    Warto dać tam potencjometr w środek,


    Nie warto. Współczynnik dzielnika i jego korekcję można wprowadzić programowo:
    Kod: C / C++
    Zaloguj się, aby zobaczyć kod


    Odpada stojenie potencjometrem, nie trzeba przejmować się jego przypadkowym przestawieniem no i oszczędzamy miejsce o co wiekszości z nas tutaj chodzi.
  • #28 14792700
    gh00st
    Poziom 13  
    Posty: 118
    Pomógł: 4
    Ocena: 40
    Dla mnie potencjometr wygodniejszy ;)
    Stroić programowo można, ale wymaga to wielu prób i kilku - kilkunastu może nawet kilkudziesięciu programowań (zależy od dokładności pomiaru). Potencjometrem ustawiasz szybko i bez programowania.
    Potencjometr można potem podkleić (tak jak się robi w fabrykach), wtedy mamy pewność, ze od drgań się nie przestawi. Poza tym montując kilka sztuk można szybko i wygodnie korygować nastawy bez ślęczenia nad kodem.
    Pamiętaj o tolerancji rezystorów, która spowoduje rozrzut parametrów i dla każdego dzielnika na nowo będziesz musiał poprawiać kod. Miejsce na płytce na mały montażowy potencjometr się zawsze znajdzie, tym bardziej jak stosujemy montaż SMD. Wtedy taki potek przewlekany nie koliduje z użyciem w jego miejscu innych elementów SMD z drugiej strony ;)

    No chyba że umożliwisz edycje dzielnika przy pomocy programu (tak jak nastawy czasu), ale to też dodatkowe klepanie kodu, żeby obsłużyć taką możliwość oraz komplikacja obsługi urządzenia. Przeciętny zjadacz chleba nie będzie wiedział po co jest ta kalibracja.
  • #29 14799894
    jaclew
    Poziom 18  
    Posty: 206
    Pomógł: 27
    Ocena: 210
    gh00st napisał:
    Stroić programowo można, ale wymaga to wielu prób i kilku - kilkunastu może nawet kilkudziesięciu programowań


    czemu aż tyle??? robisz to metodą prób i błędów? Jest sposób jednorazowy, prosty i matematyczny, a więc DOBRY:
    1. w kodzie wstawiasz DOWOLNY współczynnik podziału Kt (t -od "teoretyczny")
    2. ustaw wyświetlanie na LCD zmiennej napięcia z dokładnością 1/100
    3. podajesz na kontroler dokładne i znane napięcie odniesienia Uref
    4. odczytaj z LCD zmierzone napięcie referencyjne - będzie ono inne: Ut
    5. oblicz realną wartość współczynnika podziału (z prostej zależności proporcji):

    Kr = Kt * (Uref / Ut)

    6. wstaw wyliczone Kr do kodu zamiast poprzedniego Kt

    Powodzenia!!!

    p.s.
    a potencjometr kosztuje niestety, no może i gorsze, ale przy produkcji setek/tysięcy sztuk
    urządzenia robi już znaczącą sumkę,,, Kod jest darmowy ;)
  • #30 14799900
    expercik
    Poziom 10  
    Posty: 27
    Ocena: 8
    jak to darmowy ?
    mógłbyś pokazać skąd go masz ?

Podsumowanie tematu

LABEL_AI_GENERATED
Projekt 3-funkcyjnego wyświetlacza do motocykla na Arduino obejmuje zegar, termometr oraz możliwość monitorowania napięcia. Zegar automatycznie aktualizuje datę i czas, a termometr mierzy temperaturę oleju silnikowego w zakresie 0-100°C, z komunikatem ostrzegawczym przy przekroczeniu 100°C. Użytkownicy sugerują modyfikacje, takie jak zastosowanie wyświetlacza OLED dla lepszej czytelności, dodanie funkcji powiadamiania o połączeniach telefonicznych oraz przeniesienie przycisku na kierownicę. Krytyka dotyczy także wielkości urządzenia oraz wodoszczelności przycisku. Wskazano na potrzebę użycia bardziej precyzyjnych czujników temperatury, takich jak termopara K lub Pt-100. Użytkownicy dzielą się doświadczeniami z różnymi komponentami, w tym z zegarami DS1307 i DS3231, oraz omawiają kwestie kalibracji pomiarów napięcia.
Podsumowanie AI na podstawie dyskusji. Może zawierać błędy.
REKLAMA