Skip to content

Latest commit

 

History

History
138 lines (94 loc) · 7.65 KB

README.md

File metadata and controls

138 lines (94 loc) · 7.65 KB

Smart lashing

In this project, we will investigate how to detect the lashing of a container or other object onboard a ship. The goal is to detect whether the lashing is done correctly or not, as well as to ensure that the lashing does not slack or come loose during a voyage.

Sensor proposal

Here's the information with the description text removed:

Here's the table with the new column added for quantity:

Sensor Quantity Price Shop Datasheet
RS PRO Load Cell, 300kg Range, Compression, Tension Measure 1 ~€160 Shop Datasheet
Load Cell 300 kg for tension and compression. IP68. Stainless. 1 ~€298 Shop Datasheet
Articulated rod-end ball joint for S-load cell M12x1,75 2 ~€28 Shop Datasheet
HX711 (load cell amplifier) 1 ~€12 Shop Datasheet
Total 5 ~€526

How load cells work

A load cell is a transducer that converts mechanical force into an electrical signal. This signal is typically very small and requires amplification to be useful. Load cells are commonly used in weighing applications and can measure various types of force, including tension, compression, and pressure.

How Load Cells Output Data

Load cells usually contain strain gauges arranged in a Wheatstone bridge configuration. When force is applied, the strain gauges deform, causing a change in electrical resistance. This change is converted into a small analog voltage, which is then amplified and can be read as a digital value representing the force or weight.

Common Cable Colors and Their Outputs

The typical color coding for load cell wires is as follows:

  • Red: Excitation+ (E+) or VCC
  • Black: Excitation- (E-) or GND
  • White: Output- (O-), Signal- (S-), or Amplifier- (A-)
  • Green: Output+ (O+), Signal+ (S+), or Amplifier+ (A+)
  • Yellow: Optional ground for shielding against electromagnetic interference (EMI) [2][3][4].

Implementation

To read data from a load cell using an ESP32, you will need additional hardware to amplify and convert the load cell's small analog signal into a digital signal that the ESP32 can read. Here’s a step-by-step guide on how to achieve this:

Required Components

  1. Load Cell: This is the sensor that measures the force or weight.
  2. HX711 Load Cell Amplifier: This module amplifies the small signal from the load cell and converts it to a digital signal.
  3. ESP32: A microcontroller with built-in Wi-Fi and Bluetooth capabilities.

Wiring the Components

  1. Connect the Load Cell to the HX711 Amplifier:

    • Red (E+): Connect to E+ on the HX711.
    • Black (E-): Connect to E- on the HX711.
    • White (A-): Connect to A- on the HX711.
    • Green (A+): Connect to A+ on the HX711.

    These connections are standard for most load cells, but always check the datasheet for your specific load cell to confirm the wiring[5][6][15].

  2. Connect the HX711 to the ESP32:

    • VCC: Connect to the 3.3V pin on the ESP32.
    • GND: Connect to a GND pin on the ESP32.
    • DT (Data): Connect to a GPIO pin on the ESP32 (e.g., GPIO 16).
    • SCK (Clock): Connect to another GPIO pin on the ESP32 (e.g., GPIO 4).

Software Setup

  1. Install the HX711 Library:

    • Open the Arduino IDE.
    • Go to Sketch > Include Library > Manage Libraries.
    • Search for "HX711" and install the library by Bogdan Necula.
  2. Write the Code: Here is a simple example code to read data from the load cell using the HX711 and ESP32:

/*
 Example using the SparkFun HX711 breakout board with a scale
 By: Nathan Seidle
 SparkFun Electronics
 Date: November 19th, 2014
 License: This code is public domain but you buy me a beer if you use this and we meet someday (Beerware license).

 This example demonstrates basic scale output. See the calibration sketch to get the calibration_factor for your
 specific load cell setup.

 This example code uses bogde's excellent library: https://github.com/bogde/HX711
 bogde's library is released under a GNU GENERAL PUBLIC LICENSE

 The HX711 does one thing well: read load cells. The breakout board is compatible with any wheat-stone bridge
 based load cell which should allow a user to measure everything from a few grams to tens of tons.

 Arduino pin 2 -> HX711 CLK
 3 -> DAT
 5V -> VCC
 GND -> GND

 The HX711 board can be powered from 2.7V to 5V so the Arduino 5V power should be fine.

*/

#include "HX711.h" //This library can be obtained here http://librarymanager/All#Avia_HX711

#define calibration_factor -7050.0 //This value is obtained using the SparkFun_HX711_Calibration sketch

#define LOADCELL_DOUT_PIN  3
#define LOADCELL_SCK_PIN  2

HX711 scale;

void setup() {
  Serial.begin(9600);
  Serial.println("HX711 scale demo");

  scale.begin(LOADCELL_DOUT_PIN, LOADCELL_SCK_PIN);
  scale.set_scale(calibration_factor); //This value is obtained by using the SparkFun_HX711_Calibration sketch
  scale.tare();	//Assuming there is no weight on the scale at start up, reset the scale to 0

  Serial.println("Readings:");
}

void loop() {
  Serial.print("Reading: ");
  Serial.print(scale.get_units(), 1); //scale.get_units() returns a float
  Serial.print(" lbs"); //You can change this to kg but you'll need to refactor the calibration_factor
  Serial.println();
}

Calibration

  1. Calibrate the Load Cell:
    • Run the calibration sketch provided in the HX711 library examples.
    • Place a known weight on the load cell and adjust the calibration factor until the output matches the known weight.

Additional Considerations

  • Power Supply: Ensure that the ESP32 and HX711 are properly powered. The HX711 typically operates at 3.3V, which is compatible with the ESP32.
  • Noise Reduction: Use shielded cables and proper grounding to minimize noise in the signal.