thermferm/README

Wed, 12 May 2021 21:17:59 +0200

author
Michiel Broek
date
Wed, 12 May 2021 21:17:59 +0200
changeset 611
732d482f47c8
parent 363
468ec0d96cce
permissions
-rw-r--r--

Improved logging if wiringpi failed.


	1. Introduction.

	2. Hardware.

	3. Raspberry GPIO.

Most of the hardware is connected via the 8 GPIO pins on the 26p connector.
Currently the pins are used or reserved for:

    GPIO0  - out - 433 MHz transmitter module (FS1000A).
    GPIO1  - out - reserved for PWM.
    GPIO2  - out - Frontpanel LED.
    GPIO3  - bus - DHT11 sensor.
    GPIO4  - in  - Frontpanel Key Enter.
    GPIO5  - in  - Frontpanel Key Down.
    GPIO6  - in  - Frontpanel Key Up.
    GPIO7  - bus - 1-Wire bus (Maxim protocol).


	4. Keyed menu.

Using three buttons the device can be controlled. The menu is entered by
pressing the Enter key for 2 seconds. With the up and down keys you can step
through the menu. Press escape to go back, Press enter for 2 seconds to
set the new value.
Escape is press both arrow keys together.
If not in a menu, short touch of the keys activate the LCD display backlight.
The arrow keys select the current item to display.


 General setup

 Top screen
 Units setup   -- Units  --  Select mode
                             Off mode, toggle heater, cooler, fan.
                             Beer/Fridge mode, change temperature.
                             Profile mode -- If OFF, select a profile.
                                             If OFF, allow start profile.
                                             If RUN, allow pause/abort.
                                             If PAUSE, allow resume/abort.
                                             If DONE, allow to go OFF.
 System mode   -- Halt
                  Reboot


                            
	5. Client/Server protocol.


Commands:

ARCHIVE DIR
ARCHIVE LOG filename	(get in LOG format)
ARCHIVE GET filename	(download file)

DEVICE ADD type
DEVICE DEL uuid
DEVICE LIST
DEVICE GET uuid
DEVICE PUT uuid

GLOBAL GET
GLOBAL PUT

LIST
LIST LOG uuid

PING

PROFILE uuid,name
PROFILE ADD name
PROFILE DEL uuid
PROFILE LIST
PROFILE GET uuid
PROFILE PUT uuid
PROFILE GETS uuid
PROFILE PUTS uuid

SIMULATOR ADD name
SIMULATOR DEL uuid
SIMULATOR LIST
SIMULATOR GET uuid
SIMULATOR PUT uuid

UNIT ADD name
UNIT DEL uuid
UNIT LIST
UNIT GET uuid
UNIT PUT uuid



Response codes:

100 Help text follows
101 PONG
201 Information follows
211 Device %s added
211 Device %s deleted
211 Profile %s added
211 Profile %s deleted
211 Unit %s added
211 Unit %s deleted
212 Archive directory follows:
212 Archive file follows:
212 Devices list follows:
212 Fermenter list follows:
212 Logfile list follows:
212 Profiles list follows:
213 Device record follows:
213 Global Settings record follows:
213 Profile record follows:
213 Unit listing follows:
215 Profile steps follow:
219 Accepted Device record
219 Accepted Global record
219 Accepted Profile record
219 Accepted Profile steps
219 Accepted Unit record
403 LCD not available
440 No such device
440 No such file
440 No such profile
440 No such simulator
440 No such unit
441 Maximum simulators reached
500 Unknown command
501 Subcommand missing
502 Parameter missing
503 Parameter error
504 Subcommand error
518 recfrom(): %s



	6. PID adjustments.

* Start with pGain, dGain and iGain set to 0.
* Increase Kp until small oscillation.
* Increase Kd until a little damping.
* Increase Ki after Kp and Kd are set until longterm convergence.

mercurial