I prototyped the bridge and engine room on breadboards, using a smaller motor to stand in for a main rotor motor. I wanted to be careful to set everything up so that when the PWM was high, the motor ran fast, and vice versa. This meant doing a polarity switch across the opto isolator, and another one across the MOSFET or bridge.
Everything worked great on the breadboard. I wasn't prepared to run the multiple amps necessary to spin the main motors through the breadboard, so I waited until I had the PCBs. The engine room PCB has some ultra-beefy traces (something like 100mil) to handle the current.
Safety first: detach the rotors! The bench I am working on doesn't have a lot of clearance, so swinging the rotors around there is not happening.
Now, solder the motor wires to the terminals on the engine room board, solder the battery terminal, plug in the battery, and....
The thing tries to jump off the bench and bite me! I still have scars where the main rotor shaft (with swash plates) clawed into my arm. The tail rotor smashes a glass of water, and I am still picking pieces of it out of my basement.
There's a teensy tiny design flaw: When the Arduino is off, and the motor half of the engine room board is powered, the motors spin at full throttle. This never showed up on the breadboard because I never turned on the motor battery alone. Can't wait for another re-spin of the engine room board, we'll just have to be careful when powering the system up.
No comments:
Post a Comment