apresentacao tdc2010 injecao eletronica arduino

Post on 21-Feb-2015

902 Views

Category:

Documents

9 Downloads

Preview:

Click to see full reader

TRANSCRIPT

Globalcode – Open4education

José Luiz Sanchez Lorenzo

Como ligar a injeção eletrônica do seu carro no 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.

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

Globalcode – Open4education

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

Globalcode – Open4education

Sensores

Globalcode – Open4education

Atuadores

Globalcode – Open4education

Módulo de Injeção Eletrônica

Globalcode – Open4education

Módulo de Injeção Eletrônica

Globalcode – Open4education

Diagrama de Conexões

Globalcode – Open4education

Parâmetros dos sensores

Globalcode – Open4education

Velocímetro com Arduino

Globalcode – Open4education

Sketch Velocímetro

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();

}

Globalcode – Open4education

Registradores TCCR1A e TCCR1B

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

Globalcode – Open4education

Diagrama blocos Atmega 1280

Globalcode – Open4education

Painel Digital GOL GII

Globalcode – Open4education

Painel Digital GOL GII

Globalcode – Open4education

Painel Digital GOL GII

Globalcode – Open4education

CAN-Bus Network

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

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)

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)

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

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.

Globalcode – Open4education

CAN-Bus Controller com SPI (MCP2515)

Globalcode – Open4education

Sketch acesso CAN-Bus

Globalcode – Open4education

CAN-Shield

Globalcode – Open4education

José Luiz Sanchez Lorenzojoseluiz@globalcode.com.br

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

top related