WheelBoardMain icon indicating copy to clipboard operation
WheelBoardMain copied to clipboard

Balancing controler for monowheeled skateboard.

WheelBoard Controller

Balancing controller for DIY mono wheeled skateboard.

Supported hardware: CPU: STM32F103CBT6 Flip32 or Naze32 control boards.

I run it with: VESC ESC. My vesc config is below

Wiring:

  • PWM1 - main balancing signal. Wire it to VESC PPM input.
  • RC_CH1, RC_CH2 - optional input for force sensors. These register pressure on foot pads and allow board to start only when both pads are pressed.
  • BUZZER - optional buzzer, lets you know when you reach speed limit.

FootPad sensors

I use 4 (2 on each side) force sensing resistors. Connect two on each side in parallel. Then one wire to 3.3v, the other to RC_CH1. Add a pull down 3k resistor from RC_CH1 to ground. (Same for other side, RC_CH2).

Optional:

  • USART1 RX, TX - goes to a bluetooth module (NON-BLE, BLE wont work), baud 115200, no parity, 8bits, 1 stop Phone app https://github.com/blezalex/WheelBoardAndroid
  • RC_CH3, RC_CH4 - USART2 RX/TX - goes to VESC RX/TX (gets various stats from vesc)

My Setup:

VESC Settings

  • FOC
  • All current limits 60A
  • APP: USART and PPM
  • Control Type: Current
  • Median Filter: False
  • Safe Start: False
  • Positive/Negative ramping time 0.02

Mapping

  • Start: 1ms
  • End: 2ms
  • Center: 1.5010ms
  • Input Deadband: 0%

Throttle curve

no expos

Frame build log: http://imgur.com/a/ALTTR

current frame

Warning

Use at your own risk. No guarantees. This software is not bug-free. Self balancing vehicles are inherently unstable.