PMDX Forum
General Category => General Discussion => Topic started by: bru102 on March 27, 2017, 12:10:20 AM
-
ClearPath servos will connect directly to a PMDX controller for step, direction, and enable outputs. The problem is the HLFB signal from the motor is active (on) when a motor is happy, and off when it faults. The /FAULT input on the PMDX 424 (or 416) needs to connected to the isolated ground to indicate a fault, just the opposite of the HLFB output. Steve Stallings suggested possible solutions in this forum last fall... a relay might work, but the ClearPath HLFB is limited to 30v and 9ma, and that is non-inductive. Plus, you've probably got 3 or more HFLB signals to connect to /FAULT. Has anybody done this?
I've been checking out solid-state solutions, and it looks like the TC4404 driver chip might be a good choice. It's an inverting open-drain MOSFET driver, and you get two of them in an 8-pin IC for about $3 from Digikey, Mouser, etc. Two of them plus 4 resistors will handle 4 motors. I haven't tried it yet, but I think the hookup shown below will do the job.
I'd appreciate thoughts from Steve and anybody else on this approach... and any problems with the design.
Ray
-
Thanks for the nice drawing.
The HLFB output is indeed the wrong logic sense and is limited in
current capability. Additionally there may be up to a 0.5 volt drop
across the HLFB terminals while in the ON state. This can cause
problems if you try to put several of them in series.
Your concept is valid, but the TC4404 inputs are rated for only +5 volts
and feeding them with +12 will likely damage them.
A series resistor of 10K ohms may serve to protect these inputs.
Another alternative is this board found on eBay that uses devices
whose inputs are directly 12 volt tolerant. It uses a single MOSFET
per channel which results in the desired logic inversion.
http://www.ebay.com/itm/301575487589?
-
Appreciate the feedback!
Yes, I couldn't figure a simple way to put HLFB's in series with their voltage drop. But I'm thinking that the parallel connection of several 4404 open-drain outputs gets around that.... any single or multiple motor fault will cause the /FAULT input to pull to ground. The paralleled outputs may not show up well... at the top of the diagram.
I checked the 4404 datasheet again, and while it says "TTL/CMOS compatible", I didn't think there is an issue as long as Vin is less that Vdd and the gate is internally diode protected to stay below VDD. (But if there is an issue, your series resistor (voltage divider) could get us down to any desired hi-state gate voltage).
Am I misunderstanding the 4404 data sheet?
-
Your concept of paralleling the outputs of the TC4404 chips is correct.
The datasheet for the TC4404 is confusing. It does not explicitly list
a maximum input voltage. The functional block diagram shows a
zener diode on the input signal, but strangely its polarity as shown
would clamp the input if it went more than about 5 volts BELOW
ground. I assumed that this was a drawing error and that it clamped
if the input went above 5 volts above ground. Perhaps it is actually
correct and the circuit is designed to allow ground bounce of up to
5 volts. Having an input MOSFET that can tolerate up to Vdd would
not be unusual, I just worried about the zener.
-
I went hunting for more data on the 4404. I found a sample circuit on the data sheet that shows the input tied to a 4469 with a 12V output... so it looks like inputs up to Vdd are fine. (Also, the 4469 is an interesting logic/driver choice for HLFB... similar specs to 4404, 4 drivers in one chip, and gated inputs). But I still like your idea of protecting the inputs with a simple voltage divider!
HOWEVER, I just noticed HLFB shows "fault" (i.e. stops conducting) any time a motor is NOT enabled... not just on a real Fault. Wondering if this is OK with the PMDX 424 and Mach4? Maybe enable never gets set because Estop/Fault is set, and we are stuck?? I'm out of my depth here!
If this is a problem, we can use Steve's earlier alternative: make a script, hook HLFB to a normal input, but only look at it when we are running. Or maybe use the AND-gated 4469, and wire it so that FAULT = (ENABLE) AND (NOT HLFB).
-
Sorry but we do not have a Clearpath motor here to test, so I do
not know for sure about the behavior of the HLFB when Enable
is not present. If this is a problem you will need to provide a
way to control the Enable that does not rely on Mach not being
in E-Stop. You could still have your physical E-Stop provide a signal
that removes the Enable signal, or better yet have the physical
E-Stop remove power from the drivers.
-
I've tested and confirmed that ClearPath servos de-assert HLFB on a servo fault or anytime ENABLE is low. That suggests some questions assuming de-asserted HLFB asserts the PMDX /FAULT input.
1. Does the 424 immediately (on-board logic?) disable outputs (including motor enables) on an E-Stop or Fault?
2. Is there a minimum pulse length for E-Stop or Fault (like ~50ms on PMDX 126)?
3. Will Mach4 enter E-Stop after a Fault Assertion?
4. When restarting after E-Stop or Fault, will outputs be re-enabled if Fault is still asserted?
I'm guessing (4) is a "no" and the rest are "yes", and if so I'll need a way to clear the Fault input before attempting to restart Mach. It may require gating HLFB with the motor Enable so Fault is asserted only until Enable drops.
I'd like to open my servo and VFD contactors on a physical E-Stop, but rely just on enables dropping quickly on a servo fault. That allows the servos on-motor LEDs to be checked for an error code, otherwise the fault cause is unknown. Any thoughts here will be appreciated.
-
Please follow the continuation of this thread here:
http://www.pmdx.com/PMDX-Forums/index.php?topic=414.0