[TUTORIAL] - Computador de bordo através do TID

Faça você mesmo as instalações e manutenções em o seu Corsa.

Moderadores: Eduardo Lirani, WJUNIOR, MatheusM, Organizadores do Fórum

Responder
AlexSGP
:: Wind ::
Mensagens: 23
Registrado em: Quarta-feira 23 2016f Março 2016 09:25:19 PM
Localização: São João de Meriti - RJ
Modelo do veiculo: CORSA (DEMAIS)
Ano de fabricação: N/I
Re: [TUTORIAL] - Computador de bordo através do TID

Mensagem por AlexSGP »

unBond escreveu:
curiosidade essa tela tem no brasil, se sim quanto custa?
Brother, infelizmente o único fornecedor desta tela no brasil vende ela no ML Por R$ 550,00 :cry: , no aliexpress esta mesma tela esta custando R$ 220,00 com frete grátis. no alie vc compra tela de 7" por R$ 250,00.

Por isso falei da possibilidade de utilizar tela sem touch para baratear o projeto, eu particularmente não tenho interesse em usar o touch da tela (ficar se esticando ate tocar a tola não é meu forte), mas seria uma ótima opção para os carros que não tem botões na manete do limpador, assim para mudar as tela poderíamos fazer como fazemos com as fotos nos smartphones so arrastando o dedo na tela.

VLW!
 
cansei
:: Piquet ::
Mensagens: 319
Registrado em: Quinta-feira 06 2008f Março 2008 10:30:35 PM
Localização: São Paulo - SP
Modelo do veiculo: CORSA HATCH 1 8 FLEXPOWER
Ano de fabricação: 2004

Mensagem por cansei »

AlexSGP escreveu:É justamente nesta parte que não consegui progresso... Mas agora lendo o que você escreveu acho que estava fazendo errado, eu estava tentando efetuar a comunicação via a biblioteca wire... será que não funciona? não consegui nem mesmo capturar o endereço que o Master enviou.
Acho melhor deixar de lado a biblioteca wire e fazer na mão mesmo.
Nem o pessoal que montou a biblioteca do TID usou a wire.
gui_srs escreveu:Cansei,
Fiz o que vc falou, acrescentei 1.0 no valor. Agora a Variável FatorCons tá em 15.0.
Não sei se serve de base, mas o consumo instantaneo com o carro parado, em temperatura normal, ficava entre 1,1 e 1,2 L/H. Agora está variando entre 1,3 e 1,4. Se fizer as contas de 1,2 + 13% = 1,35.
Acredito que esteja praticamente no ponto, talvez seja necessario alterar só alguns décimos.
Vou completar o tanque hoje de novo e testar.

Estou testando a nova versão e até agora tá funcionando tudo beleza.
Chegou a mexer em mais alguma atualização no programa?
Mexi e já coloquei no meu google drive. Arrumei e organizei bastante coisa, veja se está tudo funcionando normalmente em especial a velocidade.

De função nova coloquei cronometro, cálculo de velocidade máxima e detecção se o motor está ligado ou não.

Sobre esse último, veja se ao desligar o motor (mas mantendo a chave no contato) o símbolo EON aparece após alguns segundos e desaparece logo depois. Esse símbolo só pode aparecer nessa situação, ele não pode aparecer com o carro em movimento e nem com o motor ligado. É importante essa função funcionar direito pois é a partir dela que chamo a função pra gravar os dados na memória (na próxima atualização coloco isso).
gui_srs escreveu:Ah, esses dias tentei fazer aquela animação do "Bem-vindo" com o trecho de código que vc me passou. Funcionou, mas ficou meio bugado cara, tipo 'enroscando' na hora de correr a animação. Tem ideia do que pode ser?
Essa animação é bem tentativa e erro. Se vc usar exatamente o código que te passei ela enrosca tb?
Se sim pode ser a versão da IDE do Arduino... Em que parte enroscou? Com o texto aparecendo ou desaparecendo?
Se foi aparecendo, vc pode aumentar a velocidade que o texto corre aumentando o número 20 nesse pedaço:

Código: Selecionar todos

mydisplay.display_message(F("           CORSA 1.8"),20);
Vc pode colocar o valor máximo que é 255 pra ver como fica.
gui_srs escreveu:Outra coisa que eu pensei ser interessante implementar, é retomar na mesma função quando religar o carro. Por exemplo, se estiver em Consumo instantaneo, voltar automaticamente para ela após o 'Bem-vindo'.
Vou dar uma olhada nisso.
 
gui_srs
:: Super ::
Mensagens: 81
Registrado em: Quinta-feira 19 2016f Maio 2016 05:31:31 PM
Localização: Santa Rita do Sapucaí - MG
Modelo do veiculo: MONTANA SPORT 1.8 MPFI FLEXPOWER
Ano de fabricação: 2007
Contato:

Mensagem por gui_srs »

cansei escreveu: Mexi e já coloquei no meu google drive. Arrumei e organizei bastante coisa, veja se está tudo funcionando normalmente em especial a velocidade.

De função nova coloquei cronometro, cálculo de velocidade máxima e detecção se o motor está ligado ou não.

Sobre esse último, veja se ao desligar o motor (mas mantendo a chave no contato) o símbolo EON aparece após alguns segundos e desaparece logo depois. Esse símbolo só pode aparecer nessa situação, ele não pode aparecer com o carro em movimento e nem com o motor ligado. É importante essa função funcionar direito pois é a partir dela que chamo a função pra gravar os dados na memória (na próxima atualização coloco isso).
Cansei,
Acabei de gravar a versão que vc disponibilizou.
Notei algumas coisas estranhas! E até fiz um vídeo pra te mostar.

- Notei que, com o carro desligado, e o Arduino ligado no notebook (sendo alimentado via USB), o cronometro funciona mais lisinho, vc vê os numeros correndo e ele marca os segundos direito. Quando o Circuito é ligado pelo carro mesmo, na chave, acontece o problema de ficar 'enroscando' o cronometro, trava e solta, trava e solta. E era exatamente a mesma coisa que acontecia com a animação do 'bem vindo'. É o que tá acontecendo com o cronometro. Eu não entendi o porque...
- O EON não aparece após desligar a chave. O sistema desliga, o TID apaga e não aparece mais nada. o EON somente apareceu e sumiu algumas vezes com o motor ligado, na função cronometro.
- A versão da minha IDE do Arduino é 1.6.9. Uso Windows 10 x64.

Bom, explicar por aqui fica dificil, então postei o video para vc poder assistir e entender melhor o que tá acontecendo. Segue link:

https://youtu.be/YC00pA3wTnI

De qualquer forma, achei muito estranho! Vc sabe o que pode ser?
Enquanto isso vou continuar meus testes...

Abs!
 
gui_srs
:: Super ::
Mensagens: 81
Registrado em: Quinta-feira 19 2016f Maio 2016 05:31:31 PM
Localização: Santa Rita do Sapucaí - MG
Modelo do veiculo: MONTANA SPORT 1.8 MPFI FLEXPOWER
Ano de fabricação: 2007
Contato:

Mensagem por gui_srs »

Ah! Cansei, o código que eu usei para o bem-vindo foi o que vc me passou.
Ficou assim:

Código: Selecionar todos

void texto_boas_vindas()
{
  byte i;
  zera_intervalo();
  for (i=0;i<10;i++)
  {
    mydisplay.display_message(F("          Bem-vindo!"),20);
    mydisplay.display_symbol(i);
    coisas_a_fazer_sempre();
  }
  mydisplay.clear_message();
  coisas_a_fazer_sempre();
  mydisplay.display_message(F("Bem-vindo!"),20);
  while(intervaloMiliSecs <= 3000)
  {
    calcula_intervalo();
    coisas_a_fazer_sempre();
  }
  for (i=10;i>0;i--)
  {
    mydisplay.display_message(F("Bem-vindo!          "),254);
    mydisplay.clear_symbol(i);
    coisas_a_fazer_sempre();
  }
}
Mas o 'bug' do travamento é tipo o que acontece no cronometro mesmo.
 
AlexSGP
:: Wind ::
Mensagens: 23
Registrado em: Quarta-feira 23 2016f Março 2016 09:25:19 PM
Localização: São João de Meriti - RJ
Modelo do veiculo: CORSA (DEMAIS)
Ano de fabricação: N/I

Mensagem por AlexSGP »

Como meu MID esta com o display danificado não posso ajudar na verificação do código :(... Mas não seria a frequência de atualização do display? Já vi um problema sobre o Arduíno na hora que alimentado pela bateria do veiculo ter alguns problemas de ruídos, vou verificar aqui o que eu li e a solução.
 
gui_srs
:: Super ::
Mensagens: 81
Registrado em: Quinta-feira 19 2016f Maio 2016 05:31:31 PM
Localização: Santa Rita do Sapucaí - MG
Modelo do veiculo: MONTANA SPORT 1.8 MPFI FLEXPOWER
Ano de fabricação: 2007
Contato:

Mensagem por gui_srs »

AlexSGP escreveu:Como meu MID esta com o display danificado não posso ajudar na verificação do código :(... Mas não seria a frequência de atualização do display? Já vi um problema sobre o Arduíno na hora que alimentado pela bateria do veiculo ter alguns problemas de ruídos, vou verificar aqui o que eu li e a solução.
Alex,

Eu infelizmente não manjo da parte de programação, rsrs.
Só tenho um pouco de noção da parte eletronica da coisa. E imaginei mesmo que poderia ser algo relacionado a ruido.
Meu pai é técnico em eletronica e me disse que em alguns casos é necessário ter um capacitor na entrada e na saída do regulador de voltagem pois ele pode oscilar e gerar problemas na alimentação.
Hoje pela manhã medi a tensão na entrada do Arduino e ela está realmente estável, fixa em 7,82v (Estou usando um regulador 7808). De qualquer forma resolvi colocar os capacitores conforme recomenda no datasheet do 7808. Coloquei dois capacitores de 4,7uF, um na entrada e outro na saída. E nada, não fez nenhuma diferença.

Pensei também nessa questão de taxa de atualização do display viu... Mas sei lá.
Vc chegou a dar uma olhada no video que eu gravei?

Vamos esperar também uma posição do Cansei, talvez ele saiba.
 
cansei
:: Piquet ::
Mensagens: 319
Registrado em: Quinta-feira 06 2008f Março 2008 10:30:35 PM
Localização: São Paulo - SP
Modelo do veiculo: CORSA HATCH 1 8 FLEXPOWER
Ano de fabricação: 2004

Mensagem por cansei »

gui_srs escreveu:- Notei que, com o carro desligado, e o Arduino ligado no notebook (sendo alimentado via USB), o cronometro funciona mais lisinho, vc vê os numeros correndo e ele marca os segundos direito. Quando o Circuito é ligado pelo carro mesmo, na chave, acontece o problema de ficar 'enroscando' o cronometro, trava e solta, trava e solta. E era exatamente a mesma coisa que acontecia com a animação do 'bem vindo'. É o que tá acontecendo com o cronometro. Eu não entendi o porque...
Eu to com duas suspeitas, uma é a alimentação e a outra é se o seu TID é uma versão mais antiga do que o meu.
Da alimentação, tenta alimentar o Arduino direto com os 12V e vê se muda alguma coisa.
Da idade do TID, quando vc desconecta ele da energia e conecta de novo, qual a data que aparece? No meu aparece 1/1/2000.
gui_srs escreveu:- O EON não aparece após desligar a chave. O sistema desliga, o TID apaga e não aparece mais nada. o EON somente apareceu e sumiu algumas vezes com o motor ligado, na função cronometro.
Eu tb fiz um vídeo pra mostrar como o programa está funcionando no meu carro:
https://www.youtube.com/watch?v=Jl5QhZHWBuc

Aqui eu falo sobre o EON:
https://www.youtube.com/watch?v=2mQsLGr6Vls
gui_srs escreveu:- A versão da minha IDE do Arduino é 1.6.9. Uso Windows 10 x64.
Tenta usar a 1.6.5-r5, é a que eu estou usando aqui.
O windows eu tb uso o 10 x64.
AlexSGP escreveu:Como meu MID esta com o display danificado não posso ajudar na verificação do código :(... Mas não seria a frequência de atualização do display? Já vi um problema sobre o Arduíno na hora que alimentado pela bateria do veiculo ter alguns problemas de ruídos, vou verificar aqui o que eu li e a solução.
A frequencia de atualização do display no caso do cronometro está na velocidade máxima. O problema é que mandar exibir alguma coisa na tela consome tempo e recurso alto do arduino, tanto que nos dados que se alteram devagar tipo a tensão e distância por ex. que não precisam ser atualizados a cada milisegundo, eu simplesmente tiro a atualização constante e deixo a cada 1, 2 ou 3 segundos justamente pra poupar recurso.
gui_srs escreveu:Eu infelizmente não manjo da parte de programação, rsrs.
Só tenho um pouco de noção da parte eletronica da coisa. E imaginei mesmo que poderia ser algo relacionado a ruido.
Meu pai é técnico em eletronica e me disse que em alguns casos é necessário ter um capacitor na entrada e na saída do regulador de voltagem pois ele pode oscilar e gerar problemas na alimentação.
Hoje pela manhã medi a tensão na entrada do Arduino e ela está realmente estável, fixa em 7,82v (Estou usando um regulador 7808). De qualquer forma resolvi colocar os capacitores conforme recomenda no datasheet do 7808. Coloquei dois capacitores de 4,7uF, um na entrada e outro na saída. E nada, não fez nenhuma diferença.

Pensei também nessa questão de taxa de atualização do display viu... Mas sei lá.
Vc chegou a dar uma olhada no video que eu gravei?

Vamos esperar também uma posição do Cansei, talvez ele saiba.
A sugestão do seu pai ta certa, eu optei por não colocar os capacitores pq no meu carro funcionou bem sem eles então deixei quieto. Não acho que seja ruído pq o problema acontece mesmo com o motor desligado e honestamente tb não acho que é programação pq se fosse tb daria problema comigo.

Eu fiz uma alteração no programa desabilitando a exibição dos símbolos na tela de bem-vindo e na tela do cronometro. Espero com isso poupar recurso do arduino e ver o quanto afeta esses engasgos. Pode pegar lá no meu google drive mas antes de testar essa versão nova, tenta seguir as outras sugestões com o programa de ontem pra ver se deu diferença. Aproveita e pega também a nova versão da biblioteca do TID, é a mesma versão que uso aqui há bastante tempo e já da pra deixar como versão final.

Independente disso, a função de cronometro eu provavelmente não vou colocar nas versões finais do programa pq ela está atrapalhando a rotina que detecta se o motor está ligado ou não (aqui o EON tb acendeu enquanto o cronometro estava rodando então é certo que tb está atrapalhando a leitura de consumo e de velocidade).
 
AlexSGP
:: Wind ::
Mensagens: 23
Registrado em: Quarta-feira 23 2016f Março 2016 09:25:19 PM
Localização: São João de Meriti - RJ
Modelo do veiculo: CORSA (DEMAIS)
Ano de fabricação: N/I

Mensagem por AlexSGP »

gui_srs

Olha, eu particularmente acredito que deva usar o capacitor, eu não tinha visto o esquema lá na primeira pagina, mas agora dei uma olhada lá e vi que não tem o capacitor e outra coisa que me deixou muito encucado é que eu sempre utilizei 5v no pino V-IN do NANO e fui dar uma conferida no site do arduino e encontrei isso. PS. tradução no google.
Power
The Micro can be powered via the micro USB connection or with an external power supply. The power source is selected automatically.
External (non-USB) power can come either from a DC power supply or battery. Leads from a battery or DC power supply can be connected to the Gnd and Vin pins.
The board can operate on an external supply of 6 to 20 volts. If supplied with less than 7V, however, the 5V pin may supply less than five volts and the board may become unstable. If using more than 12V, the voltage regulator may overheat and damage the board. The recommended range is 7 to 12 volts.
The power pins are as follows:
VI. The input voltage to the MICRO board when it's using an external power source (as opposed to 5 volts from the USB connection or other regulated power source). You can supply voltage through this pin.
5V. The regulated power supply used to power the microcontroller and other components on the board. This can come either from VIN via an on-board regulator, or be supplied by USB or another regulated 5V supply.
3V. A 3.3 volt supply generated by the on-board regulator. Maximum current draw is 50 mA.
GND. Ground pins.

Os pinos de energia são os seguintes:
VI. A tensão de entrada para o conselho MICRO quando ele está usando uma fonte de alimentação externa (por oposição aos 5 volts a partir da conexão USB ou outra fonte de alimentação regulada). Você pode fornecer tensão por este pino.
5V. A fonte de alimentação regulada usada para alimentar o microcontrolador e outros componentes na placa. Isso pode vir tanto de VIN através de um regulador on-board, ou ser fornecida por USB ou de outra fonte de 5V regulada.
3V. A alimentação de 3,3 volt gerado pelo regulador de bordo. tração máxima atual é 50 mA.
GND. pinos de terra.
 
cansei
:: Piquet ::
Mensagens: 319
Registrado em: Quinta-feira 06 2008f Março 2008 10:30:35 PM
Localização: São Paulo - SP
Modelo do veiculo: CORSA HATCH 1 8 FLEXPOWER
Ano de fabricação: 2004

Mensagem por cansei »

O caso do gui_srs a gente tem que ir testando por partes. Os capacitores com certeza são uma boa prática assim como o regulador mas eles não são obrigatórios.
The recommended range is 7 to 12 volts
hehehe é por isso que eu recomendei um regulador de 9V, mas é aquilo, ele aguenta até 20V então da pra viver sem.
 
AlexSGP
:: Wind ::
Mensagens: 23
Registrado em: Quarta-feira 23 2016f Março 2016 09:25:19 PM
Localização: São João de Meriti - RJ
Modelo do veiculo: CORSA (DEMAIS)
Ano de fabricação: N/I

Mensagem por AlexSGP »

cansei escreveu:hehehe é por isso que eu recomendei um regulador de 9V, mas é aquilo, ele aguenta até 20V então da pra viver sem.
Boa!

a tradução pelo google ficou muito tuim, mas voltei no site do arduino para ler com mais calma e para não ficar duvida volto aqui com uma tradução "melhor" e o esquema de força da placa do arduino onde podemos ver que tanto o JACK e o VIN são ligados ao regulador e a confusão que fiz foi sobre a ligação via pino de saída 5V e 3.3V. :drinking:

Imagem
Energia

O Arduino Uno pode ser alimentado pela conexão USB ou por uma fonte de alimentação externa. A fonte de energia é detectada automaticamente.

Fonte Externa (não-USB) de energia pode vir de um adaptador AC para DC (parede) ou bateria. O adaptador pode ser ligado ao jack da tomada de força da placa através de um plug de 2,1mm com o polo positivo no centro. Os fios da bateria podem ser inseridos nos pinos GND e Vin do conector de alimentação POWER.

A placa pode operar em com um fornecimento externo de 6 a 20 volts. Se for fornecido menos de 7V, no entanto, o pino de 5V pode fornecer menos de cinco volts e a placa pode ter um funcionamento instável. Se estiver usando mais de 12V, o regulador de voltagem pode superaquecer e danificar a placa. A gama recomendada é de 7 a 12 volts.

Os pinos de alimentação são como se segue:
VIN. A tensão de entrada para a placa Arduino, quando ele está usando uma fonte externa de energia (ao invés dos 5 volts a partir da conexão USB ou outra fonte de alimentação regulada). Você pode fornecer alimentação por este pino, ou, se o fornecimento de tensão através da tomada de força, acessá-lo através deste pino.
5V.Pino de saída de 5V do regulador na placa. A placa pode ser alimentado a partir da tomada de energia DC (7 - 12V), o conector USB (5V), ou o pino VIN da placa (7-12V). Fornecimento de tensão através dos pinos de 5V ou 3.3V ignora o regulador, e pode danificar sua placa. Nós não aconselhamos isso.
3V3. Uma fonte de 3,3 volt gerado pelo regulador on board. A corrente máxima é de 50 mA.
GND. Pinos de terra.
 
Responder
  • Tópicos Semelhantes
    Respostas
    Exibições
    Última mensagem

Voltar para “Tutoriais”