My name is Jason Farnam. I am a fourth year mechanical engineering student from UC Santa Barbara. Our senior capstone project is to make a drone that can remotely cut a branch and bring it back to the user.
We have built a relatively lightweight cutting mechanism powered by a DC brushed motor driving a lead screw. For the drone we have recently gotten a 3DR X8+ RTF.
One of the last things we have to do for this project is implement the electronics/controls. Basically we want to drive the motor on the cutting mechanism forwards and backwards remotely using the transmitter.
As MEs we don’t have much experience with this and would appreciate any advice to get us in the right direction.
So there are two aspects to this: powering the motor and controlling it. For powering the motor is the best bet to have a separate battery for the motor? For the controls, I know the pixhawk has auxiliary PWM outputs, how do we map these in software to the switches on the drone? I’m assuming we need some kind of ESC for this, any recommendations?
Sorry for being such a newbie!
Good idea on the leadscrew idea (so it would be like a hydraulic cutter where it drives into the object?), otherwise you'd have newton's 3rd law to contend with. How big is the branch you have to cut, will binds be an issue? Have a read of binds, make sure you wont end up with your cutter getting jammed. What if the cutter gets jammed, have you got a way to disconnect the cutter module remotely?
I'd suggest you use a separate power supply for the cutting components. From a best practice system design perspective its best to keep flight critical components separate from the non critical components.
Below are some suggestions for how to communicate between the two (cutter and FC):
I'd go something simple, maybe use 2 relays from the Pixhawk. One for cutting motor on / off, the other for forwards / reverse. That way you can keep you electronics simple on the cutting component. I'd then use a basic circuit to drive some Solid State Relays (SSR) to operate your cutter.
Another option is to use a PWM output and have say 1500 cutter off, less than 1450 retract and greater than 1550 to drive forwards. You'd need something to read the PWM and then operate the cutter (SSR's again?) - maybe an arduino or something like that - you'll need some SSR's gain to control the leadscrew.
Another option is to implement a custom MAVLINK message and have the GCS operator turn it on and off as required. You'd need something between your cutter and the Pixhawk to read the serial data and interpret - maybe an arduino or something like that - you'll need some SSR's gain to control the leadscrew.
The above options are in order of complexity.
Hope it helps.
As a former ME graduate myself I know how frustrating to solve such kind of thing. Now I became more like EE than ME. Anyway you basically want to control an arm with PX then the best option I can suggest is using servo motors. They don't need ESC or controllers and can drive with PWM signal output from PX.
You can choose servo motors with various torque/size/input voltage combination. Normally they run with 5v but be careful not to power high torque servo directly from PX because it may cut off the voltage out when too much current flow into the servo motor.
The pwm outputs can be triggered by configuring gimbal control from PX. Basically you use your arm as a kind of gimbal.
Rest of the work is how to setup the arm nicely with the servos and that's what ME can do.