About this project :
A CableCam is a motorized dolly for video productions. Something like a remote controlled car driving on a rope back and forth.
To get smooth movements, the acceleration should be constant and limited and it should stay within the end points at all times.
Type : Started with STMCubeMX templates, heavily customizing them and adding the logic and interfaces. HAL based.
Progress : completed
Difficulty : Intermediate
License : Apache License 2.0
Things used in this project
The most simple way to control a cablecam is by connecting the RC receiver to the motor controller (=ESC, electronic speed controller) and control it like a RC car. But this has multiple limitations this CableCam Controller tries to solve:
- The CableCam might crash into the start- or endpoint by accident. Would be much nicer if the CableCam calculates the required braking distance constantly and does engage the brake automatically. This way it stops no matter of the user input.
- A smooth acceleration/deceleration makes the videos look more cinematic. Even when the stick is pushed forward at once, the CableCam should accelerate slowly instead of the wheel spinning damaging the rope.
- A speed limiter to protect the CableCam from going too fast and for constant speed travels during filming.
- Preprogram movement patterns and the Cablecam repeats them on request.
To achieve that, the CableCam controller sits between the receiver and the motor controller and acts as a governour of the receiver input. If, for example, the user did push the stick forward from neutral to max within a second, the CableCam Controller rather increases the stick position slowly. For speed and positional input the controller is connected to two hall sensors on one of the running wheels.
See all videos at: https://www.youtube.com/channel/UCTLw_Boy24qAhuygCyIOzyw