collapse

* Posts Recentes

Amplificador - Rockboard HA 1 In-Ear por almamater
[Ontem às 19:13]


O que é isto ? por KammutierSpule
[26 de Março de 2024, 19:35]


Bateria - Portátil por almamater
[25 de Março de 2024, 22:14]


Emulador NES em ESP32 por dropes
[13 de Março de 2024, 21:19]


Escolher Osciloscópio por jm_araujo
[06 de Fevereiro de 2024, 23:07]


TP4056 - Dúvida por dropes
[31 de Janeiro de 2024, 14:13]


Leitura de dados por Porta Serie por jm_araujo
[22 de Janeiro de 2024, 14:00]


Distancia Cabo por jm_araujo
[08 de Janeiro de 2024, 16:30]


Meu novo robô por josecarlos
[06 de Janeiro de 2024, 16:46]


Laser Engraver - Alguém tem? por almamater
[16 de Dezembro de 2023, 14:23]

Autor Tópico: Gerar sinal senoidal  (Lida 9596 vezes)

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

Offline Rodnei

  • Mini Robot
  • *
  • Mensagens: 7
Gerar sinal senoidal
« em: 08 de Maio de 2012, 17:54 »
Olá Pessoal,

Vê se alguém pode me ajudar.
Quero gerar um sinal senoidal, com frequencia fixa, esse sinal tem que ter duração de 58 ciclos (Períodos), após 58 ciclos e sinal gerado terá nível lógico 0, ai recomeça de novo.

Isso servirá para simular o sensor de rodafônica de um automóvel, ou seja, um sinal que a Central Eletrônica do carro irá ler.

Obrigado....


Offline afonso henriques

  • Mini Robot
  • *
  • Mensagens: 78
Re: Gerar sinal senoidal
« Responder #1 em: 08 de Maio de 2012, 22:44 »
olá
(senoidal) possivelmente queres 12 v alternos
vai ser um pouco dificil
queres o sinal do sensor da cambota do tipo indutivo
esse estava nos carros mais antigos
porque se for para um (golf 3) por exemplo já tens sinais digitas
era mais facil controlar um sinal pwm com esses 58 impulsos que queres
não sei se o arduino tem saidas de sinal analogico que possam controlares o que tu queres
mas alguem com mais conhecimento sobre o arduino pudera  dizer mais alguma coisa

Offline senso

  • Global Moderator
  • Mini Robot
  • *****
  • Mensagens: 9.733
  • Helpdesk do sitio
Re: Gerar sinal senoidal
« Responder #2 em: 08 de Maio de 2012, 22:49 »
Que frequência, e voltagem precisa de ter o sinal?
Avr fanboy

Offline iyahdub

  • Mini Robot
  • *
  • Mensagens: 280
Re: Gerar sinal senoidal
« Responder #3 em: 09 de Maio de 2012, 00:54 »
Podes simular por um DAC basico

Aqui um exemplo de uma series de resistencias de 6 bits
 de 6 bits com uma serie de resistencias
Claro que depende da frequencia que precisas e da precisao

Código: [Seleccione]

#include <avr/interrupt.h>
#include <stdlib.h>

char sinetable [32];
int  i ;

void ioinit (void)
{
  //Initialize output ports
  PORTD = B11111111;
  DDRD  = B11111111;

}

void timer_setup(){
  TCCR2A = 0;
  TCNT2=455;    //455 outputs 1.007khz
  TCCR2B = B00000010;
  //Timer2 Overflow Interrupt Enable
  TIMSK2 = 1<<TOIE2;
}
void setup(){           

  ioinit();
  arraysetup();
  cli();
  timer_setup();
  i = 0;
  sei();

}


ISR(TIMER2_OVF_vect) {

  PORTD=(sinetable[i++]);
  TCNT2=455;
  if(i==32){
    i=0;
  }

}
void arraysetup(void){
  sinetable[0]=127;  // Put 32 step 8 bit sine table into array.
  sinetable[1]=152;
  sinetable[2]=176;
  sinetable[3]=198;
  sinetable[4]=217;
  sinetable[5]=233;
  sinetable[6]=245;
  sinetable[7]=252;
  sinetable[8]=254;
  sinetable[9]=252;
  sinetable[10]=245;
  sinetable[11]=233;
  sinetable[12]=217;
  sinetable[13]=198;
  sinetable[14]=176;
  sinetable[15]=152;
  sinetable[16]=128;
  sinetable[17]=103;
  sinetable[18]=79;
  sinetable[19]=57;
  sinetable[20]=38;
  sinetable[21]=22;
  sinetable[22]=10;
  sinetable[23]=3;
  sinetable[24]=0;
  sinetable[25]=3;
  sinetable[26]=10;
  sinetable[27]=22;
  sinetable[28]=38;
  sinetable[29]=57;
  sinetable[30]=79;
  sinetable[31]=103;
}
void loop()
{

  while (1)
  {

  }

}
ps-Desculpen a falta de pontuacao, mas vivo no estrangeiro e os teclados sao xenofobos !!

Offline iyahdub

  • Mini Robot
  • *
  • Mensagens: 280
Re: Gerar sinal senoidal
« Responder #4 em: 09 de Maio de 2012, 01:06 »
Tens aqui uma boa explicacao de series de resistencias para um simples DAC (r2r) http://interface.khm.de/index.php/lab/experiments/arduino-dds-sinewave-generator/

Ou mais simplesmente. tb podes usar
Código: [Seleccione]
int sin_tab[256];

void setup()
{
  DDRD =0xFF;
}
void loop()
{
  for (int i=0;i<256;i++)
    PORTD=sin_tab[i];
}
ps-Desculpen a falta de pontuacao, mas vivo no estrangeiro e os teclados sao xenofobos !!

Offline Rodnei

  • Mini Robot
  • *
  • Mensagens: 7
Re: Gerar sinal senoidal
« Responder #5 em: 11 de Maio de 2012, 18:07 »
Não preciso de frequência alta, nem tensão.
Onda quadrada serve (até melhor), com dutycicle=50%, mas tenho que variar a frequência.
É semelhante à aceleração do carro, quanto mais girar o potenciometro, maior será a freqûencia na saída.
Pessoal, obrigado pelas dicas!!!!!


Que frequência, e voltagem precisa de ter o sinal?

Offline iyahdub

  • Mini Robot
  • *
  • Mensagens: 280
Re: Gerar sinal senoidal
« Responder #6 em: 11 de Maio de 2012, 20:24 »
Entao e mais facil usares algo exterior. se calhar. ja agora, ja sabes quais sao os valores min/max de frequencia que precisas ?!?
ps-Desculpen a falta de pontuacao, mas vivo no estrangeiro e os teclados sao xenofobos !!

Offline senso

  • Global Moderator
  • Mini Robot
  • *****
  • Mensagens: 9.733
  • Helpdesk do sitio
Re: Gerar sinal senoidal
« Responder #7 em: 11 de Maio de 2012, 21:44 »
Podias ter especificado qual os valores de tensão, amplitude do sinal e frequência do sinal...
Avr fanboy

Offline afonso henriques

  • Mini Robot
  • *
  • Mensagens: 78
Re: Gerar sinal senoidal
« Responder #8 em: 12 de Maio de 2012, 01:47 »
boas uma das formas de teres esse sinal
é meteres um dinamo das bicicletas
gera o sinal que tu queres mas tens de ser tu ou por algo a faze lo girar

Offline Rodnei

  • Mini Robot
  • *
  • Mensagens: 7
Re: Gerar sinal senoidal
« Responder #9 em: 13 de Maio de 2012, 03:41 »

O cenário é o seguinte; (tenho um arduino mega pra tentar implementar)
•tensão máxima - em marcha lenta (aprox. 900 rpm do motor) -> 2,5 VAC e em rotação máxima (aprox. 5000rpm do motor) -> 40VAC
       então, a variação da tensão é proporcional a velocidade de giro da roda dentada e, consequentemente, a variacão do campo magnético.

• A roda fônica na maioria dos veiculos possui 58 dentes.Seu formato original é uma roda de 60 dentes de onde foram extraídos 2.Portanto, fora da região de falha, o sinal se comporta exatamente como uma senoide de 60 pulsos por segundo.Para converter a rotação de minutos para segundos, precisamos primeiramente dividir por 60.Como a freq. do sinal é de 60 pulsos por seg., devemos multiplicar por 60, assim, a leitura de dentes por seg. terá o mesmo valor das rotações por minuto do motor, exemplo: 900rpm = 900 HZ.
•A central só habilita o funcionamento correto do motor, quando reconhece a falha dos dentes e a partir desta falha ela "conta" 20 dentes e ativa a primeira fase de acionamento dos atuadores, ou seja, sincroniza a sequência dos tempos do motor com a faísca das velas e abertura das valvulas do motor ( 120 graus após a falha,a central reconhece o ponto máximo de compressão do motor dos cilindros 1 e 4). Depois na segunda fase no contar dos 50 dentes a fase dos cilindros 2 e 3 em 300 graus.Lembrando que a roda fônica não funciona sozinha, para o motor funcionar, sabemos da existência do motor elétrico(arranque) que permite o deslocamento dinâmico (saindo da imobilidade ) do motor. Então em rotação de partida, a tensão gerada pela roda fônica é de aprox. 1,5 VAC.
•A central lê o tempo todo o sinal da roda. Se perder o sinal o carro para.
•Não é possível geral um sinal de onda quadrada para simular uma roda f. A central reconhece são os picos instantaneos do sinal e a falta de 2 dentes em sua circunferência para ser ativada

Offline senso

  • Global Moderator
  • Mini Robot
  • *****
  • Mensagens: 9.733
  • Helpdesk do sitio
Re: Gerar sinal senoidal
« Responder #10 em: 13 de Maio de 2012, 17:14 »
Aplicação final do projecto?
Simular um motor para testar centralinas?
Se sim, com jeito o melhor é montar o sensor de posição da cambota num motor DC e numa ponte H e varias a rotação desse motor, é que tens uma grande variação de voltagem, o que precisa de um circuito amplificador relativamente complexo, tensões simétricas e coisas assim.
Avr fanboy