Releases: icl-rocketry/Ricardo-Chad
Releases · icl-rocketry/Ricardo-Chad
v2.0
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.
v1.0
Chad v1.0
- TPS54233D buck converter - 6.0V, 2A
- Single servo pwm connection
- N-channel mosfet for small solenoid control
- End-stop switch connection pads
- SSR control connector (for bang-bang control of heat pads)
Known Issues
- ServoPWM pin is connected to an input only pin
- Endstop switches 1 and 2 are connected to esp32 integrated flash pins
- Resistors on CAN_TX and CAN_RX cause issues, 0 ohm jumpers should be used instead
- Insufficient input capacitance on TPS54233D input when running a motor from the h-bridge, causing the IC to burn out. Input capacitance is high enough when motor is disconnected
- EN capacitor (C2) should be 1uF or higher, otherwise download mode doesn't always initialise when trying to upload program, meaning the BOOT jumper has to be shorted