(Almost) OEM Intermittent Wipers for the FJ40 (1 Viewer)

Joined
May 11, 2013
Messages
216
Location
MD
Coolerman recently contacted me about the lack of good options for intermittent wipers and asked if I’d considered designing something. Because my top hasn’t been on in years, I hadn’t, but if you’ve read my OEM Carb Fan Controller Replacement thread you already know I’m an über-geek and enjoy an electromechanical challenge. Since this is rather unique I detailed some of it here for anyone interested in the process.

The FJ-40 wipers are an obviously dated design in that 12V is introduced at the motor, travels to the switch on the dash, and then to ground. The switch completes the circuit rather than actuating a relay to switch the 12V. Same for the washer motor. You can learn more than you ever wanted to know about FJ40 wipers on Coolerman’s Wiper Electrical Science page. This design was not unique to older Toyotas and quests for vintage-auto, intermittent-wiper upgrades are found all over the Web. There are variable-delay modules available and Coolerman has crafted some harness adapters for the Mitsuba. If you want an infinitely-variable delay controlled by an additional knob, it appears to be a good alternative.

Requirements
· Flexible design for a variety of FJ40 model years
· No harness modification
· No extra controls

1. The Electronic Circuit

After a month of back-and-forth design iterations with another engineer (my family tends to get in my way), a proposed design was set. During this part of the process the iterations are drawn on paper and eventually created it in a circuit-design simulator. With a PC-based simulator you can optimize component values and test the design. If the circuit gives the desired results in the computer, it’s drawn as a schematic. You can see the simulator on the left monitor and the schematic on the right.

IMG_0068.png


2. Component Selection

One thing that takes an inordinate amount of time is component selection. I spend a lot of hours reading through data sheets to pick the most appropriate parts. For example, the 3.3V voltage regulator requires two capacitors. You could throw any inexpensive aluminum cap on the output terminal and save money but it might not be the most stable design. A quality aluminum electrolytic cap is only 3 cents but some may become unreliable in very cold climates. Maybe not a concern for most, but it might be for someone. A tantalum would be the best choice. A tantalum can cost from 30 cents to $3 or more. The difference in 3 cents and 30 cents might not sound like much, but if there are a lot of parts, it can add up to a substantial difference in final cost.

I prefer Texas Instruments for a lot of things (e.g., voltage regulators), and I never buy components off of eBay. For the relays I used 15A Panasonic miniature automotive relays and I also added a 6.8A PTC fuse (polyfuse) to protect the board. PTC fuses trip at a given current but still allow a lower current to pass. This protects the module but doesn’t disable the wipers. Of course, if your wiper motor is drawing more than 7A, you have a problem.

3. Prototyping on the Breadboard

Coolerman sent wire and connectors so I could test with my ’78 wiper switch. The monitor shows the oscilloscope monitoring switch voltage and relay logic during testing. The circuit is tested in all of the modes and allowed to run for extended times. I also test if the code is “user-proof.” In other words, is there any possible way I can lock up, shut down, or otherwise trick the module into not operating the way it should? What if the truck is started with the wipers in LOW or HIGH? What if I go nuts on the wiper switch and push/pull every conceivable iteration of selections at very short intervals? Does the circuit work on 15V and will it work as low as 9V? (Yes.)

IMG_0070.png


IMG_0067.png


4. The Firmware

The firmware is about 250 lines and fills half of the microcontroller’s (uC’s) memory. The left window is a code editor. I used the C/C++ programming language for the project. The right window is a serial communication port. I use serial comms extensively for debugging. You can see that the window shows events as the wipers are running. Once the code is loaded on the uC, the circuit is powered to debug the code and and analyze the signals. The delay logic is similar to something VW did at one time. If you pull the knob to LOW and back to OFF within a second, a timer starts. If you do the same pull/push again within 15 seconds, the time between pulls is the interval and the wipers sweep at that interval. One change I added is that every time the wipers begin a sweep the timer resets so if you want to shorten the interval you pull/push once between sweeps and that new shorter interval is used. Pulling to LOW for more than a sweep cancels the intermittent function as does selecting HIGH. From the OFF position, twisting the wash knob starts the wipers in LOW and continues sweeping for 3 seconds after you release (like a modern car would). [Haven’t decided whether to leave that in or not.]

There are several ways to implement the delay. The initial thought was to use momentary contacts of the washer switch to cycle through intermittent delays, but not everyone has a working washer and some of the washer switches are pretty sketchy. Another approach is to use HIGH and LOW to decrease and increase the delay in ~3 sec intervals.

IMG_0065.png
 
Last edited:
Joined
May 11, 2013
Messages
216
Location
MD
5. The Printed Circuit Board (PCB)

I use Eagle for PCB design. When the circuit is created in Eagle, the parts are added to a board layout tool. Once an approximate size board was determined based on the part list and component footprints, I selected an enclosure. The PCB outline comes from the enclosure’s data sheet and the parts are laid out to minimize trace length. Both the digital and wiper power traces are more than twice the required width for the current requirement.

Once I’m satisfied with the layout, I clear off the breadboard and rebuild the circuit again using only the schematic to make sure what’s on the board exactly matches the design. One last step is printing the PCB onto paper, cutting it out and making sure the parts actually match the holes on the paper. It might sound silly and trivial but I’ve caught mistakes at this point. I used the default solder pads for connecting the harness wires and didn’t realize until I printed it that the 16ga wire I was using would not have fit into the pads. Only after I’m absolutely certain everything is perfect... do I lay awake in bed a night or two wondering if I’ve forgotten something. Then I order the PCBs.

IMG_0066.png


6. Assembly & Testing

Assembly is straightforward. Once it’s together, it’s tested on the bench and, if successful, in the truck. Last two pictures are of the assembled board and with the switch for scale. The module connects between the switch and harness and requires its own +12V (switched – not always on) and ground connection for the uC. I sent one to Coolerman to test. Once I identify any deficiencies, I could produce some.

IMG_0080.png

IMG_0078.png
 
Joined
Aug 28, 2015
Messages
1,897
Location
SC
Wow. Thank you for taking the time to share your knowledge. Count me in for one.
 
Joined
Jan 26, 2012
Messages
3,751
Location
Ohio, Illinois
Be very glad you don't live anywhere near me - I'd either keep you buried in projects or just drive you nuts . I love that custom designed stuff that is fully tested and proven - becoming a rarity it seems or at least what is available to fabricators unless you go big .
Very interesting work , even if I only understand about 20% of it , lol .

So , I bought and Matsuba controller for nothing ??

I assume from reading you are building or built an inline logic controller with a different than OEM switch ?
Did you test it with a badly dragging motor/linkage ? That is the most common issue with older trucks , especially Cruisers ...

Sarge
 

DPV7070

ForceFed40
SILVER Star
Joined
Jun 13, 2010
Messages
931
Location
Vestavia, AL
This is amazing! As a pilot I love technical details and your approach to solving a problem is very methodical. Well done!

How resistant to vibrations are the uC's and other associated non-solid state components? Any ideas about preventing water and dust intrusion?

I'm in for a couple...
 
Last edited:

Users who are viewing this thread

Top Bottom