Elektroda.pl
Elektroda.pl
X
Please add exception to AdBlock for elektroda.pl.
If you watch the ads, you support portal and users.

Sterowanie wyświetlaczem I2C [help]

robiw 23 Mar 2005 15:08 27431 72
  • #31
    robiw
    Level 26  
    rezi_ar wrote:
    Witam
    Na stronie Eelke jest prawie gotowy projekt...http://www.eelkevisser.nl/fuel.htm trzeba tylko zmienić komunikację na wyświetlacz 10 pozycyjny i wykalibrować pod dany model samochodu.
    Jeżeli ktoś chce resztę funkcji z tego "allegrowego" komputera to musi trochę bardziej zmodyfikować program (więcej matematyki)


    W sumie masz rację tylko jak to wykalibrować i dorobić ewentualnie inne funkcje i rozwiązanie konfliktu transmisji z radia - byłoby dużo chętnych - kasa leży na ulicy :-) robiw
  • #32
    rezi_ar
    Level 17  
    Kalibracja metodą zgrubną:
    np spalanie poza miastem na trasie wg danych katalogowych samochodu ok. 7,2 l - regulujemu wartość "calibration_constant" aż wyjdzie na wyświetlczu 7,2
    Zmiana spalania jest linowo zależna od czasu otwarcia wtrysku dzielonego przez prędkość więc jedną zmienną kalibrujemy cały zakres wskazań.
    A co do połączenia tego z radiem...to proponuję układ typu "rybki albo akwarium" raz odcinamy od wyświetlacza radio raz nasz komputerek, pozostawiając "odciętego" tylko na zewnętrznym podpięciu SDA i SCL do Vdd (bo z tego co gdzieś przeczytałem rezystory podpinające są na płytce wyświetlacza)
    Zapomniałem o innych funkcjach...
    wszystkie inne funkcje są zabawą ze zliczaniem łącznego czasu wtrysku (od tankowania do tankowania) i ilości paliwa wlewanej do baku przy tankowaniu
    ilość paliwa/łączny czas otwarcia wtrysku daje nam stałą określającą "spalanie jednostkowe w jednostce czasu"
    łączny czas otwarcia wttrysku/spalanie jednostkowe w jednostce czasu=spalone od tankowania paliwo
    (wlane - spalone)/spalanie chwilowe*100 km=zostało do przejechania...itp
  • #33
    robiw
    Level 26  
    rezi_ar wrote:
    Kalibracja metodą zgrubną:
    np spalanie poza miastem na trasie wg danych katalogowych samochodu ok. 7,2 l - regulujemu wartość "calibration_constant" aż wyjdzie na wyświetlczu 7,2
    Zmiana spalania jest linowo zależna od czasu otwarcia wtrysku dzielonego przez prędkość więc jedną zmienną kalibrujemy cały zakres wskazań.
    A co do połączenia tego z radiem...to proponuję układ typu "rybki albo akwarium" raz odcinamy od wyświetlacza radio raz nasz komputerek, pozostawiając "odciętego" tylko na zewnętrznym podpięciu SDA i SCL do Vdd (bo z tego co gdzieś przeczytałem rezystory podpinające są na płytce wyświetlacza)
    Zapomniałem o innych funkcjach...
    wszystkie inne funkcje są zabawą ze zliczaniem łącznego czasu wtrysku (od tankowania do tankowania) i ilości paliwa wlewanej do baku przy tankowaniu
    ilość paliwa/łączny czas otwarcia wtrysku daje nam stałą określającą "spalanie jednostkowe w jednostce czasu"
    łączny czas otwarcia wttrysku/spalanie jednostkowe w jednostce czasu=spalone od tankowania paliwo
    (wlane - spalone)/spalanie chwilowe*100 km=zostało do przejechania...itp


    Zgadza się... to wszystko jest proste... ale tylko w teorii bo realizacja gotowego urządzenia to już inna sprawa - gdyby była taka prosta - ktoś już "zbijałby" niezłą kaskę... robiw
  • #34
    rezi_ar
    Level 17  
    jak będę miał trochę wolnego czasu (zachoruję lub na urlopie będzie padać) to może się wezmę do roboty...[/img]
  • #35
    piotruch
    Level 17  
    robiw wrote:
    Witajcie.
    Niech ktoś pomoże jak to zrobić (w temacie) - współfinansuję projekt. Fajnie byłoby zrobić coś takiego: http://www.allegro.pl/show_item.php?item=44426513 ale na wyświetlaczu Opla... robiw[/url]


    Jestem w trakcie podłączania MID-a do astry2.
    Jak wynik będzie pozytywny - będę miał zbędnego TID-a do eksperymentów.

    Wtedy z chęcią się pobawię podłączaniem tego ustrojstwa do uC.
  • #36
    piotruch
    Level 17  
    robiw wrote:
    Fajnie byłoby zrobić coś takiego http://moto.allegro.pl/show_item.php?item=47496061 - taki komputerek pokładowy ale wyświetlający dane na TIDzie - byłoby wielu odbiorców ale tego nie umie zrobić nawet twórca tego sprzętu... robiw


    Ma kupe nieprzydatnych funkcji :)
    A nie ma np. woltomierza :(
  • #37
    robiw
    Level 26  
    piotruch wrote:

    Ma kupe nieprzydatnych funkcji :)
    A nie ma np. woltomierza :(


    Też tak uważam ale największą jego wadą jest to, iż nie pracuje z TIDem i radiem :-) ... robiw
  • #40
    robiw
    Level 26  
    Sterownik w tym wyświetlaczu ma oznaczenie: ST628186. Może to coś powie? Co Wy na to? robiw
  • #41
    azazal
    Level 1  
    robiw wrote:
    Sterownik w tym wyświetlaczu ma oznaczenie: ST628186. Może to coś powie? Co Wy na to? robiw

    Witam !!!
    Ponieważ mam Corsę z TID-em, to zainteresowałem się tym tematem.
    Nie mineło 2 tygodnie i już od podstaw zbudowałem prosty kompik pokładowy monitujący o zapięcie pasów, włączonych światłach, o zaciągniętym hamulcu ręcznym, braku ciśnienia oleju w silniku.
    Na programowaniu zbyt dobrze jeszcze się nie znam a pomimo tego napisałem ten program w BASCOM-ie z pomocą biblioteki (ice.zip)
    W razie zainteresowania służę pomocą. Mam problem tylko jak połączyć wyświetlanie napisu "RPM " i dalej odczyt przędkości obrotowej ale pewnie z casem i z tym może dam radę Zamieszczam kilka foto i pozdrawiam
    Darek
  • #42
    julek
    Level 11  
    Mam pytanie czy ktoś może robił to w drugą stronę to znaczy z radia przez uP (np.AVR) na LCD.
  • #43
    Charly
    Level 18  
    Podziękowania dla Kolegi s_ice który rozwiązał problem jak przesyłać informację na wyświetlacz Opla, co było tematem tego wątku.
    Nie tylko że to rozwiązał, ale podzielił się swoją pracą z innymi, którzy na pewno z tego skorzystali, a nie wiedzieć czemu nie chcą się do tego przyznać (zainteresowani wiedzą o kogo mi chodzi).
    Jeszcze raz dzięki, a kierownictwo proszę o przyznanie bonifikaty dla kolegi s_ice.
  • #44
    robiw
    Level 26  
    Charly wrote:
    Podziękowania dla Kolegi s_ice który rozwiązał problem jak przesyłać informację na wyświetlacz Opla, co było tematem tego wątku.
    Nie tylko że to rozwiązał, ale podzielił się swoją pracą z innymi, którzy na pewno z tego skorzystali, a nie wiedzieć czemu nie chcą się do tego przyznać (zainteresowani wiedzą o kogo mi chodzi).
    Jeszcze raz dzięki, a kierownictwo proszę o przyznanie bonifikaty dla kolegi s_ice.


    Witam Szanownych Kolegów i BARDZO proszę o pomoc.
    Chciałbym z pakietu Bascom 8051 sterować wyświetlaczem z samochodu Opel, który pracuje na "zmodernizowanej" szynie I2C - dodana została dodatkowa linia MRQ (linia rozkazowa - Master Request?). W sieci dwóch gości opisało sposób transmisji, który zasadniczo nie różni się od I2C poza wystawianiem sygnałui "0" w czasie transmisji danych do wyświetlacza - oto linki:
    http://www.carluccio.de/index.php?page=pro-tid
    http://www.eelkevisser.nl/bulot.htm
    Ponoć bez problemu można sterować tym wyświetlaczem z poziomu Bascoma, mnie jednak się nie udało - nie pokazuje nic. Oto program (zresztą typowy):

    Config Scl = P3.0
    Config Sda = P3.1
    Config I2cdelay = 1


    ' P1.2 bedzie asygnowane jako MRQ

    Do ' glowna petla programu

    P1.2 = 0 ' MRQ na logiczne "0"
    Waitms 1 ' czeka 1 ms
    P1.2 = 1 ' MRQ na logiczne "1"
    I2cstart ' inicjuje magistrale
    I2cwbyte &H9B ' wysyla adres TIDa - 9Bh

    P1.2 = 0 ' MRQ na logiczne "0"
    I2cwbyte 1 ' wygasza wszystkie piktogramy (3 bajty)
    I2cwbyte 1
    I2cwbyte 1

    I2cwbyte 164 ' wysyla napis do TIDa (10 bajtow)
    I2cwbyte 220
    I2cwbyte 196
    I2cwbyte 203
    I2cwbyte 229
    I2cwbyte 233
    I2cwbyte 64
    I2cwbyte 174
    I2cwbyte 93
    I2cwbyte 64 ' ostatni bajt danych

    P1.2 = 1 ' MRQ na logiczne "1"

    I2cstop ' konczy transmisje i zwalnia magistrale
    Waitms 255 ' czeka 0.25s i powtarza petle

    Loop
    End

    Próbowałem w pętli z innymi adresami, próbowałem zwiększać I2cdelay ale bez efektu. Bardzo proszę o pomoc - może to jakiś bugs. Nie wiem też bo ponoć dane do wyświetlacza są wysyłane tak: 7 bitów danych, bit kontroli parzystości i bit potwierdzenia ale w Bascomie nie ma jak tego zmieniać. POMOCY... robiw
  • #46
    robiw
    Level 26  
    Temat już pokonałem ale dzięki...robiw
  • #47
    robiw
    Level 26  
    Witam Szanownych Kolegów.
    Po wielu trudach, przymiarkach i testach przedstawiam wielofunkcyjny sterownik współpracujący z wyświetlaczem TID realizujący następujące funkcje:

    - Pomiar i wskazywanie temperatury wewnątrz auta (z dokładnością 0.5'C),
    - Sterowanie układem klimatyzacji manualnej w celu utrzymywania zadanej temperatury (z dokładnością 1.0'C i możliwością zmiany histerezy regulacji: +-1.5'C lub +2.5'C/-1.5'C),
    - Automatyczne włączanie świateł mijania,
    - Funkcja przypominania/ostrzegania,
    - Konfigurowalna funkcja "wygaszacza",
    - Sygnalizacja dźwiękowa zdarzeń,
    - Pamięć wszystkich ustawień i możliwość konfiguracji urządzenia w systemie "Menu".

    Jako, że sam opis, nie licząc zdjęć, jest dość obszerny odsyłam na stronę: http://tid.republika.pl/

    Serdecznie pozdrawiam... robiw
  • #48
    _Arecki_
    Level 15  
    Witam

    Robię komputerek do astry, ale na wyświetlaczu TID - segmentowym (a nie punktowym) i mam małe pytanie. W jaki sposób można sterować wyświetlaniem kropek, tzn chcę wyświetlić np: 10.2, jak uzyskać kropkę?
    Wiem, że jest to możliwe, bo wyświetla się przy dacie.
    W protokole wysyłania danych do wyświetlacza jest wysyłane kolejno: adres, znaczki1, znaczki2, dana1, dana2,..., dana8 (z tego co pamiętam).
    I teraz "znaczki1" i "znaczki2" powodują zapalanie się tych znaczków do radia (RDS, CD, CR, AS, [TP], itp) oraz tylko jednej kropki przy 7 segmencie, próbowałem wszystkich kombinacji i się nie udało.
    Czy ktoś się tym bawił lub wie jak tym sterować?


    PS.
    Czy ktoś się orientuje może czy da się jakoś naprawić tą taśmę do wyświetlacza (między płytką a samym wyświetlaczem), bo głupia się naderwała i teraz nie mam części godziny.

    Pozdrawiam
    Arek
  • #50
    _Arecki_
    Level 15  
    Dzięki, niestety nie szprecham po niemiecku, ale z tego co tam zdołałem się dopatrzeć to wspomniane jest tylko o jednej kropce, której sterowanie udało mi się znaleźć.
    Jeśli wiesz gdzie jest więcej to proszę o dokładniejszą wskazówkę.
  • #51
    robiw
    Level 26  
    TID ma tylko 1 kropkę... dokładniejszych opisów nie ma... robiw
  • #52
    _Arecki_
    Level 15  
    Czyli sterowanie pozostałymi kropkami (np. wyświetlanie daty) możliwe jest tylko wewnętrznie.
  • #53
    Aroag
    Level 13  
    Witam.
    Odświeżam temat, nowego nie ma co zakładać:)
    Wczoraj odebrałem przesyłkę z Did`em, dziś się z nim zmierzyłem używając AT90S2313 -przegrałem.
    I z przeróbką biblioteki od S_ice - zamiana P1.x na Pd.x, w sumie AVR`y to nie 51`ki, i z tym listingiem od Robiw - próbowałem też z różnymi wartościami delay. Na stronie podanej przez Robiw - www.carluccio.de - znalazłem, iż adres wyświetlacza to 4A(hex) - próbowałem też z innymi i wynik: czarno, żadnych napisów.

    Możecie służyć jakimiś radami, jak zmienić bibliotekę od S_ice, aby pasowała do avr`ów, lub zmodyfikować program przedstawiony przez Robiw, tak, aby sterować tylko w Bascomie, ale Avr.
    Jakich kwarców użyliście do 51`nek - 12Mhz?

    Pozdr.
  • #54
    Aroag
    Level 13  
    Po kilku weekendowych wieczorach pracy na programem przedstawiam program do sterowania DID`em z Astry (segmentowym) napisany w Bascomie AVR.
    Nie korzysta z żadnych dodatkowych bibliotek, wystarczy standardowy pakiet DEMO.
    Program opatrzony komentarzami w celu łatwego wykorzystania do swoich potrzeb.
    Wzorowany na materiałach ze strony :
    http://www.eelkevisser.nl/display.htm
    A w szczególności w oparciu o program, w Asemblerze, Łukasza Szamoty:
    link do strony: http://www.eelkevisser.nl/szamota-nagy.htm
    link do programu: http://www.eelkevisser.nl/files/szamota-nagy.zip

    Przy próbach wyszło, iż podprogramy "Resetdisplay" i "Smallreset" nie są konieczne.

    Pozdrawiam
  • #55
    sylwunia35
    Level 18  
    Mam pytanie do kolegi Aroag czy na takim wyświetlaczu ten kod "zachula"?
    Kiepską mam orientacje w tych nazwach wyświetlaczy.
    Pozdrawiam
  • #56
    sylwunia35
    Level 18  
    Już sprawdziłem i działa. A jak wyświetlać zmienne cyfrowe?
  • #57
    Aroag
    Level 13  
    STR() zwraca tekstową reprezentacje podanej liczby, stałej.
    Przydatna również CHR()
    pozdr.
  • #58
    _Arecki_
    Level 15  
    Aroag wrote:
    Po kilku weekendowych wieczorach pracy na programem przedstawiam program do sterowania DID`em z Astry (segmentowym) napisany w Bascomie AVR.


    Bardzo dobra robota. Wydaje mi się, że kiedyś spotkałem się z obsługą TID/DID z avr, ale teraz przynajmniej będę miał pewność.

    Muszę przerobić swój program, ale gdzieś z czasem zagubiły się źródła. Będę musiał napisać to od początku i zastanawiam się nad przeróbką na jakiegoś AVR.

    Mam takie pytanie do osób, które popełniły podobny układ.
    Jakie informacje wyświetlacie w swoich urządzeniach?

    Ja u siebie mam obroty, informacje o spalaniu chwilowym, średnim, ogólnym (ilość spalonego paliwa od tankowania), przy czym nie jest to do końca dopracowane. Zostawiłem też wyświetlanie daty. Jest jeszcze informacja o włączeniu świateł (to muszę uaktualnić).
    Co warto jeszcze dodać?

    Pozdrawiam.
  • #59
    Aroag
    Level 13  
    Będę musiał sprawdzić, czy ten programik mi pójdzie w wyświetlaczu MID z omegi B. (wyświetlacz z astry kupiłem do prób bo jest tani).
    Ponieważ mam kompa pokładowego, to ja zamierzam zbudować w oparciu o ten wyświetlacz immobilizer z kodem wprowadzanym przyciskami set i reset. Ilość spalonego paliwa od tankowania bardzo ciekawy pomysł, orginał tego nie ma - tylko prognozowany dystans do przejechania na tym co pozostało w baku.

    Co do informacji to wyświetlałbym jeszcze napięcie akumulatora, czasami bardzo przydatna funkcja - zwłaszcza w zimie - szyba, lusterka, fotele, wentylator na najwyższym biegu - strasznie prądożerne, o światłach nie wspominam :)

    Co do świateł to mogę zaproponować bardzo proste układy automatycznego włączania świateł po uruchomieniu silnika - w końcu teraz jeździmy cały rok na światłach (kiedyś miałem taki układ włączający światła w zależności od daty - ale teraz to zbędne). W pliku poniżej przykłady do włączania świateł.