a problem with Microcontroller

Hello to everybody …

I have a very big problem in Microcontroller , and here is the problem …

First I used PIC16F877A and PIC16F917 , it works fine for along time

but when I connects them to DC Motors throudh H-bridge or transistors

it will work fine for a short time and then the PIC damage

I do not know what is really happen , it is absolutely not fried

because the pic programmed and read the program correctly

everything is fine on the pic , except it did not execute the program at all

what is really the problem ?

It’s really hard to say exactly. It sounds like you are designing and building your own system. So without seeing the schematics of what you’ve build it’s hard to do remote diagnostics.

Things that can easily burn up parts of the PIC chip are overloads on the ports. The output ports to the HBridges can easily be over-driven (put out more current) than they are rated for. This will cause just that port to fail.

Your HBridge is also prone to excessive current flow which may damage the control parts or one leg of the bridge. It’s also possible that back EMF (caused when your DC motor becomes a DC generator) feeds into the HBridge backwards and destroys the drive transistors.

Off the top of my head that’s the two places I’d look (after low battery and loose connections)

Good luck!

First of all , I used the circuit shown in the link :

http://www.dprg.org/tutorials/1998-04a/hb6.png

when my PIC fails ( which mean programmed but not execute ) , I turned to H-Bridge ( SN754410NE ) , and the same problem becomes

I made a program that make all pins to output , but nothing happens

It programmed with no errors at all using winpic and IC-prog , but when connect it to run the program it did not work at all

I did not think it is dc motor driver because I used transistors and H-bridge

but what is really happend , I still have no idea !

I would agree that what you are describing sounds like back-EMF is damaging the microcontroller. The inline resistors will help protect against this some, but it’s still possible that enough current could pass back through them to damage the control logic (can’t be exactly sure without knowing the value of the resistors and what their current rating is). What I’ve seen a lot of people do when constructing circuits like this is to use opto-isolators between the microcontroller and the motor drivers, which is a pretty standard way of eliminating back-EMF.

Like was mentioned, I would suspect that after the circuit stops working, that the program is actually still running but since the port circuitry is damaged you won’t see any output. If you’re certain that the code is not actually running, it’s possible that instead of the microcontroller, some of the power/clock circuitry could have been damaged. Usually the PIC Programmers supply their own power and clock signals, so this would account for it working while programming, but not otherwise.

Good luck,
–Ryan

If it is back-emf problem , could I use diodes to protect my Microcontroller from it ? and if yes , where to put the diodes in transistor , is it on Base ?

By the way , the value of resistors is 500 ohm , and the transistor is TIP-31

Try this:

http://www.st.com/stonline/products/literature/ds/5279.pdf

It is a dip with 7 darlington array drivers. I’ve used them to successfuly isolate circuits from I/O.