Страница 4 из 7 ПерваяПервая 1234567 ПоследняяПоследняя
Показано с 31 по 40 из 64
  1. #31
    Местный
    Регистрация
    10.11.2010
    Сообщений
    144
    Вес репутации
    193

    По умолчанию Re: OBD-II диагностика на Carduino (Arduino)

    Цитата Сообщение от Chip Посмотреть сообщение
    Ничего не нужно добавлять, это все есть в идущей в комплекте с IDE библиотеке
    Нужно только указать скорость порта , а программа сама рассчитает что в регистр UBRR положить
    Ясно. Просто в списке скоростей передачи не указана 10400, а на РС, знаю, мучаются с установкой такой скорости. Значит с Ардуино легче.

  2. #32
    Новичок
    Регистрация
    26.07.2012
    Возраст
    42
    Сообщений
    1
    Вес репутации
    0

    По умолчанию Re: OBD-II диагностика на Carduino (Arduino)

    А по протоколу ssm1 (старые субару) кто-нибудь подключал ардуину?

  3. #33
    Пользователь Аватар для murano
    Регистрация
    18.01.2008
    Сообщений
    92
    Вес репутации
    218

    По умолчанию Re: OBD-II диагностика на Carduino (Arduino)

    Есть информация по подключению к nissan. Известно что подключение производится в моем случае по протоколу ISO-14230 (fast init). Использую вот такой алгоритм:
    1. на выход K-line подаю HIGH не менее 300 мс
    2. на выход K-line подаю LOW 25 мс
    3. на выход K-line подаю HIGH 25 мс
    4. далее StartCommunication на скорости 10400
    5. прием ответа
    Код HTML:
    #include <LiquidCrystal.h>
    
    #define K_IN  0 
    #define K_OUT 1 
    
    //create object to control an LCD.
    enum { LCD_WIDTH = 16, LCD_HEIGHT = 2 };
    
    LiquidCrystal lcd(7, 6, 4, 5, 2, 3);
    
    void setup()  { 
      pinMode(K_IN, INPUT); 
      pinMode(K_OUT, OUTPUT); 
    } 
    
    void loop()
    { 
      lcd.clear();
      lcd.print("ECU init..."); 
      obdConnect();
      delay(1000); 
    } 
    
    void obdConnect()
    { 
      int n,i; 
      byte buf[20];
      
      buf[0]=0x81;
      buf[1]=0x10;
      buf[2]=0xFC;
      buf[3]=0x81; 
      buf[4]=0x0E; 
      
      serial_tx_off();                          
      serial_rx_off();                              
          
      digitalWrite(K_OUT, HIGH);               
      delay(300); 
      digitalWrite(K_OUT, LOW);   
      delay(25);  
      digitalWrite(K_OUT, HIGH);     
      delay(25); 
      Serial.begin(10400);   // switch now to 10400 bauds 
      for(i=0;i<5;i++)
      {    
        Serial.write(buf[i]);
      }
      lcd.clear();
      n=Serial.available();
      if (i > 0)
      {
        for (i=0;i<n;i++)
        {
          buf[i]=Serial.read();;      
        }
        lcd.clear();
        lcd.print("OK"); 
      }
      else
      {
        lcd.clear();
        lcd.print("Error");  
      }
    } 
    
    void serial_rx_off() { 
      UCSR0B &= ~(_BV(RXEN0));   
    } 
    
    void serial_tx_off() { 
       UCSR0B &= ~(_BV(TXEN0));   
       delay(20);                                
    }
    Но ECU ответа не дает. Знающие, помогите в чем может быть проблема.
    Есть сомнения в моменте переключения на скорость 10400. Может быть проблема в самом подходе к решению задачи?

  4. #34
    Пользователь Аватар для murano
    Регистрация
    18.01.2008
    Сообщений
    92
    Вес репутации
    218

    По умолчанию Re: OBD-II диагностика на Carduino (Arduino)

    Цитата Сообщение от murano Посмотреть сообщение
    Но ECU ответа не дает.
    Проблему решил. Нужно было добавить паузу после посылки запроса и еще объединить минус arduino c минусом авто (до этого запитывал arduino с нетбука)
    Последний раз редактировалось murano; 17.10.2012 в 20:13.

  5. #35
    Местный
    Регистрация
    10.11.2010
    Сообщений
    144
    Вес репутации
    193

    По умолчанию Re: OBD-II диагностика на Carduino (Arduino)

    Цитата Сообщение от murano Посмотреть сообщение
    Проблему решил. Нужно было добавить паузу после посылки запроса и еще объединить минус arduino c минусом авто (до этого запитывал arduino с нетбука)
    В каком месте Вашего скетча забита пауза?

  6. #36
    Пользователь Аватар для murano
    Регистрация
    18.01.2008
    Сообщений
    92
    Вес репутации
    218

    По умолчанию Re: OBD-II диагностика на Carduino (Arduino)

    В представленном выше есть некоторые неточности. А паузу надо выдержать между записью запроса и приемом ответа.

  7. #37
    Пользователь Аватар для murano
    Регистрация
    18.01.2008
    Сообщений
    92
    Вес репутации
    218

    По умолчанию Re: OBD-II диагностика на Carduino (Arduino)

    С новой библиотекой Softwareserial на скорости 10400 не работает. Чтобы заработало надо отредактировать SoftwareSerial.cpp вставив строчку для частоты 16МГц { 10400, 106, 218, 218, 215, }. Проверено, работает.

  8. #38
    Продвинутый
    Регистрация
    20.12.2011
    Сообщений
    336
    Вес репутации
    219

    По умолчанию Re: OBD-II диагностика на Carduino (Arduino)

    А как часто и как быстро можно получать данные с OBD-II ?

    Каждый ли раз при запросе данных нужно осуществлять вход? или войдя однажды можно запросы сколь угодно долго обрабатывать?
    Последний раз редактировалось kadushkin; 26.05.2013 в 23:12.

  9. #39
    Пользователь Аватар для murano
    Регистрация
    18.01.2008
    Сообщений
    92
    Вес репутации
    218

    По умолчанию Re: OBD-II диагностика на Carduino (Arduino)

    Данные получаются в соответствии со скоростью обмена. Как запросил - так и получил ответ. Другой вопрос - сколько времени потратишь на обработку этих ответов и как много параметров будешь запрашивать? Запросы надо посылать в цикле и в зависимости от длительности периода получаешь динамику изменения параметров.

  10. #40
    Продвинутый
    Регистрация
    20.12.2011
    Сообщений
    336
    Вес репутации
    219

    По умолчанию Re: OBD-II диагностика на Carduino (Arduino)

    А можно с k-line при подключенном бортовом компьютере Мультитроникс параллельно еще и ардуину прицепить? не будут они друг дружке мешать?

Страница 4 из 7 ПерваяПервая 1234567 ПоследняяПоследняя

Информация о теме

Пользователи, просматривающие эту тему

Эту тему просматривают: 2 (пользователей: 0 , гостей: 2)

Ваши права

  • Вы не можете создавать новые темы
  • Вы не можете отвечать в темах
  • Вы не можете прикреплять вложения
  • Вы не можете редактировать свои сообщения
  •