A n00bs endeavour: Integrating a non-CJ125 WBO2 controller
Posted: Thu Dec 03, 2020 4:22 pm
Hi!
I've already designed my own hardware based on the Proteus schematics, and done some bench-testing before installation in my vehicle:
Original project thread:
https://rusefi.com/forum/viewtopic.php?f=2&t=1820
Hardware demo:
During the planning stage, I decided to implement my own standalone LSU WBO2 controller that I've been running for years on a range of prior ECU designs. The circuit was implemented such that I initially could attach one of my stand-alone units as a stand-off board, containing the small Microchip MCU that takes care of the closed-loop heater control and the linear 0-5V output connected to one of the analog inputs on the ECU PCB
(See attached "tmbryhn_WBO2" schematic). I simultaneously futureproofed the design based on the idea of directly implementing the heater control and Pump_I reading functions into the RusEFi source code, thus eliminating the need for a separate MCU, resulting in a more integrated solution.
(See "WBO2_RusEFi-ECU" schematic).
Relevant doc:
Goals:
I'd like to give something back to the community by sharing some of my prior tried and tested solutions. The CJ125 seem like a somewhat tricky part to obtain, so an alternative route might be beneficial to those who'd like to implement an on-board WBO2 controller on future designs.
I'm strictly self taught on C programming, and my prior coding experience is more or less limited to the development of the WBO2 controller and a dual channel DBW module - both currently serving as functional units in my car.
I've got ChibiOS + Eclipse up and running, and have just started to look into the RusEFi source code. Seems a bit daunting at the moment, but hopefully it'll start to make sense as I continue with the familiarization.
I'd like to make this particular implementation a learning experience, while other fresh coders still on the fence also might benefit from observing form a fellow novices point of view in order to get a nudge in the right direction. I'd therefore also like for this thread to be open for more generic coding related questions. If such a thread already exist, please leave a link.
All tips on where to get started on the code or relevant info is of course welcomed, and if some of the more experienced contributors would like to get started on this particular firmware implementation, please go ahead
I've already designed my own hardware based on the Proteus schematics, and done some bench-testing before installation in my vehicle:
Original project thread:
https://rusefi.com/forum/viewtopic.php?f=2&t=1820
Hardware demo:
During the planning stage, I decided to implement my own standalone LSU WBO2 controller that I've been running for years on a range of prior ECU designs. The circuit was implemented such that I initially could attach one of my stand-alone units as a stand-off board, containing the small Microchip MCU that takes care of the closed-loop heater control and the linear 0-5V output connected to one of the analog inputs on the ECU PCB
(See attached "tmbryhn_WBO2" schematic). I simultaneously futureproofed the design based on the idea of directly implementing the heater control and Pump_I reading functions into the RusEFi source code, thus eliminating the need for a separate MCU, resulting in a more integrated solution.
(See "WBO2_RusEFi-ECU" schematic).
Relevant doc:
Goals:
I'd like to give something back to the community by sharing some of my prior tried and tested solutions. The CJ125 seem like a somewhat tricky part to obtain, so an alternative route might be beneficial to those who'd like to implement an on-board WBO2 controller on future designs.
I'm strictly self taught on C programming, and my prior coding experience is more or less limited to the development of the WBO2 controller and a dual channel DBW module - both currently serving as functional units in my car.
I've got ChibiOS + Eclipse up and running, and have just started to look into the RusEFi source code. Seems a bit daunting at the moment, but hopefully it'll start to make sense as I continue with the familiarization.
I'd like to make this particular implementation a learning experience, while other fresh coders still on the fence also might benefit from observing form a fellow novices point of view in order to get a nudge in the right direction. I'd therefore also like for this thread to be open for more generic coding related questions. If such a thread already exist, please leave a link.
All tips on where to get started on the code or relevant info is of course welcomed, and if some of the more experienced contributors would like to get started on this particular firmware implementation, please go ahead