apresentacao tdc2010 injecao eletronica arduino

29
Globalcode – Open4education José Luiz Sanchez Lorenzo Como ligar a injeção eletrônica do seu carro no Arduino

Upload: jorge-neto

Post on 21-Feb-2015

902 views

Category:

Documents


9 download

TRANSCRIPT

Page 1: Apresentacao TDC2010 Injecao Eletronica Arduino

Globalcode – Open4education

José Luiz Sanchez Lorenzo

Como ligar a injeção eletrônica do seu carro no Arduino

Page 2: Apresentacao TDC2010 Injecao Eletronica Arduino

Globalcode – Open4education

Sobre o palestrante

Formação em EletrônicaAtuando desde 1988 na área de telecomunicações.1988 a 2000 - NEC do Brasil (especialidade em hardware e suporte técnico de centrais de telefonia celular)2000 a 2007 – Lucent Technologies (suporte técnico e implantação de centrais de telefonia fixa e celular) a partir de 2007 - Alcatel-Lucent (coordenando equipe de base de dados de centrais de pequeno porte e implantação de equipamentos NGN).Instrutor dos cursos de formação em robótica na Globalcode.

Page 3: Apresentacao TDC2010 Injecao Eletronica Arduino

Globalcode – Open4education

Agenda

Evolução do sistema elétrico e de alimentação dos carros.

Sistema de injeção eletrônicaSensores

Atuadores

Central de controle

Elétrica do módulo de controleConexão dos sensores e atuadores ao Arduíno

Parâmetros dos sensores

Velocímetro com Arduino

Rede CAN-Bus

Page 4: Apresentacao TDC2010 Injecao Eletronica Arduino

Globalcode – Open4education

Evolução do sistema elétrico e de Alimentação dos veículos

Page 5: Apresentacao TDC2010 Injecao Eletronica Arduino

Globalcode – Open4education

Sensores

Page 6: Apresentacao TDC2010 Injecao Eletronica Arduino

Globalcode – Open4education

Atuadores

Page 7: Apresentacao TDC2010 Injecao Eletronica Arduino

Globalcode – Open4education

Módulo de Injeção Eletrônica

Page 8: Apresentacao TDC2010 Injecao Eletronica Arduino

Globalcode – Open4education

Módulo de Injeção Eletrônica

Page 9: Apresentacao TDC2010 Injecao Eletronica Arduino

Globalcode – Open4education

Diagrama de Conexões

Page 10: Apresentacao TDC2010 Injecao Eletronica Arduino

Globalcode – Open4education

Parâmetros dos sensores

Page 11: Apresentacao TDC2010 Injecao Eletronica Arduino

Globalcode – Open4education

Velocímetro com Arduino

Page 12: Apresentacao TDC2010 Injecao Eletronica Arduino

Globalcode – Open4education

Sketch Velocímetro

Page 13: Apresentacao TDC2010 Injecao Eletronica Arduino

Globalcode – Open4education

Sketch Velocímetro#include <MsTimer2.h>

int velocidade = 0;

void setup(){

Serial.begin(19200);

TCCR1B = 0x0007; // Def. Timer/Counter 1 (External clock on T1 pin "pino 5 do arduino"/Clock on rising edge)

TCCR1A = 0x0000; // Define o Timer/Counter como Normal Mode. (não utiliza o recuso do comparador)

TCNT1 = 0x0000; // Zera o contador

MsTimer2::set(810, lerVelocidade); // programa interrupcao a cada 810ms

MsTimer2::start();

}

void loop(){

}

void lerVelocidade(){

velocidade = TCNT1;

Serial.println("Velocidade = "); Serial.println(velocidade);

TCNT1 = 0;

interrupts();

}

Page 14: Apresentacao TDC2010 Injecao Eletronica Arduino

Globalcode – Open4education

Registradores TCCR1A e TCCR1B

Page 15: Apresentacao TDC2010 Injecao Eletronica Arduino

Globalcode – Open4education

Library MsTimer2

http://www.arduino.cc/playground/Main/MsTimer2

MsTimer2::set(unsigned long ms, void (f)()) // configura-se um período em ms ea cada transbordo do contador a função f será executada.A função “f” deverá ser declarada sem parâmetros.

MsTimer2::start() //habilita interrupção

MsTimer2::stop() //desabilita interrupção

Page 16: Apresentacao TDC2010 Injecao Eletronica Arduino

Globalcode – Open4education

Diagrama blocos Atmega 1280

Page 17: Apresentacao TDC2010 Injecao Eletronica Arduino

Globalcode – Open4education

Painel Digital GOL GII

Page 18: Apresentacao TDC2010 Injecao Eletronica Arduino

Globalcode – Open4education

Painel Digital GOL GII

Page 19: Apresentacao TDC2010 Injecao Eletronica Arduino

Globalcode – Open4education

Painel Digital GOL GII

Page 20: Apresentacao TDC2010 Injecao Eletronica Arduino

Globalcode – Open4education

CAN-Bus Network

Page 21: Apresentacao TDC2010 Injecao Eletronica Arduino

Globalcode – Open4education

Conexão OBDII (CAN-Bus)

Pin 2 - J1850 Bus+Pin 4 - Chassis GroundPin 5 - Signal GroundPin 6 - CAN High (J-2284)Pin 7 - ISO 9141-2 K LinePin 10 - J1850 BusPin 14 - CAN Low (J-2284)Pin 15 - ISO 9141-2 L LinePin 16 - Battery Power

Page 22: Apresentacao TDC2010 Injecao Eletronica Arduino

Globalcode – Open4education

CAN-Bus (ODBII)

Protocolos:

SAE J1850 – PWM (41.6kB/sec, padrão Ford)

SAE J1850 – VPW (variable pulse width 41,6kB/sec padrão GM)

ISO 9141-2 – asynchronous serial data rate of 10.4 kBaud.

ISO 14230 KWP2000 (Keyword Protocol 2000)

ISO 15765 CAN (250 kBits/s ou 500 kBits/s)

Page 23: Apresentacao TDC2010 Injecao Eletronica Arduino

Globalcode – Open4education

CAN-Bus (ODBII)

Modos de operação

Modo 1 – Solicitação de dados em tempo real (PIDs)

Modo 2 – Visualização de dados no momento das falhas ocorridas (Freeze Frame data).

Modo 3 – Solicitar histórico de falhas.

Modo 4 – utilizado para limpar informações de diagnóstico e falhas e também registrar execução de manutenção.

Modo 5 - informações de teste do sensor de oxigênio (sonda Lambda)

Page 24: Apresentacao TDC2010 Injecao Eletronica Arduino

Globalcode – Open4education

Tabela PIDs (CAN-Bus)Mode (Hex)

PID (hex) Data Bytes returned

Description Min value Max value Units Formula

01 04 1 CARGA DO MOTOR 0 100 % A*100/255

01 05 1 TEMPERATURA DA AGUA -40 215 °C A-40

01 0A 1 PRESSÃO DE COMBUSTIVEL 0 765 kPa A*3

01 0C 2 RPM 0 16.383,75 rpm ((A*256)+B)/4

01 0D 1 VELOCIDADE 0 255 km/h A

01 0F 1 TEMPERATURA AR (INTAKE) -40 215 °C A-40

01 10 2 SENSOR DE MASSA DE AR 0 655.35 g/s ((A*256)+B) / 100

01 11 1 POSIÇÃO DA BORBOLETA 0 100 % A*100/255

01 1F 2 TEMPO DE FUNCIONAMENTO 0 65.535 seg (A*256)+B

Page 25: Apresentacao TDC2010 Injecao Eletronica Arduino

Globalcode – Open4education

CAN-Bus transceiver (MCP2551)

No CAN-Bus, os dados não são representados por bits em nível “0” ou nível “1”.São representados por bits Dominantes e bits Recessivos, criados em função da condição presente nos fios CAN_H e CAN_L. A Figura abaixo ilustra os níveis de tensão em uma rede CAN, assim como os bits Dominantes e Recessivos.

Page 26: Apresentacao TDC2010 Injecao Eletronica Arduino

Globalcode – Open4education

CAN-Bus Controller com SPI (MCP2515)

Page 27: Apresentacao TDC2010 Injecao Eletronica Arduino

Globalcode – Open4education

Sketch acesso CAN-Bus

Page 28: Apresentacao TDC2010 Injecao Eletronica Arduino

Globalcode – Open4education

CAN-Shield

Page 29: Apresentacao TDC2010 Injecao Eletronica Arduino

Globalcode – Open4education

José Luiz Sanchez [email protected]

www.eletronlivre.com.brhttp://program-me.ning.com