add project description
This commit is contained in:
parent
874da97028
commit
ba8ee8489e
|
@ -0,0 +1,35 @@
|
||||||
|
This project is about interfacing a bathroom weight scale with the computer.
|
||||||
|
The goal is to be able to connect the scale to the computer and have it sent the weight it measures.
|
||||||
|
|
||||||
|
The scale used is a Korona KFW-55.
|
||||||
|
This scale was simply around when the project started.
|
||||||
|
|
||||||
|
To connect the scale to the computer a Arduino Nano development board is used.
|
||||||
|
The Atmel ATmega 328P micro-controller is integrated in the scale case.
|
||||||
|
It reads the PWM signal, interprates the weight, and sends it on UART (over USB).
|
||||||
|
|
||||||
|
The scale has a JP1 header on the board.
|
||||||
|
Pin 1 is the one near the switch.
|
||||||
|
The pinout is the following:
|
||||||
|
1. ground
|
||||||
|
2. low
|
||||||
|
3. high on power on
|
||||||
|
4. high on power on
|
||||||
|
5. PWM
|
||||||
|
6. high on power on
|
||||||
|
|
||||||
|
The scale's IC provides a Pulse Width Modulated (PWM) signal.
|
||||||
|
This encodes the weight measures.
|
||||||
|
It's frequency is around 3 Hz (it's not exact).
|
||||||
|
The high and low duty cycle encode the current weight measured.
|
||||||
|
The high duty cycle decreases when the weight increases.
|
||||||
|
The low duty cycle increases when the weight increases.
|
||||||
|
The low duty cycly is linearly proprotional to the weight.
|
||||||
|
It still needs a minimum weight to start measuring correctly.
|
||||||
|
The origin of this linear curve is not at 0.
|
||||||
|
|
||||||
|
The micro-controller code is written in C.
|
||||||
|
It reads the state of the scale usinf pin 3.
|
||||||
|
It reads the weight on the scale using pin 5.
|
||||||
|
By programming the curve parameters in the code it can calculate the weight.
|
||||||
|
These parameters have been experimentally identify, using the measured values in `scale.ods`.
|
Loading…
Reference in New Issue