I am aware of what Pulse Width Modulation is. My hardware setup is complete and functioning, and the entire system is up and running.
I have a 12V DC diaphragm pump and several DC fans that I control via MOSFETs. These need to run dimmed at specific times of the day, with a particular pulse-to-pause ratio as described.
My Setup in General
I use a Raspberry Pi 4 with an ADS1115, which has three signal isolators for pH, EC, and soil moisture. Additionally, I use a BMS680 for temperature and humidity, and an SCD41 for temperature, humidity, and CO2. I also have an MLX90614 for leaf temperature. The temperature is taken as the average of these three sensors, and the humidity is averaged from both measurements. I calculate the VPD using the leaf temperature and the average humidity, regulated with a bang-bang control method from one of your tutorials. The temperature of the nutrient solution is measured with a DS18B20.
I also have several dosing pumps, SSR relay outlets for a heater, circulation pump, irrigation pump, light fan, and an exhaust fan controlled by PWM. The lighting is controlled with a 0-10V PWM signal.
Additionally, I have some level sensors and a flow meter for the reservoir, with the ports in the enclosure and on the board already in place, but I still need to configure them. I might try a custom function for this.
All the modules and components are housed in an enclosure with many DIN sockets and several 3D-printed holders (for sensors, mounts, etc.). If everything proves reliable and I find the time, I will create a custom PCB to suit my needs.
I might introduce my system in a dedicated thread at some point.
So, is there no ready-made action for my application?