No description
- Added session summary for 2026-04-07 - Documented motor star-delta bug fix (#17, #18) - Listed physics validation results - Updated reference docs list - Added Opu4.6 feedback changes to AGENTS.md v2 - Updated next actions |
||
|---|---|---|
| .opencode | ||
| agents | ||
| configs | ||
| docker | ||
| docs | ||
| scripts | ||
| src | ||
| tasks | ||
| tests | ||
| .env.example | ||
| .gitignore | ||
| AGENTS.md | ||
| docker-compose.yml | ||
| forgejo_tools.py | ||
| GIT_WORKFLOW.md | ||
| GOAL.md | ||
| pyproject.toml | ||
| README.md | ||
| requirements.txt | ||
| STATE.md | ||
CCS3200 Compressor Emulator
A software emulator that simulates real industrial air compressors
What Is This?
Industrial factories use large air compressors to power their equipment. These compressors are expensive, loud, and use a lot of energy.
Our software emulator mimics how a real compressor works - same physics, same controls, same responses - but runs on a small computer (Raspberry Pi 5).
Why does this matter?
- Engineers can test control software without expensive hardware
- Factory automation can be developed and validated before deployment
- Training environments can simulate real-world scenarios safely
- Debugging can happen without risking real equipment
What We Built
A complete compressor emulator that includes:
- Physics simulation - Models how air pressure, temperature, and flow behave
- Motor control - Simulates star-delta and variable frequency drives
- State machine - Follows real compressor startup/shutdown sequences
- Industrial protocols - Modbus TCP/RTU for PLC integration
- Web dashboard - Real-time monitoring and control
- Data recording - Historical trends and event logging
Progress
| Milestone | Status |
|---|---|
| Foundation (structure, config, logging) | ✅ Complete |
| Physics Core (tank, motor, compressor models) | ✅ Complete |
| Controller Logic (state machine, alarm handling) | ✅ Complete |
| Industrial Protocols (Modbus TCP/RTU) | ✅ Complete |
| Web API (sensors, control, configuration) | ✅ Complete |
| Data Recording (time-series, events) | ✅ Complete |
| Profile Management (preset configurations) | ✅ Complete |
| Raspberry Pi 5 Deployment | ✅ Deployed |
All 217+ automated tests passing
What's Working Now
- Start/stop compressor with realistic startup sequence
- Monitor tank pressure, oil temperature, motor current, power usage
- Adjust demand (how much air is being used)
- Automatic load/unload based on pressure settings
- Record sensor data over time
- Connect via Modbus from any PLC software
What's Next
Near Term
- Multi-compressor support - Simulate entire factory air networks
- Fault injection - Test how systems handle sensor failures, leaks, overheating
- Weather effects - Temperature and humidity impact on compressor behavior
- Improved dashboard - Better visualizations and controls
Future Ideas
- Energy consumption analysis and optimization
- Predictive maintenance simulation
- Integration with real factory SCADA systems
How To Use
Local Development
docker-compose up
Access at: http://localhost:8302
Production (Raspberry Pi 5)
Running at: http://nazimyildiz.com:8300
API Documentation
http://nazimyildiz.com:8300/docs
Project Team
This project follows the engineering philosophy defined in AGENTS.md.
Core principles:
- Physics accuracy before speed
- Verify everything with tests
- No shortcuts on quality
- Zero tolerance for unknowns
Documentation
AGENTS.md- Project philosophy and standardsdocs/ARCHITECTURE.md- Technical architecturedocs/COMPRESSOR_STATE.md- How the state machine worksdocs/PHYSICS_VALIDATION_TEST_PLAN.md- Physics model verification
License
Internal project - contact authors for details