I'm using Kinetics KI family from about 3 month. I've been realized a motor control project that works fine, adjusting an old S08 core project. It works fine, as I mentioned before, but there's a BIG problem: the samples I've been created, after some time of work (could be 1 hour or some hours) stop working! Every time it happens I find a short-circuit on MCU power supply, and I think the problem is that some transient kill my MCU. I don't know if the matter is on input pins or on Vdd rail, but I think the most probable is the second cause. I would like to know if someone can suggest me a way to save MCU from dying. Power supply is obtained from a 24V battery, a little step-down circuit (that create 12V) and than a linear 5V regulator. I've decoupled ground by connecting logic ground to power ground only at GND pin of input bulk capacitor. I've decoupled with ceramic capacitor near MCU, but i didn't insert TVS on 5V. Could be an idea? I've very little space on PCB to use and so I've limited the components but now I'm thinking that was not a good idea.
With MCU I drive (via a CMOS logic) a H-bridge driver that drives 4 power MOS. The scheme I use is the same of other applications (power supply, logic, capacitor on H-bridge, driver, ecc) in which I used S08 family MCUs, with no such problems.
I would like to hope that problem is only on power supply rail, and so with adequate filtering I can delete it.
Thank you for support.
Have you considered other sources of overloading in your application?
If you are controlling the H-bridge with bipolar control, are you including an adequate amount of dead-time insertion?
When the motor is stopping is it possible the back-EMF could be returning too much current and overcharging the voltage in your power source?
Is your current monitor effectively catching current peaks on time?
Let me know your comments.
Eduardo, thanks for your reply.
The dead-time insertion is made by the driver, established by a resistor, and is calculated correctly, so I'm sure there's no cross-conduction during motor control. I've checked the stopping action and I didn't notice a large amount of increase in Vbus. In fact the times uC died, was during movement of motor not at stopping times. So I thought that the problem is during on/off time of H-bridge, and some disturb that came very rapidly on 5V bus. Now I've inserted a 5V TVS diode with very low breakdown voltage, to avoid the growth of Vdd. For space reasons I've inserted this TVS across 100uF ceramic capacitor on 5V, non properly near uC, but it is the only manner for me.
What do you think about it? As I told you in previous comments, this is a project that works fine with S08 uC MC9S08AC16 and in another applications in which I use MC9S08JM60. The scheme is very similar but supply voltage in the last example, is about 50V. I use the same supply voltage scheme in which I obtain 12V with step-down, and 5V with linear voltage regulator. The only difference are layout and capacitor on 12V bus: in this application as you can see from schematic I use 220uF on 12V bus. Actually I cannot mount 220uF in the final application, because of problem of space and wiring, and I've used "only" 22uF ceramic capacitor. I've checked 12V supply during normal operations, and I didn't notice problem on the line, deriving from the use of 22uF instead 220uF.
About current measurement I've inserted a limitator that disable driver if current is too high: when the driver is disabled, mosfets are left open, and current can decrease. I've checked current in a lot of situations in which motor could be (is not a new application, but a new application with KE family), and I didn't notice peaks out of control. As I told you in previous comments, in fact, we realized some hundred of this product, and we had no problmes before (using S08 family MCU's).
In your schematic you have a Valim voltage, could you please tell me the value?
I am concerned because I guess Valim=50v or something like this, and in your schematic on the bottom-left corner is voltage divider from where you get the vin_Monitor signal, you are introducing this signal to the microcontroller and I would like to know the value of this signal.
Another thing you mention is that in this case your board design are very restricted, this could be a problem if you are only using small RC filters and other isolation methods for currents on a small board, you may consider measuring currents along the circuit.
Valim in this case is 24V, as you can see before J29_C. 24V is also voltage of the H-bridge.
You talk about the fact that the problem could be current measure. What do you mean? Do you think that a short circuit between Vdd and Vss could be caused by analog input? I try to explain in a better way: when I had the problem on the MCUs I controlled pin per pin if there was some short circuits to Vdd or Vss or some strange impedance, comparing with a MCU with no problem. I didn't find anything, excluding short circuit between Vdd and Vss.
Thank you for your support.
You mention you controlled pin per pin to check if there were any short circuit but I just want to make sure that you have measured or you are sure that you do not have exceeded the Instantaneous max. current single pin limit of 25mA, or the Output high current max total Ioh for all ports of 100mA; this parameter value is 120mA for MC9S08AC16.
As you mentioned how you control motor signaling it seems to be ok, coud you please tell me if is your motor or 24v power source very near to the microcontroller on your board/design?
I didn't measured Ioh, but I'm quite sure that there's no possibility to take over 100mA. I've few output, and I can resume below:
As you can see I do not exceed 100mA, I'm quite far from that value. And the same I can say about 25mA limit.
I made some change in my scheme: I added TVS on 5V and on 12V, I've perfectioned the manner which I obtain 12V from LM5007 step-down circuit, and 5V rail is much better than before, with less glitches. In my application, unfortunately, motor is quite near uC and the same for 24V supply inputs. The board is just 50x70mm. I attached a schematic of my board with distance of motor and power supply inputs.
Thank you for support.
I have reviewed the last document, and I cannot find the problem source, in this case I guess may be we could go to the firmware, this is not very common but in some cases if you are using a specific combination of hardware and firmware configuration this could cause the problem, would you like to share your code? I do not have the hardware to reproduce the error but I can check with schematic :/
Thank you very much.
Here I attach my software project. It is in progress, so is not the final version, but the initialization of the uC will no change. Other samples has died in this period, and the result is often the same: short circuit between Vdd and Vss. I can't find why and I hope that there's an error in the software because TVS on supply rails didn't solve the problem. It happens without a particular situation: sometimes the motor is running at low loads, sometimes is running at heavy loads, but I noticed that disrupts are not so dependant on value of current in the motor. They are dependent on PWM frequency, that now is about 8KHz with maximum value of PWM of about 95%.
I've checked initialization but I didn't find something strange. I hope that an expert eye can help me!
Thank you Perla for support you give me!
I take a look on your code and at this moment everything seems to be alright, I am really puzzled.
At this moment I return to the schematic looking for all connections between Vdd and Vss, and my suggestion would be to check connections between these connections:
Also you could desoldering the microcontroller from your board and measure if there is a short circuit between Vdd and Vss.
I still looking for more solutions but in this case may be you could enter a service request.
Hello, I encountered the same problem with MKE02Z32VLC2 in a wireless charging application,
in which the VCC and GND are short-circuited after some time of operating.
Have this problem been solved?
I would like to take a look to your schematic, could you please share it? As well as you I also guess this could be a power source connection problem.
Please keep in touch.
Just as you mentioned this is a very simple schematic but I notice something that make me check micro controller specification, you mention in your original post that you are replacing a S08 device with a Kinetis KL right? On the Kinetis L Series MCUs product page you will notice that maximum supply voltage for these devices is 3.6v, then if you use 5v as supply voltage as is depicted on your schematic this could be the cause of the problem.
Have a nice day,
Note: If this post answers your question, please click the Correct Answer button. Thank you!
I'm sorry, that was a mistake. I would write KE series. I know that KL series are intended for 3.6V operations. I use MKE02Z64VLD MCU, that have 6V tolerant supply (absolute rating). That is, is not that the problem.
I have been reviewing your schematic but at this moment I could not find anything that can explain this behavior, I guess it could be a transient caused by motor, have you measured currents? If as you mention you have a small area to drive current transients generated by the motor could be the problem source