Alimentando arduino con el modo de espera ATX

0

Estoy diseñando un escudo Arduino para permitir que Arduino controle, entre otras cosas, una fuente de alimentación ATX. Estoy ejecutando pines GPIO a los pines PS_ON y P_OK del ATX. Me gustaría poder ejecutar el Arduino fuera del riel 5V_STDBY, sin riesgo de daño si el Arduino está conectado a través de USB al mismo tiempo que la fuente de alimentación ATX está encendida. Yo cometo errores; tarde o temprano los conectaré a ambos al mismo tiempo y preferiría no freír mi arduino, o peor aún, mi puerto USB.

Estoy diseñando como un escudo, porque muchos dispositivos en estos días son compatibles con la huella del encabezado arduino, que puedo cambiar por otra cosa si quiero más adelante.

La idea básica es conectar tierra a tierra, y 5V_STDBY en la PSU al pin de 5V del arduino. Ahora, debido a que los diferentes reguladores funcionan con voltajes ligeramente diferentes, no quiero hacer cortocircuitos entre sí.

El hecho de que esto sea un escudo da un nuevo giro a un viejo problema. No hay pin correspondiente a + 5V USB en, por lo que soluciones como las de esta pregunta No se pueden utilizar las fuentes de alimentación de OR (diodo o mosfet) , porque no tengo forma directa de saber si el cable USB está conectado.

Mi primera idea es tomar la mitad de la solución de diodo de la pregunta que acabo de publicar. Es decir, poner un diodo con un ánodo atado a 5V_STDBY y un cátodo atado al pin de 5V del Arduino. A 16MHz, el ATMega puede manejar tan solo 3.78V ( enlace página 316), y un diodo de silicona solo deje caer unos 700 mV, por lo que incluso si la fuente de alimentación solo ofrece 4.75 V, eso me deja unos 300 mV de altura. La esperanza es aprovechar el voltaje de encendido del diodo. Si el voltaje de la PSU es un poco más bajo, entonces incluso si el arduino no está consumiendo corriente, solo estamos tratando con la corriente de fuga inversa de vuelta a la PSU. Si el voltaje de la fuente de alimentación es un poco más alto, todavía tendremos una cantidad limitada de corriente porque el diodo no alcanzará el voltaje donde conduce de manera significativa, incluso si ambos reguladores están a 5% de descuento desde 5 V en direcciones opuestas (500 mV). Esperemos que el pequeño efecto que los reguladores tienen entre sí no les haga daño.

Ahora, ya que estamos hablando de un puerto USB que no quiero reemplazar, ¿es esta una solución legítima? ¿Hay alguna pregunta que debería estar preguntando que no soy?

Si es así, ¿debería preocuparme que VCC en el ATMega328 sea tan bajo que una señal ALTA en los pines de entrada sea demasiado alta? Hay solo unos pocos pines que lee el Arduino, así que podría usar divisores de voltaje para cambiarlos hacia abajo.

Por supuesto, otra solución, que en última instancia podría ser más simple, es usar un convertidor de refuerzo para elevar el 5V_STDBY por encima de 7V, introducirlo en el pin VIN y dejar que el regulador arduino integrado lo vuelva a convertir. Sin embargo, parece un kludge.

¿Qué solución, diodo, convertidor elevador u otro, recomienda?

    
pregunta Ed Krohne

1 respuesta

2

Hay pocas cosas aquí, así que abordaré lo que pueda

A modo de referencia, aquí se muestra el esquema de UNO (se abre en la ventana para zoom)

Comomencionaste,hayunpinVINqueestádiseñadoparaloqueestáspreguntandoaquí.Estádestinadoaserunafuenteexternadepoder.ElVINPinestáconectadoalaclavijadeCCdelaplacayenrealidadcontrolauncanaldemosfet(T1)paraapagarlaalimentaciónUSBalacpudeldispositivo(exceptolaseccióndealimentaciónUSB)cuandohayunvoltajedeCCenVIN,delocontrario,elsuministro5VprovienedeUSB.

SisimplementeconectarasufuentedealimentacióndereservaenVIN,deberíaserseguromezclarloconlaalimentaciónUSB(peronoconlaentradadeCC)utilizandoloscircuitosexistentes.Desafortunadamente,VINestáenelladoascendentedeunregulador,yaunquenoeselfindelmundodesplazarselibrementeatravésdelregulador(estemodelosesaturaráypasaráelvoltajesinregularperoconunaresistenciaenserieequivalente),loqueestosignificaesquenoestádestinadoa5Venespera.

UnadelassolucionesquesugeriríaesproporcionarenergíatantoaVINcomoa5V.EstoaprovechaelbloqueoVINdelaalimentaciónUSB,ycomonohayunapolarizacióninversaenelregulador,básicamentesequedaráenganchadoalasalidade5Vyprobablementefuncionarábien(obviamenteprueba,perohayprioridadencuestión)como this . Se puede usar un diodo schottky a través del IC (Output to Input) para evitar que aparezca una gran polarización inversa en el regulador lineal, pero esto ya existe en el IC. El MOSFET existente (T1) evitará la corriente fluye nuevamente hacia el puerto usb, pero necesita una señal de "alto voltaje" en la puerta T1 para apagarla, sin el VIN la puerta estará polarizada a GND y el MOSFET permanecerá encendido.

Hay muchos diodos rectificadores por ahí que puede utilizar O la potencia que probablemente sepa. Desafortunadamente, sin modificar el arduino (solo en un escudo) se ve forzado a hacer Kluge alrededor de los componentes existentes, vivir sin protección o morder la bala y modificar el arduino para que tenga un pin de detección en el usb de 5V o

En cuanto a tu última pregunta. Si los periféricos conectados a GPIO tienen su propia fuente de alimentación y podrían conducir el pin por encima de VCC (el peor de los casos con su standby 5v), existe el riesgo de daños si se supera por algún umbral. Consulte esta tabla en la hoja de datos Pg 313

    
respondido por el crasic

Lea otras preguntas en las etiquetas