Maker Pro
Maker Pro

PWM solenoid use

I am a mechanic/ automatic transmission rebuilder and I want to make a stand alone electronic shifter for 4L60E transmissions. It will be used for functional testing of a transmission only. I hope to give you enough information to make a solid recommendation without giving you more than is needed. But I am new to this side of electronics. Testing and replacement of these same parts is what I’m used too. What is required to make some of these function is a whole different world to me. This box will need to control 1 PWM Pressure Control solenoid and 3 on/off solenoids. I know this can be done, I have used more elaborate versions before. I just don’t understand the guts of it all.

I will use the vehicles 12 volt DC accessory plug as its power supply. I have a schematic for the 3 on/off solenoids already using toggle switches. I would like to have LED’s with push buttons for the shift solenoids to show what gear is on/in, 1st, 2nd, 3rd or 4th gears. So I will have to re-design that. A potentiometer for adjustment of the PWM PC solenoid. The PWM part is what is eluding me right now. I know I need to create a square wave form at the specified timing. What drives/controls a PWM solenoid? Can I use a DC motor control? Do I need an Arduino board to do this? Texas instruments makes a 16pin micro-controller for the 293HZ, IE L293.

The spec's for the solenoid are:

Pressure control solenoid operates at a fixed frequency of 292.5 Hz. Measures 4.5-6 ohm’s resistance.

+5% duty cycle .1 amp is maximum line pressure.

+40% duty cycle 1.1 amp is minimum line pressure.


I am only concerned with controlling operation for the actual gear selection and pressure rise to test transmissions on a dyno or in a test vehicle.
Any help will be appreciated.
 

Fish4Fun

So long, and Thanks for all the Fish!
Hey Randy! Welcome to the forum!

I was a bit uncertain what a "PWM Solenoid" was....honestly thought you might have made it up, lol, happens here sometimes....but it turns out they are quite real ( http://www.tlxtech.com/understanding-solenoids/theory-operation/pwm-solenoid-theory/ ) and, as luck would have it, now that I know they exist .... I would love to play with some....but that doesn't have anything to do with your post....Other than a round about way of me saying, "Thank You for making me aware of them."

Absolutely the "easiest" way to solve this is a uController.....my first choice would be an AVR family member...almost certainly mounted in an Arduino board....but it may well not be the easiest way for YOU to solve it. A lot depends on exactly what you need to do to test the existing system...if there are different "settings" for different transmissions....how much effort you are willing/able to put into designing, coding, building, debugging such a piece of test equipment....and what you expect when you are finished.... I would guess with a strong background in uControllers and PC coding along with an intimate knowledge of the transmissions and the requisite bits required "on hand", a person might be able to prototype something viable in an afternoon....on the other end of the spectrum, to build a flexible, robust self-contained test instrument ready for market might take 500 to 10,000 man-hours spanning 12 to 36 months....So much depends on what your expectations are...if you want a bread-boarded prototype that uses a PC as an interface the project is several orders of magnitude easier/cheaper than a stand-alone, market-ready product.....As far as "cost" goes, the materials for a prototype should be fairly trivial...certainly less than $1k...likely less than $100...perhaps as low as $25....but making those materials do what you want will require a fair amount of effort.

Now, If the only thing you lack is a PWM source @ 292.5hz....variable from 5% to 45% duty cycle via a potentiometer with an output up to 1.1Amps.....then I can likely "help you out" with the code for that on an Arduino platform...but I have no interest in undertaking the design of the complete system....As a side note, even the smallest Arduino has several orders of magnitude more resources than this tiny bit of requisite code...if you have an interest in learning about AVR programming you might find a whole new world of projects....but it sounds like you simply need one function, and I can't think of a cheaper/easier way to achieve it than an Arduino, lol. (to achieve the 1.1A will, of course, require a mosfet and a few other bits, but they are trivial.) So if you just need to "add the servo control" (this type of PWM is similar to the way a servo operates) and you have the rest in-hand, then let me know and we will get it worked out....

Think about what you want and how you want to proceed.....

Good Luck!

Fish
 
Good answer from Fish. If you don't have the ability to program a micro controller you could possibly do this with a triangle waveform generator and a comparator. Or an astable oscillator with variable mark space ratio.
Thanks
Adam
 

hevans1944

Hop - AC8NS
This looks doable. It also appears that you are not a total stranger to electronics, given you have already considered using an Arduino board with a quad totem-pole switch, the L293. I, OTOH, know very little about automatic transmissions... Other than what I learned by watching the video tear-down and re-assembly video at the bottom of the page on this website. Pretty good tutorial, but I think I will leave transmission repair to people like Randy. Plus, I'm a Ford (Found On the Road, Dead) kinda guy.

I will assume that the hydraulic fluid is compressed by a constant-volume pump and that the hydraulic pressure is controlled by by-passing the fluid back to the pump inlet through the pressure-control solenoid valve located in the transmission valve body, thus less pressure when the valve is more open.

Many moons ago (1964 to 1967) I worked on an hydraulically-driven and aimed 20mm Gatling gun mounted at the rear end of B-52H heavy bombers, the AN/ASG-21 Defensive Fire Control System. Our system used a constant-pressure (3000 psig) hydraulic power supply that varied the pressure by using a variable-displacement (swash-plate) multipiston pump, providing about 30 HP, driven with a three-phase, 400 Hz, induction motor. The whole thing, weapon, ammo box, two-axis turret, and hydraulic power supply fit in a volume of less than one cubic meter. Pretty amazing stuff for a twenty year old kid to being playing with! Not to mention then state-of-the-art electronics to make it all play together with combat reliability.

Much to my amazement (because I thought my system was the neatest thing since sliced bread), the remaining hydraulics on the airplane used constant-volume pumps driven mechanically off the eight tubrofan engines. They just used pressure-relief valves near the point of load to bring the pressure down to whatever level was needed, returning the unused fluid volume back to the pumps. I guess this worked well when you had literally hundreds, if not thousands, of feet between pump and actuator load and dozens of actuators to drive. Sort of like 4 to 20 mA current signaling that is pretty much insensitive to distance.

It would be tempting to recommend using the L293DNE instead of the L293NE to obtain the internal "freewheeling" diode on the output terminals, but the datasheet reduces the continuous current rating from ±1 A back to ±0.6 A if the diode is included in the package, so that is not an option for you. You probably need to have two external diodes to dampen inductive transients from the PWM circuit. Driving the solenoid at 40% duty cycle with an average current of 1.1 A is pushing the limits for the device, which is rated 1 A continuous and 2 A peak for non-repetitive pulses less than 2 ms duration. Since your pulses from the PWM are continuous, at about 1.36 ms width for 40% duty cycle, the peak rating does not apply. With adequate heat sinking, you might get away pushing the average current to 1.1 A at 40% duty cycle, but I don't think this is good engineering practice. Always leave a safety margin for better life and reliable operation. I don't think it would be wise to attempt to parallel the outputs in an effort to increase the drive current to the solenoid. The totem-pole NPN transistors switch quickly enough, but there is no way to guarantee the current would be shared equally between two outputs connected in parallel. And besides, you don't need a totem-pole output, which is more suitable to H-Bridge and half H-Bridge applications (like reversible motors), to switch power to a solenoid. A single power MOSFET switch, connected in the "ground" side of the solenoid is sufficient... unless you have to drive the "hot" side of the solenoid because the other side is permanently connected to "ground" in the transmission or automobile wiring.

From the tear-down video, it appears that both solenoid wires are brought out in a wiring harness attached to a multipin connector mounted on the valve body. It should be possible to connect one wire to the +12 V DC automotive supply and the other wire to the drain of a power MOSFET. Things get a bit more complicated, but not excessively so, if further down the line one of these wires is permanently "grounded" to the auto chassis ground and the remaining wire must be driven with positive PWM pulses... Please let us know how you intend to drive the solenoids. Does your test rig substitute for the GM Power Train Control or ECM module? Will you need to read and process the speed sensor and throttle position sensor? Your original post indicates this is not necessary, at least for testing on a dyno, but it is probably a good idea to include this "feature" if you are going to the trouble of building a test set.

If I were driving the pressure control solenoid, with one side connected to +12 V DC automotive supply and the other "ground" side accessible for control, I would use a single n-channel enhancement-mode power MOSFET rated at least 2A and perhaps 30 to 60 VDC maximum Vds. It is problematical whether it is necessary to use expensive fast-switching Schottky diodes to clamp the inductive switching spikes. I have had good results with common 1N400x series power diodes. The low forward voltage drop and extremely fast reverse-recovery time of Schottky diodes is not needed, IMO, to protect the MOSFET switch from inductive transients that occur when the current in the solenoid is switched off. Be aware that a flyback protection diode connected in parallel with the coil will slow down the decay in current through the coil when the MOSFET switches off. This "slow down" effect limits the maximum frequency at which a PWM-controlled solenoid can be operated. This can be alleviated somewhat by placing a low-value resistor in series with the flyback protection diode. The resistor helps dissipate more quickly the energy stored in the magnetic field of the solenoid, said energy being otherwise dissipated in the solenoid wire resistance and the diode forward resistance, which if too small extends the current decay time. A second diode in parallel with the MOSFET drain and source terminals (cathode connected to drain) should be mounted as close as possible to the MOSFET and should not have a series resistor. Do not depend on the MOSFET "body diode" to perform this function unless the manufacturer's datasheet specifically states it is suitable for that purpose.

As to how to generate a continuously variable 5% to 40% duty-cycle pulses for the solenoid... you could use an Arduino for that, but it is probably not necessary unless you want the Arduino to do other things... like decode four shift buttons, light gear indication LEDs, and prevent dumb things like shifting from first gear directly to fourth gear... things like that are pretty easy to code in software and easy to make changes. For an analog circuit solution, a pair of 555 timers can generate your range of duty cycles, using a transistor to vary the pulse-width of one 555 operating as a monostable re-triggered by the second 555 running at 292.5 Hz. There are other analog circuits that can accomplish this too, such as the triangle-wave and comparator suggestion offered by @Arouse1973 in post #3 above.

One problem I see is accommodating failure modes. What happens if the pressure solenoid fails to energize? Is there a mechanical pressure-relief valve that prevents overpressure of the hydraulic fluid? Do you need negative feedback control of the pressure from a hydraulic pressure sensor? Also, is there a shift-lever position sensor or switch that somehow overrides the two shift solenoids if you need the transmission to remain in a lower gear?

From what I have read so far, this is the best transmission ever made. How could GM possibly go bankrupt with engineering like that? Yeah, I know... bad management.

Hop
 
Elanor is a little upset with the negative comments on Henry's stable of fine motor cars.
Everyone knows that FORD is an acronym for First On Race Day.:D
 
First thanks to all who replied!!! It is a lot to take in and most of this is greek/latin language to me. So I will try to respond to best of my knowledge to all that have replied. I do know the difference between you guys and me is we are both experts in our chosen fields. So I will try to educate my shelf about your language and what is involved in building this simple stand-alone controller box. It has been and is being done on grander scales of course.

http://www.superflow.com/Transmission_Test/super_shifter.php#

Most high dollar bi-directional scan tools (Snap-on, Matco, Mac tools, Cornwell tools, Autel) will communicate with & operate a transmission as I wish. I simply do not want to spend $5000 to do this. I am not looking to make anything to market. Too many companies do it already. I believe it can be done for less than $200 and some personal education on the PWM driver operation. I am not looking for anyone to build this either. What I need is the technical side to be dumbed down a smidge. Like you needed when you were back in your first electronics class and your instructor talked about everything and it was foreign to you. I can study wiring diagrams and understand them to a point. Most of my experience has been in hydraulics and diagnosis of transmission systems malfunctions or failures. When I see a diagram (see below) that has 1n4001 diode being used on the PWM solenoid wires High and low terminals (C high & D low). I understand that it is a recirculation diode or fly back diode to keep the circuit from being damaged by spiking the electronics.

· But is the 1n4001 a part # or a code for a certain type or kind of diode?

· What is the 4.7 ohm, 5 watt resister for on the low side?

· Is that the specs for the solenoid itself?

I am looking to bypass the car/vehicles computer to quickly test or make sure a transmission will operate correctly given the signals from a 2nd external source. I do like the idea of being able to monitor circuit resistance or current, but I am not willing to go to that much detail. I want to follow the K.I.S.S. principal. The reason I was looking at the Arduino boards is that I can make some simple coding for up and down shifts via 2 push buttons instead of two toggle switches. I’m not sure if I need any negative feedback control, I will not even have a pressure sensor. So I will say no I don’t need it. It will be a full manual control. If I push a button or flip a lever and I expect a shift to happen. I rotate a knob and I expect the pressure to go up or down. For the PWM it could be a constant variable or a 4 position switch to give 25%-50%-75%-full line rise or no rise-25%-50%-75%. Whichever would be easiest to control the PWM solenoid? Yes I plan to study some simple coding if I have to use an electronic board to control it. I also have a friend that is a computer programmer, but the PWM solenoid control is foreign to him as well. He wants to help code the mini board once I have the components.

So you may call a mosfet and a few other bits trivial, to me knowing specifically what is needed is crucial to the finished product. The transmission pump is a variable displacement vane type pump. It does contain a pressure relief blow off ball. The car computer uses a Throttle position sensor and a manifold absolute pressure sensor for a signal to the computer for what the operator demands. The TPS is basically a potentiometer that gives a .5-4.5vdc reference signal to the computer. .5v is minimum throttle & 4.5v is full throttle. The MAP sensor measures engine vacuum, it also produces a similar reference signal for the computer that confirms a demand from the operator. Both are used to make a calculation of what duty cycle signal to supply the PWM solenoid for load. I understand how the system works and how to diagnose a problem, but I want to be able to control the duty cycle of the solenoid via a manual potentiometer. This has been done before, I have used a device similar to what I want to build.

Because you guys understand the electronics part of it better than I. What I was hoping for a basic guidance of individual components needed to accomplish this task. If I have not given adequate information please forgive me.
 

Attachments

  • 4L60E external wiring.png
    4L60E external wiring.png
    201.6 KB · Views: 2,655
Hi Randy

A few questions from me which will decide which way to go.

1) When the unit is first powered up, what should it do? Nothing until a switch is pressed or give out PWM for say 1st gear?

2) If you were to use on/off switches what would you want to happen if you forgot to switch one of them off and you switch
another one on?

3) Is there a failsafe that you would want to use if one of the PWM switches didn't work. Like flash an LED?

4) I guess you would want to know which PWM setting was currently active, like lighting an LED?

Thanks
Adam
 

hevans1944

Hop - AC8NS
Found on rubbish dump :)
Only after the wheels fall off! My 2002 Taurus station wagon has 250,000+ miles on it (purchased it used) and my 2002 Ranger truck has more that 50,000 miles on it (purchased new). Periodic maintenance of any vehicle will extend the usable life.
 

hevans1944

Hop - AC8NS
Elanor is a little upset with the negative comments on Henry's stable of fine motor cars.
Everyone knows that FORD is an acronym for First On Race Day.:D
Mebbe so, but I refuse to race my Fords lest the wheels fall off... or worse. Actually, the wheels DID fall off of my first Taurus station wagon... in a parking lot, thankfully, and not on the highway. Something to do with not maintaining the rubber boot protecting the constant-velocity thingamajig on the front-wheel drive train, allowing the gigantic ball bearings to fall out in the parking lot. Good news is that the guy that towed it away, to where ever, paid me fifty bucks for it, so no towing fee.
 
Adam,
Maybe I should just explain more about how it works in the vehicle. Then I will attempt to answer you individual questions.

Park, reverse and neutral are mechanically operated, the box cannot change anything while in these ranges. The fluid is not directed to these hydraulic circuits in these ranges. If watching the state of the solenoids with a scan tool in reverse, you can actually see them change states with MPH. The vehicle computer cannot tell the difference between forward and reverse. Yes it is that dumb. The factory computer calibration for the shift solenoid operation is: (See the schematic below)
These are normally open On/Off solenoids with constant power. The circuit is grounded for operation or closing of the solenoid to redirect fluid. During operation of the transmission the PWM solenoid constantly changes for load requirements or clamping force on the clutch packs.

The factory Failsafe or Limp in Mode is:

With no electrical power what so ever, you are in 3rd gear and for PWM control would be full line pressure AKA “limp in mode”. This allows driveability and protection from slipping so the operator will not be stranded and be allowed to limp the vehicle somewhere without further internal damage.

There is 1 PWM solenoid, 2 shift solenoids and 1 TCC solenoids and all 4 are separate and will need to be controlled separately. All though the shift solenoids and TCC solenoid share power. I have a schematic for on/of solenoids they are a no brainer with toggle switches. The PWM solenoid is controlled through terminals C & D. Controlling the PWM solenoid is my hurdle.

To answer you specific questions.

1. Nothing except give it the manual commands it is set to, I would always set the box back to let’s say 1st gear and minimum line when not in use.

2. I would expect it to go to what-ever gear I just commanded. It will shift the gears through the combination of switch states anyway. I understand that if I’m traveling in 4th gear at 55MPH. I should not flip the switch to turn on solenoid “B” forcing 1st gear.

3. The boxes default or failsafe setting could be the same as the transmission manufacturer’s default. Because this is a manually controlled box, I don’t really care what is on or off till I need to move, then I will flip a toggle switch accordingly. The internal differences or clutch application does not matter while sitting still. Don’t want any LED’s

4. The dial on the Potentiometer controlling the PWM will be marked so I will know where it is set. I don't need a LED

I am interested in the use of LED read out for displays for gear selection. but I would prefer to make a functioning unit at first then study up on the use of the Arduino board and the push button switches. There are companies that make paddle shifters for this unit already. They are for use in a street rod. I just believe I can build this with a project box and a few key components. figuring the key components for the PWM solenoid is again the major hurdle.
Randy the Tranzman
 

Attachments

  • 4L60E solenoid function.png
    4L60E solenoid function.png
    14.3 KB · Views: 804

hevans1944

Hop - AC8NS
If you create an astable (free-running) oscillator using a capacitor, two resistors, a diode, and a 555 integrated circuit timer, the voltage across the timing capacitor will be "ramp like" as it charges, and then quickly decay back toward zero, through a diode connected between the capacitor and the discharge terminal of the 555, when the upper threshold voltage is reached. The result is a saw-tooth like waveform that rises quasi-linearly and then suddenly drops back toward zero, repeating the cycle each time the voltage on the capacitor crosses the lower threshold voltage (which resets an internal flip-flop that was set at the 2/3 Vcc level to discharge the capacitor). The two threshold voltages are derived, through an internal voltage divider in the 555 timer, at 2/3 and 1/3 the supply voltage for upper and lower thresholds respectively, meaning that the oscillator frequency is relatively insensitive to power supply voltage variations. You would choose the resistors and capacitor timing components to create the 292.5 Hz PWM frequency you require, perhaps with a small potentiometer to "tweak" the frequency to the exact value. I doubt the exact frequency is critical. It was probably derived by counting down a higher-frequency oscillator in the ECU.

To generate PWM pulses using the saw-tooth waveform present across the capacitor, all you need is a way to compare the voltage across the capacitor to a variable voltage from a potentiometer, set a flip-flop when the capacitor voltage exceeds the potentiometer voltage, and reset that flip-flop when the capacitor discharges to begin each cycle anew. The output of this flip-flop will be the pulse-width modulated signal you desire. This is similar to Adam's earlier suggestion to use a triangle wave generator with a voltage comparator, except here I am suggesting the use of a saw-tooth signal that is only quasi-linear because the capacitor charges through an RC network exponentially. Linearity is irrelevant since you will "calibrate" the potentiometer set-point positions on a marked dial from 5% to 40% duty cycle.

A lower voltage from the potentiometer will set the flip-flop sooner as the capacitor begins to charge, while higher voltage from the potentiometer will set the flip-flop later as the capacitor charges, with a continuous variation in between. In other words the comparator controls how long from the beginning of the capacitor charging that it takes to set the flip-flop. The flip-flop is always reset when the capacitor voltage crosses the upper threshold voltage set by the 555 internal voltage divider. Thus lower voltage from the control potentiometer correspond to higher duty cycles and higher voltages correspond to lower duty cycles. The lowest duty cycle depends on how fast the capacitor discharges at the maximum set-point potential. That is the reason for the diode, to minimize the discharge time of the capacitor.

The easiest way to reset the flip-flop is to use the 555 output with a small RC network and signal diode to differentiate the pulses that occur there. The 555 output pulses occur with a fixed duty cycle and frequency and are used only to reset the flip-flop. The differentiated signal, now a narrow unipolar pulse, is applied to the reset input of the flip-flop.

To set the flip-flop, a voltage comparator is used with a high input impedance unity-gain buffer (to avoid loading and changing the time constant of the oscillator circuit) to compare the buffered capacitor signal with the voltage derived from the wiper arm of the potentiometer. When the capacitor voltage exceeds the potentiometer voltage the voltage comparator output changes states. This output would also be passed through an RC network and a diode to pulse the set input of the RS flip-flop. As for components, a quadruple operational amplifier can be configured as a unity-gain buffer, a comparator, and as a flip-flop with one op-amp to spare. Everything can be operated from a single +5 to +15 VDC power supply rail.

To summarize, the potentiometer sets the point on the sawtooth waveform across the capacitor where the output flip-flop is set. The 555, at the end of each cycle when the capacitor is discharged toward ground potential, resets the output flip-flop. You connect the flip-flop output to your solenoid driver.

There is an even simpler way to produce a variable duty cycle, but frequency control (setting the frequency to the rate your want, 262.5 Hz) may be more difficult. The advantage is fewer components (no op-amps!) and the PWM signal is taken directly from the output of the 555.

Someone should model the two circuits described above, selecting suitable timing components and a single-supply quad op-amp for the first circuit. I would do it, but I am currently working on another project. Don't forget to insert limit resistors at each end of the control potentiometer to limit the duty cycle range to between 5% and 40%.
 
Here is a my attempt at a circuit that can output 25% 50% and 75% of 3.41 ms (1 / 292.5 Hz). Make R4 and R5 adjustable for calibration. R8 is what sets the PWM, use 3 variable 2K2 resistors and switch in the different calibrated values for 25% 50% and 75% using a separate switch for each one.
Thanks
Adam

PWM.PNG
 
Adam,
Thank you for your expertise. Now I can gather some components and give this a try. Looks like I have a lot of learning to do. Creating something is much more difficult than repairing something.
 
If I were driving the pressure control solenoid, with one side connected to +12 V DC automotive supply and the other "ground" side accessible for control, I would use a single n-channel enhancement-mode power MOSFET rated at least 2A and perhaps 30 to 60 VDC maximum Vds.

Hop, I have looked for the definition for the VDS, the acronym has ??? different explanations. could you please give me the electronic definition for Vds?
 
Adam,
Thank you for your expertise. Now I can gather some components and give this a try. Looks like I have a lot of learning to do. Creating something is much more difficult than repairing something.

Good luck, get any probs give me a shout. I might build this along side you so I can iron out any problems.
Adam
 
I have just noticed the original comparator LT1716 is not push pull. I checked the diagram and was convinced it was. So don't order this part. I will look for another part and let you know.
Thanks
Adam
 
Top