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

Jak mierzyć sygnał obrotomierza w Seicento 1.1 MPI dla Arduino?

Sumar 02 Sie 2019 12:56 1338 4
REKLAMA
  • #1 18093220
    Sumar
    Poziom 16  
    Czy jest ktoś w stanie powiedzieć jakiego rodzaju sygnał obrotomierza idzie z ECU na kostkę zegara? Czy to szpilka, prostokąt, jakie wypełnienie itp. Sam do tej pory zmierzyłem jedynie napięcie i wynosi ono ok 6,4V i nie zmienia się w zależności od obrotów.

    Nie chcę fabrycznego obrotomierza, ani pobierać sygnału z OBD2, bo te rzeczy już przeszedłem. W tym przypadku chcę zbudować natywny obrotomierz na Arduino i chcę wiedzieć jaki tam idzie sygnał i jak go mierzyć.
  • REKLAMA
  • #2 18093374
    Jarzabek666
    Poziom 40  
    Prawdopodobnie sygnał prostokątny o wypełnieniu 30% tak ma większość 2imp na obrót
  • REKLAMA
  • #3 18093573
    wojtek1234321
    Poziom 36  
    Dokładnie nie pamiętam ale do "wysterowania" tego obrotomierza (fabryczny w seicento) to wystarczył sygnał z cewki zapłonowej w tym samochodzie (zasilanie cewki).
  • REKLAMA
  • #4 18094523
    Jarzabek666
    Poziom 40  
    W przypadku Ardunio ja to robiłem na przerywaniu w trybie CHANGE by wykrywał dwa zbocza co daje wynik w 0,5s z mała pomyłka 1Hz..

    w setup

    attachInterrupt(digitalPinToInterrupt(pinObrotomierz), Obrotomierz, CHANGE);

    ISR Obrotomierz

    void Obrotomierz() {

    impulsy_Obr++;

    }

    A później na timerze albo w funkcji mills żeby co 500ms przypisał do innego bufora a ten zresetował


    ilosc_Impulsow_Obr=(impulsy_Obr*30); // Zapisanie licznik impulsow do bufora
    impulsy_Obr=0; // Zerowanie licznika by od nowa liczylo


    I bufor ilosc_Impulsow to już gotowy wynik realnych obrotów , są to częstotliwości od 24Hz do 260 Hz

    Tylko u mnie to był sygnał 12V miernik nie pokazuje prawidłowo tylko na oscyloskopie widziałem.. Dlatego robiłem dzielnik napięcia na 12-5V i podłączyć do pinu 2 lub 3 bo tylko na tych pinach jest przerywanie.
  • #5 18399438
    Sumar
    Poziom 16  
    Projekt okazał się prosty w wykonaniu. Poniżej kod pod LCD 2x16 jakby ktoś chciał. Zrobiłem zaokrąglenie do pełnych 10 poniżej 1000 i do pełnych 100 powyżej 1000, do tego ładny pasek od 750 do 6000 obrotów. Sygnał obrotomierza podałem bezpośrednio na pin Arduino. Jest tam ponad 5V, ale od kilku miesięcy działa świetnie i nic się nie uszkodziło.
    Jak mierzyć sygnał obrotomierza w Seicento 1.1 MPI dla Arduino?vlcsnap-20...16s017.png Download (189.41 kB)
    Kod: C / C++
    Zaloguj się, aby zobaczyć kod
    [/code]
REKLAMA