Haz una pregunta
  Foros de Electrónica » Principiantes » Cuestiones Elementales de Electrónica
Foros Registrarse ¿Olvidaste tu contraseña?

Temas similares

05/05/2016 #21

Avatar de Scooter

Me parece una pésima idea arrancar y parar arduinos o cualquier otro microprocesador a base de relés que cortan la alimentación.
Yo lo alimentaría siempre y lo pondría en modo sleep, suspensión o como se llame y lo despertaría cuando haga falta. Apagar "a pelo" sistemáticamente 'ordenadores' no te traerá nada bueno.
En vez de un relé que gasta un 'despropósito' solo basta con meter la señal a un pin del arduino, seguramente una interrupción para que se 'despierte'
05/05/2016 #22


Se me ocurrió esta idea ya que el arduino no se activará más de 2 o 3 veces al día. E incluso habrá temporadas en que lo más probable es que no se active. Si aun así no es una buena idea, ya miraré el consumo que tiene dejarlo en suspensión y cuanto tiempo me duraría la bateria.
Gracias por la rapidez y la ayuda.
05/05/2016 #23

Avatar de Scooter

Creo que hay una librería adicional para hacerlo. De todos modos tu circuito también gasta y el relé activado también.
05/05/2016 #24

Avatar de yorsk2004

Te puedes ahorrar dinero y problemas, si en vez de utilizar reles para encender y apagar la placa Arduino, dejas el Arduino en modo Sleep y cuando leas la señal externa (ya acondicionada digitalmente con un comparador basado en Op-Amp, por ejemplo LM358) actives una interrupción del Arduino.

Si las maniobras a realizar una vez leídos los 50 mV no requieren mayor complejidad pues usa elementos discreto en vez de la placa Arduino.
12/05/2016 #25


Muchas gracias a los dos. Lo siebto por haber tardado en responder, pero he edtado muy liado. Tengo que hacerlo con arduino ya que la maniobra a realizar es un poco compleja, asi que optare por trabajar en modo ahorro como aconsejo Scooter. Me repito, muchas gracias.
13/05/2016 #26


Hola otra vez, he estado informándome sobre lo que se me aconsejó con el problema que tenía, pero ahora me encuentro en otro parecido.

La explicación de la imagen adjunta es la siguiente:
Con una pila de 9V alimento un componente externo que me da varias señales, entre las cuales utilizo dos. El común lo junto al común de otra batería de 5V y lo conecto a la pata inversora del amplificador operacional. La señal que me da el componente externo (que es de muy pocos milivoltios) la conecto a la pata no inversora.
Utilizo la batería de 5V para alimentar el amplificador operacional para que la salida de este no supere los 5V, ya que dicha salida la utilizo en una entrada digital de arduino para despertarlo del modo ahorro en el que se encuentra.
El amplificador operacional lo utilizo como comparador, que cuando la señal que llega a la pata no inversora del OAmp es mayor de 0V, a la salida del OAmp me de un valor cercano a los 5V (ya se que nunca se llegará al valor de alimentación del OAmp, pero tengo entendido que las entradas digitales de Arduino tienen un nivel de Umbral para pasar a "1" de unos 3V).

El problema es que a la salida del OAmp siempre tengo 3.5V aprox, tanto cuando en la pata no inversora hay señal o no. Por lo que he podido leer, esto se debe al ruido que provoca el propio OAmp (Aquí se me crea la duda de que el Arduino no se me activa con esta señal, así que tampoco se de cuanto es el umbral de paso a "1" en las entradas digitales).

Estoy encallado y no se como conseguir esos 5V cuando la señal de unos 50mV se active.

Gracias de antemano.
Imágenes Adjuntas
Tipo de Archivo: jpg imagen circuito.jpg (37,3 KB (Kilobytes), 24 visitas)
14/05/2016 #27

Avatar de yorsk2004

Pues muy sencillo, coloca el comparador con lógica negativa, es decir que cuando la señal de entrada sea 50 mV la salida sea 0 V, tan solo es intercambiar las señales de entrada del operacional.

Luego, configura el pin del arduino que va a leer el dato así, en el void setup ()

pinMode (pin_que_vas_a_utilizar, INPUT_PULLUP);

luego utiliza la sentencias normalmente, excepto que cuando quieras leer el dato, debes tener en cuenta que cuando dicho pin es LOW es porque se estan superando los 50 mV de la señal de entrada.

por ejemplo;

if (digitalRead (pin_que_vas_a_utilizar) == LOW);
{
// aquí escriba lo que quiera que pase cuando la señal de entrada sea igual o superior a 50 mV
}
15/05/2016 #28

Avatar de Scooter

Llegado el caso tienes la opción de usar una entrada analógica directamente porque tienen una resolución de un poco más de 5mV. Eso simplifica el circuito que es el no-circuito pero gasta más batería

Enviado desde mi fnac 5.7 mediante Tapatalk
17/05/2016 #29


Hola,
he probado a hacer los que me has dicho, Yorsk2004. Estaba tan obscecado que no había visto esa manera tan sencilla de solucionarlo. Aun así, sigue sin funcionarme, ya que el OpAmp me da una salida de 3,8V y el Arduino no se despierta. Solo lo hace cuando lo hago con una señal de 5V (cosa que me confunde ya que me estuve informando y en teoría con 2,5-3V ya debería cambiar de estado la entrada digital).
Respecto el consejo de Scooter, en un principio ya se me ocurrió esa opción, pero me informé y, por lo que leí, el Arduino solo se puede despertar del modo ahorro (en el caso de utilizar una señal externa) utilizando las entradas digitales 2 y 3.
Gracias a los dos
17/05/2016 #30

Avatar de yorsk2004

guinta dijo: Ver Mensaje
Hola,
he probado a hacer los que me has dicho, Yorsk2004. Estaba tan obscecado que no había visto esa manera tan sencilla de solucionarlo. Aun así, sigue sin funcionarme...
Me imagino que no hiciste la señal de referencia con un potenciometro.

Aquí te dejo un diagrama que habla por si solo. Si no entiendes algo, lo preguntas.

17/05/2016 #31

Avatar de Scooter

Si te falta voltio y medio pon mas ganancia al amplificador.

Enviado desde mi fnac 5.7 mediante Tapatalk
17/05/2016 #32

Avatar de yorsk2004

Scooter dijo: Ver Mensaje
Si te falta voltio y medio pon mas ganancia al amplificador.
El sistema de acondicionamiento de señal, esta bien así (bueno algo redundante), no hace falta poner mas ganancia. porque a fin de cuentas no le esta arrancando a 3.5 V que es lo máximo que obtiene con lógica positiva.

guinta dijo: Ver Mensaje
Hola, Solo lo hace cuando lo hago con una señal de 5V
Como este diseño es para lógica negativa, entonces niega la salida con una puerta NOT, que la puedes construir con dos bjt y dos resistencias, o con algún integrado NOT, o NAND o NOR. Y ya tienes los 5V cuando el sensor marca mas de 50 mV.
17/05/2016 #33


Como bien ha dicho yorsk2004, estoy ya trabajando a la máxima ganancia. Por lo que lo de aumentar más la ganancia del OpAmp no es posible. Gracias igualmente a los dos, sois unos cracks!
Mañana probare lo que me comentas yorsk2004, y os digo como acaba el asunto jajaja.
18/05/2016 #34

Avatar de yorsk2004

guinta dijo: Ver Mensaje
Como bien ha dicho yorsk2004, estoy ya trabajando a la máxima ganancia. Por lo que lo de aumentar más la ganancia del OpAmp no es posible
Tal vez quisiste decir que el máximo voltaje a la salida con el LM358 es 3.5 V aprox. Porque, realmente es posible darle más ganancia, siempre y cuando el U1:B no se lleve a la saturación que es cercana a los 3.5 V, lo recomendable es tener un voltaje de salida entre 1V y 2.5V a la salida de U1:B, tal como yo lo plantee. Luego se monta la referencia con el potenciometro en ese mismo valor en nuestro caso es 1.15V. Eso lo debes ajustar en el circuito ya montado, pues puede variar un poquito.
23/05/2016 #35


Hola! Al final ya pude conseguir los 5V de señal para despertar a Arduino. Al final con un solo amplificador del LM358 (utilizado como comparador) y un integrado de puertas lógicas NOT lo conseguí (como me aconsejó Yorsk2004). Yorsk2004 y Scooter, muchas gracias a los dos por la ayuda! Sois unos máquinas
Respuesta
¿Tienes una mejor respuesta a este tema? ¿Quieres hacerle una pregunta a nuestra comunidad y sus expertos? Registrate

Buscar más temas sobre:
Lupa Cuestiones Elementales de Electrónica

Deseas aprender electrónica y necesitas ayuda para comenzar? Resuelve tus dudas en esta sección.

Cerrar
Foros de Electrónica » Principiantes » Cuestiones Elementales de Electrónica

Powered by vBulletin® Version 3.8.4
Copyright ©2000 - 2017, Jelsoft Enterprises Ltd.
Search Engine Optimization by vBSEO ©2011, Crawlability, Inc.