Denso Window Motors, Warning - Don't use with Jaguars !

Important warning to FRC teams.

During this year’s 2010 competition at the DC regional we were struggling to solve an intermittent problem with our arm. The arm is powered with one of the Denso window motors that came in this years KOP. This motor used a Jaguar controller, commanded with a joystick. We initially suspected an electrical problem, but the symptoms were mechanical also.

What happens is that the motor will occasionally simply fail to respond to the controls. When the motor fails to respond, there is a voltage present on the input to the motor. We [well, our students with young ears] could hear a high-pitched sound from the motor as further indication that it was being powered. There was no mechanical interference, yet we found that there was sort of a mechanical hysteresis taking place. If the arm was commanded to go down, but was unresponsive, we could gently push it up with our finger and that would cause it to properly drive down in response to the command. Likewise, if the arm was commanded to go up, but became unresponsive, we could nudge it down and it would respond by driving up as commanded. We tried a spare motor, but if anything it was worse with the replacement motor.

After the competition, we took the arm back to the shop, and were able to re-create the problem by connecting it to another robot. We looked at the output of the Jaguar on a scope both when in this frozen state and not. The Jaguar outputs a pulse-width modulated waveform that toggles between -12V and +12V. The frequency of the PWM waveform is around 15 KHz (hence the audible tone). When the arm entered this frozen state, the output waveform stopped toggling altogether and went to some intermediate voltage with a small amount of 15 KHz superimposed.

This is not a fluke due to a bad Jaguar or a bad motor because we saw it with 2 different motors and 2 different Jaguars. Once we observed the failure in the shop, we substituted a Victor speed controller, and everything then worked perfectly. The Victor has an output waveform that’s very different than the Jaguar. Instead of toggling between +12 and -12, it toggles between +12 and zero (one direction), and between -12 and zero for the other direction. More importantly, it operates at around 117 Hz instead of 15 KHz. It is our belief that there is something about the Jaguar that is not unconditionally stable. The particular combination of the Denso motor and the Jaguar seems to be unstable. We are guessing that the impedance presented by the Denso motor at 15 KHz causes the Jaguar output to become unstable. Nudging the motor a little affected the instability allowing it to recover for a bit.

One final observation - we were not able to get the motor to fail by simply commanding it on and off. By using the joystick to vary the speed up and down, forward and backward, it would fail readily. If you are not varying the speed and just want forward / reverse on / off, you [might] be OK.

Note: Both of the Jaguars we tried are the older brown ones. We have not tried this on one of the newer black ones. Our advice is to NOT use a Jaguar to power a Denso window motor. If I get a chance, I may measure the impedance of the motor to see if there is some kind of a resonance near the 15 KHz Jaguar frequency.

This problem can be quite elusive as it behaves as though you have a loose connection or similar.

If I have a chance to check the motor impedance characteristics, I will post a follow-up

Wow, I’m glad our four Window motors were powered by spikes. I’d be interested to hear why this problem happens.

Interesting. We had a similar problem with our swerve drive, as we used 4 window motors for the steering control. However, we noticed that our battery was going down to about 7 volts when the motors started failing, so we figured that was the problem.

Replacing the battery seemed to solve our issues. I’ve heard that the cRIO disables all motor outputs when it falls below a certain cutoff voltage. Could that be the case here?

We are running 3 Denso’s off of 3 Black Jaguars on CAN, and have had absolutely no problems with them.

We are using all victors this year because of space constrains and have had the same problems with the window motors. I think that there is a internal circuit over load device in the window motors that is the problem. The problem occurs for us when the motor gets hot.

the Denso motors have an internal heat breaker. if the motor gets too hot it will shut itself down for a while to cool down.

The thermal breaker trips before the motor gets very hot at all. In cars, the motors are designed to stall when they reach the end of their motion as their controls do not turn them off when they reach the end stops. They could be at stall infinitely, so they will turn off and stay off for a while.


As alluded to by several people, the window motors have a positive temperature coefficient (PTC) resistor in series with the motor windings.

The motor was designed for moving a window up and down and the PTC is designed to keep your son from decapitating his little sister. Since a window is not a variable speed device, the PTC is designed to sense a motor stall. The PTC increases its resistance as it gets hot which causes the current to diminish reducing the power of the motor…

While it is possible that the switching frequency of the Jaguar causes more heating than a Victor, it is far more likely that the problem is how it is being used.

When operated at “full on” and “stop”, you are likely at a good efficiency point on the motor torque curve. This is why a properly designed system using a spike has no problems.

However, at variable speeds, the Jag (or Vic) accomplishes speed reduction via reducing the voltage. For the same torque at lower speeds, you end up off the optimum efficiency point of the curve and motor heating results.

So the motor heat adds to the heat that the PTC uses to detect a stall and it cuts back the current giving you exactly the symptoms you have described.

Therefore, the problem is not in the Jaguar but in the use of the motor.



Mike (and all):

I do not believe this problem has anything to do with the application and/or the PTC in the window motor as evidenced by several things…

First, switching to a Victor has completely eliminated the problem. If it were application / heating, this would be no different with a victor or a Jag. Second, the output of the Jag went brain-dead when the motor was mis-behaving. It was no longer switching as observed on a scope. Finally, we are using the motor on a very intermittant basis. It hardly gets warm to the touch. Yes, the PTC may be intended to react quickly (ie: Junior’s arm in the window), but our problems have not occurred after a period of use, but rather after a period where it has been idle (when we first try to deploy the arm after being idle for the whole match).

I can capture a scope plot or-two to illustrate the erroneous output waveform when in it’s bad mode.



I just re-read your original post and agree with you. My apologies for going off on a tangent…

You may wish to get a Luminary Micro applications engineer in the loop of your investigation…



Postscript: Let us know what they say…

In addition to PTCs automotive motors often have EMC/EMI suppression circuitry intended to keep radios from buzzing etc.

Is it possible that this EMC/EMI suppression circuit that has a resonance with the PWM frequency of the Jaguar?

It could happen that some oscillation is building up due to resonance and the Jaguar is either getting freaked out by it or it is detecting this and shutting down of its own accord.

No data, but a guess at what could be causing this strange behavior.

Joe J.


I just took a very crude look at the motor impedance. I realize the “small signal” impedance will differ from the dynamic impedance with real loads / drive levels, but this was just a simple look with a signal generator and a scope.

The DC resistance is around 2 ohms. The signal generator test showed a flat 4.5 ohms from around 100 Hz, up through 1 KHz. Above this, the impedance increases kind of linearly. It’s about 40 ohms at the 15 KHz switching rate of the Jag. Beyond this, there is what appears to be a parallel resonance with the impedance peaking to 200 ohms at 90 KHz.

I wonder if a “filter capacitor” would help this?

Is Luminary still the right POC, or is it now through TI somehow? It’s academic at this point, we are changing to the Victor, but an interesting question nontheless.


Both the Jaguar and Victor switch the same way. There is no -12 volt output. Both simply connect the negative lead of the power supply to one or the other of the output leads as direction command dictates. The switching on the Victors is speced as 120 Hz while the Jags are speced at 15kHz. If you were reading a very small amount of 15kHz energy when the motor was not turning but your finger helping the motor returned output to normal I think you have another problem. I will bet a buck that in both motors you have one shorted winding. Every once in a while, the motor gets on the shorted winding and shorts the output. (or the motor is resting on a good winding next to the shorted winding) Your conveniently placed finger moves the motor armature to the next segment and the motor starts to spin on it’s own because the motor is able to rotate past the dead winding. Herein lies the rub, the jags have a current sense that holds down the output in the event of a high current or a short. If the short lasts for a certain length of time, the Jag goes into fault condition and turns the LED to red while disabling the output for 3-4 seconds. You may have also noted that the Jag always has a small pulse added to the output even when at full throttle. This is required because the charge pump used to turn on the FET gates needs to be charged. As Mike and others have discussed, the PTC is in series with the motor but no filtering for RFI is shown in the documents. Additionally, please check that the motor does not have a short to case. If so, you may have a sneak path through other devices (most notably the Crio and camera) that are interfering as well.
As to why the Victors always work, I suspect that you just haven’t tried enough tests yet. There is very little reason for a Victor to work in this application when a Jag does not. Although the inductance of some KOP motors is high enough to change the output waveform of the Jag, the impedance/inductance of the window motor should be small in comparison.
The singing your students hear is the laminations in the motor moving at 15kHz.


The Victors and the Jags do not switch the same way… Yes, this is a single +12V system, but when you observe the motor voltage (line to line), it is bipolar because the H-bridge reverses the polarity as you state. What I was referring to is the observation that the Victors are switching between zero and +12 when any forward command is given, and zero and -12 when any reverse command is given. Another way to put it — When the motor is commanded to stop, a Victor will park it’s output at zero volts (does not connect to either forward or reverse). The Jag (as I observed it) was operating with a 50% duty, toggling at 15 KHz between +12 (fwd), and -12 (rev). This was a little surprising to me, but it does yield a net zero volt average. Perhaps there is a setting that can be programmed to make it work differently, but we have never changed anything from the factory defaults.

Regarding the shorted winding theory, the likelyhood of two motors having a shorted winding is not great. Also, you would have to experience what it feels like when “nudging” the motor, but I don’t believe we can turn the armature at all. The ratio of the worm gear makes it so this thing just cannot be back-driven from it’s output shaft (after all, you don’t want your window falling down and having Junior fall out while driving down the road!).


I have ask …Are you using CAN? What you describe (50% FWD/REV) is an electronic technique for holding a motor stationary. Effectively it is a brake unlike the short that “brake mode” puts across the motor. According to my documentation this mode is only available in the Jaguar with the CAN bus implementation. (New and improved Jaguars may have this built in, I don’t have the latest docs for new Jags) It is capable of being generated externally under software control but you would know if you had programmed it in your software. As you describe it, this mode would emit a high frequency squeal from the motor. Are you using feedback from the arm for position?

I agree that two motors having shorted windings is rare but it does happen. Although the window motor has the worm drive, moving an arm is likely to rotate the motor just a little. That is all it would take to get you to cross a segment boundary. I have not disassembled one of these motors in a while so I can’t remember how many poles the motor has. Have you measured the free speed? With a shorted winding, it should be vastly lower than the stated free speed, 89 RPM I think.

Tom, what you are saying is that power is flowing at a 50% duty cycle throught the motor when it is at a zero speed command?

Why would they have power flowing at zero speed? Have you measured the current? Wouldn’t this cause the motor to heat up over time?

Yes, the motor is in stall 100% of the time. It is unclear how this might cause the effect described.

I would think that the above would likely trip the PTC?

The PTC changes resistance with temperature internal to the motor. It is usually a rapid change similar to a switch but I have no data on the PTC.


We are not using CAN. The test bed is our 2009 robot connected to our new arm. There is no feedback of any kind. Just a simple mapping of a joystick position to the Jaguar (or Victor). I have not “measured” the free-running speed, but it “looks” like it’s faster than 1 RPS, so I could believe 89 RPM.

The motor does not get hot (or even warm) when idling with no commanded drive. When it is in it’s “stuck” state, if we continue to assert drive, then it becomes warm.

I’m pretty sure we do not get the high-pitch sound until we try to assert drive authority (of course, I can’t hear it anyway, only the students).

I am not a motor guy, but with PWM control like this, doesn’t the motor respond only to the average value of the input? When the input to the motor is 50% fwd, 50% reverse, the average voltage is zero, therefore there is no average current, and hence it does not draw any current or heat up. It will not brake because there is no net current to cause the braking. The impedance (inductance) of the windings will not allow the current to change at anywhere near the rate of the 15 kHz switching. The motor is not “stalled”, but rather it has no net current flow even though the voltage is toggling wildly. Well, there may be some dynamic power dissipation 1/2 CV^2 or some such, but certainly nowhere near what you are thinking as “stall current”???

Do I have this all messed up?

You are making me doubt my memory… I need to go back just to double-check what I believe to be an idle condition with the 50% square wave +/- 12V line-to-line !!