-
Notifications
You must be signed in to change notification settings - Fork 6
Voltage Issue
The main control board for the Gibbot will sometimes reset when the robot is swinging.
- The board does not reset if the robot is not swinging.
- Resets do not happen at consistent intervals, sometimes the robot resets after 2 swings back-and-forth, sometimes after 10
- Resets tend to happen at times when the motor torque is higher, such as when the motor is driving in the opposite direction that the lower link is swinging.
When the Gibbot is swinging significant spikes on the voltage rails can be seen. The main Gibbot control board supplies 4 different voltage levels to the various actuators and chips. The board takes in 48V from an external 8A power supply. This input is directly connected to the MOSFET bridges on the BLDC motor. The 48V is dropped down to 24V by the LT1074 buck converter. The 24V is then dropped down to 12V and 5V by the LT3508 buck converter.
The voltage spike is correlated with the PWM signal to the motor as shown in Figure 1 below.
The blue line is the signal on the gate of the high side MOSFET that is being driven for the current state of the commutation sequence, it has been scaled down to 10V/division. The purple and green lines are the voltage on the 48V and 24V lines. As the image shows, there is a high amplitude voltage spike on the rising edge of the PWM signal and a slightly smaller voltage spike on the falling edge of the PWM signal.
A closeup of the voltage spikes coupled to the rising edge of the PWM signal are shown in Figure 2 below.
The purple line is 48V, the green line is 24, yellow is 12V and blue is 5V. All voltages are scaled to 5V/division and vertically offset so that their average value is centered at 0. The plot shows that the maximum peak to peak voltage spike on the 48V line is 16V. The peak to peak voltage on the 24V line is 8V.
Figure 3 below shows a closeup of the spikes coupled to the falling edge of the PWM signal.
The amplitude of the voltage spikes is much lower on the falling edge.
As seen in the image above, the ground path from the BLDC driver MOSFET H-bridge to the ground on the power input passes the ground inputs of the entire board.
Solution Better separation of ground path between the high di/dt transients caused by the motor and the ground plane for the digital chips could reduce the noise.
Both the LT1074 and the LT3508 have an RC network that provides loop compensation as shown in the circuit diagram below from the LT1074 datasheet. The compensation loop is shown connected to the VC pin.
The network for the LT1074 has R = 2.7kOhm and C = .01uF. These values were chosen based on a sample circuit provided in the LT1074 datasheet. According to the LT3508 datasheet "A practical approach is to start with one of the circuits in the datasheet this is similar to your application and tune the compensation network to optimize the performance. Stability should then be checked across all operating conditions including load current, input voltage and temperature." Because of the nature of the problem we are seeing these test could be difficult to conduct.
The power supply is only intended to supply up to 8A. According to the motor datasheet the starting current is 43.8A. During periods of high load, such as when the motor is driving against the direction of motion, it is possible that the motor is trying to sink this amount of current for a brief period of time. This could cause a droop in the power supply that coupled with transients caused by the buck converter design could lead to the oscillations observed on the voltage lines.
Solution The board will eventually powered by a stack of LiFePO4 rechargeable batteries. According to the battery datasheet the batteries have a maximum discharge rate of 25A, which is much closer to the 43.8A required by the motor. It is possible that this problem will not be an issue with the battery powered version of the board.