View Full Version : Does anyone have any exeperience using a drv101/drv102 solenoid driver with the

10-14-2006, 12:15 AM
I have been trying to hook up a Texas Instruments solenoid driver chip ( http://focus.ti.com/docs/prod/folders/print/drv101.html )
to the Propeller Demo board to control the speed of a solenoid. Its seems like the chip could be switched by logic high from a pin and
it's PWM could be controlled by the PWM output of one of the prop's other Pins. After doing this and experimenting with the Drv's delay pin, the PWM signal I am
unable to get any output. If anybody has any experience working with these chips I could really use some help.

Jason Corace

Mike Green
10-14-2006, 12:33 AM
It looks like the chip requires a logic level input (for on/off) which the Propeller can provide. It also requires a variable voltage for the PWM control. I suggest you first try it with just the on/off logic level and use the suggested variable resistor for testing. The upper level of voltage is 3.7 which the Propeller will not be able to supply without an external amplifier (op amp). You might consider a digital pot, maybe a 50K logarithmic pot to control the duty cycle.

10-14-2006, 03:18 AM
Hey Mike,
Thanks so much for the tips...I will try using the suggested resistor for testing purposes and see if that makes thing go go go.

Phil Pilgrim (PhiPi)
10-14-2006, 08:51 AM

Here's a circuit that I think (not having tried it) will drive that PWM input from the Prop:


It relies on pulses from the Propeller as well as the internals of the solenoid driver to obtain a 0.753V - 3.8V range on the "Duty Cycle Adjust" input. The MOSFET should have a very low VGS turn-on voltage. Use one that's designed to be driven from 3V logic. It doesn't have to handle any real current, so something in a TO-92 or SOT-23 (or smaller) package will work. The Fairchild FDV301N (DigiKey #FDV301NCT-ND) is an example of such a device available in an SOT-23. The ubiquitous 2N7000 should probably be avoided, since its maximum turn-on voltage is too high.

Instead of a MOSFET, you could also use an open-drain inverter. Just make sure it's a fast one, since it will need to handle output pulses as brief as 25 nSec without lengthening or shortening them.

The Propeller pin that drives this transistor should be programmed as an output from one of the timers operating in DUTY mode. The solenoid's drive current will be proportional to the value written to the FRQA (or FRQB) register, plus a constant.

The advantage of using a chip like the DRV101/102, with its own PWM, is that you don't have to dedicate a cog in the Propeller to generate a PWM signal programatically; you can use the timer's hardware DUTY mode instead. However, you may find cheaper alternatives to the TI chip that can be driven from an external PWM signal. If a cog is available to generate the PWM, that may be a less expensive route to take.

Good luck with your project!