I have serious wiper issues ...
In this thread, let’s figure out everything hardware, software, DIY, replacement parts etc. related to these puppies.
I’ll kick off with my research on the Model S wipers.
How the Model S windscreen wipers work!
Tl;dr (spoiler):
Now let’s wipe that smile of your face …
Part 1: Basics
Your windscreen wipers.
Driven by a no-bulls***, 12V electric motor that resides under the cowl screen in the frunk. Did you know that the motor only has two speeds? The two gears are appropriately named “Slow” and “Fast”.
So no “medium”, “quite fast” or “custom” speeds. (Lame.)
Hardware details:
Tesla part no: | 6005946-00-F (MDLS, LHD) |
Supplier: | SPRAGUE DEVICES |
Supplier assy no: | E-005-795 |
Supplier motor no: | E-006-218 |
The motor is wired directly to the front fuse/relay box. Which provides power to the motor.
The motor power is controlled by your Body Control Module (BCM). BCM is mounted on the “firewall” in the passenger footwell (behind a cover plate under the carpet).
The BCM (by Pektron) is basically a distribution center for CAN- and LIN-messages for various third-party modules in the car, such as the ECUs for exterior lights, air suspension, doors, Homelink, power liftgate +++.
Back to the wipers. So there are five positions on the steering wheel stalk:
- Off (“0”),
- Auto 1 (“· · ·”),
- Auto 2 (“····”),
- Slow (“−“), and
- Fast (“═”).
Let’s have a look at the settings and what BCM does with them:
Part 2: Manual mode
As mentioned earlier, the wiper motor only has two speeds (plus “Off”). This is clearly visible in the wiring diagram and connector reference, which looks pretty much like this:
Pin B | Off (“D.Park” / “Wiper Park Sense”) |
Pin C | Ground (“GND”) |
Pin D | Fast (“Wiper High”) |
Pin E | Slow (“Wiper Low”) |
The way this works is that BCM operates two relays in the front fuse/relay box. So if you choose Slow (“−“), BCM commands constant power through pin E (Wiper Low). If you choose Fast (“═”), constant power is provided through pin D (Wiper High). Inside the motor, power is applied to the low speed or high speed windings of the armature.
When you switch the wipers Off, a signal is sent through the Park terminal (Pin B), which actuates a disc inside the motor that breaks the 12V circuit so that no power is provided.
In essence, BCM tells the wiper motor when to engage, and at what gear. Depending on your stalk setting.
Part 3: Auto rain sensing mode
Now if the wiper motor only has two speeds, how does auto rain sensing work?
Let’s begin with pre-AP2 cars. You know, the ones with a dedicated rain/light/solar/humidity (RLSH) sensor, supplied by Hella. The RLSH sensor is mounted on the inside of the windscreen at the base of the RV mirror.
This thing:
RLSH basically works like this: An IR transmitter inside the sensor fires infrared light at the windscreen and measures the amount of light reflected back. A dry and clean windscreen reflects nearly all of the light, while a wet windscreen causes the light to scatter. (Optimal reflection = No wiping required. Poor reflection = Much wiping required. Then there are degrees in between.)
The rain-sensing data from RLSH inputs directly to the BCM through LIN bus. Based on the LIN-data, and your wiper switch position, BCM determines (1) if the wipers should be operated, (2) the wipers’ delay interval, and (3) wiper speed. So if you’re set in Auto 1 (“low sensitivity”), more water is allowed to accumulate on the windscreen before a wipe is commanded. Auto 2 (“high sensitivity”) and allows little water to accumulate.
To sum it up: When in manual mode, constant power is provided to the wiper motor. When in auto mode, BCM commands “bursts” of power (single or multiple wiping commands), depending on rain-sensor data. In either mode, the motor receives power through one of the two terminals “Slow” or “Fast”.
Now let’s get down to business: Rain-sensing with Autopilot HW 2.x.
HW2 vehicles, manufactured since October 2016, do not have the RLSH sensor. So no infrared transmitter. Instead, rain-sensing is done by processing images from the autopilot camera(s) on the vehicle. How cool is that!
Specifically, the images from the autopilot camera(s) are fed through a “convolutional neural network” (software) inside the autopilot ECU. As you probably know, the autopilot ECU - a.k.a. “APE” - is located right above the glove compartment, and is connected to BCM through the “CAN Chassis” network.
The neural networks (NNs) on APE are trained centrally at Tesla. Conveniently, the pre-trained NNs are shipped over-the-air to the fleet through software updates. This has the advantage that your rain-sensing can improve over time. So awesome.
Disadvantage? Well, Tesla’s priorities…
Currently, it is my understanding that the rain-sensing NN only uses the forward, wide-angle (“Fisheye”) camera, and relies heavily on GoogleNet modules/layers.
It would be so awesome if @verygreen, @jimmy_d, @DamianXVI, @BigD0g, @chillaban, @bjornb, @Saghost, @croman, @scottf200, @kdday and others could share their insights on this avantgarde stuff. I bet even @AnxietyRanger has some opinions on this topic. (Hey @Bladerskb, @stopcrazypp and @JeffK, you’re welcome to put the boring out of this thread as well. @buttershrimp: you really need to provide some powder white snow field testing.)
Thanks
Last edited: