As part of an ongoing Raspberry Pi project, I want to automatically open and close my car windows depending on the interior temperature and whether or not it's raining. Currently, when I manually hold the window switch down after the window is completely raised or lowered, the lights (headlights, interior lights) dim slightly, which indicates to me that current is still flowing to the window motor. I'm worried about overloading the motors with my automated system, since I was just planning to blindly apply current to the motor for a fixed period of time. So, my question really is, does the motor rely on the user releasing the switch after the window opens/closes, is it just designed to handle small periods of deadlock, or is there some more elegant protection going on in there?
People do dumb things, and car companies know this. They try to make basic user-abusable things like this idiot proof, all though this is difficult since some idiots can be quite clever.
The few electric car electric window systems I've looked at don't have limit switches. They do have a controller for each motor that senses the current. When the window reaches a mechanical limit, the motor slows down and the current goes up. The controller keeps the voltage applied for maybe 1/2 second, then shuts off the motor.
Window motors used to have a circuit breaker to avoid high stall current. Now many cars control the motors with a microcontroller, similar to a Pi or Arduino. If the motor stops ( sudden rise in current) the program stops the motor, sometimes reversing it assuming it has caught a body part. The voltage across a low resistence is the current signal. It will monitor current to learn "normal" values which change with wear and sticking adding load to the motor. This is either for safety or to make the purchase and especially the repair more profitable. Part of the learning includes running the window all the way up and down to store the running and stall currents.
You may use pressure sensor plates (Lb/inch) to tell your window that the window has reached top end or bottom end, or you may use current sensors so when the current suddenly increases above certain limit the motor drives stops. Also there are many internal operations inside the Raspberry Pi, like many other microcontrollers and SBC units, that will keep running and may potentially trigger the motor at time we dont want to trigger the motor, so I advise that you must shut down, by firmware, all un-wanted inner firmware operations once the switches (and pressure sensor) have been activated. It would be nice to link a little piezo to a GPIO auxiliary to the motor control GPIO that tells you if the motor is still running, just for experimentation purpose.