-
Notifications
You must be signed in to change notification settings - Fork 2
Add dual proportional flow valve configuration support with hardware jumper selection #28
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Changes from 13 commits
446bb39
d6f15a9
514f9ed
a94a930
4efb5dd
97da0f6
536c17a
cb8167b
c33192b
2b536ce
b2e947b
7e18a5a
5db159b
8e6caa0
963682f
File filter
Filter by extension
Conversations
Jump to
Diff view
Diff view
There are no files selected for viewing
| Original file line number | Diff line number | Diff line change | ||||
|---|---|---|---|---|---|---|
| @@ -0,0 +1,258 @@ | ||||||
| # LifeTrac v25 - Flow Valve Configuration Feature | ||||||
|
|
||||||
| ## Overview | ||||||
|
|
||||||
| Added support for two different proportional flow valve configurations to the LifeTrac v25: | ||||||
| - **Option 1 (Default)**: Single valve controls all hydraulics | ||||||
| - **Option 2 (Advanced)**: Dual valves for independent left/right control | ||||||
|
|
||||||
| This feature addresses the need for more advanced maneuvering capabilities while maintaining backward compatibility with existing single valve systems. | ||||||
|
|
||||||
| ## Changes Made | ||||||
|
|
||||||
| ### Code Changes (`arduino_opta_controller/lifetrac_v25_controller.ino`) | ||||||
|
|
||||||
| #### 1. New Pin Definitions | ||||||
| - Added `FLOW_CONTROL_PIN_1` (O2) - Primary flow valve (replaces old FLOW_CONTROL_PIN) | ||||||
| - Added `FLOW_CONTROL_PIN_2` (O3) - Secondary flow valve for dual valve configuration | ||||||
| - Added `FLOW_CONFIG_JUMPER_PIN` (D11) - Jumper detection for configuration selection | ||||||
|
|
||||||
| #### 2. New Configuration System | ||||||
| - Added `FlowValveConfig` enum with `ONE_VALVE` and `TWO_VALVES` modes | ||||||
| - Added `flowConfig` global variable (defaults to `ONE_VALVE`) | ||||||
| - Added `readFlowValveConfig()` function to detect jumper at startup | ||||||
|
|
||||||
| #### 3. Modified Functions | ||||||
|
|
||||||
| **`setup()`:** | ||||||
| - Added initialization of D11 as INPUT_PULLUP for jumper detection | ||||||
| - Added initialization of O3 analog output for second flow valve | ||||||
| - Added call to `readFlowValveConfig()` before mode switch detection | ||||||
|
|
||||||
| **`setFlowControl()`:** | ||||||
| - Complete rewrite to support both configurations | ||||||
| - **Single valve mode**: Uses maximum of all joystick inputs (backward compatible) | ||||||
| - **Dual valve mode**: | ||||||
| - Calculates actual left and right track speeds | ||||||
| - Valve 1 flow based on: left track speed + arms | ||||||
| - Valve 2 flow based on: right track speed + bucket | ||||||
| - Enables independent speed control for advanced maneuvering | ||||||
|
|
||||||
| **`stopAllMovement()`:** | ||||||
| - Updated to stop both flow valves (set both O2 and O3 to 4mA) | ||||||
|
|
||||||
| #### 4. Header Comments | ||||||
| - Updated hardware list to show "1-2x Proportional Flow Control Valves (configurable)" | ||||||
| - Added flow valve configuration documentation to file header | ||||||
|
|
||||||
| ### Documentation Changes | ||||||
|
|
||||||
| #### 1. New Files | ||||||
| - **FLOW_VALVE_CONFIGURATION.md** (12KB): Comprehensive guide covering: | ||||||
| - Hardware configuration and wiring | ||||||
| - Control behavior differences | ||||||
| - Installation instructions for both configurations | ||||||
| - Detailed example scenarios | ||||||
| - Hydraulic circuit modifications | ||||||
| - Additional hardware requirements | ||||||
| - Advantages/disadvantages comparison | ||||||
| - Troubleshooting guide | ||||||
| - Testing procedures | ||||||
| - Safety considerations | ||||||
|
|
||||||
| - **QUICK_REFERENCE_FLOW_VALVES.md** (2KB): Quick reference for: | ||||||
| - Decision guide (which configuration to choose) | ||||||
| - Quick setup steps | ||||||
| - Hardware jumper location diagram | ||||||
| - Quick troubleshooting | ||||||
| - Cost comparison | ||||||
|
|
||||||
| - **CHANGELOG_FLOW_VALVES.md** (this file): Complete change summary | ||||||
|
|
||||||
| #### 2. Updated Files | ||||||
|
|
||||||
| **README.md:** | ||||||
| - Added "Configurable Flow Control" to features list | ||||||
| - Updated hardware BOM to show "1-2x" flow control valves | ||||||
| - Added reference to FLOW_VALVE_CONFIGURATION.md in documentation section | ||||||
|
|
||||||
| **WIRING_DIAGRAM.md:** | ||||||
| - Added D11 to Digital I/O Extension connections table | ||||||
| - Added flow valve configuration jumper logic description | ||||||
| - Split Analog Extension section into two diagrams: | ||||||
| - Single Valve Configuration (default) | ||||||
| - Dual Valve Configuration (jumper installed) | ||||||
| - Added clear indication of which outputs are used in each mode | ||||||
|
|
||||||
| ## Hardware Requirements | ||||||
|
|
||||||
| ### Base Configuration (Single Valve - Default) | ||||||
| - Arduino Opta WiFi | ||||||
| - Arduino Pro Opta Ext D1608S (Digital I/O extension) | ||||||
| - Arduino Pro Opta Ext A0602 (Analog extension) | ||||||
| - 1x Brand Hydraulics EFC Proportional Flow Control Valve | ||||||
| - 1x Burkert 8605 Type 316532 Flow Valve Controller | ||||||
|
|
||||||
| ### Advanced Configuration (Dual Valve) | ||||||
| **Additional hardware needed:** | ||||||
| - 1x Additional Brand Hydraulics EFC Proportional Flow Control Valve | ||||||
| - 1x Additional Burkert 8605 Type 316532 Flow Valve Controller | ||||||
| - Hydraulic flow splitter | ||||||
| - Additional hydraulic distribution manifold | ||||||
| - 1x Jumper wire or 2.54mm jumper (to connect D11 to GND) | ||||||
| - Additional hydraulic hoses and fittings | ||||||
|
|
||||||
| **Estimated additional cost:** $1000-1500 USD | ||||||
|
|
||||||
| ## Configuration Selection | ||||||
|
|
||||||
| ### Default (Single Valve) | ||||||
| - Leave D11 pin disconnected (no jumper) | ||||||
| - System reads D11=HIGH (internal pullup) | ||||||
| - Controller operates in ONE_VALVE mode | ||||||
| - Serial output: "ONE_VALVE (Single valve for all)" | ||||||
|
|
||||||
| ### Advanced (Dual Valve) | ||||||
| - Install jumper connecting D11 to GND | ||||||
|
||||||
| - Install jumper connecting D11 to GND | |
| - Install jumper connecting D11 to 3.3V |
Copilot
AI
Oct 8, 2025
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Duplicate leading pipes create an empty first column in this table. Replace the '||' prefix with a single '|' on each line.
Uh oh!
There was an error while loading. Please reload this page.