Skip to content

v2.0

Latest
Compare
Choose a tag to compare
@Padure3 Padure3 released this 19 Aug 20:52
· 25 commits to main since this release
b84743c

Changes from v1.0

  • Moved to ESP32 S3 and improved logic power regulation using the Ricardo board template.
  • Removed support for solenoids and brushed DC motors.
  • This is because Sporadic Impulse ended up using only servo valves, hence support for other actuator types no longer necessary.
  • Increased to 2 servo channels.
  • Added support for 8.4V servos with 6A stall current.
  • As a result of the last 2 changes, moved to SiC437A buck converter with support for 12A@6V and 12A@8.4V max output.
  • Added ESP32 servo voltage reading
  • Added ESP32 control of the buck converter. The buck converter is on by default, and the ESP32 is able to turn it off through an N channel mosfet.
  • Added 6 GPIO breakout pins (as well as 3.3V and GND) to allow for future expansion.

Known issues

Hardware

  • RC snubber network was required to stop the buck converter from restarting when turning powerful servos.
  • Multiple ceramic capacitors rated to 25V are used on the input. This is fine for applications using 4S batteries, however for 5 & 6S applications (21 & 25.2V maximum voltage ratings respectively), the ceramic capacitor value derating is excessive, and thus the input capacitance is too low.
  • RC Servos have a failure mode where they internally short their Power VIN to the PWM signal in. When this happens, it results in 6V or 8.4V being sent directly into an ESP32 pin, thus frying the MCU.
  • In the same spirit, there's no protection on the broken out GPIO pins either.
  • 3 pin nanofits are slightly too close together and as such must be bent slightly to connect 2 servos simultaneously.
  • PGOOD potential divider is sized so that the output voltage is below the ESP32 HIGH threshold. This was due to an assumption that PGOOD was a 5V source when asserted, which is not the case.

Firmware

  • Servo voltage reading not working on this commit, this was fixed on a commit that was never pushed to the repo, meaning it only worked on the rocket boards.
  • Thanos controller firmware being in the same repository as the regular firmware caused a bit of pain, so for future it would be best if it was in a separate repository.
  • Arduino serial bug where sending serial data to a board as it starts up. This is present on all 2.0 releases, and was fixed in later versions of the arduino submodule.