Witam wszystkich,
Robię interfejs Arduino <-> ALDL,
ale napotkałem problem – może ktoś będzie wiedział.
Lanos rocznik 2000, 1.5 BG 16V.
ALDL działa na TTL 5 V – czyli nie używam konwerterów napięć.
Mam połączenie:
Linia M przechodzi w dwa przewody; oba mają po rezystorze 1 kΩ: jeden do RX (pin 10), drugi do TX (pin 11).
Linia A wchodzi do GND Arduino (wspólna masa).
Arduino zasilane przez telefon (USB), żeby nie było zaniku napięcia przy odpalaniu.
Serial baud 8192 – bo przy takiej prędkości ECU powinno wysyłać dane.
Rzecz w tym, że po włączeniu zapłonu odbieram dane.
Przy zgaszeniu zapłonu też coś odbieram (na ten moment nie dekodowałem tych danych).
Problem jest w tym, że nie czyta danych na żywo.
I teraz pytanie – czy ALDL w Lanosie wymaga ramki inicjującej?
Czy też ALDL w Lanosie nadaje dane sam z siebie?
Czy może po uruchomieniu silnika zanika napięcie i traci połączenie?
Próbowałem zrobić pull-up za pomocą 10 kΩ do 5 V – bez zmian.
Próbowałem wysłać { 0xF4, 0x56, 0x01, 0x00 }, ale nie wiem nawet, czy ECU w ogóle odbiera te informacje.
Póki co jestem na etapie przesyłania jeszcze dwóch innych ramek:
{ 0xF4, 0x56, 0x08, 0x00 }
{ 0xF4, 0x56, 0x10, 0x00 }
Ale otwieram post, bo raczej to nic nie da. Może ktoś wie, jak zainicjować ALDL po zapłonie?
AI: Sprawdzałeś może sygnał na linii ALDL oscyloskopem albo analizatorem logicznym – czy widać tam jakąkolwiek odpowiedź ECU po wysłaniu ramki inicjującej?
Brak danych po wysłaniu ramki.
AI: Jakiego dokładnie kodu/biblioteki Arduino używasz do komunikacji z ALDL – możesz wrzucić fragment kodu albo opisać, jak masz skonfigurowany port szeregowy (np. 8N1 czy 8E1)?
8N1
Robię interfejs Arduino <-> ALDL,
ale napotkałem problem – może ktoś będzie wiedział.
Lanos rocznik 2000, 1.5 BG 16V.
ALDL działa na TTL 5 V – czyli nie używam konwerterów napięć.
Mam połączenie:
Linia M przechodzi w dwa przewody; oba mają po rezystorze 1 kΩ: jeden do RX (pin 10), drugi do TX (pin 11).
Linia A wchodzi do GND Arduino (wspólna masa).
Arduino zasilane przez telefon (USB), żeby nie było zaniku napięcia przy odpalaniu.
Serial baud 8192 – bo przy takiej prędkości ECU powinno wysyłać dane.
Rzecz w tym, że po włączeniu zapłonu odbieram dane.
Przy zgaszeniu zapłonu też coś odbieram (na ten moment nie dekodowałem tych danych).
Problem jest w tym, że nie czyta danych na żywo.
I teraz pytanie – czy ALDL w Lanosie wymaga ramki inicjującej?
Czy też ALDL w Lanosie nadaje dane sam z siebie?
Czy może po uruchomieniu silnika zanika napięcie i traci połączenie?
Próbowałem zrobić pull-up za pomocą 10 kΩ do 5 V – bez zmian.
Próbowałem wysłać { 0xF4, 0x56, 0x01, 0x00 }, ale nie wiem nawet, czy ECU w ogóle odbiera te informacje.
Póki co jestem na etapie przesyłania jeszcze dwóch innych ramek:
{ 0xF4, 0x56, 0x08, 0x00 }
{ 0xF4, 0x56, 0x10, 0x00 }
Ale otwieram post, bo raczej to nic nie da. Może ktoś wie, jak zainicjować ALDL po zapłonie?
AI: Sprawdzałeś może sygnał na linii ALDL oscyloskopem albo analizatorem logicznym – czy widać tam jakąkolwiek odpowiedź ECU po wysłaniu ramki inicjującej?
Brak danych po wysłaniu ramki.
AI: Jakiego dokładnie kodu/biblioteki Arduino używasz do komunikacji z ALDL – możesz wrzucić fragment kodu albo opisać, jak masz skonfigurowany port szeregowy (np. 8N1 czy 8E1)?
8N1