Las fuentes de alimentación ATX

Objetivos

 

  • Conocer las fuentes ATX y sus características.
  • Comprender como gobernarlas desde Arduino.
  • Montar un ejemplo con una fuente y Arduino, para alimentarle a el y a circuitos externos de potencia media.
  •  

    Material requerido.

     

    Imagen de Arduino UNO Arduino UNO o equivalente.
    Protoboardconexiones Una Protoboard más cables.
    componente  Un diodo LED
    Img_5_1  Un pulsador

     

    Los voltajes estabilizados

     

    En las últimas sesiones hablamos de las fuentes de alimentación que dan vida a nuestros Arduinos y a otras cosas. Hablamos de los reguladores de la serie 78xx y de cómo montar un pequeño circuito que regule y estabilice la tensión de alimentación de nuestra electrónica.

    Montamos un Arduino en protoboard y lo alimentamos con uno de estos reguladores, el 7805. Ya dijimos que estos circuitos son de lo más interesantes porque nos permiten resolver el problema de la alimentación para circuito electrónico cuyo consumo no sea elevado, hasta 1 Amperio máximo.

    Pero lamentablemente esta barrera saltará por los aires en cuanto queramos alimentar algo del tipo de unas luces medianas, LED incluidas y no digamos ya, si se trata de un pequeño motor. Pasaremos a más intensidad de lo que un regulador puede proporcionar.

    Ha llegado el momento de pasar a fuentes de alimentación de mayor capacidad, y cuando lleguéis a este punto os encontrareis que las fuentes de alimentación ATX, típicas de los PCs, son una joyita que no conviene despreciar, porque son de lo más potentes y con grandes ventajas. 

  • En primer lugar se encuentran con facilidad de 200 a 1.000 Vatios sin elevar demasiado el precio.
  • Tiene salidas a 3.3V, 5V, 12V y -12V.
  • Se pueden conseguir muy baratas, sacándolas de algún PC viejo que tengas por ahí tirado, o si no pedírsela a algún amigo que va a retirar un PC.
  • Como se venden por millones, la competencia ha hecho que alcancen precios sorprendentemente bajos y además están más que probadas por lo que son fiables.
  • Al ser fuentes conmutadas son bastante eficientes energéticamente hablando.
  • Se controlan magníficamente desde tu Arduino o similar.
  •  

    Por tanto vamos a dedicar una sesión a ver cómo usar y gobernar estas magnificas fuentes ATX de alimentación para que podamos usarlos en nuestros proyectos de modo fiable.

     

    Conociendo las fuentes ATX

     

    Intel desarrolló las fuentes de alimentación ATX allá por los años 90 con la idea de estandarizar la alimentación de los PCs compatibles y convertirlas en algo normalizado como el resto de los componentes para ordenadores personales.

    La norma tuvo tanto éxito, que no creo que hoy haya otro tipo de fuentes para PCs, y como resuelven muy bien un problema concreto se han extendido además a muchos otros campos ajenos a los PCs, porque son fiables y baratas ya que hay una industria mundial dedicada a ello y muy polivalentes.

    Tipica fuente ATX

    Si habéis desmontado un PC, seguro que os habéis fijado porque son ubicuas e inconfundibles. Normalizan tanto los conectores externos, como los internos y son relativamente fáciles de sustituir en un PC.

    En el conector de conexión a la placa base van todas las tensiones y pines necesarios para controlar la fuente:

     

    Tipico conector de placa base

    Tipicos conectores de discos duros

     

    Para empezar hay que decir que además suelen seguir un código de colores normalizado también:< 

  • Negro GND
  • Naranja 3.3V
  • Rojo5V
  • Amarillo 12V
  • El resto son señales de control e información..
  •  

    Son fuentes muy pensadas y de las que nos vamos a aprovechar encantados.  Aquí tenemos el diagrama de pines de una de estos conectores que van a la placa base es cortesía de Wikipedia:

    Conector ATX 20

    Iremos viendo en detalle lo que representa cada pin, pero antes, tenéis que saber que cuando enciendes la fuente con el interruptor trasero, la fuente no arranca de modo inmediato, si no que se pone en espera, pero sí que da tensión de 5V a un par de pines, para que podamos montar un circuito de arranque por ejemplo.

    Además,  cuando detecta que las tensiones de alimentación se han estabilizado, (Han alcanzado los valores correctos) nos informa poniendo un 5V en el pin 8.

    Estos pines que tienen tensión en Standby son los pines 7 y 9 del conector. Son los pines que usaremos para alimentar el arranque de nuestro Arduino, de modo que cuando la tensión sea estable (y el pin 8 Power Good haya subido  a 5V) podemos arrancar la fuente y el suministro a cualquier circuito que necesite nuestros amperios.

  • Dependiendo de un montón de cosas, Power good puede tardar entre 0,1 y 0,5 segundos en levantarse. Podemos usar un pin de Arduino para leerlo, o simplemente meter un delay de 500 ms antes de arrancar.
  •  

    Como con Arduino UNO siempre vamos escasos de pines disponibles, supondremos que la tensión se estabiliza tras unas décimas de segundo y no vamos a destinar uno de sus pines monitorizar el Power Good de la fuente. Pero en un circuito real nos pueda interesar hacerlo para tener claro que la fuente está OK.

    Una vez que Power Good nos da el OK con una señal de 5V en el pin podemos arrancar la fuente y la alimentación de los conectores de carga (Los de los discos duros por ejemplo). En nuestro ejemplo incluiremos un delay de 1 segundo para permitir que se estabilice y arrancaremos la fuente sin más

    Para arrancar la fuente, basta con poner a GND el pin 16 del conector y listo. Oiréis como el ventilador arranca.

     

    El Circuito de prueba

     

    Vamos a montar un circuito para probar la fuente ATX y gobernarla desde Arduino, para alimentar cualquiera de nuestros proyectos. Usaremos un pulsador para indicarle a nuestro Duino que queremos arrancar o parar la fuente y un LED para indicar su estado.

    Aquí tenemos el diagrama:

    Esquema electrico

  • No vamos a comprobar el pin Power Good. En su lugar usaremos un delay, para asegurarnos de que la tensión se ha normalizado.
  •  

    Y aquí tenemos el esquema de protoboard:

    DIagrama de protoboard

     

    Para conectar nuestro Arduino a la fuente ATX, podemos usar los cables normales de protoboard, pero veremos que no encajan en el conector de la fuente y la conexión es poco fiable.

    Usando un clip

    Siempre podemos cortar los cables y empalmarlos, pero me sabe mal romper una fuente que podríamos reutilizar, por lo que prefiero usar lo que los electricistas llaman “el conector universal” con cierto cachondeo, pero que funciona genial.

    Enderezad un trozo de clip para sujetar papeles, e introducidlo en el hueco del conector después del cable normal de protoboard de forma que impida que se salgan. Aunque suene mal es una solución limpia y bastante duradera, si no se le somete a esfuerzos. 

  • Conviene cortar el clip después de insertarlo. Si lo haces antes, empujar puede ser complicado.
  •  

    El programa de control

     

    EL programa  para controlar la fuente es de lo más sencillo: Sesion_82_1

    bool PowerON = false ;
    
    void setup()
       {  Serial.begin(9600);
          pinMode(6, INPUT_PULLUP);             // Para leer el boton
          pinMode(7, OUTPUT);                   // Para encender la fuente con un LOW
          pinMode(13,OUTPUT);                   // Para usar un LED de encendido
          digitalWrite(7, HIGH);                // Fuente apagada
    
          delay(1000);
          Serial.println("Iniciando la fuente");
       }

    Una variable, PowerON, para almacenar la situación de la fuente y luego definimos los pines necesarios. EL 6 para leer el pulsador, el 7 para encender y apagar la fuente ATX y en el 13 ponemos un LED para saber el estado de la fuente (En caso de que no haga tanto ruido como hace la mía)< 

  • Siempre es buena idea usar un testigo LED para saber cómo está el patio
  •  

    Hacemos un delay de 1 segundo, para dar tiempo a la fuente a estabilizar los niveles de tensión, que es más que de sobra, en lugar de usar un pin de Arduino para comprobar el estatus del pin 8 de la fuente Power good.

    Para encender y apagar basta con algo así:

    Descargar el programa: Sesion_82_1

    void loop()
       {  bool boton = digitalRead(6) ;
          if (boton == LOW)
            {  PowerON = ! PowerON ;        // Ivertimos el estatus de la fuente
               delay(250);                  // Para evitar rebotes
               digitalWrite(13, PowerON);   // Encender o apagar el LED
             }
          if ( PowerON)
               digitalWrite(7, LOW);        // Enciende la fuente
          else
               digitalWrite(7, HIGH);       // Apaga la fuente
       }

    Leemos el botón y cuando se pulsa, invertimos el valor de PowerON, al salir levantamos o apagamos la fuente ATX mediante el pin 7.

     

  • Nótese que podíamos sustituir el ultimo if else por:
  • digitalWrite( ! PowerON) ;
  • Aquí os dejo un mini video con el resultado:

     

    Resumen de la sesión

     

  • Hemos presentado las fuentes de alimentación ATX.
  • Hemos incluido una descripción funcional de los pines de control precisos para gobernarlas.
  • Montamos un pequeño circuito con nuestro Arduino y un pulsador que gobierna el encendido y apagado de la fuente.
  • No será la ultima vez que usemos estas fuentes porque son de una potencia y estabilidad notable, y además con un precio muy ajustado
  • Deja una respuesta