El BuckPuck es un convertidor reductor ("buck"). Debe proporcionarle una tensión de al menos 2,5 V por encima de la tensión directa de los LED. El LED tiene un Vf típico de 3.2V, por lo que desea que su voltaje de entrada sea al menos 5.7V. Llámalo 6V o más alto. El BuckPuck tomará un voltaje de entrada hasta 32VDC, aunque la eficiencia desciende un poco.
Está regulado para proporcionar corriente constante. En otras palabras, el BuckPuck variará su voltaje de salida para que la corriente permanezca igual. Al buckpuck no le importa si tiene uno o tres LED en serie, simplemente creará el voltaje necesario para empujar 700mA a través del circuito. Por supuesto, este voltaje de salida no puede ser mayor que 2.5V menor que el voltaje de entrada.
Debido a esto, no necesita ninguna resistencia limitadora en las rutas de los LED. Esto también significa que desea seleccionar sus FET (o transistores) para tener pequeñas resistencias cuando se enciende (\ $ R_ {ds-on} \ $ en las hojas de datos)
Sin embargo, esto presenta un problema en el diseño de rutas múltiples. Si apaga uno de los LED antes de encender otro, entonces no hay ningún lugar al que pueda ir la corriente. El voltaje de salida se disparará hasta el máximo posible, ya que el BuckPuck intenta seguir presionando 700mA.
Una solución es encender uno de los LED justo antes de apagar otro. Los MOSFET requieren tiempo para activarse y desactivarse, por lo que es posible que deba agregar un retraso en su código para asegurarse de que siempre haya una ruta actual disponible.
En cuanto a la atenuación de PWM, básicamente, simplemente activa y desactiva el pin CTRL con bastante rapidez. La hoja de datos dice que necesita mantener la frecuencia PWM por debajo de 10kHz. Lo mantendría a alrededor de 1kHz, o incluso más lento. Lo que está haciendo es encender y apagar el LED más rápido de lo que el ojo puede detectar. Lo que terminas viendo es el brillo promedio.
Sin embargo, solo puede hacer esto directamente si tiene salidas lógicas de 5V. El RPi tiene salidas de 3.3V. La hoja de datos proporciona los siguientes ejemplos, que no funcionarán para usted porque no tiene lógica de 5 V:
Lealapágina4delahojadedatosconmuchocuidado.Tambiéntengaencuentaquelaconexiónatierradelmicrocontrolador(laconexiónatierraRPi)estáconectadaaunLED.
Convenientemente,elpinREFproporciona5Vparasuuso.Necesitacambiareste5VenelpinCTRL.Unaopciónesusarunoptoaisladorpequeño(optoacoplador),comoelSharp PC713V0YSZXF .
Si no sabes cómo usar un optoaislador, buscaría respuestas aquí :)
Buena suerte.