Cambiar la prioridad de alimentación (USB > Vin)

Hola,

He visto que Arduino le da prioridad a la alimentación a través del conector de alimentación externo antes que la alimentación que le llega por el puerto USB.

Para el proyecto que tengo en marcha, en funcionamiento normal el arduino va a estar siempre conectado al PC por el puerto USB y en el conector de alimentación tendré una batería de 9V que quiero que sólo se use en el caso de desconectar el arduino del PC.

Para ello tengo que cambiar la prioridad de la alimentación de arduino y me gustaría hacerlo preferiblemente sin modificar arduino o lo mínimo posible.

¿Se os ocurre alguna forma sencilla de hacerlo?

Gracias.

Si. manda a hacer una nueva placa PCB

Comprendes mi respuesta irónica?
Pues no se puede. Esta cableado de ese modo por lo tanto la prioridad que tiene no puede cambiarse.

Este es el esquema. Modifica ahi lo que gustes para cambiar su funcionamiento, pero es SMD asi que no es tan simple

Gracias surbyte por la respuesta.

Se me había ocurrido coger los 5 voltios del conector usb y comandar con ellos un relé o un transistor que me interrumpa el cable que llevo desde la batería al arduino.
El problema es que hoy he estado haciendo unas comprobaciones rápidas y aunque desconecte el usb del PC sigo teniendo los 5 voltios en todo el arduino, incluido en el conector usb.

Seguiré haciendo pruebas. Saludos.

yo que tu haria una placa externa con el conector USB, y el de la pila de reserva

en esa placa el circuito que seleccione una alimentación o la otra que puede ser tan sencillo como un rele de dos circuitos+un regulador

y de esa placa alimentas al modulo arduino a través de la entrada micro USB

te habia dibujado un esquemita pero se me ha borrado antes de copiarlo, cuando este en casa lo haré en mi ordenador

Gracias GO_zalo, eso tenía pensado hacer pero el problema es que me interesa utilizar el propio conector de la placa arduino.

Sabéis en que parte de la placa del arduino puedo tener 5V unicamente si estoy conectado con el usb al PC y 0V cuando lo alimento a través del conector Vin ??

Gracias.

Siempre la misma pregunta debo hacer.
Que arduino usas? porque no lo has dicho?

Suponiendo un UNO.
En este esquema se ve mejor

Puedes ver que el comparador (arriba) tiene un divisor resistivo a la mitad de la tensión de PWRIN que sabemos es como mínimo 7V y mira porque.
La mitad de 7V es 3.5 y entonces 3.5V es mayor a 3.3V y el comparador se va a 5V en su salida entonces el MOSFET canal P no conduce y el circuito queda alimentado con 5V y 3.3V alimentado de esos 5V externos.
Pero cuando se corta la alimentación externa el comparador va a 0, Vgs hace conducir el MOSFET y entonces se alimenta del USBVCC.
Bien para invertir esto no solo hay que hacer cortes en la entrada al divisor resistivo, la entrada y salida del mosfet, sino que el valor de comparación de 3.3V no sirve y habría que cambiar el divisor resistivo.

Yo haría lo que dice Go_zalo o armo una placa nueva con el diseño que tu pretendes porque de tus palabras deduzco que esto es un proyecto comercial (que no me interesa) pero ahi se justifica que armes algo en un PCB de acuerdo a tu necesidad y no modifiques lo que te va a quedar realmente muy mal estéticamente.

Perdón por no explicarlo todo. Se trata de un arduino uno y no es un proyecto comercial pero ya tengo la caja donde lo voy a meter y no tengo excesivo espacio para meter una placa adicional además no se si quedará muy frágil un conector usb soldado en una pequeña placa.

Muchas gracias surbyte por ese esquema así se ve mucho mejor.

¿Cuando alimentas arduino desde el PWRIN también salen los 5V por el conector USB hacía el PC? Me parece un poco raro esto.

Ya os enseñaré el resultado cuando esté todo acabado. Saludos.

galera:
¿Cuando alimentas arduino desde el PWRIN también salen los 5V por el conector USB hacía el PC? Me parece un poco raro esto.

No entendiste la explicación.
Cuando alimentas el arduino desde PWRIN, el comparador esta en HIGH o sea 5V y como es un MOSFET canal P este con conduce. Si no conduce no esta USBVCC alimentando nada.

Hola surbyte, he hecho la siguiente prueba:

He alimentado un Arduino UNO con una pila de 9V y en el conector USB he colocado un cable conectado a un polímetro. Como puedes ver en la siguiente foto, la tensión en conector USB es 5V.

http://subefotos.com/ver/?0158adc6942a9489d3714e2d3066b795o.jpg

En la placa externa que monte tendré que poner un diodo para evitar tener siempre los 5V.

No comprendo algo, los 5V leídos en que pines?

Directamente en los dos cables de alimentación del USB (cables rojo y negro)

Y entonces.. qué cambia eso la prioridad que buscas?

La prioridad esta dada perfectamente en el diseño tal como lo explico Surbyte.
Si conectas el usb se alimenta de el. Si pones bateria y la tension es superior a la del usb entonces toma la tension de la bateria.
Simple y funciona a la perfeccion.
Si no quieres alimentarlo del usb arma un cable usb solo con d+ y d- sin alimentacion.

Quiere alimentar desde el USB siempre que este disponible, y sino desde la pila, a modo de seguridad supongo, la solucion es la que te he dicho, por que adems el consumo de la pila, estando en USB es 0, con otras soluciones la pila esta conectada al regulador, y este al divisor o al comparador o donde sea, gastando la pila poco a poco

No malinterpretes mi respuesta.
La solución esta planteada desde el post de Go_zalo, todo lo demás es darle vueltas a lo mismo.
Si armas una placa PCB nueva entonces puedes cambiar la prioridad de lo contrario usa la idea de GO_zalo y asunto terminado.
No es posible otra cosa.