Swimming Pool Cover Engine Controller
Short explanation of the very simple sensor circuit:
The 0.22 uF ceramic capacitors filter high frequency signals since we expect in this application lower than 50Hz signals. the 1.5uF capacitor is power supply stabilisation, in combination with the 330 Ohm series resistor between the yellow terminal and the + of the hall sensors . The 330 Ohm resistors in series to the A and B sensor terminals limit the current the sensors may draw.
The A1131 is a bipolar (latching) Hall switch (options: unipolar, omnipolar, latching/bipolar)
- One polarity of magnetic field turns it on.
- Opposite polarity is required to turn it off.
replacement as a bipolar hall sensor is the well known US5881 does include a open drain and schmitt trigger and voltage regulator built into its design.
The build in hysteresis ensures clean, stable switching behavior in digital applications.
The operating voltage is from 3.5V to 24V.
As shown in the video top right and below, the magnets in the wheel pass the two hall sensors, resulting in a specific binary signal pattern (shown below on this page) which reveals the rotation direction and speed of the wheel.
Write data to FRAM in a reliable way, so we write 3 times and when reading we 2 out of 3 schould match:
esp_32_pool_fram_test_redundant_and_ssid_motor_values_test_6.ino
The remote control with a webserver (open stop close and max speed, ramp time, wait time for reverse and current limit) and 3 physical buttons pin 25, 27 , 32 for open stop and close :
esp32_pool_remote_control_5.ino
Accept and write to FRAM 5 remote controls maximum:
esp_32_pool_remote_control_read_1.ino
Webserver and physical buttons listened to by interrupt:
esp32_pool_remote_control_interrupt_6.ino
.
The 2 hall sensors (pin 25 sensor A green) and (pin 27 sensor B white) are read and status is shown by 2 LEDs (pin 19 green) and (pin 18 white) :
esp32_pool_a_b_sensor_counter_forw_rev_3.ino
The same code optimized for debounce and processor load efficiency :
esp32_pool_a_b_sensor_cnt_f_r_opt_debounce_5.ino
.
This code is the driver for the pulse width modulation to modulate the 24V to the motor :
esp32_pool_motor_h_bridge_driver_5.ino
The ESP32 has 2 cores which can be selected for code in this way:
esp32_pool_dual_processor_test_1.ino
.
Very efficient in terms of processor load interrupt based 433 MHz decode code to detect remote control signals:
esp_32_pool_remote_control_read_433_4.ino
Same code but even improved in terms of processor load and avoiding cpu cycle hungry floating point operations:
esp_32_pool_remote_control_read_433_decode_10.ino
This short movie shows the hall sensor output due to a rotating wheel with magnets.