Haz una pregunta
  Foros de Electrónica » Diseño digital » Microcontroladores y sistemas embebidos » Arduino y Raspberry Pi
Foros Registrarse ¿Olvidaste tu contraseña?

Temas similares

26/09/2014 #1


Salida digital de Arduino para alimentar sensores.
Hola, tengo un ligero problema con un proyecto que intento hacer con arduino, pretendo encender y apagar por ejemplo un sensor ultrasonico, ya que existe la posibilidad de que no se necesite su funcionalidad y por lo tanto lo dejo de alimentar para reducir el consumo del sistema. Mi duda surge en el momento que pongo a trabajar el ultrasonico alimentándolo con una salida digital del arduino su funcionamiento es erróneo pero si lo alimento con el pin "5V" del arduino funciona a la perfección.

He medido la corriente que consume cada pin del sensor y es prácticamente la misma si lo alimento con la salida digital o directamente de los "5V", no logro comprender de donde viene el error, el sensor que menciono es el HC-SR04.

Tengo pensado activar con la salida digital un transistor pero me parecía mas practico y rápido una salida digital.

Me gustaría conocer sus opiniones al respecto, muchas gracias por sus respuestas.
26/09/2014 #2

Avatar de JoaquinFerrero

La hoja de datos indica que se necesita 15 mA para alimentar el circuito. ¿Esto lo puede entregar la salida digital?
26/09/2014 #3

Avatar de Scooter

La del Arduino da hasta 30mA si no me equivoco pero con algunas limitaciones, lee la hoja de características.
De todos modos puede que el sensor tenga picos de mas de 15mA o puede que estés programando mal la salida y tu mismo lo apagues y enciendas.
26/09/2014 #4


Gracias, voy a leer un poco mas sobre las capacidades del arduino para entregar potencia, según el datasheet del arduino cada salida puede entregar 40 mA (no se si por ejemplo 3 salidas activas al mismo tiempo reduzca esta capacidad), osea hay I de sobra para este caso en especifico. Ya he programado de tres maneras diferentes el código para activar la salida digital, el código es muy pequeño espero no estar un cometiendo un error si gracia.

Talves pueda ser por la naturaleza del sensor que también usa otros dos pines digitales, el echo y trigger que en el momento que se activan en conjunto (si es que lo hacen), reduzcan la corriente de alimentación y esto interfiera con el funcionamiento, bueno es solo una hipotesis xD, voy a seguir revisando para llegar a una respuesta. Gracias.
26/09/2014 #5

Avatar de Ardogan

Coincido con lo que comentan arriba. Si bien es posible sacar la corriente necesaria de los pines, eso no quiere decir que no traiga consecuencia. No se cual Arduino estás usando, pero esta figura es del atmega328p que usa el Arduino Uno:

Como se ve en la figura de arriba, cuanto más corriente se le pide al pin, menor es la tensión de salida.
Para 15 a 20 mA queda una tensión de salida entre <4.6V que está bastante cerca del límite de operación del SR04 (minimo 4.5V).

Para comprobarlo verifica que pasa alimentando el SR04 directamente de 5V, y que pasa al alimentarlo desde un pin del Arduino, con el mismo código.

Si solo hay problema en el ultimo caso, entonces es probable que la cuestión sea esa (caída de tensión por pico de consumo). Si hay suerte se puede solucionar agregando un par de capacitores en el pin del Arduino que alimenta al SR04 (uno de 100nF + 10/47 uF). Si aún así no funciona, entonces queda usar un transistor de paso (si hay mosfet-p mejor, pero puede funcionar con un bipolar pnp).

Jejejejeje, mi mensaje #666
26/09/2014 #6


Jaja gracias amigo, ya había hecho la prueba que decías y efectivamente usando el pin(salida digital) para alimentar el sensor me daba medidas pero sin sentido y si lo alimentaba con el 5V del arduino si me funciona bien, estoy siendo un poco exagerado con el tema porque en realidad el Ultrasonico casi ni consume pero tengo la debilidad y a veces virtud de ser perfeccionista xD. Ahora estoy probando con un transistor npn, el KN2222A.

Me surgen preguntas que agradecería que me las respondas:

1- ¿Que ventaja tiene el mosfet vs el que estoy usando.
2- ¿Porque específicamente un pnp y no un npn ?.
3- Se que los capacitores se pueden usar como filtros de frecuencia, desacopladores y en fuentes de poder para hacer que el voltaje se parezca mas a un voltaje directo, debo repasar mas este tema de inductores y capacitores pero mi duda es ¿como ayudan los capacitores en la salida digital del arduino ?.

Gracias.
26/09/2014 #7

Avatar de Scooter

1 No hay corriente de base, solo tensión de puerta
2 PNP bien perderás solo Vce sat, NPN muy muy mal perderás como poco Vbe
3 Filtran/ amortiguan picos de consumo

Ojo al fet, si es canal p o n te puede pasar lo mismo que los los npn que no valen.
27/09/2014 #8

Avatar de Ardogan

Adhiero a la respuesta de Scooter.
Mosfet me gusta más porque se comporta como una resistencia de bajo valor en estado activo y se activa por tensión (el transistor bipolar se activa por corriente). Y como ví que hablabas de reducir consumo, es mejor mosfet (ok, no es una gran diferencia, pero si se puede elegir...)

La configuración en la que estaba pensando es como llave "del lado alto" (high side switch), es decir, el transistor entre 5V y la alimentación del SR04.
Por eso sugerí pmosfet o pnp, para poder controlarlo desde los pines del micro sin necesidad de ningún driver (para activar un mosfet N en esa configuración se precisa una tensión superior a la de fuente, que probablemente no tengas a mano en el circuito).
Una nota de aplicación donde habla un poco de eso:
http://www.onsemi.com/pub_link/Collateral/AND9093-D.PDF
Si querés más información busca con términos como mosfet load switch.

También podrías emplear un NPN o mosfet-N para interrumpir el "lado bajo", el transistor va entre el terminal GND del SR04 y la masa del resto de la placa. Pero esta opción no me gusta porque mete ruido, y la masa del dispositivo controlado termina siendo distinta a la del resto lo que también me da un poco de escozor.
///////////////////////////////////////////
Fuera de eso, primero no dejes de probar sin con los capacitores funciona, porque como el problema son los picos de consumo que se dan cuando el SR04 transmite los pulsos, entonces a lo mejor con eso ya funciona.
Primero activaría el pin del arduino para empezar a darle alimentación, esperaría un poco para que se cargue (algunos milisegundos, pongamos 10), luego el pulso de trigger, etc.
El capacitor entonces en un principio se va a cargar hasta VCC, cuando el SR04 empieza a hacer el consumo más grande (después de enviarle el trigger) va a tomar energía del capacitor y del pin del arduino.
Durante el pico de consumo la tensión va a empezar a bajar, y en ese punto el capacitor va a entregar parte de la energía almacenada oponiéndose a la baja de tensión.

Si uno quiere meterse a cuentas, sería algo así:
Quiero que la tensión no caiga más de 0.25V para que el SR04 tenga siempre la alimentación mínima que precisa (>4.5V, le buscamos asegurar con el capacitor >4.75V, le damos 0.25V de margen).
No veo cuanto dura cada uno de los 8 pulsos que emite el sr04 (no está en la hoja de datos), pero supongamos que son algunas decenas de us (si el gráfico está a escala), 50 por decir algo.
Entonces
ΔV = 0.25V = caída de tensión que estoy dispuesto a tolerar
t = 50 us
I = 15 mA (supongamos que consume todo el tiempo esa corriente mientras emite los pulsos)
Ecuación del capacitor es:
Q = C. V
Sabemos que
I = Q/t (corriente = carga por unidad de tiempo)

C = Q/ΔV = I * t /ΔV = 15 mA * 50 us / 0.25V = 3 uF

Con un capacitor de 4.7uF ya deberías estar cómodo. Y esa cuenta es con el capacitor solo, si tener en cuenta que el pin del Arduino también va a entregar corriente a la par.
Y sugiero poner otro de 100 nF porque ayuda cuando el consumo varía de forma rápida (tiene mejor respuesta en alta frecuencia que el electrolítico de xxx uF).

Pero cuidado, si emite pulsos de mayor duración vamos a precisar más capacidad, y si resultan de valores de 100uF o más entonces ya me inclinaría por transistor.

//////////////////////////
Si con los capacitores sigue sin funcionar, entonces si vemos el tema de los transistores, no dejes de buscar antes algo con algunos términos como: transistor, high side, switch, load switch, pmosfet, pnp, load control"
06/11/2014 #9


Se que hace mucho puso la respuesta amigo pero hasta ahora logro observarla, gracias !.
08/02/2015 #10


Hola... No sé si es buen sitio para poner una consulta relacionada con este hilo... Quiero controlar el cierre centralizado de mi coche con un arduino y un MOSFET. Concretamente me han dado unTransistor BS170 N-CHANNEL MOSFET NPN 60V... El circuito del coche es a 12v... Valdría para lo que propongo? Gracias
08/02/2015 #11

Avatar de chclau

Sinceramente no se si te servira, no es cuestion solo de tension sino tambien de corriente, no se cuanto consumen los actuadores del cierre centralizado.

Tampoco entiendo para que se necesita un Arduino para eso... salvo que estes haciendo otras cosas con el.
08/02/2015 #12


Pues mira... Lo del arduino es porque el control será via bluetooth. Y actuará a modo de centralita. Con respecto a la corriente... Sabrías decirme cual es el parámetro que tendría que mirar en el datasheet del MOSFET? Soy solo un aficionado y tengo vacíos en ciertos aspectos.
08/02/2015 #13

Avatar de chclau

Primero hay que saber los datos de que es lo que queres alimentar. O sea de el/los actuadores del cierre centralizado.

Despues buscas la corriente del Mosfet. Es la corriente de drenado.

Busca en el foro que ha habido muchos ejemplos de como se conectan cargas inductivas como actuadores y motores, deben ir con un diodo en antiparalelo para descargarlos cuando se los apaga.

Quiza te convenga mas usar un rele que es mas robusto, si no tenes experiencia.
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 Arduino y Raspberry Pi

Cerrar
Foros de Electrónica » Diseño digital » Microcontroladores y sistemas embebidos » Arduino y Raspberry Pi

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