Sale ends todayGet 30% off any course (excluding packages)

Ends in --- --- ---

PDM Installation & Configuration: Wiper Motor Control

Watch This Course

$149 USD

Or 8 easy payments of only $18.63 Instant access. Easy checkout. No fees. Learn more
Course Access for Life
60 day money back guarantee

Wiper Motor Control


00:00 - One seemly simple feature present on almost all vehicles we work on is a windscreen wiper.
00:05 Whether it's a modified street car or a full on race vehicle, windscreen wipers are usually counted as an essential item.
00:12 There are a couple of peculiarities of how the majority of windscreen wiper motors are configured that makes their wiring and control not as straightforward as it would initially seem.
00:21 Let's look into how these systems are commonly set up from the factory as it's important to have a good understanding of them when it comes to integrating a PMU with their operation.
00:30 In particularly, the most obvious peculiarity is that when you turn windscreen wipers off, they don't immediately stop, instead continuing to be powered until they reach their correct park position.
00:40 This is accomplished by a switching element called the park switch within the motor that's tripped at one specific location of the output shaft.
00:48 This switch keeps the motor powered when the wipers are not in that parked position.
00:53 To understand how this system works, it's easiest to think about the single wipe feature that most cars have.
00:58 This is usually a button on the wiper control stalk that a short press on will cause the wiper to operate just once.
01:04 This short press powers the motor briefly, causing the output shaft to rotate slightly.
01:09 The wipers lift and the park switch trips into the running mode.
01:14 The park switch is configured in such a way that when in this state, it continues to apply power to the window wiper motor, meaning it'll continue to spin until the wipers reach the park position again.
01:25 At this point, the park switch trips to the park mode and the power is removed from the motor.
01:30 If instead of the momentary button, the wipers are switched on from the control stalk, the switch will power the motor, lifting the wipers out of the park position, the park switch then takes over, continuing to power the motor.
01:41 When they reach the park position again, the wiper switch is still on so once again the motor will be powered, lifting them out of the park position and that cycle continues until the wiper switch is turned off.
01:52 When this happens, the wipers will continue to operate until they reach the park position again.
01:57 There's nothing to provide them with power at that point.
02:00 I've said the wipers stop when the park switch removes power but due to the energy that's actually stored in the DC motor's magnetic field, this wouldn't be the case and the motor would continue to run on for a time, most likely sending the wipers half way back up the screen.
02:14 In an earlier course module we talked about motor braking and how it can be achieved by shorting both sides of the DC motor to either power or ground.
02:23 This is what a parked position switch will do, ensuring that the motor stops quickly with those wipers in the correct position.
02:31 Interestingly this is exactly the same way that pop up headlight systems generally work.
02:35 Though they will have two parked positions, one for being down and one for being up.
02:40 The arrangement of how the headlight switch interacts with these positions varies from model to model but with a good understanding of the basic principle and the factory service manual for your vehicle, you'll be able to apply the same wiper control logic we're discussing to a pop up headlight system.
02:55 With the factory parking operation of the wiper system understood, let's discuss the issue of different wiper motor speeds.
03:00 Most front windscreen wiper motors like the one we've got here as an example consist of a DC motor and a gearbox within a single casing.
03:08 Most have 5 wires, permanent power, ground, slow speed power, high speed power and the park switch.
03:15 Now to wire this up it would seem logical to connect the slow and high speed wires, each to a PMU output channel and ground to ground and simply turn on the required channel for their desired speed.
03:26 But this can cause some serious problems.
03:27 Without going into a huge amount of detail on how a 2 speed DC motor like this works, the problem that we strike is that when we power the high speed of the wiper motor, the slow speed brushes within the motor will have a substantial voltage generated on them, almost certainly high enough to damage the PMU output channel they're connected to.
03:46 This is why when you're reading the documentation for your PMU it may have specific output channels that must be used for dual speed wiper control.
03:54 The PMU will have extra circuitry to completely isolate the output channel connected to the low speed winding, protecting it from the voltages generated.
04:03 Not all PMUs have this feature however and it's critical that you don't wire an output channel directly to the slow speed winding without confirming that these protections are in place.
04:13 If you're using a PMU capable of directly powering both windings of the wiper motor like the Ecumaster PMU 16 or the MoTeC PDM range, they'll need the park switch wired to one of their input channels to know when to remove power from the motor and actively brake it to allow the wipers to park in their correct home position.
04:31 These switches usually operate in a way that when the wiper motor is in the park position, the switch wire will be connected to ground which is usually the body of the wiper motor.
04:41 When the wiper motor is not in the parked position, the switch wire will be disconnected from anything meaning it will need a pull up resistor which can either be configured in your PMU configuration software or added manually.
04:53 We'll have a look at this configuration now with the sample motor and the PMU that we've got here.
04:57 The first thing we're going to do for our example setup is we're going to determine the correct pin out for our wiper motor here.
05:03 Now the wiper motor I've chosen to use is from an FD3S RX7 cause it's one that we just happened to have nice and handy on the shelf and it is a reasonably standard 5 wire configuration.
05:12 So luckily the factory service manual for this vehicle is readily available.
05:16 The wiper motors are the same for all different markets the vehicle was sold in so I was able to find the United States manual so it's in English as well which is really handy.
05:24 So popping over to my laptop I've got that open and I'm on the wiper motor page and we're just having a look at the wiper motor here and we'll have a talk about the pins that we're going to use.
05:34 So you can see we've got our low speed power input, we've got our high speed power input and this does kind of link to the fact that they actually work on different brushes that are attached to the motor commutator.
05:46 We've got a common ground so those are definitely going to be 3 of the wires that we're going to use in our setup with our PMU16 here and then we've got our park switch here.
05:57 Now the way it's wired up in this configuration is that when the motor is parked, this switch is connected to ground and when the motor is not parked, this switch would be connected up in this position here which would connect to one of the other external pins on the motor.
06:13 So the way I'm going to configure it is we're not going to use that external pin, we're going to leave it disconnected and our input channel going to the wiper motor there, I'm going to give a pull up resistor.
06:25 I can configure that in the Ecumaster PMU16 software.
06:29 So that means when the motor is parked, it's going to, that input going to the PMU16 is going to see ground and in any other position it's going to see 5 volts via that pull up resistor.
06:41 So we'll go through the setup procedure.
06:44 I've got the PMU here, it's totally blank, totally default setup so there's nothing on it at all at the moment, we'll turn on our power supply which has got a bit of a fan in it so we'll hear that and head over to our configuration software and start setting this up.
07:00 Built a little bit of just a bench test wiring harness here.
07:04 So gets us to where we need to be for this example but obviously something like this wouldn't go in a vehicle but it'll show us the procedure really nicely for what we need to do here.
07:15 One of the key features of that is this power switch here, what that is going to do is it's going to take power from that power supply and put it onto the, they call it the 12 volt ignition pin, it's the pin that you connect to on the Ecumaster PMU16 that will actually command it to turn on.
07:31 So we've talked about that in an earlier module.
07:33 So I'll just flick that switch and we can see our LEDs blinking there so that means our PMU is on now, that's going to talk via a CAN bus emulator back to the laptop to our configuration software.
07:45 Over to our configuration software you can see we are connected to our PMU here.
07:50 Now every configuration software is different so we won't go into a huge amount of detail in particular of using the PMU configuration software here but I will show you the procedure for setting up a wiper motor as it's really representative of the task with most other PMUs on the market as well.
08:06 So the first thing I'm going to do is I'm going to come in and I'm going to create a wipers module is what they call it in PMU lingo.
08:14 And this is specifically catered for a 2 speed wiper motor like we have here.
08:22 Now in the PMU, the Ecumaster PMU16, it uses output 8 as that dedicated output that's connected to the low speed brushes on our motor and you can actually use any of the outputs to be connected to the high speed brushes but it's that output 8 that has to be wired up correctly because when we power the high speed brushes of this, there's going to be a big voltage generated on those brushes and output 8 is the only one on the PMU that can handle it.
08:49 So I've actually wired up output 9 to the high speed configuration so we'll go ahead and specify that.
08:55 You can see we've got output pin slow as output 8 and then output pin fast I'm going to set up as output 9.
09:02 And we've got some generic values already entered in for us around the in rush current that we would be expecting to see and the steady state operating current.
09:13 Now because I've built this with fairly grunty 16 gauge wire, they're going to be absolutely fine for testing because if anything goes wrong, these wires won't melt before those current limits trip into place but we'll actually see when we get this up and running, we'll be able to get real time feedback on the real current values and that would allow us to dial those in a little bit better.
09:34 So we've got output 8 and 9 set there, now the park switch I have wired to input A3 on our PMU so I'm going to select that and I'm going to leave the default setting for the pull up which is going to be a 10 K pull up, as mentioned we are going to need that so that input has a default state when it's not actually connected to anything.
09:55 Our brake delay time, I'm going to set as, I'm going to leave set as 0 and our brake time I'm going to set, leave set as 0.2 seconds as well.
10:08 Those default values are pretty good for most common wiper motors you're going to be dealing with.
10:14 Once we've got the system up and running, I will actually change those and I'll show you the affect that it has.
10:20 Now I'm going to need some inputs into the system to command, send the PMU the commands to actually turn the wiper motor on for those different speeds.
10:28 So for that I've simply wired up a dual throw switch here and when I switch it in one direction it connects an input to ground and when I switch it in the other direction, it connects a different input to ground.
10:42 So I've wired those up to inputs A1 and A2 on our PMU16 here and I've set those up with pull ups as well so when they're not connected to anything, they're going to see a high voltage and then I can actively switch them to ground but I can't actually switch both to ground at the same time because I'm just using the one switch to manipulate both inputs.
11:04 That's probably really important as well because there's not a situation where we would want both of those inputs to be active at one time.
11:12 So we'll pop back to our software here, I'm just going to accept our wiper mode configuration for the moment, even though it is giving me some question marks here which tell us that the inputs are correctly set up so I'm going to come across to our analog input setup.
11:27 Now although I'm actually setting up a digital input, all the input channels on the PMU16 are capable of analog functionality so that's why they're called an analog input in the software.
11:38 So I'm going to give this a name, instead of input B we're going to call it wipers low.
11:47 And the pin is going to be A1, the switch is an active low which is correct, that means when I enable that input, it switches it to ground and we're going to leave it with the default 10 K pullup and we can even set some voltage levels in here which it will trigger above or below but their default value is going to be absolutely fine to leave for those.
12:09 So we'll set up one of those for our low speed and the PMU software has a nice functionality here where I can actually click duplicate and I can do exactly what I've just done but set up a different input so sometimes that can save you with having to enter too many different values over and over again so we'll call this analog input wipers fast, that's going to be pin A2 and everything else is going to be the same there.
12:36 Now while I've got our software open we're just going to do a quick sanity check, so we can see our variables inspector which is showing you the real time values of our variables.
12:45 If I take my input switch here and I flick it to our slow speed, you can see our wipers low has gone to 1, off again and flick it to our high speed and we can see our wipers fast has gone to 1.
12:57 So going back to our window wipers module I can now set up those input channels to control the speeds of the motor.
13:06 Actually to do that in the PMU16 software I'm going to have to do a little bit of a trick, I'm going to have to generate a table based on those inputs to give me a slightly different output.
13:17 Before I do that I just want to sanity check the system though so I'm just going to set up our low speed input to turn the wiper motor onto its slow speed.
13:27 So I'm going to define our input channel here as being analog input wipers low and when that is set to 0 we're going to have no output on our output 8 and when that is set to 1 I'm going to give it a slow continuous output.
13:45 So that will essentially turn on output 8, powering up the motor so we should see that spin.
13:51 So I will accept that and we'll pop across here, I'm just going to hold the motor down because as it starts to spin there'll be a bit of a torque reaction, it'll jump around on the bench.
14:00 But if I make sure my fingers are out of the way of that output shaft because wiper motors have an awful lot of torque.
14:06 Really really torquey motors so don't be getting your fingers in the way of them at all.
14:10 But if I switch this to our slow speed, we can see we've got that wiper motor operating and if I switch it off, you can see it continues to operate until it comes back around to its parked position.
14:24 In fact if I switch that back to slow and we head back over to the laptop you can see that park switch flicking from being 0 to being 1 when it's in the correct park position.
14:38 Like so.
14:40 Other important things to note in our software there, if we look at our PMU current that's flowing here, this is going to give us a good indication of what's happening in our PMU.
14:51 So I'll turn our wiper motor on again and you can see we had a spike of current there and then we've dropped back to a level just a little bit below 2 amps.
14:59 And when I turn it off, we're off back down to 0 amps.
15:04 So that initial spike of current, we'll just watch for it again, like so.
15:10 That's exactly what we're talking about when we talk about motor in rush current and we can see here from our output monitor, if we look at the output wipers slow which is our output 8, currently we're passing 0 amps but we've seen a peak of 7.73 amps on that channel so that's actually quite a high in rush current into that motor.
15:32 That's really crucial information when it's going to come to setting up our current limits on our channels nice and accurately.
15:40 Now I do want to get both speeds operating on our motor here.
15:43 So as I mentioned, to do that I'm going to need to get a slightly different output, different way of interacting with our switch here and we've included this because I just thought it was kind of a neat little trick of taking 2 inputs and multiplexing them into 1 input inside the ECU.
16:00 So to do that I'm going to create a table and I'm going to call that table wiper speed.
16:09 And I'm going to give that an X axis channel of wipers low and I'm going to give it a Y axis channel of wipers fast.
16:18 And then I'm going to create that table.
16:20 Just going to go into our wipers module here and just deactivate our wiper motor so it doesn't turn on while I'm flicking the switch and we're having a look at this table.
16:31 So we're back in our table mode here so I've got an axis here of wipers low vs wipers fast.
16:38 Now currently they're both on 0 so we're interfacing with this portion of this table and the table is giving us an output of 0 which is what we want.
16:48 If I flick this to the wipers low position, our wipers low is now set to 1, our wipers fast is still set to 0 so we're now getting the output of this position.
17:00 So I could change that to be 1.
17:02 So this table is going to give us now an output of 1 for our wiper low position switch.
17:08 If I flick our switch to the wipers fast position, we're going to head up to this table cell here because our wipers fast is now in position 1 and our wipers low is in position 0 so if I could have our table give us an output of 2.
17:23 So selecting OK for that, what I've now got is a function, you can call it a function, a table in the PMU that's going to give me an output of 0 when our wipers are being commanded to do nothing and an output of 1 when I want them on low speed and an output of 2 when I want them on high speed.
17:40 So heading back into our wipers module I can take our input channel and if I scroll all the way down, because this is in alphabetical order, find that table that we've created.
17:49 And I could say 0 is going to be no output because we want the motor to be off.
17:55 1 is going to be slow continuous and 2 is going to be fast continuous and our table will never actually output any of these other values so doesn't actually matter what we set those to.
18:08 So if I select OK for that and our wiper motor is sprung into action because I had this switch flicked to the fast position.
18:16 But I've got this here, if I switch that to the slow position we should get an output of 1 which is exactly what we've got here.
18:25 And if I flick it across in the other direction, we've got our fast output there as well.
18:29 Now I'll just leave that running for a quick second and we'll pop back over to our software, have a look here on output 8, this is the monitoring of this channel, it's having a substantial voltage generated on it.
18:42 So this is being fed back from the wiper motor to the PMU and that's why it's so so crucial that the PMU you're using has dedicated wiper motor functionality for a 2 speed wiper motor.
18:55 So I mentioned a little bit earlier on that we'd have a look at the braking settings for the motor and how modifying those can have an effect so if we pop back over to our software, we'll open up our wipers module again here and I'm going to set our brake time here to be 0.
19:12 So what this setting is, is it's the amount of time that the PMU16 is going to short the motor terminals together for.
19:19 So if I've set it to 0, it's not going to do that at all, it's not going to provide any braking whatsoever.
19:24 So if I now turn this onto our low speed, if we just watch here with our current position which we know is parked with the motor being actively braked.
19:32 If I turn our wiper motor on at a low speed then we'll turn it off, you can see the motor runs on there for, it only looks like a small amount of angle but that could actually translate to definitely enough angle to get the windscreen wipers back up the windscreen a little bit which would be really frustrating.
19:52 So you want to make sure that you've got that braking setting correct.
19:56 The default in the PMU16 of 0.2 seconds has always been pretty good for the wiper motors I've been working with but a little bit of trial and error with that one could get you a slightly better result.
20:08 So that is a pretty representative example of setting up a 2 speed wiper motor in an automotive application.
20:15 So in this module, we've looked at windscreen wiper motor operation and why it's not as trivial as it first apears.
20:21 The requirement for a parking operation means that we need a feedback element in the system, provided to us by a switch that is within the motor itself.
20:30 Most front wiper motors are dual speed and their setup means that when their fast speed is engaged, the low speed brushes within the motor see a substantial voltage generated.
20:40 This means the low speed winding needs to be isolated from the PMU when the fast speed is in operation and you need to read your PMU documentation carefully to ensure that it is capable of this.

We usually reply within 12hrs (often sooner)

Need Help?

Need help choosing a course?

Experiencing website difficulties?

Or need to contact us for any other reason?