I had a chance to test my wipers today under a myriad of conditions. Here are the results where the x axis is speed setting (lower is faster) and the y axis is seconds per cycle:
So I ran two trials under three different conditions. I forgot to bring my camera with me, so I don't have any photos. You'll have to rely on my descriptions. Red is self-explanatory; it's how I've been running all of my tests up to this point. For green, I carefully made sure that none of my wiring would get in the way of moving parts of the car and started the engine At the 14.4V supplied by the car's alternator, it had a little more juice to power the motor. For blue, I carefully wired the driver up and tucked it into my motor so that I could safely shut the hood without crushing it. My friend held a hose and kept the windshield wet with a slow and steady stream of water while I ran the test.
I noticed a new issue this afternoon. After running the test with the car on, I noticed that my circuit kept resetting itself. At first I was worried that this had something to do with voltage fluctuations in the power supplied by the alternator. Under further examination, I think I determined it to be just a result of the vibration of the motor.
My circuit was powered by two wires connecting to the battery terminals via alligator clips clipped straight to the bolts that hold the battery terminals on. These bolts are all caked up with grease and dust from the motor bay, so there was already a lot getting in the way. The added vibrations probably caused short term disconnections that reset the circuit.
I'm still not 100% certain that this is the case. I noticed the circuit resetting a few times while the car was turned off (after having it on for a while) though after fiddling with the battery terminal connections, the problem went away again. I'll see if this becomes an issue in the future.
As you can see in my plot, there are a few cases where the curve shoots down to zero. This is likely due to the same kind of contact bouncing that I thought I had fixed. While I would rather have no bouncing at all, it's good that there isn't any spurious bouncing in the middle of a frame due to bumps on the disk. All of the spurious data seems to register a zero second wiper cycle which means that it probably just bounced a bit as the brush was making or breaking contact with the disk and registering it as the end of the wiper cycle. Making my software debounce timeout a little bit longer should fix this problem entirely.
I was very surprised what a difference wetting the windshield made on the wiper speed. It's also pretty curious how the wet windshield with the car off lines up so well with the dry windshield with the car on. This is likely a complete coincidence but still interesting though. It makes me want to run the wet windshield test with the car on to see how it compares.
Overall, I am very excited to see how consistent the data seems to be. This means that as long as there aren't sudden changes in conditions, my circuit shouldn't have to worry too much about accounting for variances in drag over the course of a single song.
Also, it looks like the fastest performance I can hope for out of my wipers is on the order of 60 bpm (or 120 if I do half-cycle beats). It's pretty convenient how gradual the slope gets at the higher settings though. That means that I'll have the ability to fine tune my wiper speed in the range that really matters.
Continue the story here.