Hola buen dia les comento mi problema, con un arduino nano estoy realizando el control de un puente inversor trifasico que utiliza los transistores IGBT.
Con el micro genero ondas cuadradas desfazadas 120 para el control del puente a un cierta frecuencia que puede ser modificada con dos pulsadores. El problema es que cuando a mi sistema le agrego un LCD, para visualizar la frecuencia, ya sea conectandolo directo o a travez de un modulo i2c (lo probe de ambas maneras) los picos negativos de las ondas generadas se aumentan de frecuencia.
Para el control del display LCD utilizo la libreria <LiquidCrystal.h>.
Adjunto imagenes simuladas desde proteus de mis ondas sin y con el LCD.
PD: lo unico que modifico de programa entre una imagen y la otra es que comento o descomento lo que seria el "menu" donde se muestra la informacion de la frecuencia.
Espero que puedan ayudarme, desde ya muchas gracias.
Por favor, corrige el problema de las imagenes que no se ven.
Quizás haya un problema de software, sería conveniente que revisarás el código, y ver si hay algo que interfiera. También decirte que Proteus no es perfecto en las simulaciones y puede que eso también afecte, por ejemplo, que cantidad de CPU te dice que usa y cuantos mensajes "warning" recibes durante la simulación.
Ahi las agregue como archivos adjuntos a las imagenes.
No es un error del proteus porque lo probe con un osciloscopio y un arduino nano y pasa exactamente igual en la realidad.
Si estas haciendo algo como lo que mencionas, mi primer pregunta es: porque no vemos un código y es simple porque sin código, solo podemos imaginar como nosotros hariamos las cosas, no como tu las estas haciendo.
Basicamente, puente trifasico sin uso de TIMER lo veo complicado.
Todo lo demás que consuma tiempo hara que tu rutina de control de los IGBT falle.