PWM es la forma de modular la salida, pero también se necesita algo más, ya que desea que la corriente sea precisa. Configúrelo de modo que cuando el pin del microcontrolador esté alto, obtenga la corriente máxima con buena precisión, luego baje de allí usando PWM.
A 300 mA desea mantener el LED apagado de la fuente bien regulada. Lo que sea que esté conduciendo, el suministro regulado es probablemente un poco más alto de voltaje y no tan bien regulado. Un buen truco es conducir el LED desde un NPN en el modo de sumidero de corriente controlado. Esto significa conducir la base directamente desde el pin de salida del microcontrolador, el emisor se conecta a tierra a través de una resistencia y el LED se conecta entre una fuente positiva y el colector. Si la fuente de alimentación del microcontrolador está bien regulada, entonces la tensión a través de la resistencia se fijará razonablemente y establece la corriente que el transistor tomará cuando esté encendido.
Por ejemplo, si el micro se está ejecutando desde una buena fuente de 3.3V, entonces el voltaje del emisor será de aproximadamente 2.6V. 2.6V / 300mA = 8.7 Ohms. Tendrá que experimentar un poco para obtener la corriente exacta que desea, ya que la caída exacta de B-E es difícil de adivinar, pero este será un buen punto de partida. De hecho, seleccionaría el tamaño del resistor estándar más cercano hacia abajo, como 8.2 Ohms, y luego calibraría el resto en el micro. Debería obtener un poco más de 300 mA con 8.2 ohmios, pero todo lo que obtenga debe ser bastante repetible. También será bastante independiente de la tensión no regulada a la que está conectado el LED, siempre que sea suficiente para ejecutar el LED. Digamos que usted mide 320mA cuando el pin de salida micro es alto. Luego ejecuta el PWM de 0 a 94.8% para obtener su escala completa de 0-300mA.
Para la mayoría de los propósitos, calcular este factor de escala una vez en el laboratorio y la codificación no será suficiente.