add readme
This commit is contained in:
91
README.md
Normal file
91
README.md
Normal file
@@ -0,0 +1,91 @@
|
|||||||
|
# Voron filament dryer
|
||||||
|
|
||||||
|
Arduino Nano firmware for a chamber dryer with four SHT31 humidity/temperature sensors, PID heater control, and PWM fan mixing.
|
||||||
|
|
||||||
|
## Pinout (Arduino Nano)
|
||||||
|
|
||||||
|
All settings below are defined in `include/config.h`.
|
||||||
|
|
||||||
|
| Signal | Nano pin | Notes |
|
||||||
|
|--------|----------|-------|
|
||||||
|
| I2C SDA | A4 | Shared bus (Wire) |
|
||||||
|
| I2C SCL | A5 | Shared bus (Wire) |
|
||||||
|
| TCA9548A mux | I2C `0x70` | 8-channel I2C multiplexer |
|
||||||
|
| SHT31 sensors | Mux channels 2, 3, 4, 5 | One sensor per channel |
|
||||||
|
| SHT31 address | `0x44` | ADDR pin low; use `0x45` if ADDR is high |
|
||||||
|
| Fan | D5 | 24 V fan via N-channel MOSFET (hardware PWM) |
|
||||||
|
| Heater | A2 | Solid-state relay (burst control) |
|
||||||
|
|
||||||
|
USB serial: **115200 baud**.
|
||||||
|
|
||||||
|
## Dev setup
|
||||||
|
|
||||||
|
### PlatformIO
|
||||||
|
|
||||||
|
This repo uses the PlatformIO CLI (see `.vscode/tasks.json`). If PlatformIO is already installed under `~/.platformio/penv/`, use that directly — you do not need to run the web installer again.
|
||||||
|
|
||||||
|
```bash
|
||||||
|
~/.platformio/penv/bin/pio --version
|
||||||
|
~/.platformio/penv/bin/pio run # build
|
||||||
|
~/.platformio/penv/bin/pio run -t upload # flash
|
||||||
|
~/.platformio/penv/bin/pio device monitor # serial monitor
|
||||||
|
```
|
||||||
|
|
||||||
|
On Arch Linux / CachyOS, install via the package manager if you prefer:
|
||||||
|
|
||||||
|
```bash
|
||||||
|
sudo pacman -S platformio
|
||||||
|
```
|
||||||
|
|
||||||
|
If upload cannot find the port, add to `platformio.ini`:
|
||||||
|
|
||||||
|
```ini
|
||||||
|
upload_port = /dev/ttyUSB0 ; or /dev/ttyACM0, or a /dev/serial/by-id/... path
|
||||||
|
monitor_port = /dev/ttyUSB0
|
||||||
|
```
|
||||||
|
|
||||||
|
List available ports:
|
||||||
|
|
||||||
|
```bash
|
||||||
|
ls -la /dev/serial/by-id/
|
||||||
|
```
|
||||||
|
|
||||||
|
### Serial port permissions (Linux)
|
||||||
|
|
||||||
|
| Distribution | Group for serial access |
|
||||||
|
|--------------|-------------------------|
|
||||||
|
| Debian, Ubuntu, Raspberry Pi OS | `dialout` |
|
||||||
|
| Arch Linux, CachyOS | `uucp` |
|
||||||
|
|
||||||
|
```bash
|
||||||
|
# Debian / Ubuntu / Pi
|
||||||
|
sudo usermod -aG dialout $USER
|
||||||
|
|
||||||
|
# Arch / CachyOS
|
||||||
|
sudo usermod -aG uucp $USER
|
||||||
|
```
|
||||||
|
|
||||||
|
Log out and back in after adding your user to the group.
|
||||||
|
|
||||||
|
## First run
|
||||||
|
|
||||||
|
1. Flash firmware and open the serial monitor at 115200 baud.
|
||||||
|
2. Confirm `TCA9548A detected` and four valid sensor channels (`ch2`–`ch5`).
|
||||||
|
3. Run PID autotune once per physical unit (values are stored in EEPROM):
|
||||||
|
|
||||||
|
```
|
||||||
|
target 0
|
||||||
|
autotune 45
|
||||||
|
```
|
||||||
|
|
||||||
|
4. Start drying:
|
||||||
|
|
||||||
|
```
|
||||||
|
target 55
|
||||||
|
```
|
||||||
|
|
||||||
|
Send `help` over serial for all commands (`target`, `fan on/off`, `log on/off`, `status`, `pid`, etc.).
|
||||||
|
|
||||||
|
## Raspberry Pi logging
|
||||||
|
|
||||||
|
Optional CSV capture over USB is documented in [pi-instructions.md](pi-instructions.md).
|
||||||
70
get-platformio.py
Normal file
70
get-platformio.py
Normal file
File diff suppressed because one or more lines are too long
Reference in New Issue
Block a user