telemonster
Contributor
I'm making electronics because I want to. This project is also my last course work before getting my Master's degree electrical engineering.
One idea behind the design is using only 1-2 O2 cells per controller/monitor unit. Data between units is shared via CAN bus. If the CAN bus fails you can check individual cells from different units.
Example: Handset computer unit have 1 cell. Led HUD unit have 1 cell. Secondary handset got 1 cell. Total 3 cells but all units can see 3 cells as long as CAN is working.
Share the data, not the cells™
Not trying to poke holes in design, just thinking.... Always find this stuff neat.
Is there a downside to feeding the solenoid values to both controllers, except the failure mode of a flooded controller throwing off the readings and cabling?
Controller 1 fires the solenoid? Immediately goes into alert mode if a keep alive isn't RX'ed from the controller 2 or HUD controller?
Is the control functions and sampling the o2 cells handled by a MCU with a full stack operating system or lighter codebase? Real time? Management plane separate from the control?
Years ago on RBW there was an interesting topic about software compilers that ... do a better job of error handling for critical applications. Like filling unused memory with return instructions that will land things somewhere safe and predictable and what not. But I don't know how accessible those types of compilers are, and for what hardware platforms they exist.