No sé nada acerca de la parte de ruido Zener de su circuito, pero al usar multiplicadores de voltaje, puedo ofrecerle algo de experiencia.
El punto es cargar completamente los condensadores y luego invertir la polaridad tan pronto como estén cargados. Por lo tanto, debería dimensionar los condensadores según su voltaje y frecuencia de conmutación (si es necesario, si utiliza una frecuencia de línea de 60Hz), O seleccione su frecuencia de conmutación según su voltaje y el tamaño de los capacitores (su mejor apuesta, ya que PWM es una MCU) . Puede ver cómo se cargan los condensadores en un alcance mientras ajusta la frecuencia para optimizar el rendimiento.
Una onda cuadrada se carga más rápido que una onda sinusoidal, porque la tensión de carga se mantiene en su punto máximo. Suponiendo un ciclo de trabajo del 50%, la corriente que entregará su doblador será menos de la mitad de lo que puede proporcionar el pin PWM (porque es de media onda).
Sin embargo, no creo que su circuito esté configurado correctamente (todavía). Puedo ver los límites de carga cuando PWM es alto, pero nada cuando es bajo (asumo que PWM oscila entre Vcc y GND). Normalmente, la entrada de un doblador oscilaría tanto en positivo como en negativo, y C4 se cargaría a la polaridad opuesta cuando PWM es negativo. Esa carga se bombearía a la siguiente etapa del condensador (C1).
Una solución sería eliminar la conexión a tierra del circuito y, en cambio, conducir ese nodo con PWM / (una forma invertida de PWM). Por supuesto, entonces "sense" solo es válido cuando PWM es alto y PWM / es bajo.
BobU tiene la mejor solución: ate el ánodo de D3 a + 5v.
En la discusión que sigue, estoy ignorando las caídas de diodos. Sin embargo, cuando se opera a voltajes tan bajos, las caídas del diodo tendrían un efecto significativo en el voltaje final. Los diodos de Schottky serían apropiados.
En cuanto al tamaño del condensador, existe una relación entre el tamaño de la tapa y la frecuencia de conmutación. El pin GPIO necesita cargar el primer condensador, y asumiremos que la corriente de carga es constante, al máximo que el pin puede alimentar y hundir. Así que la energía en el condensador aumentará linealmente. Si espera hasta que esté completamente cargado antes de cambiar las polaridades (y descargue esa carga en la siguiente etapa), obtendrá el voltaje máximo ("duplicación real", ignorando la caída del diodo). La corriente disponible proviene del pin GPIO, pero dejará de fluir una vez que el condensador esté lleno. Si cambia las polaridades antes de que se llene la tapa, no obtendrá el voltaje máximo disponible. Si cambia más tarde, no obtendrá la corriente máxima disponible.
Una estimación de la corriente disponible sería:
[(GPIO max source current) + (GPIO max sink current)] / 2
Eso supondría un ciclo de trabajo del 50%. Si la corriente de fuente y de sumidero son muy diferentes, valdría la pena ajustar el ciclo de trabajo para equilibrarlos.
Aquí hay una fórmula útil:
La corriente constante de 1 mA aumenta el voltaje en un capacitor de 1 microfaradio en 1 voltio en 1 milisegundo.
Ya que tiene un límite de .02 uF y 5 voltios, entonces 1 mA cargará el límite en 100 microsegundos. Eso equivaldría a una frecuencia PWM de 5 kHz. Es probable que su frecuencia tenga que ser más rápida, ya que su pin GPIO probablemente proporciona más de 1 mA. Si duplica el tamaño de su gorra, reduciría la frecuencia a la mitad (duplicaría el tiempo de carga).
La corriente de carga real del pin GPIO no se especificará con ninguna precisión, por lo que es posible que necesite optimizar dinámicamente. Dado que tiene un pin de "detección", un enfoque sería comenzar la frecuencia de conmutación demasiado alta y observar el aumento de voltaje a medida que baja la frecuencia. Luego, dejará de disminuir la frecuencia una vez que detecte el voltaje deseado.