Elección transistor para circuito Arduino UNO + Sensor ultrasonidos (processing)

Verán, estoy trabajando en un proyecto dentro del cual irá un sistema de refrigeración por ventiladores el cual traté de conectar directamente a los 5V que proporciona la Arduino pero su bajo amperaje (Diría que es por eso, pero soy muy nuevo en el mundo de la electrónica) el ventilador es incapaz de arrancar y funciona demasiado lento una vez arrancado (manualmente). He supuesto que la solución podría ser un transistor que abriera y cerrara mediante los pulsos que da el pin digital de la Arduino (Al que al principio había conectado el ventilador directamente) y hiciera un puente con una fuente externa de 5V también (O quizás superior en un futuro). La cuestión es que no tengo idea de que transistor debería elegir ni como debería conectarlo (Probé con unos que desoldé de un circuito, pero no he sido capaz de hacerlo funcionar). Había mirado el siguiente transistor, pero no se si me sería útil: BC184 (He optado por este porque he leído en el datasheet que la corriente que necesita el colector es de 500mA, que supongo que podrá suplirlo la placa Arduino). ¿Iba por buen camino?

Muchas gracias anticipadas.
Saludos!

Podrías usar un 2N3904 y que este comande un micro relé para comandar tu ventilador. Así estarías asegurando completamente los pines del arduino de una sobrecarga

Con un diodo de flyback ....

Cuidado con lo que pones:

He optado por este porque he leído en el datasheet que la corriente que necesita el colector es de 500mA, que supongo que podrá suplirlo la placa Arduino

No esperes sacar 500mA del arduino, monta una alimentacion aparte a menos quieras freirlo.

Mirate bien lo basico de arduino que eso que has hecho es una burrada y no se puede conectar las cosas a boleo.

Un ejemplo para conectar un motorcillo al arduino con transistor:

Bueno, muchas gracias a todos y me alegro de no haber freído mi placa Arduino. Probé a suerte porque me he dado cuenta que ella sola se apaga si algo va mal (Nunca lo probé con una fuente de alimentación externa, pero creía que también funcionaria ese sistema de seguridad así). Probaré el esquema que me has dado Heke, luego iré a comprar los elementos. Volveré a molestar en unos días si veo que no me salgo! Muchas gracias a todos!
Saludos

Por cierto, cual es la función del diodo 1n4001?
Este año estudiaré electrónica en segundo de bachillerato, pero hasta el momento todo lo que he hecho ha sido en plan practico y por Internet, así que no tengo mucha idea (Por eso probé a suertes lo del transistor).

Muchas gracias!

Y una ultima pregunta, si quiero conectar un servomotor a la placa Arduino también deberé poner una fuente de alimentación externa de esta forma? O simplemente conecto el cable de control a Arduino y los de corriente a la fuente y sin tanta complicación? Muchas gracias!

Ahi si dependería del servo. Si son de los microservos que rondan por ahí, quizas lo puedas alimentar directo con los pines Vcc y Gnd del Arduino, pero si son de mayor torque, vas a necesitar alimentación independiente.

Justo ayer hice un review de un clon de Arduino, que tiene los headers listos para conectar servos, y soporta un poco más de corriente de salida que el original, revisalo acá

http://forum.arduino.cc/index.php?topic=172843.0

y otro más, una placa que hice para controlar 6 servos de alto torque (que consumen 4A en picos), pero es con un PIC 18f4550. Quizás te pueda servir como referencia.

http://patolin.com/blog/2012/07/20/controlador-para-servomotores-usb-con-entradas-y-salidas-digitales/

pd. el diodo conectado al lado del motor, es para evitar las corrientes reversas generadas por el motor en el arranque

Respecto a la pregunta del diodo:
Es un diodo puesto en polarizacion inversa para proteger el circuito de alimentacion de la bobina.

Como veras mas adelante o te explicaran en clase, una bobina se comporta casi como un condensador, almacena energia y esa energia, en el momento de quedarse sin tension, la devuelve al circuito conectado en forma de pico de tension de un valor mayor al que alimentabas.

Ese diodo se encarga de que cuando la bobina del electroiman no este alimentada y esta devuelva la tension de forma invertida, "comerse" esa tension que sera superior a los 0,7 voltios (tension de umbral de la union PN del diodo de silicio) y circulara por el al encontrarse polarizado directamente.

Respecto a la otra pregunta, necesitas fuente externa, el arduino no puede alimentar cacharros que consuman (iba a decir mucho) un poco, el regulador que lleva el arduino no te va a dar mas de 300mA sin calentarse, y las salidas de este te pueden dar como maximo 40mA y no en todas a la vez.

Un saludo y no dudes en preguntar.

PD: Patolin, casi hemos posteado a la vez :slight_smile: veo que tu tambien te manejas con pic. Un saludo.

Si! he sido fan de los PIC, pero lo molesto es la programada. Tengo un programador que me armé hace algún tiempo, pero no funciona bien con windows 7, y ni lo pruebo con el 8.

Realmente llevo poco tiempo con el arduino, y creo que voy por el DUE, es el balance perfecto entre facilidad de programación y potencia

patolin:
Si! he sido fan de los PIC, pero lo molesto es la programada. Tengo un programador que me armé hace algún tiempo, pero no funciona bien con windows 7, y ni lo pruebo con el 8.

Realmente llevo poco tiempo con el arduino, y creo que voy por el DUE, es el balance perfecto entre facilidad de programación y potencia

A mi me ha pasado al reves, empeze con los pic 16c5XX OTP programando en ASM, luego deje la electronica la retome años despues gracias a Arduino, y ahora vuelvo a los PIC pero ya en lenguage C ]:smiley:

Aunque la verdad uso lo mismo Arduino que PIC que Texas... mi ultimo montaje emplea un central Atmega1280 y secundario un pic 18f2550, hablandose entre ellos.

Respecto al programador, yo compre un pickit-3 clone de Sure y funciona la mar de bien, ultimamente los he visto mas baratos aun, es una inversion adecuada, en ebay encuentras programadores para no complicarte, bastante economicos.

Un saludo.

PD: El proyecto pinguino te deja programar los chips al estilo arduino aunque vale la pena el esfuerzo de trabajar con el XC de microchip (ahora integrado con Mplabx) y olvidarte de historias.

Bueno, yo empecé con el 8051 y el 68hc11. Tenía armado en un protoboard un mega single board computer con el 8051, que me dejaba cargar los .hex via serial.... que tiempos aquellos jejeje

Luego llegaron los PIC 16F84 a la ciudad, y empezamos a usar esos en la universidad.

La ventaja que sigue teniendo el uso del arduino es el precio. Armar una placa con un pic de caracteristicas similares al arduino, mas el pcb y los componentes extras, sigue resultando al menos acá, mas caro que comprar un arduino listo para programar.

Bueno, perdonad por interrumpir vuestra conversación jeje, pero cada vez me surgen mas dudas..
Primero de todo, he visto otros proyectos en los que el diodo se pone directo en el transistor, supongo que eso será lo mismo no? Y la resistencia del dibujo es de 2K2 y la del esquema de abajo es de 1K no? Cual es mejor?

Por ahora esta parte está solucionada, muchas gracias (Aun no he probado, pero me fío de que funcione)

Ahora tengo otra duda completamente diferente.
Mi trabajo funciona sobre processing, y estoy trabajando con la librería arduino para processing. El problema viene en que tengo que leer los valores de un sensor de proximidad, y antes, cuando lo leía sobre el código de arduino era tan sencillo como importar la librería ultrasonic y todo listo, pero ahora no es tan sencillo. He probado con un código que lo hace sin librerías, el problema es que utiliza la función pulseIn() y no está incluida en la librería de arduino para processing ni sobre processing directamente (Perdonad por postear esto aquí, no se si tendréis idea de processing)[Por si es necesario, aqui teneis el codigo: http://zygzax.com/webproyectos/websensorus-100/ ; es el primer fragmento de codigo]

Sabéis si hay alguna otra forma de leer el valor de un sensor ultrasonico o (HC-SR04 en este caso) O si existe alguna libreria para controlarlo en processing?

Muchas gracias de antemano