Netduino home hardware projects downloads community

Jump to content


The Netduino forums have been replaced by new forums at community.wildernesslabs.co. This site has been preserved for archival purposes only and the ability to make new accounts or posts has been turned off.
Photo

Signal voltage question


  • Please log in to reply
5 replies to this topic

#1 mbaldini

mbaldini

    New Member

  • Members
  • Pip
  • 4 posts

Posted 04 January 2013 - 08:27 AM

Hi everyone.

 

I have a somewhat unique project I'm working  on. I have a 74 Chevy nova with a twin turbocharged 500 cubic inch gen VII big block. I pitched the fuel injection and coil- over- plug ignition for a carburetor and MSD 6AL- BTM digital ignition.

 

to the UN- initiated that's means I have a bunch of modern sensors on the motor that are no longer being used because their  is no longer a computer to read them.

 

So I have been designing this project to help give me access to that valuable sensor information.

 

My intentions are to have the netduino collect the sensor data and send it via Bluetooth to a custom written app on my Kindle, which will be integrated into the dash (where the radio would be).

 

So far I have the Bluetooth hardware and part of the software sorted out. I also have the kindle app prototypes and functional when fed with false signals. 

 

my question is this.... how would you handle the voltage differences on each different type of sensor?

 

I have the following  analog signals: coolant  temp, oil temp, trans temp, manifold pressure, oil pressure, oil level 

an  the following digital signals : tachometer, crank angle, final drive speed (for speedometer)

 

 

I have read about several different methods that you all  have recommended for different things in previous threads, but I would like to hear your recommendations for this specific scenario. Any and all recommendations, comments, questions, insults, etc are welcome :-)

 

I have custom built every part on this car... from the sheet metal intake manifold to the custom twin turbo system to the mainframe connectors and the integration on the netduino/kindle as an engine monitoring system. So I am going to do my best to do this project  the right  way the first time.

 

Thanks in advance everyone :-)

 

oh... here's a link to the car' s build album on my Facebook page...

https://m.facebook.c...314685548640623



#2 mbaldini

mbaldini

    New Member

  • Members
  • Pip
  • 4 posts

Posted 05 January 2013 - 08:47 AM

forgot to mention some signals are 0-5 v and others are 0-10 v. it is the voltage difference between the sensors and the 3.3v that the netduino is expecting that I am asking about.



#3 Paul Newton

Paul Newton

    Advanced Member

  • Members
  • PipPipPip
  • 724 posts
  • LocationBerkshire, UK

Posted 05 January 2013 - 11:33 AM

Hi there, Welcome to the forums!

 

Using the Netduino ADC inputs, the raw voltages (0-5 and 0-10) will not be a big problem. You simply need to use a voltage divider (pair of resistors) to reduce it down to the Netduino's maximum of 3.3V.

There are plenty of examples out there for doing this, there is a worked example for a resistive divider in this wiki pedia page.

(The example talks about using Ohms, you want want to be using kilo-Ohms - otherwise you will be trying to take Amps from you sensors instead of milli-Amps!)

 

Working on a car's electrics there are other dangers to face:

Make sure you understand the grounding system in the car. Some cars have a positive chasis - almost guaranteed to get smoke to come out of a GPIO pin.

Do your sensors have separate leads for positive and negative, or do they use the chasis as a ground.....

You could have problems with electrical noise - you may need to use screened cables (e.g. microphone cable) and/or need to filter the signals in hardware or software.

It would be worth adding a zener diode to the Netduino input pins to protect from large voltage spikes, and a rectifier diode to protect from negative voltages.

You might want to consider using an I2C or SPI ADC located at the sensor to avoid analogue issues.

 

The Netduino family don't have a pulse counter/frequency capability, so you may wish to consider a frequency to voltage converter circuit such as the LM2907. There is an example of using it as a tacho in figure 6 - that's not the eating variety of tacho. :P

 

Lots to consider, best recomendation is start small with just one of the analogue voltage sensors and try it out.

 

Have fun - Paul



#4 mbaldini

mbaldini

    New Member

  • Members
  • Pip
  • 4 posts

Posted 06 January 2013 - 05:48 AM

thanks! the electrical system in the car is about as simple as it gets. negative terminal grounded to the chassis, positive runs to a distribution block with a secondary wire to the starter. About the most complex part is the dimmer switch for the dash lights lol. 

 

anyway, the sensors do have their own ground wire. But I was wondering about noise.I know (with audio systems at least) the alternators can cause undesirable signal noise. I had used ground loop isolators for my stereo systems before, but didn't know if they would work here so I was looking to use some shielded twisted pair cable for the sensor leads.

 

So voltage dividers would in fact work for this setup? That Will simplify things quite a bit.

 

Now with the frequency based signals, I couldn't use a digital pin for these? they are a digital signal, so I was anticipating using them as a as an InterruptPort and simply keep track of the duration elapsed between interrupts to calculate the frequency. Would that not work?



#5 Paul Newton

Paul Newton

    Advanced Member

  • Members
  • PipPipPip
  • 724 posts
  • LocationBerkshire, UK

Posted 06 January 2013 - 04:08 PM

Hi again,

 

Glad to hear that the sensors have their own grounds.

Ground loop isolators are actually audio transformers, so they would not work with your DC voltage sensors.

 

Twisted pair with a screen connected to the Netduino ground will help, but it may not be perfect.

Try it and see how well it works. Consider routing the signal cable away from any source of noise.

 

Yes, voltage dividers will reduce the voltage to a Netduino friendly level. (For the analogue and digital sensors)

Do consider using diodes also to protect the Netduino from high voltage spikes.

 

The problem is the .Net frame work which manages the code. It is not a true real time operating system where you can make an accurate timing of a pulse or train of pulses. So, yes you can use a timer to measure the period between events on a digital input, but your results will vary a lot due to the variable time taken for the .Net frame work to dispach the event to your code.

With some simple software filtering (a running average) you may get a result that is accurate enough for you. Again, try it and see how good (or bad) it is.

As I said before, if it is not good enough, try a frequency to voltage converter IC.

 

Regards - Paul



#6 mbaldini

mbaldini

    New Member

  • Members
  • Pip
  • 4 posts

Posted 07 January 2013 - 04:34 AM

thanks Paul. a running average would probably suffice. It is meant more for gauges and data logging so it will be much more forgiving than if I were using it to actually do things such a adjusting the spark timing. I will give it a try with a running average (perhaps based over a course of 100-250 ms) and see what sort of signals I get. And I will be mounting this inside the car under the dash, and I will ensure the power cables for the rest of the accessories are routed away from the netduino and its signal wires.






0 user(s) are reading this topic

0 members, 0 guests, 0 anonymous users

home    hardware    projects    downloads    community    where to buy    contact Copyright © 2016 Wilderness Labs Inc.  |  Legal   |   CC BY-SA
This webpage is licensed under a Creative Commons Attribution-ShareAlike License.