Continue to Site

Welcome to our site!

Electro Tech is an online community (with over 170,000 members) who enjoy talking about and building electronic circuits, projects and gadgets. To participate you need to register. Registration is free. Click here to register now.

  • Welcome to our site! Electro Tech is an online community (with over 170,000 members) who enjoy talking about and building electronic circuits, projects and gadgets. To participate you need to register. Registration is free. Click here to register now.

Complex grounding issue- Automotive, PICs & ADC

Status
Not open for further replies.

rackley

New Member
I have an automotive fuel switching controller that is based on an 18F452 PIC. Among the inputs are standard GM temperature sensors (variable resistance based on temperature) running on voltage divider circuits to the ADC inputs. For a circuit diagram see here:

(diagram to follow, my imaging software is on the fritz, will post in a few hours)

For reference, voltage divider circuit & finding unknown resistance calculations:
**broken link removed**

Description - coming from +5v supply, power goes through a 2.49k resistor (known value resistor). From the other end of the resistor, there are two paths. One to the ADC input of the PIC and the other to the variable resistance temp sensor.

Not shown in the diagram is the ground for the temp sensors, which is to chassis ground in the engine bay.

My problem is this: When a load is induced that uses the same ground as my PIC (and therefore -Vref) the temperature readings are artifically changed. The higher the load that uses the same ground, the more the readings go up. I found this when I initially tried to splice the ECU ground into the thick grounding wire that I found out went to the blower motor. That changed the temperature readings based on how fast the fan was blowing - kind of funny in a way, but not really :lol:

Changing the ECU ground to go straight to a chassis ground fixed it and I got 100% normal temp readings.

However, I'm also using the ECU to switch some smaller loads through a pair of ULN2003AN darlington arrays. The max load it will sink (switching ground side of load, not power) is about 3 amps.

Now that the load switching code has been tested on the bench and is going into the test vehicle, I'm getting the same ADC issues.

I've throughly scoured the forums here and I think my issue has to do with "parasitic" capacitance and inductance on the ground line on my PCB and from the wire from the PCB to the vehicle chassis.

What are my options here?

As far as I see it, I could do the following, none of which I really like:

1) Run the grounds from the sensors back into the passenger compartment and hook them back into the ECU ground screw terminal. Messy, unprofessional, and extra wiring. Plus the parasitic capacitance/inductance on the PCB ground traces won't be equalized, only that from the ECU's post to the ground connection on the chassis.

2) Have two ground posts: One for the 5v power supply & ECU, and everything BUT the switched loads. The second one for only the switched loads. Each ground run would have a separate wire to a chassis ground. This would give the PIC a "clean" ground reference to chassis ground, the same reference as the temp sensors are seeing. However, it involves a PCB redesign (not a show stopper, but undesireable), as well as running two ground wires, which is additional hassle and work for the customer.

Are there any other options here that I'm not seeing?

Thanks,
Ray
 
I don't think parasitic inductance/capacitance are issues. This is straight I*R voltage drop. If you tried to draw 3 amps through the ECU's ground you might even confuse the ECU.

The blower ground is a very poor choice, that is one of the highest current devices you can find. The wiring was sized so it won't overheat, but likely was not sized for very low I*R voltage drop.

Running two grounds is a good idea. But you can also remedy the problem by just using a single ground wire of a thick enough gauge that, for the length you are using, its total voltage drop at maximum current is within an acceptable tolerance. Some attention should also be paid to how the frame connection is made, a screw on painted metal might be a problem.

Problems with voltage drops on the PCB traces may still be a problem. You can fix this problem by using a star ground. This means the digital ground and high current DC ground come off of the board connection to the ground wire through different traces (they may appear to radiate off, rather than branch, thus the "star" term). Thus the high current trace may drop 50mV between the ground wire and the relay/mosfet terminal, but the digital electronics won't see that if the digital ground is tied to the ground wire rather than somewhere along the high current ground's trace.
 
Well it turns out I have another unanticipated problem. Those ULN2003's get VERY hot with about 1.5 amps going through them (spread out over various outputs of course). I may have to go with external relays, although I'd like to avoid that if possible because it means additional cost and complexity.

Separate grounds are a possibilty, as unfortunately I have rather small screw terminals (dictated by PCB and case size.) Would full h-bridge chips have the same heat dissipation problem as a darlington pair, or does their lower voltage drop allow them to run cooler? A search turned up a L293B that may work, but it may be old as Digikey doesn't even have a listing for them.
 
mhh

You just need to hookup the ground for the arrays

To one cable, and the other ground just for digital purposes...

Its the way i do it with my automotive solutions...

Also use heatpaste and big aluminium cooling ribs.

Also think of an huge cap for the stabilization of the voltage drops/peaks while starting, injecting, sparking,heating etc..

Many Car MCU's have different Ground pins on their Connectors....

Also the cars sensors are often running to the same ground cable and feed.

Tks
 
Russlk said:
At 1.5 amps the temperature of the ULN2003, without heat sink, should be about 140 degrees C. You would do much better using an FET.

That's about what it felt like when I touched it :lol:

Can you recommend a FET array, preferably in a DIP package? I'm not very familiar with FET parts! :oops:
 
buz11

or use the buz11 it will handle up to 30amps..

so you are not on the device limits..

Don't forget to put the plastic seperator between the fet and the heatsink, else the heatsink will be ground or VDD!!

can be dangerous!!

also you could tell us where you want the fet for...

Tks
 
I'm going to be using them to switch a pair of fuel valves, which are basically nothing more than a coil. Run current through the coil and you get your magnetic field which actuates the valve. The valves need to be actuated individually, so only one valve per FET.

The coil current draw is 1.2 amps at 12-13v.

How big of a heatsink will I need for each FET to run this kind of a load? Obviously it will vary by device type, but just a rough guess? This will be in a semi-enclosed environment with little airflow.

Thanks,
Ray (reading up on FETs right now...)
 
Fuel valve's??

Do you mean injectors???

else i would recommend relais, because they are more robuust
en you will need less components to make everything work.

Also no heatsink will be needed sow in the shining sun you won't get a problem.

a car is an device wich the simpler better works/robuuster it will be.

There are very small pcb relais. wich will only requir one BC474 and onde diode... and one 10K res.

Regards,

Tks

also a relais connects in 10ms and disconnects in 6ms...

You need to use Fets/Transistor when timing is needed or when PWM is needed...
 
Not injectors, just fuel selector valves that determine which fuel source is used and where return fuel is sent.

Timing is not critical, even up to a second or two is acceptable delay. But PCB space and cost are very important. I looked into minature relays, and while they'll definitely work they are much more costly than transistors (and FETs) and are larger as well. Two miniature relays are over $10 (not including clamping diodes and driving transistors), while two IRF530N FETs mentioned by Russlk (thanks!) are only $1.02 when ordered in batches of 25, even less in quantity.

Also like he observed, the heat is only about 0.16 watts.

Although based on my understanding of the datasheet it looks like I can only drive about 2.5-3 amps through this at a TTL level Vgs of +5v before I start running into heat dissipation problems unless I drive it up to 10V with a driver. But at anything up to a 2 amp load I should easily be able to use this part without a driver or any external circuitry at all. Does that sound right?

Thanks,
Ray
 
Status
Not open for further replies.

Latest threads

New Articles From Microcontroller Tips

Back
Top