Initial commit: add stepper controller firmware
This commit is contained in:
@@ -0,0 +1,42 @@
|
||||
# PS2014 Controller V1
|
||||
|
||||
Firmware fuer einen Wemos D1 mini (ESP8266) und einen 28BYJ-48 mit ULN2003 zur Steuerung der IKEA PS 2014 Lampe.
|
||||
|
||||
## V1-Umfang
|
||||
|
||||
- Nicht-blockierende relative Motorbewegungen mit AccelStepper
|
||||
- Links, rechts, Stop, Not-Aus und 1/5/10 Umdrehungen
|
||||
- WLAN mit persistenten Zugangsdaten und AP-Fallback
|
||||
- Lokale Weboberflaeche in WLAN- und AP-Betrieb
|
||||
- LittleFS-Konfiguration ohne Secrets im Repository
|
||||
- ArduinoOTA und Web-Upload-Grundlage
|
||||
- Optionale Endschalter-Richtungssperre
|
||||
|
||||
MQTT, Home Assistant, WLED, Homing und absolute Positionierung sind bewusst spaeteren Versionen vorbehalten.
|
||||
|
||||
## Hardware
|
||||
|
||||
- Wemos D1 mini / ESP8266
|
||||
- 28BYJ-48, externe 5-V-Versorgung
|
||||
- ULN2003-Treiber, gemeinsame Masse mit dem ESP8266
|
||||
|
||||
Details und Boot-Pin-Hinweise stehen in [HARDWARE.md](HARDWARE.md).
|
||||
|
||||
## Build und Upload
|
||||
|
||||
1. PlatformIO in VS Code installieren.
|
||||
2. Projekt oeffnen.
|
||||
3. `PlatformIO: Build` ausfuehren.
|
||||
4. Seriell mit 115200 Baud verbinden.
|
||||
5. Erstes Flash per USB: `PlatformIO: Upload`.
|
||||
6. Spaeter OTA mit `upload_protocol = espota` und `upload_port = <IP>` ergaenzen.
|
||||
|
||||
Die lokale Umgebung dieses Projekts hatte beim Anlegen kein `pio`-Kommando im PATH; der Build muss daher in der PlatformIO-Erweiterung oder einer PlatformIO-Shell ausgefuehrt werden.
|
||||
|
||||
## Erster Start
|
||||
|
||||
Ohne gespeicherte SSID startet der Controller den AP `PS2014-Setup` mit dem Passwort `ps2014v1` unter `192.168.4.1`. Die Motorsteuerung bleibt dort verfuegbar. Die persistente Datei liegt nur im LittleFS des Controllers und wird nicht ins Git-Repository geschrieben.
|
||||
|
||||
## Sicherheit und Grenzen
|
||||
|
||||
Vor dem ersten mechanischen Test Motor frei laufen lassen und die Drehrichtung pruefen. Die Startwerte fuer Geschwindigkeit und Beschleunigung sind konservativ, aber keine mechanische Freigabe. Endschalter sind standardmaessig deaktiviert. D4/GPIO2 darf wegen des ESP8266-Bootstraps nicht beliebig beschaltet werden.
|
||||
Reference in New Issue
Block a user