Author Topic: LIN Transreceiver is overheating  (Read 12316 times)

0 Members and 1 Guest are viewing this topic.

Offline P1X3Topic starter

  • Contributor
  • Posts: 24
LIN Transreceiver is overheating
« on: September 01, 2014, 06:23:27 am »
Going to make things as short as possible. I am using Arduino micro along with MCP2025 to read/write data from/to vehicle bus. Receiving data is piece of cake, but in order to send data the chip must be put into operation mode by pulling CS/WAKE pin high. Data sheet specifies TTL level for said pin, so I assumed 5V will be enough. Sadly no, or I am doing something wrong. However, pulling CS/WAKE high with 12V does put chip into OPERATION mode for transmitting data, but some overheating occurs, even after pin is no longer pulled high.

I am uncertain if I am doing something wrong (very likely), or if chip is defective (very unlikely), but I would love help with this. I also tried using 2n2222 (driven by arduino through 1k resitor) to feed 12V to CS/WAKE pin for transmitting, but chip still gets hot,  :palm:

Datasheet: http://ww1.microchip.com/downloads/en/DeviceDoc/22306A.pdf
 

Offline Niklas

  • Frequent Contributor
  • **
  • Posts: 395
  • Country: se
Re: LIN Transreceiver is overheating
« Reply #1 on: September 01, 2014, 07:05:30 am »
Can you show us the schematics for the circuit? Also specify if the Arduino is connected to a computer or stand alone. Laptop running on batteries or with charger?
 

Offline P1X3Topic starter

  • Contributor
  • Posts: 24
Re: LIN Transreceiver is overheating
« Reply #2 on: September 01, 2014, 07:25:14 am »
Can you show us the schematics for the circuit? Also specify if the Arduino is connected to a computer or stand alone. Laptop running on batteries or with charger?

My bad, I forgot to attach the schematics. Arduino is standalone and powered via 12V to 9V regulator/stabilizer.



In the example below, transreceiver does receive and transmit data when D3 is high prior sending data. Problem is that once CS/LWAKE was pulled high at least once, MCP2025 will heatup.
I am most certain that CS/LWAKE pin is receiving too much current, but I thought it should be limited with internal resistor. Overall, the whole 2n2222 seems sketchy

Added:
When D3 is not triggered, there is ~7V on emmiter side, and it goes u to 12V when D3 is high. Also ~2.4V is leaking into base. Would adding 1M pull down resistor on collector side work?
« Last Edit: September 01, 2014, 07:27:15 am by P1X3 »
 

Offline Precipice

  • Frequent Contributor
  • **
  • Posts: 403
  • Country: gb
Re: LIN Transreceiver is overheating
« Reply #3 on: September 01, 2014, 07:51:18 am »
What are you trying to achieve with that CS/LWAKE transistor?
Why not just wire the pin straight to D3? (or do the diode/resistor/switch thing from the datasheet?)
I would also put a pullup on nRESET (and you really, really need to get out of the habit of casually leaving off the inversion markers on pins!)
The datasheet doesn't explicitly say it's necessary, but if the internal logic of the chip watches the level of the pin, then it'll (possibly only half-) believe it's always in reset, if that pin doesn't get pulled high. It's also just polite, and makes it easier to stick a scope on the node.

Also, convince me that your Arduino has D0/RX set to be an input...

However, none of these seem all that likely to make the chip particularly hot - so I also suspect that what you built, isn't quite what you drew.



 

Offline P1X3Topic starter

  • Contributor
  • Posts: 24
Re: LIN Transreceiver is overheating
« Reply #4 on: September 01, 2014, 08:22:16 am »
What are you trying to achieve with that CS/LWAKE transistor?
Why not just wire the pin straight to D3? (or do the diode/resistor/switch thing from the datasheet?)
I would also put a pullup on nRESET (and you really, really need to get out of the habit of casually leaving off the inversion markers on pins!)
The datasheet doesn't explicitly say it's necessary, but if the internal logic of the chip watches the level of the pin, then it'll (possibly only half-) believe it's always in reset, if that pin doesn't get pulled high. It's also just polite, and makes it easier to stick a scope on the node.

Also, convince me that your Arduino has D0/RX set to be an input...

However, none of these seem all that likely to make the chip particularly hot - so I also suspect that what you built, isn't quite what you drew.

With 2n2222 I am trying to connect 12V to CS/LWAKE when D3 is high. Doing so seems to put MCP2025 into mode for transmitting data to the LIN, but it does not go into said mode when connected to D3 directly. I will definitely look into RESET pin.

I am not sure what you mean by "convince me that your Arduino has D0/RX set to be an input".
 

Offline Precipice

  • Frequent Contributor
  • **
  • Posts: 403
  • Country: gb
Re: LIN Transreceiver is overheating
« Reply #5 on: September 01, 2014, 08:33:46 am »
With 2n2222 I am trying to connect 12V to CS/LWAKE when D3 is high. Doing so seems to put MCP2025 into mode for transmitting data to the LIN, but it does not go into said mode when connected to D3 directly.

That sounds like something is properly wrong - I'd suggest you stop and have a very hard look at what you've built!  That pin should be fine with a direct connection to the micro.
Do you have access to an oscilloscope? What does Vreg look like? It looks as if the regulator is quite easy to make unstable, if you pick the wrong capacitor (P17 of my datasheet).  Are you sure you've grounded VSS?

I am not sure what you mean by "convince me that your Arduino has D0/RX set to be an input".

If the Arduino pin is an output, and the MCP2025 pin is an output, then things will get hot if they disagree!
The fact that you say that you've seen RX data is a good sign, but it may be worth checking that you don't then use that pin for something else.
 

Offline Phoenix

  • Frequent Contributor
  • **
  • Posts: 422
  • Country: au
Re: LIN Transreceiver is overheating
« Reply #6 on: September 01, 2014, 08:50:42 am »
With 2n2222 I am trying to connect 12V to CS/LWAKE when D3 is high. Doing so seems to put MCP2025 into mode for transmitting data to the LIN, but it does not go into said mode when connected to D3 directly. I will definitely look into RESET pin.

Surely that high side transistor should be a PNP 2n2709 (i think is the equivalent).

The data sheet also says it needs a current limiting resistor when using high voltage for the logic.
 

Offline Precipice

  • Frequent Contributor
  • **
  • Posts: 403
  • Country: gb
Re: LIN Transreceiver is overheating
« Reply #7 on: September 01, 2014, 09:16:51 am »
Surely that high side transistor should be a PNP 2n2709 (i think is the equivalent).

What OP's built is a follower - the emitter voltage will go to a bit less than the base sees. That should still be enough to turn the transceiver on, and not need the resistor.
It's all very odd, though, and the transistor (of any sort) shouldn't be needed. I suspect something else is wrong - the datasheet is full of information about Vbat-Vreg capacitor ratios, and stable areas for the oscillatorvoltage regulator. OP has a 1uF capacitor, which is right on the edge of the stability region...
 

Offline matkar

  • Regular Contributor
  • *
  • Posts: 153
  • Country: si
  • Sixty percent of the time it works EVERY time.
Re: LIN Transreceiver is overheating
« Reply #8 on: September 01, 2014, 11:14:46 am »
Here is a schematic for the LIN bus. It's not exactly the same chip but you can use this as a guidance to make your design work.

The regulator's capacitor should be of a higher value. If the value is too small, the transceiver will start to overheat right at the power-on and stop when the internal overheating protection triggers.
Ignore one of two 27V zenner (D5) on my schematic and you can omit some of the protection features as well (R23, F2, D7, R38, R31, Q4) if not needed. TxEN can be directly connected to 5V.
From your schematic: You can't just let the reset pin floating!
 

Offline Wilksey

  • Super Contributor
  • ***
  • Posts: 1329
Re: LIN Transreceiver is overheating
« Reply #9 on: September 01, 2014, 12:22:29 pm »
Look at figure 1-9 on the datasheet, nRESET is pulled up to VCC.

Also, if you are connecting to a vehicle, make sure you put the clamp diodes on as suggested!
CS/LWAKE should be driven by the ARDUINO pin, 2v seems to be the lowest voltage to drive the pin high, so 3.3V or 5V should do it.

I'd start by  pulling nReset to VCC via a 10K or something.
 

Offline Phoenix

  • Frequent Contributor
  • **
  • Posts: 422
  • Country: au
Re: LIN Transreceiver is overheating
« Reply #10 on: September 01, 2014, 01:24:45 pm »
What OP's built is a follower - the emitter voltage will go to a bit less than the base sees.

Ah so it is, however I did think he was aiming to pull it all the way to 12V. It's been too long since I've done discrete transistor analoge work I can't even recognise simple circuits :(.
 

Offline zapta

  • Super Contributor
  • ***
  • Posts: 6190
  • Country: us
Re: LIN Transreceiver is overheating
« Reply #11 on: September 01, 2014, 03:08:08 pm »
Atmel linbus transceivers seem to require less glue electronics (add an extra diode and resistor for the master, using nres is optional). I have used them in a few designs for my car.

 

Online Marco

  • Super Contributor
  • ***
  • Posts: 6719
  • Country: nl
Re: LIN Transreceiver is overheating
« Reply #12 on: September 01, 2014, 04:30:05 pm »
Don't leave reset floating, connect D3 to CS/LWAKE through a 10K resistor, make sure D3 is actually configured as an output (it might be in input mode with writing just changing the pull up). It should work.

 

Offline P1X3Topic starter

  • Contributor
  • Posts: 24
Re: LIN Transreceiver is overheating
« Reply #13 on: September 01, 2014, 05:15:27 pm »
Thank you everyone for help, I think it is working properly now without overheating.
I have connected reset to vcc via 10k resitor, and replaced 1uF capacitor with 10uF.
Not making an excuse, but I might have forgot about reset assuming it was pulled high internally.

Here is schematic that now works.
 

Online Marco

  • Super Contributor
  • ***
  • Posts: 6719
  • Country: nl
Re: LIN Transreceiver is overheating
« Reply #14 on: September 01, 2014, 05:24:41 pm »
Thank you everyone for help, I think it is working properly now without overheating.

It can work but be careful, there is a clamp diode inside the IC from CS/LWAKE to VReg ... so if you use 5V output on the Arduino and the 3.3V version of the IC your current circuit can go wrong (or at least pull far more current than necessary).
« Last Edit: September 01, 2014, 05:26:39 pm by Marco »
 

Offline P1X3Topic starter

  • Contributor
  • Posts: 24
Re: LIN Transreceiver is overheating
« Reply #15 on: September 01, 2014, 05:40:26 pm »
I am keeping everything 5V on IC and micro-controller side, but thank you for mentioning it.  :-+
 

Offline P1X3Topic starter

  • Contributor
  • Posts: 24
Re: LIN Transreceiver is overheating
« Reply #16 on: September 02, 2014, 05:27:12 pm »
Unfortunately, I have been too quick to make a success post. Everything worked for around a day, without overheating or any issues whatsoever.
Capacitor and resistor seem to be working. No visible signs of burning. Only thing I can think of is bad capacitor. It is 10uF 50V but I am uncertain about ESR since capacitor was salvaged and I can't find datasheet.
As stupid as it sounds, could capacitor with improper ESR be suitable for MCP2025 but cause damage after certain period?
 

Offline Precipice

  • Frequent Contributor
  • **
  • Posts: 403
  • Country: gb
Re: LIN Transreceiver is overheating
« Reply #17 on: September 02, 2014, 06:49:12 pm »
What did you change? Did you take a scope probe ground clip off, or anything you can think of?
A software change that can't possibly have made any difference? That sort of thing...

I'd say it was unlikely that the capacitor will have changed much. Stick a second one in parallel, see what happens?

 

Offline P1X3Topic starter

  • Contributor
  • Posts: 24
Re: LIN Transreceiver is overheating
« Reply #18 on: September 03, 2014, 04:01:08 pm »
What did you change? Did you take a scope probe ground clip off, or anything you can think of?
A software change that can't possibly have made any difference? That sort of thing...

I'd say it was unlikely that the capacitor will have changed much. Stick a second one in parallel, see what happens?

Nothing has really changed, but it was probably spotty soldering skills of mine that caused the issue. After resoldering everything appears to be working.
 

Offline Wilksey

  • Super Contributor
  • ***
  • Posts: 1329
Re: LIN Transreceiver is overheating
« Reply #19 on: September 03, 2014, 04:30:08 pm »
I wouldn't worry too much about the capacitor ESR, what is it that is not working correctly? Is it overheating again?

Have you measured all of the appropriate points to make sure nothing is going into a switching / oscillation loop or anything?
 

Offline P1X3Topic starter

  • Contributor
  • Posts: 24
Re: LIN Transreceiver is overheating
« Reply #20 on: September 06, 2014, 07:54:28 pm »
I wouldn't worry too much about the capacitor ESR, what is it that is not working correctly? Is it overheating again?

Have you measured all of the appropriate points to make sure nothing is going into a switching / oscillation loop or anything?

I think I have found a bug... Connectors that I ordered weren't making connection. Either I overheated them when soldering (280-350) or idk.
 

Offline P1X3Topic starter

  • Contributor
  • Posts: 24
Re: LIN Transreceiver is overheating
« Reply #21 on: September 10, 2014, 12:21:48 am »
And another issue has come up  |O

Everything worked fine for some time since I removed socket for arduino and soldered connections directly to it, but today MCP2025 started doing some weird stuff with the bus.
I don't have oscilloscope to test, but using voltage meter I measured bus voltage and it is jumping between 5-6V. As soon as MCP2025 is disconnected bus voltage is stable.
Once I have some freetime I will be replacing MCP2025 to see if chip is defective, but just wanted someone else to check what I have right now.

Let's begin. TX and RX line are a straight connection. VREG has 10uF 50V capacitor. RESET is connected to VREG via 1K resistor. CS/LWAKE pin is connected to arduino pin directly.

I am missing diode for CS/LWAKE pin only because CS/LWAKE is not being connected to VBATT (12V). Missing are resistor, capacitor and what I assume schottky diode on VBATT pin. Capacitor is specified at 10 * VREG capacitor, which would put it at 100uF, correct? But then resistor (Rtp) is kinda vague to me and I have no idea what it should be. Lastly, schottky diode on bus pin is also missing.

I am sorry for beating dead horse with a stick, but I am in desperate need of some help.
 

Offline P1X3Topic starter

  • Contributor
  • Posts: 24
Re: LIN Transreceiver is overheating
« Reply #22 on: September 11, 2014, 03:01:35 pm »
Bump  :-//
 

Offline Wilksey

  • Super Contributor
  • ***
  • Posts: 1329
Re: LIN Transreceiver is overheating
« Reply #23 on: September 11, 2014, 03:45:32 pm »
Hi,
From reading your description, it appears that most things are correct.

The diode on VBB is for protection, as the chip datasheet states: 43V Load Dump Protected
If CREG is 10uF then CBAT should be 10 * 10uF which is indeed 100uF, if this is missing it might account for some stability issues?
The diode on VBAT seems to be for reverse protection.
All RX/TX connections are OK, seems to be a common trap to connect RX to RX and TX to TX, but in the case of this chip RX and TX are respective of what is going from the chip not to the chip, so your RX should go to RXD and TX to TXD which you have.
For pullups/pulldowns I tend to use 10k, but I have just re-read the datasheet and /RESET is an OUTPUT, so unless you are using it you don't need to connect it.

You only seem to need RTP if you have the TVS diode.
RTP is VMinBatt (say 11V for minimum battery) - 5.5V / 250mA
This equates to 11V - 5.5V = 5.5V
5.5 / 0.250 = 22R
So RTP would be 22R.

I am not 100% sure what it classes as "master node" but you could try pulling up to VBB as per the example schematic and see if that stabilises the output?

I should also add that if all else fails the internal regulator might be damaged or something, so I would definitely try a new chip!
 

Offline P1X3Topic starter

  • Contributor
  • Posts: 24
Re: LIN Transreceiver is overheating
« Reply #24 on: September 11, 2014, 06:03:24 pm »
Hi,
From reading your description, it appears that most things are correct.

The diode on VBB is for protection, as the chip datasheet states: 43V Load Dump Protected
If CREG is 10uF then CBAT should be 10 * 10uF which is indeed 100uF, if this is missing it might account for some stability issues?
The diode on VBAT seems to be for reverse protection.
All RX/TX connections are OK, seems to be a common trap to connect RX to RX and TX to TX, but in the case of this chip RX and TX are respective of what is going from the chip not to the chip, so your RX should go to RXD and TX to TXD which you have.
For pullups/pulldowns I tend to use 10k, but I have just re-read the datasheet and /RESET is an OUTPUT, so unless you are using it you don't need to connect it.

You only seem to need RTP if you have the TVS diode.
RTP is VMinBatt (say 11V for minimum battery) - 5.5V / 250mA
This equates to 11V - 5.5V = 5.5V
5.5 / 0.250 = 22R
So RTP would be 22R.

I am not 100% sure what it classes as "master node" but you could try pulling up to VBB as per the example schematic and see if that stabilises the output?

I should also add that if all else fails the internal regulator might be damaged or something, so I would definitely try a new chip!

So if I understand section 1.5.2 (from datasheet), chip can handle voltage spikes up to 43V, but for anything beyond that a diode (#5 on diagram) must be added for additional protection. I am pretty sure that VBATT could spike really high during car start, so I will probably end-up adding that.
Ordered new 1000uF 50V capacitor as well since I don't have one nor can find it anywhere to salvage. Thank you for the help with resistor, didn't realize it was in the datasheet  :palm:
I ended-up replacing the chip since it was still causing bus issues after I replaced and tried removing reset vreg resistor and capacitor.

When looking for schottky diode for load dump protection would I need to look out for? Would MBR1100 (http://www.jameco.com/Jameco/Products/ProdDS/312101ONS.pdf) be sufficient for 100V spikes?
 


Share me

Digg  Facebook  SlashDot  Delicious  Technorati  Twitter  Google  Yahoo
Smf