collapse

* Links de Robótica

* Posts Recentes

Ideias para construir um quadrúpede simples por dropes
[Hoje às 21:03]


Ajuda com TRIAC por senso
[17 de Novembro de 2017, 18:00]


TV LG White Screen por almamater
[15 de Novembro de 2017, 08:37]


Pergunta sobre prototipagem ( Pesquisa ) por luisjustin
[14 de Novembro de 2017, 23:22]


Medir Agua que está no Poço por Njay
[14 de Novembro de 2017, 13:28]


Amplificador audio por beirao
[12 de Novembro de 2017, 23:43]


Power_OK Enermax por edeweld
[12 de Novembro de 2017, 17:15]


Driver motor por beirao
[11 de Novembro de 2017, 17:40]


Preciso de uma fonte de corrente constante ? por samc
[09 de Novembro de 2017, 14:18]


Pressoestato 0-10V por artur36
[07 de Novembro de 2017, 23:22]

Autor Tópico: [AJUDA] temporização controlo externo  (Lida 2399 vezes)

0 Membros e 1 Visitante estão a ver este tópico.

Offline ivitro

  • Mini Robot
  • *
  • Mensagens: 451
[AJUDA] temporização controlo externo
« em: 27 de Agosto de 2010, 13:29 »
ola a todos.


já tinha dito noutro topico que estou a fazer um mini computador de bordo para o carro e que precisava de alguma ajuda no codigo!


então é assim , estou a pegar no sinal que vai para os injectores do carro e a medir o tempo em que estão abertos num determinado periodo!

o sinal que vai para os injectores tem este aspecto:



e o impulso este:



depois de tratar o sinal ele vai ficar entre 5 e 0 volts


o meu codigo é o seguinte:

int temp_injec()
{

   unsigned int valor;   

     TMOD = (TMOD & 0xF0) | 0x09;    //temp modo1 a 16bits temporizador com controlo externo
   TH0 = 0;   
     TL0 = 0;       //limpa os temporizadores

     TR0 = 1;        //liga a temporização   
     
       while(!INT0);     // espera pelo primeiro impulso

   LCD_delay(100);   //tempo de 100ms
   TR0 = 0;      // desliga o temporizador
   
   valor=TH0*65/256;


   cursorxy(6, 10);
      putchar(((valor)/10)+0x30);
 
      putchar(((valor)%10)+0x30);
   
   return valor;      
}         

podem me dizer se está bem assim?

Offline senso

  • Global Moderator
  • Mini Robot
  • *****
  • Mensagens: 9.400
  • Helpdesk do sitio
Re: [AJUDA] temporização controlo externo
« Responder #1 em: 27 de Agosto de 2010, 14:06 »
Esse porgrama é suposto fazer o que mesmo?
Avr fanboy

Offline ivitro

  • Mini Robot
  • *
  • Mensagens: 451
Re: [AJUDA] temporização controlo externo
« Responder #2 em: 27 de Agosto de 2010, 15:59 »
ola senso...

a ideia é ler o tempo total em que a onda está a  nivel 0 durante 100ms.


porque varia durante os impulsos uns são mais largos que outros, dependendo de vários factores!

eu fiz esse programa e simulei com um pwm mas o resultado não me convenceu :S



preciso tambem de outra função para ler o tempo entre impulsos...mas primeio vou tentar fazer depois se precisar de ajuda posto

Offline senso

  • Global Moderator
  • Mini Robot
  • *****
  • Mensagens: 9.400
  • Helpdesk do sitio
Re: [AJUDA] temporização controlo externo
« Responder #3 em: 27 de Agosto de 2010, 16:03 »
Queres portanto fazer um espécie de centralina e controlar tu os injectores?
http://www.arduino.cc/cgi-bin/yabb2/YaBB.pl?num=1264932928/all

Tinha aqui um projecto mesmo bem documentado, mas perdi os meus favoritos :(
Avr fanboy

Offline ivitro

  • Mini Robot
  • *
  • Mensagens: 451
Re: [AJUDA] temporização controlo externo
« Responder #4 em: 27 de Agosto de 2010, 16:20 »
nao eu quero é medir a gasolina l/100km tas a ver?



o grafico ja é medido apartir do injector (mas tenho que medir porque medi em AC e é em DC)

Offline senso

  • Global Moderator
  • Mini Robot
  • *****
  • Mensagens: 9.400
  • Helpdesk do sitio
Re: [AJUDA] temporização controlo externo
« Responder #5 em: 27 de Agosto de 2010, 16:22 »
E sabes qual é o débito dos teus injectores e como é que ele varia consoante o tempo que eles estão activos?
Avr fanboy

Offline ivitro

  • Mini Robot
  • *
  • Mensagens: 451
Re: [AJUDA] temporização controlo externo
« Responder #6 em: 27 de Agosto de 2010, 18:18 »
o debito ainda nao sei! quanto a variação deles quando activos estou a entrar no suposto que estão todos aberto (acho que é isto que me perguntas-te)


o debito so tenho que ver a ref deles ou então vou a uma casa de material auto e dizem me lá.... o que ainda nao sei e se calhar tenho que medir é a pressão da bomba para ter a certeza do debito

Offline ivitro

  • Mini Robot
  • *
  • Mensagens: 451
Re: [AJUDA] temporização controlo externo
« Responder #7 em: 29 de Agosto de 2010, 19:55 »
já encontrei o problema!


o código está bem, a rotina de delay é que está mal e tem que ser corrigida

Offline senso

  • Global Moderator
  • Mini Robot
  • *****
  • Mensagens: 9.400
  • Helpdesk do sitio
Re: [AJUDA] temporização controlo externo
« Responder #8 em: 30 de Agosto de 2010, 14:50 »
Estás a fazer tu uma rotina de delay?
Porque?Todos os compiladores oferecem rotinas de delay calibradas e que sabes que funcionam, tu criares uma rotina, pelo menos em gcc é o mesmo que mandar código para o lixo porque o optimizador vê que é uma rotina sem qualquer utilidade e remove-a, penso que tens de declarar as variaveis usadas como volatile para o compilador não remover o código.
Avr fanboy

Offline ivitro

  • Mini Robot
  • *
  • Mensagens: 451
Re: [AJUDA] temporização controlo externo
« Responder #9 em: 30 de Agosto de 2010, 16:04 »
eu estou a programar no keil... pois realmente fiz a rotina para o uma coisa e ela está muito mais lenta do que eu pensava.


como posso ir buscar essas rotinas já calibradas sabes me dizer?


Offline senso

  • Global Moderator
  • Mini Robot
  • *****
  • Mensagens: 9.400
  • Helpdesk do sitio
Re: [AJUDA] temporização controlo externo
« Responder #10 em: 30 de Agosto de 2010, 17:02 »
keil?
Para que micro-controlador?
Isso lês o manual do compilador, deve ser algo do género delay_ms() ou delayms() ou delay().
Avr fanboy

Offline ivitro

  • Mini Robot
  • *
  • Mensagens: 451
Re: [AJUDA] temporização controlo externo
« Responder #11 em: 30 de Agosto de 2010, 18:36 »
e um at89s52 que tou a utilizar...

tenho que fazer o condicionamento do sinal que vai para os injectores...so estou na duvida por onde lhe ei-de  pegar :S, se faço um limitador de tensão ou faço um interruptor com um transistor...a onda está no primeiro post

Offline senso

  • Global Moderator
  • Mini Robot
  • *****
  • Mensagens: 9.400
  • Helpdesk do sitio
Re: [AJUDA] temporização controlo externo
« Responder #12 em: 30 de Agosto de 2010, 21:35 »
Pois isso é x51 não é?
Mas procura no manual por delay que de certeza que tem.
Avr fanboy

Offline ivitro

  • Mini Robot
  • *
  • Mensagens: 451
Re: [AJUDA] temporização controlo externo
« Responder #13 em: 30 de Agosto de 2010, 21:49 »
vou procurar lá..espero em breve poder colocar aqui o resultado final ;)