Tenho algumas ideias com as quais quero brincar no meu carro. Em todo o meu tempo livre inexistente, estou a investigar um registador CAN Linux. Alguém já trabalhou nesta área e tem algo para partilhar?
No meu tempo livre inexistente, aqui estão algumas ferramentas CAN que encontrei:Tenho algumas ideias com as quais quero brincar no meu carro. Em todo o meu tempo livre inexistente, estou a analisar um logger CAN Linux. Alguém já trabalhou nesta área e tem algo para partilhar?
Em vez disso, experimente um ESP32 com cpu dual core, Wi-Fi/Bluetooth integrado e tela OLED. A marca Heltec é barata e OK, pois vem com oled, mas Lolin D32 é mais uma qualidade, chipset um pouco mais poderoso e capaz com opção de memória flash.Então, demorou um pouco, mas finalmente consegui soldar os pinos de cabeçalho no meu Sparkfun CAN Shield.
CAN-BUS Shield - DEV-13262 - SparkFun Electronics
Esta placa é um "shield" (placa de expansão) para um Arduino (microcontrolador de código aberto) e permite que você conecte um Arduino a um barramento CAN. Dependendo do programa escrito para o Arduino, ele pode registrar os pacotes CAN (sinais) no barramento do carro. Depois de obter uma grande quantidade de dados, leva algum trabalho para analisar e interpretar quais são os sinais, para quem (qual módulo) eles são destinados e o que eles contêm. A maioria das pessoas ficaria surpresa com a quantidade de dados circulando em seus carros se não estiverem familiarizadas com isso.
Meu objetivo é descobrir quais sinais são gerados no carro quando determinados botões são pressionados. Quem sabe, talvez possamos fazer algo legal com isso!
Além disso, assim que estiver familiarizado com os sinais e interpretá-los, gostaria de construir um testador de bancada para os atuadores do acelerador e os atuadores de marcha lenta.
View attachment 208241
View attachment 208249
View attachment 208257
View attachment 208265
View attachment 208273
View attachment 208281
View attachment 208289
Olá Jim,Então, o primeiro teste não correu muito bem.
Aparentemente, o escudo CAN e o programa que me deram não funcionam com o Arduino Mega. O escudo CAN tem um slot micro-SD para registro, mas a configuração dos pinos é diferente para a placa Mega.
Então, corri para a Radio Shack e peguei um Arduino Uno por US$ 29,99 e os problemas foram resolvidos... pelo menos com o cartão SD.
Fiquei animado e corri para o carro para conectá-lo e começar a registrar. E adivinha? Os E60s Pre LCI não têm sinais CAN na porta OBD...
Então, agora para descobrir um lugar de fácil acesso para tocar no barramento CAN. Até agora, estou pensando no porta-malas no módulo PDC. Posso até mover o módulo PDC para fora do poço do pneu sobressalente (supondo que esteja lá nos Ms, como está nos não-Ms), como muitos caras do bimmerforums fizeram para evitar a possibilidade de um derramamento de líquido no porta-malas que o inundaria.
Postarei mais quando eu o conectar e alguns dados forem coletados.
Fio muito interessante.Eu sei que alguém por aí tem melhores habilidades no Excel do que eu. Eu posso deixar o mlook bonito, mas processar muitos números manualmente... sinta-se à vontade para participar...![]()
Eu registrei 20 minutos de uma viagem e tenho uma tonelada métrica de dados para analisar.
No entanto, descobri alguns IDs de Arbitragem para alguns dos módulos, alguns dos quais podem até ser úteis para o meu objetivo.
Se o interesse for um pensamento secundário que eu tive. Muitos registradores de dados simplesmente consultam via OBD para obter os dados de que precisam e, em seguida, esperam que o módulo gateway retorne a resposta às suas perguntas, que o registrador de dados registra.
Há uma quantidade incrível de informações circulando nos barramentos de dados neste carro, provavelmente muitas das quais são úteis para fins de registro de dados. Que tal um registrador de dados DIY que você pode construir com peças por menos de US$ 100? :biggrin:
Aqui estão algumas coisas que eu encontrei:
View attachment 315841
Nesta captura de tela, você pode ver que o ArbID 0x1B4 (valor hexadecimal) é transmitido aproximadamente a cada 0,1 segundo. Ele contém 8 bytes de dados, dois dos quais (B0 e B1, os dois primeiros) são a velocidade do veículo em MPH, circulados em vermelho.
Em azul está uma conversão usando a fórmula do Excel:
Circulado em laranja está o valor numérico para MPH depois que os valores decimais são colocados juntos nesta fórmula:Code:=HEX2DEC(F20)
Usei o Gravador de Voz no iPhone enquanto coletava esses dados e, em seguida, transcrevi os eventos (operei muitas coisas no carro). As notas de velocidade que gravei correspondem às velocidades geradas por esta fórmula, então tenho quase certeza, mas ainda não 100% certo de que a fórmula está correta. Há uma taxa de dados tão alta que só consigo obter cerca de 7 minutos de dados em uma planilha do Excel, pois atingi o limite de 65535 linhas.[/I]Code:= (((Q20 - 16 ) * 256) + P20) / 16
messex,Só por curiosidade, mas qual versão do Excel você está usando? Eu pensei que o 2010 permitia mais de 65 mil linhas, mas posso estar errado.
Enviado do Aplicativo AutoGuide.com
Verdadeiro para todos os ArbIds em PT-CAN, K-CAN, ByteFlight, LLS-CAN e DK-CAN. Os ArbIds são únicos e atribuídos seus números por prioridade, por isso faz sentido manter a ordem consistente.RPM bruto (não otimizado para KOMBI) está embutido no ID da mensagem K-CAN, bytes 4 e 5, como um inteiro sem sinal de 16 bits. Os IDs de mensagem K-CAN e PT-CAN são os mesmos. Essas mensagens são transmitidas em média a uma taxa de atualização de 100 ms (enquanto em PT-CAN seria em média 10 ms). Obrigado BMW por tornar isso fácil.
Postagem abreviada de Terra acima para o que eu acho que a maioria está procurando aqui.Eu postei isso no bimmerforums, mas vocês provavelmente também acharão útil. Encontrei isso enquanto cavava no tool32
Lista do que um monte de IDs de mensagens são e de quais módulos eles se originam. Existem alguns IDs faltando quando eu verifico em relação ao meu 535xi, então a lista está incompleta, mas ainda é muito melhor do que voar completamente às cegas.Code:0x399 Status M-Drive [2] Status M-Drive [2] 0x12 DME1
0xB5 Drehmomentanforderung EGS [9] Torque demand EGS [9] 0x18 EGS_MECH+NAVI/EGS_MECH
0xB8 Drehmomentanforderung DKG [2] Torque requirement DKG [2] 0x18 DKG
0xBA Getriebedaten [20] Transmission data [20] 0x18 SMG_M/SMG/EGS_MECH+NAVI/EGS_MECH/DKG
0xBD Drehmomentanforderung SSG [6] Torque demand SSG [6] 0x18 SMG_M/SMG
0x1A2 Getriebedaten 2 [6] Transmission data 2 [6] 0x18 EGS_MECH+NAVI/EGS_MECH/DKG
0x1A3 Rohdaten Längsbeschleunigung [3] Raw data longitudinal acceleration [3] 0x18 SMG_M
0x1D2 Anzeige Getriebedaten [22] Transmission data display [22] 0x18 SMG_M/SMG/EGS_MECH+NAVI/EGS_MECH/DKG
0x304 Status Gang [13] Status Status [13] 0x18 SMG_M/SMG/EGS_MECH+NAVI/EGS_MECH/DKG
0x3B1 Getriebedaten 3 [2] Transmission data 3 [2] 0x18 EGS_MECH/DKG
0x498 Netzwerkmanagement Network management 0x18 DKG/EGS_MECH/EGS_MECH+NAVI/SMG/SMG_M
0x598 Dienste services 0x18 DKG/EGS_MECH/EGS_MECH+NAVI/SMG/SMG_M
Mesmo que você codifique o módulo do volante para um VO M5 (presumivelmente é tudo o que é necessário), o carro ainda não saberá nada sobre esses quadros CAN.@jcolley, você tem alguma atualização sobre seu projeto? Estou tentando ativar o botão do volante M no modelo E60 não M, então se você tiver alguma dica útil para mim, agradecerei.
Sim, essa é a terminação adequada para o K-can. Dê uma olhada no esboço do arduino aqui.Olá pessoal, revivendo um tópico antigo - alguém pode compartilhar seu esboço Arduino usado para farejar as mensagens k can? Além disso, alguém pode confirmar que resistores de terminação de 120 ohms de H e L para o terra seriam necessários ao conectar ao k can no PDC?