by LROBBINS » 25 Jul 2014, 08:37
Hi Will,
Thanks for checking those voltages. Yours are correct and similar to what I have on my homemade bus. That is, there is roughly equal voltage on both lines. Your Roboteq is a bit lower than my 2.7V, but my 5V is, however, at 5.5 V and your Roboteq is probably somewhat lower, say nearer 4.5. My Roboteq, however, sits at CAN-hi = 2.6V and CAN-lo = 1.45V. There's pretty definitely a fault in my unit, which means I'll be contacting Robots-Italy and asking them to repair or replace it (so I'll see whether they actually balk at applying the European Guarantee of Conformity) and I'll write to Cosmo to ask whether there's the possibility of an in-the-field fix. I could open it up and take a look, but won't do that unless told to do so by Roboteq as that might be enough of an excuse for not honoring the warranty.
As to there being voltage on the CAN pins whether CAN is enabled or not, I'm pretty sure this is normal, or at least Dynamic does the same - the CAN transceiver chip gets power as long as the unit is plugged in, in Dynamic's case even if the controller has been "turned off". My Roboteq does the same, though always with those abnormal voltages. BTW, a 1V or so difference between CAN-hi and CAN-lo is what one should very briefly have when a bit is actually being sent, something you'd would never see with a meter. Seems like my Roboteq is permanently stuck in a "bit dominant" state.
Glad to hear that the newest script seems to be working OK so far and hope that this continues. With this algorithm it should be easier to fine tune and to maintain as other things are changed; the previous one, though it worked, was rather a kludge.
On the current sensors, I'll wait a bit before changing anything in the script. Your (Will's) approach of pushing the limits outside the normal envelope looks like it avoids false stops, but it still means that the chair will be dead in the water if a real sensor fault occurs. It will be easy to simply not motor compensate rather than stop if limits are exceeded, but I can see that user settings for those limits would be needed as different chairs can have (and do have) different sensors. Doing both might be the best idea: set a script band to avoid adding motor compensation to what should be neutral, but make the limits wide enough to avoid false motor compensation drop outs.
I have to take a look at my 100Amp sensors as well. Instead of giving me 2.5V (relative) at 0 current, they are giving me 1.7V and I haven't yet tried to find out why. As they are both the same, I don't think that I over cooked them when soldering. I suspect that the added filter may actually be pulling it down, but haven't checked yet nor even looked at the schematic with this in mind. With the filter, the Roboteq sees only 1 mV noise on one sensor, and 0 mV on the other.
Ciao,
Lenny