Variant PWM - EFeru/hoverboard-firmware-hack-FOC GitHub Wiki

This variant can be used with Pulse Width Modulation RC Receivers. It expects 1ms to 2ms pulses at 50Hz from 2 channels.

:gear: Configuration/Parameters

Voltage Control Mode is used by default. CONTROL_PWM_RIGHT is for the right sensor cable and is set by default to limit the noise as this cable is shorter. You can use CONTROL_PWM_LEFT instead if you need to use the left sensor cable. DEBUG_SERIAL will be automatically enabled on the opposite cable.

Please also check the parameters that are common to all the variants.

:electric_plug: Wiring:

  • Connect your receiver VCC to 3.3v from programming port, 5v from hall sensor cable, or a voltage regulator, ⚠️ Red wire from sensor cable delivers 15v !!!
  • Connect channel 1(steering) of your receiver to blue wire and channel 2(speed) to green wire of the cable selected in config.h
  • Connect the receiver to ground, ⚠️ On some boards, the black wire is 15v !!! Check with a multi-meter to make sure 15V and ground are not swapped

As the speed/load increases, there can be a lot of noise in the PWM signal, triggering unwanted movements :

  • Keep cables short, use shielded cable, use ferrites, stabilize voltage
  • You can scratch the pcb and solder 100nf capacitors to ground, that will act as a RC filter and reduce the signal noise

Transmitter configuration:

  • Assign desired joystick to channel 1(steering) and channel 2(throttle)

:control_knobs: Calibration:

Proceed with calibration for better control.. This variant is using the deadband parameter to prevent jitter around 0 input due to noise.

:toolbox: Troubleshooting:

If the board is beeping

  • Make sure you are using the sensor cable(left=CONTROL_PWM_LEFT or right=CONTROL_PWM_RIGHT) selected in config.h
  • You might have a defective MCU input, a missing 101 smd resistor or with too high resistance (e.g. issue), you can configure the firmware to work on the other cable

If you get unwanted movements, check the wiring section.