Projeto - Injeção Eletrônica com AVR

Software e Hardware para ATMEL

Moderadores: 51, guest2003, brasilma

Projeto - Injeção Eletrônica com AVR

Mensagempor tmarchesi2 » 04 Abr 2007 08:27

Bom dia Senhores;

Eu estou querendo desenvolver um projeto de uma injeção eletrônica com o uC AVR (Atmega32). Porém gostaria de saber se tem mais alguém no fórum que gostaria de participar ou se têm idéias parecidas ou está trabalhando com alguma coisa do tipo.
Eu já pesquisei na net e exitem vários link's relacionados como projetos, teoria e protótipos rodando por aí, tudo coisa americana ou européia.
Como eu gosto do mundo automotivo, já ando pesquisando sobre o assunto a algum tempo e desenvolver algo do tipo não tem tanto segredo, é mais uma questão de teste e paciência para os ajustes.
O que eu estou postanto neste primeiro tópico é mais uma introdução ao assunto e descobrir quem está interessado em participar, caso a idéia de certa, eu vou postando o que eu já tenho e link's relacionados ( informações sobre o meu protótipo, algoritmo e testes).

Estou no aguardo, grato a todos
tmarchesi2
Nibble
 
Mensagens: 69
Registrado em: 23 Fev 2007 13:45

Mensagempor sandei » 04 Abr 2007 09:59

Eu me Interesso pelo projeto.

Fabio
sandei
Byte
 
Mensagens: 278
Registrado em: 13 Out 2006 08:15

Mensagempor rubenprom » 04 Abr 2007 11:58

Fala tmarchesi,
Me intereso tb muito pelo projeto!!

Ruben
rubenprom
Byte
 
Mensagens: 222
Registrado em: 16 Out 2006 00:23
Localização: Porto Alegre - RS

Mensagempor jeff » 04 Abr 2007 18:33

Opa amigo,
tb tenho interesse pelo assunto,
meu email é jeffcefetsc@gmail.com
ou msn jeffesmagal@hotmail.com
abraços
jeff
Byte
 
Mensagens: 389
Registrado em: 20 Out 2006 10:14
Localização: Uberlândia/MG

Mensagempor tmarchesi2 » 10 Abr 2007 08:45

Alguém aqui sabe configurar os fuses do Atmega32 para trabalhar com cristal de 16Mhz ? Pesso ajuda pois estou com algumas dúvidas. Eu não tenho gravador HV, caso eu configure os fuses errados, não terei como reverter.
Eu vou configurar isso no ponyprog qualquer coisa, postem a tela de calibração.
Obs: Eu tentei configurar um uC este final de semana Atmega32 +16Mhz mas aconteceu um fato estranho, gerei uma rotina para ligar e desligar um pino do portbB e medi com o osciloscópio e os valores, não bateram com os 16mhz do cristal e nem p'róximo disso. Na terceira tentativa de mudar o software, já com os fuses configurados, o gravador parou de reconhecer o uC. Detalhe, troquei o uC e o gravador funcionou mas parei por ai. Não sei o que aconteceu com este microcontrolador se alguém tiver uma rotina para testar isso me passe também.

Muito Obrigado

[img]C:\WINDOWS\Desktop\untiled.bmp[/url]
tmarchesi2
Nibble
 
Mensagens: 69
Registrado em: 23 Fev 2007 13:45

Mensagempor Maurício » 10 Abr 2007 15:35

Olá, tmarchesi2.

Programar os fuses errados não tem problema. O problema é programar errado especificamente os fuses que dão acesso à gravação serial do dispositivo. Se queimar o fusível errado.... só com gravador HV, mesmo.

Experimenta esta configuração:

Código: Selecionar todos
CKSEL0 = 1
CKSEL1 = 1
CKSEL2 = 1
CKSEL3 = 1

CKOPT = 1

SUT0 = 1
SUT1 = 1


Com capacitores cerâmicos entre os pinos do cristal e o terra, com valores que vão de 12 à 22pF.
Eu uso capacitores de 22pF com a maioria dos cristais aqui e funciona.

[]'s

RETI.
"Não leve a vida tão à sério, afinal, nenhum de nós sairá vivo, dela!"
Avatar do usuário
Maurício
Word
 
Mensagens: 678
Registrado em: 14 Out 2006 17:23
Localização: São Paulo - SP

Mensagempor tmarchesi2 » 10 Abr 2007 15:46

Muito obrigado pela dica, estou aguardando os novos componentes chegar, o único atmega32 que eu tenho está travado. Acho que vou testar com um atmega8 mesmo.

Assim que eu testar posto os resultados, qual seria a sua dica para testar se o uC realmente está realmente rodando com o clock esperado. Alguma rotina algum maceti eu tenho osciloscópio, da pra fazer muito teste. Eu fiz um uma rotina de ligar e desligar o port mas o resultado que encontrei não me convenceu, meu compilador é codevision.

Grato pela atenção

Thiago
tmarchesi2
Nibble
 
Mensagens: 69
Registrado em: 23 Fev 2007 13:45

Mensagempor Maurício » 10 Abr 2007 16:20

Eu acho que a melhor maneira seria escrevendo um programa que inverta o estado atual de um pino qualquer. Isso gera uma frequência próxima ao ciclo de clock da máquina/2. Depois, osciloscópio ou frequêncimetro, né ?

Acho que com três instruções em assembler, resolvem o problema.
Em C é mais difícil ter esse controle.

Mas eu não conheço o ASM do AVR. Só C.

[]'s

RETI.
"Não leve a vida tão à sério, afinal, nenhum de nós sairá vivo, dela!"
Avatar do usuário
Maurício
Word
 
Mensagens: 678
Registrado em: 14 Out 2006 17:23
Localização: São Paulo - SP

Mensagempor tmarchesi2 » 16 Abr 2007 23:13

Você me respondeu a seguinte pergunta no forum:
Como eu configuro o atmega32 com 16mhz ? os fuses para este cristal ?

Ai vc me respodeu a seguinte sequência:
CKSEL0 = 1
CKSEL1 = 1
CKSEL2 = 1
CKSEL3 = 1

CKOPT = 1

SUT0 = 1
SUT1 = 1


Eu posso considerar essa configuração para o chipblasterAVR sendo "1" ticado na janela do program fuse bits e "0" como não ticado ?
tmarchesi2
Nibble
 
Mensagens: 69
Registrado em: 23 Fev 2007 13:45

Mensagempor Maurício » 17 Abr 2007 00:19

Não! Aí é que está o problema do AVR. "Queimar o fusível", significa escrever nível ZERO no fusível.

Se vc marcar a caixa, aí é que vc estará de fato programando os fuses.
Nível 1 em um fusível, significa deixar aquele fusível sem marcação, blz ?
Ou seja, desprogramado.

[]'s

RETI.
"Não leve a vida tão à sério, afinal, nenhum de nós sairá vivo, dela!"
Avatar do usuário
Maurício
Word
 
Mensagens: 678
Registrado em: 14 Out 2006 17:23
Localização: São Paulo - SP

Mensagempor Fandango » 27 Ago 2007 16:18

Olá tmarchesi2,
Eu uso ATMega16 com Xtal de 11,0592MHz, que em essência utiliza a mesma configuração de fuse-bits. Como programador adquiri um AVRDragon, que facilita muito o processo todo. De todas maneiras, o que aprendi é o seguinte:

- Como o Maurício falou, bit=0 significa programado.

OCDEN = On chip debug enable. Quando programado, mantém a fonte de clock habilitada, mesmo que o uControlador esteja em sleep-mode. Geralmente é mantido desprogramado (bit=1).

JTAGEN = JTAG interface enabled. Quando programado habilita o uso da interface JTAG. Isto faz com que os pinos do PortC referentes ao JTAG (TDI, TDO, TMS e TCK) fiquem com pullups e sejam usados pela JTAG. Para usar esses pinos normalmente, esse fuse-bit tem de ficar desprogramado.

SPIEN = SPI enabled. Quando programado (bit=0) habilita a programação do AVR através da SPI.

EESAVE = Preserve EEPROM through the Chip Erase. Quando programado, o conteúdo da EEPROM é preservado, mesmo durante o "chip erase".

BOOTSZ = Boot size (2 bits). Seleciona o tamanho da seção de boot.
00 (default) - 1024 words boot / end. inicial = 0x1C00
01 - 512 words boot / end. inicial = 0x1E00
10 - 256 words boot / end. inicial = 0x1F00
11 - 128 words boot / end. inicial = 0x1F80

BOOTRST = Boot Reset Vector Enabled. Quando programado, o AVR irá iniciar a partir do endereço de boot loader no reset (default = 0x0000).

CKOPT = Oscillator Options. Quando desprogramado (bit=1) o AVR poderá ser usado com frequências de clock de até 8MHz. Para usar com frequências maiores (como no seu caso) este fuse-bit deverá ser programado (bit=0). Observe que o ajuste depende também dos fuses CKSEL (veja mais adiante).

BODLEVEL = BrownOut Detection Level. Ajusta o nível da tensão de alimentação abaixo da qual não será garantida a operação normal do uControlador. Sempre que a tensão de alimentação cair abaixo do nível programado, será gerado um reset. Bit=1, nível=2,7V; Bit=0, nível=4V.

BODEN = BrownOut Detection Enabled. Quando programado, habilita a detecção de nível para reset por queda de alimentação.

SUT = Startup time (2 bits). Juntamente com CKSEL0 permitem ajustar o período entre a ativação do uControlador e o início da primeira instrução de execução. Tempos maiores de startup são usualmente mais seguros.
Neste caso, fazer CKSEL0=1, SUT1=1 e SUT0=1. Configuração recomendada para cristal externo e subida lenta da tensão de alimentação.

CKSEL = Clock Select (4 bits). Permitem ajustar a frequência a utilizar. No seu caso, faça CKOPT=0 (como falei anteriormente) e CKSEL3=CKSEL2=CKSEL1=1.

Espero ter lhe ajudado.
Fandango
Byte
 
Mensagens: 187
Registrado em: 11 Jun 2007 22:13
Localização: SC - Brasil

Mensagempor ktulu » 27 Ago 2007 18:08

Opa

Quando quiserem trocar figurinhas sobre injeção eu to dentro.

Já fiz 2 injeções suplementares quando turbinei meus carros, e agora estou iniciando um mestrado onde desenvolverei uma injeção completa.
Pretendo usar map, tps, iat, iac, knock, lambda wide, acelerador eletronico, controle de ignicao, entre outros...

O melhor lugar que encontrei pra buscar informações sobre hardware e estrategias de gerenciamento de IE foi no projeto Megasquirt.
pra quem não conhece www.megasquirt.info

meu msn é lfbferraz@gmail.com

abracos
ktulu
Nibble
 
Mensagens: 64
Registrado em: 31 Jan 2007 17:22

Mensagempor henriquethiesen » 27 Ago 2007 18:33

O que eu tenho vontade de fazer é acoplar um computador de bordo na central de injecão do carro. Tenho um CD aqui que mostra o diagrama elétrico com os componentes que vão ligado a central de injeção, e um dos pinos da central chama-se consumometro, para ligar o computador de bordo quando o carro vem este acessório.
Será possível descobrir este protocolo? Se não me engano numa revista circuit cellar saiu um projeto de um americano que isso.

Até mais,
Henrique Thiesen
henriquethiesen
Nibble
 
Mensagens: 50
Registrado em: 12 Out 2006 14:10

Mensagempor ktulu » 27 Ago 2007 19:36

henriquethiesen escreveu:O que eu tenho vontade de fazer é acoplar um computador de bordo na central de injecão do carro. Tenho um CD aqui que mostra o diagrama elétrico com os componentes que vão ligado a central de injeção, e um dos pinos da central chama-se consumometro, para ligar o computador de bordo quando o carro vem este acessório.
Será possível descobrir este protocolo? Se não me engano numa revista circuit cellar saiu um projeto de um americano que isso.

Até mais,
Henrique Thiesen


qual carro?
ktulu
Nibble
 
Mensagens: 64
Registrado em: 31 Jan 2007 17:22

Mensagempor henriquethiesen » 02 Set 2007 16:34

Por enquanto estou sem carro, mas eu poderia fazer testes numa Blazer 4.3V6.
O artigo do qual eu falava está disponível nesse site:
http://www.lightner.net/lightner/bruce/Lightner-183.pdf

Este projeto usa o conector de diagnósticos da injeção.
henriquethiesen
Nibble
 
Mensagens: 50
Registrado em: 12 Out 2006 14:10

Próximo

Voltar para AVR

Quem está online

Usuários navegando neste fórum: Nenhum usuário registrado e 1 visitante

cron

x