Interfacing with 3v Sensor

Hi, I'm currently developing a control system based on arduino mega. I need to use 15 analog sensor that needs 3v @10mA each one of power. The sensor has 4 pins, you need to feed it with 3v@10ma for 20ms before read the analog value, keep the power during read and then switch off. You can't power the sensor continously because the sensor may be killed, ;).

I'm figuring out how can i make it and i've 3 choices, but every one with problems:

a) Feed each sensor with an DigitalOutput through a voltage divisor. Each I/O pin should be able to give 50mA, so the current is not a problem, but adjusting the voltaje divisor with resistors exactly at 3v I think isn't a easy thing, because the Output High threshold of TTL output.

b) Use a LM317 to feed all the sensor, but I don't know how to add an enable pin to a LM317 to power the sensor only when needed.

c) Use a commercial voltage regulator with EN line, like: http://www.lineagepower.com/oem/pdf/minilynx_sip_12v_ds.pdf or http://www.murata-ps.com/data/power/okr-t3-w12.pdf

The problem with this last option is mainly the price (10$) near to a 3.3 power source.

I'll be thankfull for any kind of ideas of how to manage the problem.

P.D: I've a 12V power Source that will be used to feed the arduino, but available too to feed the sensor if needed.

Useful info here: http://www.sparkfun.com/commerce/tutorial_info.php?tutorials_id=65

already readed, but no solution founded there.

The problem is the same that whith option a) It'll no guarantee a fixed voltaje level, only a range, and it's not suitable to the sensor, remember that the sensor isn't a digital sensor, it's analogic, and it returns (in analog, again) a voltaje that is 10%-40% of the vin voltaje depending on the sensor read so a not fixed Vin will be make impossible to do a good equation for sensor value.

You can't power the sensor continously because the sensor may be killed

What kind of sensor is this?!

b) Use a LM317 to feed all the sensor, but I don't know how to add an enable pin to a LM317 to power the sensor only when needed.

You can use a P-channel MOSFET to control power to the LM317:

The LM317 is not recommended (an LD1117V33 is better) because it requires (in the worst case) the input to be 2V above the output, so you'd really need 5.3V input for reliable operation, though frankly you'll probably get away with it because 2V is really a worst case.

The LD1117V33 only needs about 1.3V input higher than the output.

-- Check out our new shield: http://www.ruggedcircuits.com/html/gadget_shield.html

I like this option, but i see some problems: a) 10mA is the current rating for the sensor, but in the manual it doesn't say that it could have a peak value at start. So, guessing a max of 15mA * 15 sensor it's 225mA of power coming from the 5v regulator in arduino board, adding that i've an LCD, an XBEE, feeding some ULN for relays, etc, it's a lot of power. So, could you help to adjust this schematic to be feeded at 12v (for using the 12vDC regulated power source that will be feeding also the arduino board) but excited (EN line) at 5v (TTL output of the arduino)?.

Thanks you in advance!

Edit: I forgot!, the sensor is a Soil Moisture Sensor for measuring Water level % in grounds.

It's a pretty simple change!

I made a note to consider a heat sink for the LD1117 in case someone tries to use this circuit to provide 150mA continuously, rather than just for a few milliseconds as in your case.

-- Check out our new shield: http://www.ruggedcircuits.com/html/gadget_shield.html

It's a pretty simple change!

I apologize for being off-topic here, but how did you make that little representation "Board" in your eagle schematic? That can be handy for explaining things via posted schematics. Thanks in advance.

Pat

Just by drawing wires/text on the Info layer.

-- Check out our new shield: http://www.ruggedcircuits.com/html/gadget_shield.html