Duda medicion sensor

Hola gente,

Actualmente estoy enfrascado en un proyecto con un micro con el cual tengo q controlar la velocidad de un motor, para lo cual tengo un tacogenerador o sensor q mide el voltage de salida del motor, pero dicho motor gira en los 2 sentidos por lo q m da voltage negativo y positivo y a la hora de trabajar con el CAD, solo convierte los valores positivos.

Los voltages de salida del sensor suelen variar entre -2 y 2V aproximadamente, por lo que se me ocurrio la idea de conectar un divisor de tension resistivo (10K) alimentado con 5V directamente del micro para asi conseguir variar la tension de salida del sensor entre los valores positivos de 0.5 - 4.5 V y obtener los valores correctos tras la conversion para poder operar con el software.

Entonces mis 2 preguntas son:
1) Segun la figura de abajo (sorry x el paint pero no tenia nada mejor a mano) estaría exa la conexion correctamente? Pq por algun motivo q desconozco no me funciona...
2) Si consigo ese rango de valores, al convertirlos con el CAD y poder operar en software el 0.5V corresponderia al valor 0 y los 4.5V al 1023 no??

http://imageshack.us/photo/my-images/820/cosad.jpg

Un saludo
 
Última edición:
Creo que deberia estar conectado como en el diagrama de abajo

Si el motor esta en reposo tendras 2.5V en el convertidor, si avanza actuara como una fuente de voltaje elevando o disminuyendo el voltaje en el convertidor....
 

Adjuntos

  • Diagrama1.png
    Diagrama1.png
    4.2 KB · Visitas: 6
Última edición:
Bueno, al final de la forma q lo estaba haciendo yo si q funcionaba, gracias

Ahora tngo otra duda.

Yo estoy usando el software de atmel con el micro (AT90PWM3B) para el control de velocidad de un motor.

Esto funciona como un regulador PI, uso como señal de referencia la q procede del potenciometro y la otra es la del sensor q mide la velocidad del motor, ambas señales son convertidas con el CAD yo he echo estas modificaciones

vel=0;
....

while (1) {

....
if (Flag_IT_ADC) {
....

if (vel==1) {
meas = read_adquisition(); // leo del CAD y guardo el valor del sensor
Omega_meas=512 - ((meas-412)*5) //operaciones para ajustar valor sensor
ADC_channel_10(); // cambio al canal 10 (potenciometro)
vel=0;
}
else {
ref=read_adquisition(); //leo del CAD y guardo el valor del potenciometro
Omega_ref=((512-ref)*16)/10; //operaciones para parte pos y neg osea direccion motor
ADC_channel_3(); //cambio al canal 3 (sensor)
vel=1;
}

....

Command = mc_control_speed_16b(Omega_ref,Omega_meas); //funcion PI

...
}

Yo creo q el problema esta en los valores convertidos con el CAD procedentes del sensor q tngo q multiplicarlos por una ganancia pq varian muy pokito x la velocidad lenta del mismo, pero m pasan cosas raras con los valores varian todo el rato y nose porq.. algo tiene q estar mal, q pensais vosotros?
 
Atrás
Arriba