Skip to content

KermitIsBack/Windlass-Remote-Chain-Counter-and-SignalK-Feed

 
 

Repository files navigation

Windlass Remote Control with Chain Counter and Signalk Feed

NOTE: As at mid November 2022 the code, pcb link, images etc are the latest version as described below, but I have yet to update the purchasing links Should be done in next week or so.

Credit for the original version of this app goes to AK-Hombergers.

The current version:

  • Is based on a Wemos D1 Mini (ESP8266) reading pulses from a conventional windlass chain sensor with WiFi access to effect control either directly in AP mode or via the boats main wifi in station mode.
  • In AP mode uses mDNS for easy access via a named URL rather than remembering IP addresses
  • Provides a wireless remote windlass control from any phone/tablet with wifi capability giving up/down/stop/chain-length-counter/counter-reset functionality and the ability to enter a preset scope to which the windlass will automatically raise/lower the chain.
  • Provides chain-length to SignalK via a UDP connection
  • Works with 12 volt systems - just requires a single transient suppressor diode to be changed for 24v
  • Will also track chain-length when the windlass is operated by existing controls or when allowed to "free fall"
  • LED ON indicates that the board should be operating the windlass. Off indicates board is in standby
  • Stores current chain length in nonvolatile memory so that length is stored on switch off and restored after powering back up.
  • Demo mode to check correct operation without need for a gypsy sensor present.
  • Detects windlass operation from other existing controls and counts chain for up/down/free fall

Includes various safety features:

  • Safety interlock so that Up/Down will not work if another (existing) control is already operating the windlass.
  • Safety stop to stop "anchor up" a preset number of gypsy revolutions before reaching zero (can be changed in code with SAFETY_STOP).
  • Safety stop if maximum chain length is reached (can be changed with MAX_CHAIN_LENGTH)
  • Safety watchdog timer to stop power after predetermined period of inactivity of client (e.g. due to loss of wifi connection).
  • Safety watchdog timer to detect blocked chain. Windlass stops if no events are detected within predetermined period of activity after up/down command.

To implement you need to

  • Build and install the windlass control board - PCB design available from the link below
  • Configure the code (in Arduino)
    • WLAN type setting WiFiMode_AP_STA to "0" (stand alone access point) or "1" (Client with DHCP for SignalK feed). Note code assumes SignalK server is at 10.10.10.1. Configure to suit your set up. More detail on this below.
    • Configure your wifi SSID and password
    • Calibrate for your sensor (e.g. 0.35 meter per revolution of the gypsy) and the maximum chain length
    • Flash the code to the ESP8266

If working as a standalone Access Point, connect the phone/tablet to the defined network (default SSID is "windlass", password "windlass" - can be changed at lines 23 and 24) and browse to "windlass.local" (can be changed at line 195) If working as WLAN client, browsing to "windlass.local" should still work - although I haven't tested it. If not determine the DHCP IP address using the Arduino Serial Monitor (or other IDE) and start your browser with that IP address.

This should give you a screen as per below on your phone/tablet. A flashing red dot in the title bar indicates connection established with the Wemos.

Picture1

To control the anchor chain relay just press:

  • "Down" for anchor down
  • "Up" for anchor up
  • "Stop" for Stop
  • "Reset" to reset the chain counter to zero
  • Or enter the desired scope and hit "Target Scope" to pay out/pull in to the set length

Picture2

A pcb layout is available in the main folder.

You can order a PCB from Aisler.net: https://aisler.net/p/LRMWVSQR

Board

Parts:

Parts list currently points to largely German suppliers but are generally widely available with the exception of the PCB. If you want to source these elsewhere I can provide the detailed KiCad files.

  • Board Link
  • U1 D1 Mini Link
  • U3 K7805 1000R3L Link
  • C1 10uF 50v can electrolytic (can be reduced to 25v if running on a 12V system)
  • C2 22uF 15v can electrolytic
  • R1 Resistor 5 KOhm (if using 12v you can reduce this to 2.2 Kohm to ensure accurate counting at low battery voltage) Link
  • R2, R3 Resistor 270 Ohm (*2) Link
  • R4, R5 Resistor 10 KOhm (*2) Link
  • Q1, Q2, Q3, Q4 Transistor BC337 (*4) Link
  • D2, D3 Diode 1N4148 (*2) Link
  • D1 Diode 1N4001 Link
  • U2 H11-L1 Link
  • K1, K2 Relay (*2) Link
  • J1, J3, J4 Connector 2-pin (*3) Link

The current design should work for a Quick or Lofrans anchor chain relay and chain sensor (which looks like a simple reed relay triggerd from a magnet). Connection details for a Quick windlass/counter can be found here: https://www.quickitaly.com/resources/downloads_qne-prod/1/CHC1203_IT-EN-FR_REV001A.pdf

The board requires connection to your windlass power supply (12v - for 24v change the transient suppressor diode D4 for circa 29v equivalent - no other configuration necessary), connection to your windlass sensor (polarity of connection does not matter) and connection of the Up and Down relay feeds to the existing Up and Down terminals on the main windlass relay (note: the switching terminals that connect to any existing switch controls - NOT the motor output terminals).

To access via the main boat wifi or to send data to SignalK you need to set up in Station mode. To do that set WiFIMode_AP_STA to 1 at line 21 and define the main boat wifi SSID and Password at lines 23 and 24. Define the signalk server IP and port at lines 25 and 26. In Signalk you muse also define a UDP connection. Go to Server, Connections and define a new connection as per the picture below. Match the port number to the number you used in the .ino code (default is 4210). Once configured ChainLength should appear as a data item within the Data Browser.

UDP connection

The gauge display can be changed to mirror your particular chain length in index_html.h The range is set at lines 133/134 and the coloured zones at line 144

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • C++ 100.0%