Initialisation depot
This commit is contained in:
87
README.md
Normal file
87
README.md
Normal file
@@ -0,0 +1,87 @@
|
||||
# HW 364A ESP8266 DCC Command Station with XpressNet
|
||||
|
||||
This is a minimal HW 364A ESP8266 project for a DCC Command Station using the LM18200 motor driver, now with XpressNet support for communication with throttles and other XpressNet devices.
|
||||
|
||||
|
||||
|
||||
## Structure
|
||||
- `src/main.cpp`: Main application entry point
|
||||
- `src/DCC.cpp` / `src/DCC.h`: DCC signal generation and handling
|
||||
- `src/XpressNet.cpp` / `src/XpressNet.h`: XpressNet protocol interface (stubs)
|
||||
- `src/WiFiManagerHelper.cpp` / `src/WiFiManagerHelper.h`: WiFiManager-based configuration
|
||||
|
||||
|
||||
|
||||
## Getting Started
|
||||
|
||||
1. Open the project in PlatformIO or Arduino IDE.
|
||||
2. Select the HW 364A ESP8266 as your target board.
|
||||
3. Connect the LM18200 and XpressNet bus to the HW 364A ESP8266 as per your hardware setup.
|
||||
4. Build and upload to your HW 364A ESP8266 board.
|
||||
5. On first boot, connect to the WiFi AP named `DCC-CommandStation` to configure your WiFi credentials using the captive portal.
|
||||
|
||||
|
||||
|
||||
|
||||
## Notes
|
||||
- Wire the LM18200 motor driver to the ESP32 according to your motor control and DCC output requirements. Refer to the LM18200 datasheet for correct pinout and power handling.
|
||||
- Use of included display
|
||||
- This is a minimal template. You must implement the DCC signal generation logic for your hardware.
|
||||
- XpressNet protocol functions are provided as stubs for further development.
|
||||
- WiFiManager is used for easy WiFi configuration by the user.
|
||||
|
||||
|
||||
|
||||
## Hardware Compatibility: HW 364A ESP8266
|
||||
|
||||
This project is designed for the HW 364A ESP8266 board. Ensure you select this board in PlatformIO or Arduino IDE for correct pin mapping and features.
|
||||
|
||||
### Connecting the LM18200 Motor Driver
|
||||
|
||||
The LM18200 is used to drive the DCC signal to the track. For RailCom cutout, you must implement a hardware or software cut-off during the RailCom window.
|
||||
|
||||
**Basic Wiring:**
|
||||
- **IN1/IN2:** Connect to ESP8266 GPIOs for DCC signal generation (e.g., GPIO 5 and GPIO 4).
|
||||
- **PWM:** Connect to a PWM-capable GPIO if needed for DCC modulation.
|
||||
- **VCC/GND:** Connect to your power supply and ground.
|
||||
- **OUT1/OUT2:** Connect to the track.
|
||||
- **RailCom Cutout:**
|
||||
- To implement RailCom cutout, use a MOSFET or relay to disconnect the track output during the RailCom window. Control the MOSFET/relay from an ESP8266 GPIO.
|
||||
- Alternatively, use a dedicated circuit to blank the DCC signal during the cutout period.
|
||||
|
||||
**Example RailCom Cutout Circuit:**
|
||||
```
|
||||
ESP8266 GPIO ----> MOSFET Gate
|
||||
MOSFET Drain ----> Track Output
|
||||
MOSFET Source ---> GND
|
||||
```
|
||||
- Set the GPIO HIGH to enable track power, LOW to cut off for RailCom.
|
||||
|
||||
### XpressNet Bus
|
||||
- Connect the XpressNet bus (RS485 or TTL UART) to the ESP8266 UART pins.
|
||||
- Use a level shifter if required for voltage compatibility.
|
||||
|
||||
### Display
|
||||
- Use an I2C OLED display (e.g., SSD1306).
|
||||
- Connect SDA to GPIO 14 (D6), SCL to GPIO 12 (D5) as per sample code.
|
||||
|
||||
---
|
||||
|
||||
## Software Features
|
||||
- DCC signal generation (implement in DCC.cpp)
|
||||
- RailCom cutout support (add cutout logic in DCC routines)
|
||||
- XpressNet protocol (see xpressnet.md for commands and custom extensions)
|
||||
- WiFi configuration via captive portal
|
||||
- Optional XpressNet over IP (WebSocket)
|
||||
|
||||
---
|
||||
|
||||
## References
|
||||
- LM18200 Datasheet
|
||||
- HW 364A ESP8266 Pinout
|
||||
- [RailCom Protocol Overview](https://www.opendcc.de/elektronik/railcom/railcom_e.html)
|
||||
- [XpressNet Protocol](https://www.opendcc.de/elektronik/xpressnet/xpressnet_e.html)
|
||||
|
||||
---
|
||||
|
||||
For further details, see xpressnet.md and source files.
|
||||
Reference in New Issue
Block a user