Hola buenas tardes,
Estoy con un proyecto donde mido dos señales una de temperatura y otro de un alcoholimetro (MQ3), y quisiera sabes si desde arduino puedo emplear dos tensiones de ref, es decir la INTERNAL (1,1v) Y DEFAULT (5v).
He probado con algo parecido a esto.
void mide(){
analogReference(INTERNAL);
delay(100);
VAL = analogRead(SENSOR);
delay(100);
tempSENSOR = analogRead(TEM);
MAPEO = VAL;
if(MAPEO < MAYOR){// esto sirve para que el valor nunca descienda
Serial.print("% Máximo Alcohol detectado: ");
Serial.print(MAYOR);
Serial.print(" temperatura: ");
Serial.println(temperatura);
MAYOR = MAPEO;
}else{
Serial.print("% Máximo Alcohol detectado:: ");
Serial.print(MAPEO);
Serial.print(" temperatura: ");
Serial.println(temperatura);
MAYOR = MAPEO;
}
delay(1000);
}
Solo considera el primero ( analogReference(INTERNAL)), es decir los 1.1V.
Alguna recomendación????, gracias.
Saludos.
Arduino varios voltajes de referencia?
Re: Arduino varios voltajes de referencia?
Creo recordar que puedes usar las dos internas y una externa, pero no simultaneamente; además puedes sacar los 5V del regulador o 3v3 según el caso, si usas la externa, tienes mas opciones que esas, por ejemplo todos llevan un led; ahí tienes una tensión relativamente estable. Todo esto sin componentes adicionales.
Cielo azul sobre campo de mieses, ánimo.
Constitución Española:
Todos los españoles tienen el deber de trabajar y el derecho al trabajo.
Todos los españoles tienen derecho a disfrutar de una vivienda digna y adecuada.
Constitución Española:
Todos los españoles tienen el deber de trabajar y el derecho al trabajo.
Todos los españoles tienen derecho a disfrutar de una vivienda digna y adecuada.
- heli
- Mensajes: 1952
- Registrado: Mié Sep 06, 2006 7:28 am
- País: España
- Ciudad: Alcalá de Henares
- Ubicación: Alcala de Henares (Madrid, España)
- Contactar:
Re: Arduino varios voltajes de referencia?
En principio puedes cambiarlas al vuelo, pero en el programa que has puesto SOLO usas una, la de 1.1V.
Lo mejor es que uses solo esa referencia y escales la entrada de 5V a 1.1V con un divisor reistivo.
En general, para los convertidores A/D, lo mejor es usar una referencia de tensión lo más baja posible para no tener que amplificar entradas.
Luego las entradas que tienen niveles superiores al de referencia se escalan mediante divisores resistivos. Además así aumentas la impedancia de entrada del A/D (los de arduino tienen una impedancia bastante baja y he tenido probemas con sensores que entregan poca corriente).
Lo mejor es que uses solo esa referencia y escales la entrada de 5V a 1.1V con un divisor reistivo.
En general, para los convertidores A/D, lo mejor es usar una referencia de tensión lo más baja posible para no tener que amplificar entradas.
Luego las entradas que tienen niveles superiores al de referencia se escalan mediante divisores resistivos. Además así aumentas la impedancia de entrada del A/D (los de arduino tienen una impedancia bastante baja y he tenido probemas con sensores que entregan poca corriente).
¡No es imposible, lo que pasa es que no sabes como hacerlo!
Aka: no es difícil si sabes como.
http://heli.xbot.es
Aka: no es difícil si sabes como.
http://heli.xbot.es
Re: Arduino varios voltajes de referencia?
Gracias Heli y Rovellat, comentaros que me confundí este era el programa que solo me coge
void mide(){
analogReference(EXTERNAL);
delay(100);
VAL = analogRead(SENSOR);
delay(100);
analogReference(INTERNAL);
tempSENSOR = analogRead(TEM);
MAPEO = VAL;
if(MAPEO < MAYOR){// esto sirve para que el valor nunca descienda
Serial.print("% Máximo Alcohol detectado: ");
Serial.print(MAYOR);
Serial.print(" temperatura: ");
Serial.println(temperatura);
MAYOR = MAPEO;
}else{
Serial.print("% Máximo Alcohol detectado:: ");
Serial.print(MAPEO);
Serial.print(" temperatura: ");
Serial.println(temperatura);
MAYOR = MAPEO;
}
delay(1000);
}
Me interesa que la temperatura tenga la VREF de 1,1V y para el sensor MQ3 5V, ya que no quiero que sea demasiado sensible.
Necesito que durante el programa primero tenga un Vref de 5v y luego para la temperatura 1.1V.
Gracias.
void mide(){
analogReference(EXTERNAL);
delay(100);
VAL = analogRead(SENSOR);
delay(100);
analogReference(INTERNAL);
tempSENSOR = analogRead(TEM);
MAPEO = VAL;
if(MAPEO < MAYOR){// esto sirve para que el valor nunca descienda
Serial.print("% Máximo Alcohol detectado: ");
Serial.print(MAYOR);
Serial.print(" temperatura: ");
Serial.println(temperatura);
MAYOR = MAPEO;
}else{
Serial.print("% Máximo Alcohol detectado:: ");
Serial.print(MAPEO);
Serial.print(" temperatura: ");
Serial.println(temperatura);
MAYOR = MAPEO;
}
delay(1000);
}
Me interesa que la temperatura tenga la VREF de 1,1V y para el sensor MQ3 5V, ya que no quiero que sea demasiado sensible.
Necesito que durante el programa primero tenga un Vref de 5v y luego para la temperatura 1.1V.
Gracias.
- troglodita
- Mensajes: 2332
- Registrado: Lun Mar 29, 2010 10:47 am
- País: España
- Ciudad: Alcorcón Madrid
Re: Arduino varios voltajes de referencia?
Al usar una tensión de referencia primero hay que medirla, ya que podemos llevarnos sorpresas.
Por ejemplo, la tensión de 3,3V en tres arduinos distintos alimentados con la misma tensión en un Diecimilla mide 3,31V, en un Uno mide 3,27V y en un Nano mide 3,67V.
También varían mucho según el método de alimentación. En un Nano, la tensión de referencia interna de 1,1V si lo alimentamos con un puerto USB mide 1,089V. Con una pila de 9V mide 1,079V.
Si variamos la alimentación externa entre 7 y 12 voltios también varían las tensiones de 1,1V, 3,3V y 5V.
Supongo que también variarán estas tensiones según la carga que le metamos a las salidas del Arduino.
O al menos eso es lo que pasa en mis arduinos chinos baratos.
Si la medida es crítica habría que usar una referencia buena externa.
Por ejemplo, la tensión de 3,3V en tres arduinos distintos alimentados con la misma tensión en un Diecimilla mide 3,31V, en un Uno mide 3,27V y en un Nano mide 3,67V.
También varían mucho según el método de alimentación. En un Nano, la tensión de referencia interna de 1,1V si lo alimentamos con un puerto USB mide 1,089V. Con una pila de 9V mide 1,079V.
Si variamos la alimentación externa entre 7 y 12 voltios también varían las tensiones de 1,1V, 3,3V y 5V.
Supongo que también variarán estas tensiones según la carga que le metamos a las salidas del Arduino.
O al menos eso es lo que pasa en mis arduinos chinos baratos.
Si la medida es crítica habría que usar una referencia buena externa.
Qué bien y qué pronto, le dijo la tonta al tonto.
Re: Arduino varios voltajes de referencia?
Gracias Troglodita,
Ya lo tengo más o menos orientado lo que voy hacer es una mezcla de lo que me han comentado Heli y Rovellat, voy a usar tensión referencia externa para obtener 1 voltio, y luego para obtener los 5V aproximados, voy a inyectar desde algún pin del Arduino los X voltios al divisor de tensión para obtener casi 5v.
Nada más que tenga el circuito y programa os lo muestro, saludos y gracias.
Ya lo tengo más o menos orientado lo que voy hacer es una mezcla de lo que me han comentado Heli y Rovellat, voy a usar tensión referencia externa para obtener 1 voltio, y luego para obtener los 5V aproximados, voy a inyectar desde algún pin del Arduino los X voltios al divisor de tensión para obtener casi 5v.
Nada más que tenga el circuito y programa os lo muestro, saludos y gracias.
¿Quién está conectado?
Usuarios navegando por este Foro: No hay usuarios registrados visitando el Foro y 5 invitados