PCCar.ru - Ваш автомобильный компьютер

PCCar.ru - Ваш автомобильный компьютер (http://pccar.ru/index.php)
-   Общение с машиной (http://pccar.ru/forumdisplay.php?f=14)
-   -   Arduino+CANBUS Shield (http://pccar.ru/showthread.php?t=23221)

T_r_D 29.07.2016 14:22

Цитата:

Сообщение от armlive (Сообщение 365920)
Наконец получилось считать с сигналки, оказалось у модуля MCP2515 нет сопротивления 120ом, как пишут китайцы блин, поставил сопротивление и принимаю и отправляю удачно.
Завтра буду пробовать в машину слать.

оно там перемычкой включается.
И посмотри что у тебя в нормальных модулях, может там совсем и не 120 ом стоит.
В ситроенах такая лафа не прокатывает. Как только ошибаешься с сопротивлением резисторов, то получаешь потери пакетов и крайне не стабильную работу.
тоже касается провода ответвления от шины.
Так что вам крупно повезло. :)

По хорошему надо два кана сквозных делать и смотреть обмен.
Возможно сигнализация себя как-то сначала обозначает, а потом уже идёт обмен.

Можно и так конечно разобраться, но дольше.

armlive 29.07.2016 16:09

Цитата:

Сообщение от T_r_D (Сообщение 365962)
оно там перемычкой включается.
И посмотри что у тебя в нормальных модулях, может там совсем и не 120 ом стоит.
В ситроенах такая лафа не прокатывает. Как только ошибаешься с сопротивлением резисторов, то получаешь потери пакетов и крайне не стабильную работу.
тоже касается провода ответвления от шины.
Так что вам крупно повезло. :)

По хорошему надо два кана сквозных делать и смотреть обмен.
Возможно сигнализация себя как-то сначала обозначает, а потом уже идёт обмен.

Можно и так конечно разобраться, но дольше.

Все разобрался, открываю и закрываю)))):dance2:
две посылки с разницей пол секунды.

Soldat6600 31.07.2016 12:37

Ребята помогите пожалуйста, проблема с отправкой данных. Та же самая что и с 1050. Сейчас перепаял на 1054. Данные принимает на ура, на передавать не хочет, заливаю пример отправки, в терминале пишет "Can init ok" и всё. не каких больше данных. Пробовал подключать к машине, и без машины, ставил перемычку на резистор 120ом всё без толку. Может дадите тёплый совет.

Soldat6600 31.07.2016 13:10

Вложений: 1
http://pccar.ru/attachment.php?attac...1&d=1469954733

armlive 31.07.2016 14:07

Цитата:

Сообщение от Soldat6600 (Сообщение 366056)
Ребята помогите пожалуйста, проблема с отправкой данных. Та же самая что и с 1050. Сейчас перепаял на 1054. Данные принимает на ура, на передавать не хочет, заливаю пример отправки, в терминале пишет "Can init ok" и всё. не каких больше данных. Пробовал подключать к машине, и без машины, ставил перемычку на резистор 120ом всё без толку. Может дадите тёплый совет.

А какие ты хочешь данные увидеть?
Там их не будет! Это только отправка.
Чтобы принимать и отправлять воспользуйся этим:
PHP код:

// demo: CAN-BUS Shield, receive data
#include <mcp_can.h>
#include <SPI.h>
long unsigned int rxId;
unsigned char len 0;
unsigned char rxBuf[8];
long unsigned time 0;
MCP_CAN CAN0(10);                               // Set CS to pin 10
unsigned char stmp[8] = {0x000x000xC00x000x000x000x000x00};
unsigned char stmp1[8] = {0x000x000x000x000x000xFF0xFF0x00};



void setup()
{
  
Serial.begin(115200);
  
CAN0.begin(CAN_500KBPSMCP_8MHz);                       // init can bus : baudrate = 500k
  
pinMode(2INPUT);                            // Setting pin 2 for /INT input
  
Serial.println("MCP2515 Library Receive Example...");
}

void loop()
{
  if (!
digitalRead(2))                        // If pin 2 is low, read receive buffer
  
{
    
CAN0.readMsgBuf(&lenrxBuf);              // Read data: len = data length, buf = data byte(s)
    
rxId CAN0.getCanId();                    // Get message ID
    
Serial.print("ID: ");
    
Serial.print(rxIdHEX);
    
Serial.print("  Data: ");

    for (
int i 0leni++)             // Print each byte of the data
    
{
      if (
rxBuf[i] < 0x10)                    // If data byte is less than 0x10, add a leading zero
      
{
        
Serial.print("0");
      }
      
Serial.print(rxBuf[i], HEX);
      
Serial.print(" ");
    }
    
Serial.println();
  }
  if (
millis() - time >= 5000) {
    
// send data:  id = 0x00, standrad flame, data len = 8, stmp: data buf
    
CAN0.sendMsgBuf(0x0008stmp);
    
delay(500);                       // send data per 100ms
    
CAN0.sendMsgBuf(0x74508stmp1);
    
time millis();
  }



Soldat6600 31.07.2016 14:22

спасибо armlive все работает. Вчера снял показания с магнитоллы Q5 с включенным зажиганием и без. В машине если не включить зажигание мафон тухнет, а если включить работает всегда. Снял мафон + дисплей все подключил дома , и попробовал отправлять данные, очень долго мучался, каждые 30 минут вырубается, примерно через 3-4 часа такой работы он и вовсе перестает воспроизводить треки, говорит мол "включи зажигание я больше работать не буду".
И вот посылал я на него различные данные и смотрел как он будет на это реагировать, нашел много чего интересного. Нашел начало кодировки Vin номера авто, послав его несколько раз на мафон он заблокировался (включил защиту компонентов). продолжение Vin номера я не нашел. Чтобы мафон работал на столе без машины обязательно ему нужен его Vin номер или достаточно показать зажигание? Кто нибудь разбирался в такого рода вещах? как мне заставить его работать на столе?

Soldat6600 01.08.2016 13:35

все данные зашифрованны в кан шине, и зажигание и Vin намер автомобиля.

xmetal 01.08.2016 14:31

У фольцвагена Vin номер разбит на 3 части и отправляется с одного ID с периодичностью 200 миллисек, может быть у ауди так же. Зажигание с периодичностью 100 миллисек. Пробовал магнитоле отправлять зажигание постоянно, а не один раз?

Soldat6600 01.08.2016 15:26

В Ауди так же

Soldat6600 01.08.2016 15:33

Цитата:

Сообщение от xmetal (Сообщение 366121)
У фольцвагена Vin номер разбит на 3 части и отправляется с одного ID с периодичностью 200 миллисек, может быть у ауди так же. Зажигание с периодичностью 100 миллисек. Пробовал магнитоле отправлять зажигание постоянно, а не один раз?

В Ауди так же, я пока что нашел только начало Vin номера, он находится под 3с0
с периодичностью 200 миллисекунд и постоянно меняется с прибавлением на одно значение. А до зажигания пока не нашел. Может знаеш под каким ID он находится? К стати VW Tiguan это копия Ауди Q3, один в один.


Часовой пояс GMT +4, время: 10:00.

Работает на vBulletin® версия 3.8.4.
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Перевод: zCarot