Boat Cruise Control

Overview

BCC

Boat Cruise Control

I'm Soaring Skipper and developing a Cruise Control for my RIB boat. After being pulled over by the Water Police twice in one week, while trying to obey the speed limit of 20 kmh, I had enough. Since my RIB likes to speed it does not really like to go relatively slow at exactly 20 kmh, which means I have to constantly watch the speed and ajust. And even then the Police are not satisfied. So I decided to do something about it, so next summer I will be able to relax about the speed on stretches where I may not speed, click in the right speed and enjoy the view.

Existing car cruise controls are unsuitable, because they operate via a pull cable. And once activated the gas pedal returns to starting position. The cruise control has the throttle all to itself and can pull it open as much as needed. In a boat the cable is a stiff push-pull type, and the throttle stays fixed at the position in which you let go of it. So the throttle is also fixed, so a cruise control cannot manipulate it directly.

My solution is to "chop through" the gas cable in the middle, and place a device in between that lengthens or shortens the cable. This is done by stepper motor with a linear movement, driven by a Arduino Mega via a stepper driver TMC 2130.

A GPS signal (U-blox Neo 6M) is used to monitor the speed (SOG). A OLED display (1.3 inch) is used to display SOG, Setspeed and indications for when busy up or down, and warnings.

Three buttons are programmed, Plus, Minus and Stop. There is also an angle sensor on the input cable from the throttle lever. When the lever moves, the CC stops and resets. Just like when the Stop button is pressed. Plus and Minus are the start signal when first pushed. There after the Set Speed will be raised / lowered with 1 khm each press.

Since this CC is used mainly to comply with the widly imposed speed limit of 20 kmh in Holland, it will function between a trolling speed of 5 kmh and 30 kmh. Once the speed is set, only 5 kmh plus or minus is allowed. This is to safeguard that the extra movement this CC is exacting on the throttle cable is not very much. So in case someone decides to slam the trottle, the extra length introduced by the CC won't directly be a mechanical problem, and will be compensated by extra springs in the CC mechanism. So I will allow no more extra throttle cable length than the springs will be able to handle.

Status: Most parts are working, so almost ready with the electronics: Stepper motor, Display, buttons, algorithems seem OK for a first try out. GPS has been attached and works okay itself, but it interferes with the stepper motor? Each time the GPS fix-led blinks the stepper motor stops for about a second!?

Issues
  • GPS causes stepper motor to go intermittend

    GPS causes stepper motor to go intermittend

    Whenever the GPS is connected to the Arduino, the stepper motor will pause its motion for about a second as soon as the fix led on the GPS blinks.

    opened by SoaringSkipper 1
  • Stepper motor moves to endstop during resets. This causes throttle increases during resets.

    Stepper motor moves to endstop during resets. This causes throttle increases during resets.

    At this moment the reset (whenever the program is started or Stop is pressed) involves the linear stepper motor to go to the end, until it reaches a micro switch. Directly thereafter it goes the other way for a set distance. It's now in the middle position, from where it can plus or minus speed.

    Problem is that when resetting and going to the end, the throttle cable will also pull on the throttle, giving extra gas. So when disengaging the CC, there will be increase in motor power for a few seconds, before decreading again. This is unacceptable.

    The CC must nog go to the end position anymore, but must reset directly to the middle position.

    opened by SoaringSkipper 0
Control Hörmann doors drives directly via MQTT from Home Assistant

hoermann_door Control Hörmann doors drives directly via MQTT from Home Assistant

null 37 Dec 6, 2021
Light and fast program for remote control of a computer.

DeskX - Remote control program About The project was created for its own use within the home local network (you can use DeskX over the internet using

DeskX 71 Nov 8, 2021
Control Heidelberg Wallbox Energy Control over WiFi using ESP8266 and configure your own local load management

< scroll down for English version and additional information > wbec WLAN-Anbindung der Heidelberg WallBox Energy Control über ESP8266 Die Heidelberg W

null 45 Nov 30, 2021
Bobby Cooke 232 Dec 6, 2021
Harsh Badwaik 1 Oct 21, 2021
log4cplus is a simple to use C++ logging API providing thread-safe, flexible, and arbitrarily granular control over log management and configuration. It is modelled after the Java log4j API.

% log4cplus README Short Description log4cplus is a simple to use C++17 logging API providing thread--safe, flexible, and arbitrarily granular control

null 1.2k Nov 29, 2021
Samsung Washing Machine replacing OS control unit

hacksung Samsung Washing Machine WS1702 replacing OS control unit More info at https://www.hackster.io/roni-bandini/dead-washing-machine-returns-to-li

null 21 Nov 27, 2021
Retro coding in C/C++ in a 3D template with full low-level control.

BRIEF INFO ON THE 2021 WORLD TEMPLATE Project website: https://jacco.ompf2.com/voxel-world-template/ Purpose: This template has been designed to make

Jacco Bikker 107 Nov 27, 2021
A push-button control panel for Zoom

Zoom Control Panel A push-button control panel for Zoom This repo contains files for building a push-button control panel for Zoom.

Elena Long 48 Nov 22, 2021
Yet another alarm (control) panel for Home Assistant.

HASS-YAAP Yet another alarm (control) panel for Home Assistant. Change alarm system mode (away, home, night, disarmed) Welcome people arriving by thei

Paul-Vincent Roll 48 Dec 4, 2021
ESPHome component for Ikea Idasen desk control

This component creates a bluetooth bridge for an Ikea Idasen desk that uses a Linak controller with ESPHome and an ESP32 device. Cover integration Lin

Julien 75 Dec 4, 2021
Robust multi-prompt delimited control and effect handlers in C/C++

libmprompt Note: The library is under development and not yet complete. This library should not be used in production code. Latest release: v0.2, 2021

Koka Language and Related Tools 66 Nov 27, 2021
Control Hörmann doors drives directly via MQTT from Home Assistant

hoermann_door Control Hörmann doors drives directly via MQTT from Home Assistant

null 37 Dec 6, 2021
Control your mouse using razer synapse

rzctl Control your mouse using razer synapse Compile in x64 Not tested for x86 Credits Process Hacker - https://github.com/processhacker/processhacker

null 29 Nov 20, 2021
Remote control for your QMK-powered keyboard

QMK RC QMK RC is a project that aims to bring the same convenience to controlling your QMK keyboard from your computer, as QMK did to programming keyb

Maciej Małecki 35 Dec 1, 2021
ESP32 firmware to read and control EMS and Heatronic compatible equipment such as boilers, thermostats, solar modules, and heat pumps

EMS-ESP is an open-source firmware for the Espressif ESP8266 and ESP32 microcontroller that communicates with EMS (Energy Management System) based equipment from manufacturers like Bosch, Buderus, Nefit, Junkers, Worcester and Sieger.

EMS-ESP 75 Dec 5, 2021
layer to control the global priority of any vulkan application

vk-force-priority vk-force-priority allows you to control the global priority of any vulkan application. Building from Source Dependencies Before buil

Georg Lehmann 5 Sep 2, 2021
Control connected devices with the wave of a finger.

FUI (Finger User Interface) is a part of the TensorFlow Lite for Microcontroller Experiments, a collection of open source, interactive projects designed to demonstrate some fun ways to combine Arduino and TensorFlow Lite for Microcontrollers.

Google Creative Lab 30 Nov 12, 2021
A Gaggia Classic temperatue control project using arduino hw.

gaggiuino WIP UPDATE: I have taken photos and started editing them preparing the whole step by step guide, soon ( i'm thinking next week ) it should b

mr.toor 106 Nov 24, 2021
Linux kernel module for Onion Omega2 to control WS2811/WS2812 LEDs

omega2-ws2811-lkm Linux kernel module for Onion Omega2 to control WS2811/WS2812 LEDs. It's using a bit-banging, so you can use any GPIO pin. Also, it

Alexey 'Cluster' Avdyukhin 11 Dec 2, 2021
AI4Animation: Deep Learning, Character Animation, Control

This project explores the opportunities of deep learning for character animation and control as part of my Ph.D. research at the University of Edinburgh in the School of Informatics, supervised by Taku Komura. Over the last couple years, this project has become a modular and stable framework for data-driven character animation, including data processing, network training and runtime control, developed in Unity3D / Tensorflow / PyTorch.

Sebastian Starke 4.7k Nov 30, 2021
AnalogWrite for ESP32 and ESP32-S2 with LEDC PWM. Includes PWM Phase Control, DAC and Smart GPIO resource management.

analogWrite() ESP32 Installation Instructions This library was tested using using the ESP32 Arduino IDE Boards Manager installation method. Stable rel

null 14 Nov 15, 2021
TinyRemoteXL - 12-Button IR Remote Control based on ATtiny13A

TinyRemoteXL is a 12-button IR remote control based on an ATtiny13A powered by a CR2032 or LIR2032 coin cell battery.

Stefan Wagner 25 Nov 27, 2021
Optimal Control for Switched Systems

OCS2 Toolbox Summary OCS2 is a C++ toolbox tailored for Optimal Control for Switched Systems (OCS2). The toolbox provides an efficient implementation

Robotic Systems Lab - Legged Robotics at ETH Zürich 84 Dec 3, 2021
A project to control Petoi Bittle using human pose

Petoi Bittle Controlled by Pose A project to control Petoi Bittle by human pose Human pose is estimated using MoveNet and TensorFlow Lite YouTube Syst

iwatake 10 Jul 18, 2021
Violent Fungus is a command and control (C2) software suite, providing red teams post-exploitation persistence and other juicy stuff.

Violent Fungus is a command and control (C2) software suite, providing red teams post-exploitation persistence and other juicy stuff.

Chris Humphries 27 Nov 5, 2021
control any electrical device.

let's build something together ?? You get: ?? Requirements: arduino IDE bread board NodeMcu8266 cp2102 1Chanel 5v relay Female female 20cm jumper wire

Milad Dehghan 13 Aug 19, 2021
Code and schematics for a mind control device.

mind_control Code and schematics for a mind control device (using Galvanice Vestibular Stimulation) described in this Video Printed Circuit Board avai

Gene Ruebsamen 18 Sep 16, 2021
The official implementation of the research paper "DAG Amendment for Inverse Control of Parametric Shapes"

DAG Amendment for Inverse Control of Parametric Shapes This repository is the official Blender implementation of the paper "DAG Amendment for Inverse

Elie Michel 136 Nov 16, 2021