Pressing the button pulls the converter's control pin high and charges a capacitor. Output from the converter powers MASTER and the RC keeps it powered long enough for Setup () to pull the pin connected to the converter's control pin HIGH. If you look at the circuit, you'll see a diode or two, needed to OR some things and protect from screwed-up wiring, and a transistor to invert button HIGH to interrupt pin LOW for waking from sleep.
AUX and DISPLAY go into sleep, but never actually power down. Their DC-DC converters stay on with an unavoidable 5 mA quiescent current wasted for each. When MASTER turns ON or awakens, it starts sending messages. The sleeping 2551 sees them, its RxD pin changes state and interrupts sleep on the connected CAN board, which then resets the 2151. Is that clearer?
Email with document sent Bernt.
Not quite. AUX actually turns off power to the Roboteq MCU via a reed relay. The quiescent current on the Roboteq is > 100 mA. The reason to turn off MASTER is not to save the 5 mA, but does two things: (1) it makes turning the chair on a slower process, and it actually takes a deliberate push rather than just a tap, so it's less likely to happen inadvertently or with the curious fingers of some toddler, and (2) it forces a reset and startup safety checks of the two critical nodes; MASTER and Roboteq. My accelerometer shock sensor (an older addition to the current chair) also uses start up after power down to know that it's a good moment to recalibrate. Waking from inactivity-sleep is not a good trigger for this as the chair would do that, for example, if Rachi were outside working on her tan in our very rough garden, and the chair could wake up while one wheel was on a large pine tree root.
How is it done in commercial wheel chairs? Are there extra connections in the bus cable of your daughter's wheel chair? (How many contacts has the connector, and do you perhaps have a labelled pin-out for the connector?
By the way, doesn't look the reed controlled full power-down of the Robotec MCU exactly as what is done in Raymarine course computers?
Isn't there a simple way to implement it the same way for all bus nodes?
Resets and reinitialisation can better be initiated by software. If done this way, there is full freedom to do it on every node needed, exactly at the momed needed, for example at power-up, wake-up or after longer stops. And if it's badly implemented you can change mind and recompile without changing the circuit.
The wheelchair user can not do a complete system power-cycle.I repaired once a "Supertrans" wheelchair with a faulty steering direction feedback potentiometer : when steering hard to one side, the potentiometer gave bad values, the system detected and reported the fault to the user. A power-cycle was necessary, before moving again.
This looks too complicated to me.Imagine that you start adding more nodes, complexity will increase further.
void nonMASTER (boolean State)
(As for the design of the circuit, why would you replicate the power switch in every node, when you could implement one central power-switch reacting to the special signalling.
What would happen for example, if you push the button in a way at the limit so that some nodes wake up, and others continue to sleep?)
QuoteWhat would happen for example, if you push the button in a way at the limit so that some nodes wake up, and others continue to sleep?)I'm not sure I understand your question as I assume that you are not suggesting that I run 24V up to the user's module (the one with the ON/OFF button) and then 5v from that to all the other nodes.
I like the idea of putting a CAN presence detection using two resistors between CANL and CANH. (I would suggest using higher values than 2x1k, because when connecting 20 nodes you get cumulated 100 Ohms, which is too small compared to the cabling impedance and termination resistors.)
Do you have the two 1k CAN detection resistors on every node ? Where do you connect the power button ?
Are you able to power-down the DC converter of every node from a button placed on another node ?
How is it possible to power up distant nodes with this detection circuit, when on only not powered CAN transceiver ties the CAN lines to ground, and so impedes the DC converter to switch on ?
And I feel that processor sleep modes, as well as local DC-converter power-down complicate things unnecessarily : when implementing the possibility to have On/Off buttons on any node, then controlling DC/DC converters locally on each node could lead to some nodes switching on and others not.
Sorry, I was always with my idea of shutting 24V switching power on and off from near the battery, by using buttons connected to any node ("wake-up" in my text meaning power-up with cold reset). When power is switched on, 24V reaches every node and a normal power-up is achieved.