Coder Social home page Coder Social logo

shanemmattner / cc3d-cablecam-controller Goto Github PK

View Code? Open in Web Editor NEW

This project forked from wernerdaehn/cc3d-cablecam-controller

0.0 0.0 0.0 81.01 MB

CC3D and STM Cube based CableCam controller

License: Apache License 2.0

C++ 0.21% C 98.50% Assembly 1.29%

cc3d-cablecam-controller's Introduction

LICENSE

CableCam-Controller

A CableCam Controller to allow smooth movements and automatic braking near the end points of the rope.

Goals

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:

  1. 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.
  2. 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.
  3. A speed limiter to protect the CableCam from going too fast and for constant speed travels during filming.
  4. 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.

MCU used is STM32F405RG Board used: Any CC3D Revolution or clone, e.g. the Flip 32 F4 which can be bought at various shops for little money (here?).

See all videos at: https://www.youtube.com/channel/UCTLw_Boy24qAhuygCyIOzyw

Using the CableCam Controller

The Play function

If the stick is pushed full forward, the cablecam will start accelerating with the maximum allowed value instead until the maximum allowed speed is reached. This speed is held until it starts to decelerate with the same acceleration level so that it reaches the end point at zero speed.

Using the speed dial the maximum speed can be configured. And with the accel dial the steepness of the linear acceleration curve.

Speed Ramps

Setup

  1. Flashing the Firmware
  2. Connecting the board to the computer for first tests and settings
  3. Choosing the receiver
    1. SBus
    2. SumPPM
  4. Assigning input channels
  5. Connecting the motor controller (ESC)
    1. Using a servo signal to control the ESC
    2. Using the VESC6 as motor controller
  6. Connecting the position sensor
  7. Limiters
  8. Endpoints
  9. Aux Channel (optional)
  10. Bluetooth (optional)
  11. Play Function (optional)

cc3d-cablecam-controller's People

Contributors

wernerdaehn avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.