Jaguar Forums - Jaguar Enthusiasts Forum

Jaguar Forums - Jaguar Enthusiasts Forum (https://www.jaguarforums.com/forum/)
-   XK8 / XKR ( X100 ) (https://www.jaguarforums.com/forum/xk8-xkr-x100-17/)
-   -   What does window calibration do, technically? (https://www.jaguarforums.com/forum/xk8-xkr-x100-17/what-does-window-calibration-do-technically-216713/)

volkris 04-21-2019 12:22 PM

What does window calibration do, technically?
 
So, we all know the window calibration procedure, running the windows down and up until they tick. It's the procedure for resetting the windows whenever the car has had its battery disconnected.

But what does that technically do? How does the computer sense it happening, and what does it tell the computer to do?

For example, does it shove the window into the roof in a way that the computer can tell that it has stopped moving? I don't think there is such a sensor, but maybe something about measuring the current going to the window motor?

And then does the computer count the amount of time it runs the motor, subtracts two seconds to the click, and never runs the motor more than that calculated time to get the windows fully raised?

For that matter, why calibrate the upper raise if there's the window height adjustment bolt to do the job?

I'm pondering a problem I'm having with my windows, and it occurred to me that the calibration procedure is kind of magical in the first place. Can anyone provide some enlightenment?

JagV8 04-21-2019 04:40 PM

Usually it detects the increased current through the motor which is due to the fact that it has stopped moving. It's a feature of electric motors.

It doesn't have to be done that way but it's convenient since it also handles something in the path of the window such as a child's head.

volkris 04-21-2019 04:51 PM

Oh! Then could it be that the calibration is about setting obstacle detection and not about window height at all?

(As I'd assumed. Maybe I'm the only one assuming that :) )

michaelh 04-21-2019 04:56 PM

My theory...

When the window hits its upper or lower physical limits, the motor stalls. In this state, it draws appreciably more current than while it is rotating. The door control module senses this current increase and, after a predetermined time, will cease powering the motor.

In itself this is sufficient to protect the motor from damage due to overheating/excessive current.

In the XK*, there is also a pair of 'movement sensors' in the window mechanism, so the module knows whereabouts the window is within its travel range. So it knows where the window is when it stalls, and stores those positions in memory.

What I haven't worked out is why the positions aren't stored in non-volatile memory (i.e. memory that isn't lost if the power is removed).

giandanielxk8 04-21-2019 06:01 PM


Originally Posted by michaelh (Post 2058697)
What I haven't worked out is why the positions aren't stored in non-volatile memory (i.e. memory that isn't lost if the power is removed).

Because, the engineers decided we needed a "Buy new battery" indicator.

JagV8 04-22-2019 11:34 AM


Originally Posted by michaelh (Post 2058697)
What I haven't worked out is why the positions aren't stored in non-volatile memory (i.e. memory that isn't lost if the power is removed).

Cheaper module? Or the current way makes it very easy to recalibrate whereas if non-volatile you'd need a specific function (IDS/SDD)? (What a pain that would be!)

Anyway it is what it is and it's not exactly a big issue.

michaelh 04-22-2019 12:21 PM

Thanks.
NVM wasn't bank-busting even 20 years ago, but I think you're correct: dealer reset after a hiccup would be more drama (albeit another potential revenue stream). The 'buy new battery indicator' is just a useful consequence.

Lannyl81 04-23-2019 08:56 AM

Excuse me for jumping in here with a related question; but on my '06 the windows require resetting every so often without anything being done to the battery. Has been this way for several years. Is this just due to the age of the electronics (door module)? Sometimes they reset with only one up/down...and all is fine for a period, then have to do it again or has to be reset the next time the car is driven...and then may be three times before it is fine again for weeks.
I have not taken either door module out to clean or re-solder connections....guess I probably should.

CorStevens 04-23-2019 09:03 AM

the reason that the window setting cannot be stored in a non-volatile memory is to give an adjustment for mechanical slop in the system as well as design tolerances. other luxury makes have the same situation and it is only recently that some are able to lock-in an adjustment. having such closer tolerances increases cost and weight and when things get worn, well the customer gets the bill. sometimes slop is good.

volkris 04-23-2019 05:21 PM

Thanks for the replies. It sounds like we have a few different theories about how this works, but no definitive answer. But they're good theories!

I'll go ahead and pull the curtain away from the problem I'm having: my windows don't seem to lower enough as I'm opening the door or opening the top. They barely clear the seals AND before I did an adjustment I saw that one window would drop about twice as far as the other.

When I was thinking through explanations for that difference I got to thinking about how the reset procedure might work. And yes, I did reset the windows a few times without any change to the drop.

I may be slightly fascinated by this question of how the calibration works now.

So there are three main theories I see:
1, Safety so the car will stop window movement if there's a head blocking travel
2, Marking the rise and lower points so the car knows when windows are up and down but NOT where to stop motion
3. Marking rise and lower points for the car to shoot towards when it's trying to go up and down

I can imagine requiring #1 to be extra careful for safety. Might as well double check that stopped current draw occasionally

#2 is the horse I'd back, with range controlled by the lift adjust bolt. It's weird to me that there'd be redundancy between the window knowing its max height and a bolt limiting it too. Plus, if the window was to stop at the upper mark then it couldn't rise higher if the height bolt was raised.

There are a couple of other side thoughts here, too. @WhiteHat mentions slop, but unless there's a stepper involved I expect the position (for #2 and #3) is just reckoned through timing. I'd expect that timing to drift a bit over time as slop adds up.

Now, how any of the theories might affect the distance to drop the windows when opening the door is a different matter.

Anyway, that's just to write down some thoughts I was having. Not that there's anything useful here, but I was kind of surprised that this might not be straightforward when I sat down to think about it.

And @Lannyl81, keep checking your battery voltage. That doesn't sound like door switches to me.

michaelh 04-24-2019 08:18 AM

I'm fairly confident about my explanation of 'how' it works.

The door module knows where the window is, and also where the limits of travel are. So, when the window is in motion,
the module simply compares the present location with the memorised end stop location and shuts off the motor when the two match (or, if the door is open on window close, at the design drop point). QED

I threw the 'why' out because there is usually a reason for the way things work the way they do even if it's not always apparent.

@Lanny - I agree with Volkris. The memory loss is due to the battery not maintaining a sufficiently high voltage. likely either self-discharge if the car isn't used for a period of time, or through the load imposed during crank. Battery tender will fix the first.

volkris 04-25-2019 11:46 AM

But that's part of the core question: How does the module know where the window is? If there were limit switches there would be no need for calibrating, and without limit switches it can only know where the window is indirectly, counting motor runtime or something else.

So, here's more observation. The window adjustment procedure says to set the window rise adjuster bolt and THEN raise the window farther. This was odd since I'd think the window rise bolt would set the max window height. How would it rise higher than the max height? Yesterday I went ahead and tinkered with that.

When the window rise bolt was slackened, the car was unable to tell that the window was up until I recalibrated. Therefore, the car can't be judging window position based on motor runtime OR simply looking for hard stops. If either was the case, the car would have believed the window was up.

It looks like the rise bolt sets a tensioner (the rubber thing I see in pictures) that ramps up resistance to motion until the hard stop. This also sets the drop height, with the car dropping the window until the resistance to motion goes away. I believe the calibration procedure has the car profile the resistance in that last bit of upward travel, knowing what to look for to determine both whether the window is up and how far down to drop when opening a door or the top.

This explains my problem of seeing the windows drop different amounts after window alignment. With the adjustment bolt now too high, the resistance didn't start until too late, so the car was marking the window as up when it was stopped by the trim, but only dropped to where the stop resistance started.

This theory also makes sense of why the values aren't stored in NV memory: the car never actually knows how high "up" is, it only knows a profile of the motor current as it reaches the top, and that profile will change over time, especially with window adjustment. Come to think of it, it would vary with system voltage too, right? So if the battery is going wonky the profile will be thrown off anyway. A replaced battery needs a new profile entirely.

So there's my working theory of the operation of the window calibration. It's speculative, of course, but it does help me troubleshoot my window drop problem, at least in my head.

michaelh 04-25-2019 02:45 PM


Originally Posted by volkris (Post 2060677)
But that's part of the core question: How does the module know where the window is? If there were limit switches there would be no need for calibrating, and without limit switches it can only know where the window is indirectly, counting motor runtime or something else.

There are movement sensors on the window winder mechanism that feed the window position back to the module:
https://cimg3.ibsrv.net/gimg/www.jag...06a8cd7eca.gif


It's a basic servo feedback loop.

You are correct that limit switches would establish the lower and upper travel limits, but they alone won't provide a means of stopping the motor relatively quickly in the event of an obstruction - e.g. a child's head. Nor would that arrangement manage the window drop as elegantly - especially if the door is open when the window is closed.


Originally Posted by volkris (Post 2060677)
So, here's more observation. The window adjustment procedure says to set the window rise adjuster bolt and THEN raise the window farther. This was odd since I'd think the window rise bolt would set the max window height. How would it rise higher than the max height? Yesterday I went ahead and tinkered with that.

I've looked through the procedure linked to by GGG in his post:
https://www.jaguarforums.com/forum/x...3/#post1834670
and I dont quite understand what you mean by this.


Originally Posted by volkris (Post 2060677)
When the window rise bolt was slackened, the car was unable to tell that the window was up until I recalibrated. Therefore, the car can't be judging window position based on motor runtime OR simply looking for hard stops. If either was the case, the car would have believed the window was up.

I'd expect the window to travel upwards until it reached its stored position for up. The only way to get it to travel further would be to erase the memory (i.e. disconnect the battery).


Originally Posted by volkris (Post 2060677)
This theory also makes sense of why the values aren't stored in NV memory: the car never actually knows how high "up" is.

But it does:- either from the stored 'up' position or from the motor stall current.


Originally Posted by volkris (Post 2060677)
A replaced battery needs a new profile entirely.

Only if the stored memory is lost. If sufficient voltage was maintained during a battery swop, then it wouldn't.


Here's a simple test. Close the door and follow the window reset procedure. Lower the window and open the door. Now close the window. It will stop at the pretermined drop point to allow the door to be closed without fouling the sealing strips. The door module has to know where the window is in order for this process to work.

Here's another even simpler: From inside the car, put the window at mid travel. Now exit the car, close the door, open it again and get back in. The window doesn't move, because the module knows that it won't foul the sealing strips.

The loss of stored position is why the window behaves bizarrely. The module doesn't know whether the window is fully closed or not so it plays safe and drops it each time the door handle is operated.

The rationale of having resettable stored positions and not relying on absolute predefined values for up and down is nicely explained in WhiteHat's post and on reflection solves the final part of the puzzle for me.

volkris 04-25-2019 03:20 PM

So one question I had was, What does the glass regulator stop do in all of this? I knew my two windows were dropping different distances even though they were rising to the same height. If the regulator stop only stopped, then I didn't know how to adjust the drop.

In the procedure I was confused by these two steps:
13. Move glass regulator stop to abut quadrant and tighten adjuster bolt.
14. Motor door glass to fully up position

If the glass regulator stop was just a stop, then you wouldn't be able to motor the window higher than the stop. It would be stopped :) Step 14 wouldn't make sense after step 13. Since it's more than a stop, though, that means it can play a role in the glass drop too.


I'd expect the window to travel upwards until it reached its stored position for up. The only way to get it to travel further would be to erase the memory (i.e. disconnect the battery).
In my test this wasn't the case. With the regulator stop bolt loosened the car happily raised the window higher than the calibrated stop without erasing the memory. Plus, once the window was rolled higher than the calibrated height the car didn't try to drop the window when I pulled the handle, as if it didn't know the window was up.


Now close the window. It will stop at the pretermined drop point to allow the door to be closed without fouling the sealing strips. The door module has to know where the window is in order for this process to work.
Or the motor notices it hits the lower point of the window stop regulator, either by seeing the current change or by seeing the window slow down as the stop pushes back.

That seems like a more foolproof solution to me since the controller doesn't actually need to know exactly where the window is, only whether it's moving. All it knows is whether it's within the range of the window stop or not. There's no risk of stepper/servo slip over time then.

To get back to my goal, I've found that the window stop bolt does set the drop depth and doesn't immediately stop the window. That was unexpected, but it means I didn't take my door cards back off for no reason.

volkris 04-25-2019 05:15 PM

BTW, I have no problem being called wrong about all of this. I just found some interesting puzzle pieces and think they came together in an interesting way.

Just to say it another way, the window stop bolt mechanism isn't just a hard stop that only sets the upper limit of the window. Instead, it defines the 9mm range (on the convertible) from window drop height through the upper limit.

If the stop bolt isn't set right, the window may run out of travel before finishing that range, though. Imagine trying to set a range of two within a space of ten. If you start at 8 no problem, but if you set the lower bound at 9 then there's only one left for the range. If the window isn't dropping enough, the stop bolt mechanism is running into that, not dropping enough because it's measuring down from a height the window can't actually get to. It will only drop to 9.

Also, your window trim might be splitting because it's stopping the window instead of the stop bolt mechanism, which is set to stop at 11.

Notice I haven't said anything about window calibration yet. That's because window calibration doesn't set the height of the window but rather helps the car look for the engagement of the stop bolt mechanism. Every time the window is raised the car uses its training from calibration to see if it's running into the stop bolt range, which tells it the window needs to be lowered when opening the door or top.

If the car hasn't run into resistance from the stop bolt mechanism, then the window must not be up. Calibration helps it look for that resistance.

Anyway, I'm a scientist. Any experiments to test this are welcome :)

michaelh 04-25-2019 05:40 PM


Originally Posted by volkris (Post 2060770)
If the glass regulator stop was just a stop, then you wouldn't be able to motor the window higher than the stop.

I'll have to re-read the process, but if the window will go beyond the stop then, by definition, it's not a stop (as you say).


Originally Posted by volkris (Post 2060770)
In my test this wasn't the case. With the regulator stop bolt loosened the car happily raised the window higher than the calibrated stop without erasing the memory.

OK - If by calibrated stop you mean the stored position then I wouldn't expect that to happen.

The so-called 'movement sensors' cannot be just that (although sensing motion would work as an alternative to detecting motor stall current) otherwise what exactly are we 'teaching' the module by following the reset process? There has to be a way to tie the stopped condition with the location of the window when that condition occurs otherwise there's no point in storing anything, and I can't see an elegant way to deal with the drop requirement in that scenario.


Originally Posted by volkris (Post 2060770)
BTW, I have no problem being called wrong about all of this.

No drama :) I'll retreat, review & regroup. This is becoming one of those 'down the pub discussions' and I guess everyone else will have dozed off by now... Cheers,
Mike

volkris 04-25-2019 11:42 PM


Originally Posted by michaelh (Post 2060840)
otherwise what exactly are we 'teaching' the module by following the reset process?

Bingo :)
That's exactly the question that started bugging me as I pondered ripping off my door card yet again, and risking the plastic clips, to adjust the window drop. Am I sure I understand what's going on before I take such action?

I'm about to head out of town for a few days, but quickly, I suspect we're teaching the module to look for something related to the stop bolt mechanism so the window can tell when it's in that 9mm zone between the start of the thing and the hard stop at end of travel. Maybe it looks for the window to slow down, or maybe it looks for current to begin to increase as the mechanism starts to arrest the travel.

When we do the calibration and hear the click, the window controller looks at what it saw in the past fiveish seconds to see how current ramped up or motion slowed down. That would be the fingerprint of reaching the beginning of the stop mechanism engagement.

But let me end with this crazy thought: What if they did some double duty, giving the mechanism a spring quality that the controller can sense and that would also help shoot the window down quickly when the handle is pulled, to get it out of the way before the door is opened? After all, it is a mechanism that engages during the exact range of motion that they'd need to fire the window drop!

dibbit 04-28-2019 03:50 AM


Originally Posted by volkris (Post 2060966)

When we do the calibration and hear the click, the window controller looks at what it saw in the past fiveish seconds to see how current ramped up or motion slowed down. That would be the fingerprint of reaching the beginning of the stop mechanism engagement.

But let me end with this crazy thought: What if they did some double duty, giving the mechanism a spring quality that the controller can sense and that would also help shoot the window down quickly when the handle is pulled, to get it out of the way before the door is opened? After all, it is a mechanism that engages during the exact range of motion that they'd need to fire the window drop!

I think you might be over-thinking this. When you hold the window button down for five seconds after it has reached the end of its travel, that is just the signal to the window controller to save the new end position (as measured by the pots on the motor) - it doesn't even need to measure an increase in current, just the fact that the window isn't moving.

I don't think there is any spring type mechanism to shoot the window down - if the window has lost its memory the car keeps dropping the window every time you operate the door handle - you could compare the speed of that drop, with the speed it first drops when fully closed - AFAIK they are the same.

The end stop manual adjustment you are talking about simply sets the window in the correct mechanical range - i.e. the window mechanism has enough travel to completely open and close - programming the window limits then sets the up and down end stops in memory within that mechanical range.

If I were you I would now be looking at those potentiometers on the window motors - are they giving the correct/smooth values? If those pots were wearing out that could perhaps explain the different drops on both sides of your car.

Finally IMHO they used non-volatile memory either because it was cheaper/the only part on offer from Ford or the engineers liked the fact that it would force mechanics to always reset the window limits after working on the car. There would be no difference in how you set the window limits for volatile or non-volatile memory - it would be the same hold the window button down for 5 seconds procedure which resets/resaves the end points - no need at all to build this into IDS.

michaelh 04-28-2019 05:06 AM


Originally Posted by volkris (Post 2060966)
When we do the calibration and hear the click, the window controller looks at what it saw in the past fiveish seconds to see how current ramped up or motion slowed down. That would be the fingerprint of reaching the beginning of the stop mechanism engagement.

Problem with that is it requires rolling memorisation of the previous 5 seconds of motion in real time during the learning process and, depending on the sampling rate, that could be a fair amount of data. The final snapshot then has to be stored so there's something to compare with during subsequent window operations.

But - the motion patterns may be virtually identical for any 5 second interval or, conversely, almost always different. Designing a pattern-matching algorithm in either scenario would be close to impossible. It's just too complex.
Also, how would that work if the window started from a position where it only needed 3 seconds to reach the end stop?


Originally Posted by volkris (Post 2060966)
But let me end with this crazy thought: What if they did some double duty, giving the mechanism a spring quality that the controller can sense and that would also help shoot the window down quickly when the handle is pulled, to get it out of the way before the door is opened? After all, it is a mechanism that engages during the exact range of motion that they'd need to fire the window drop!

I agree with dibbit: you're over-thinking this. It's very simple electronically to compare a changing value (window position) with a known reference (memorised stop location) and to detect when the two become equal. Storing the 'up' position allows the module to manage the door drop correctly:- either by a timed pulse to the window motor or, more likely IMO, a predefined angle of rotation of the winder mechanism.

I did come across a post where a member had solved erratic behaviour by replacing the winder mechanism. The integral position sensors are just potentiometers (as is the TPS on the throttle body) and will wear out eventually.


dibbit 04-28-2019 11:37 AM

Just a thought - are we sure the "movement sensors" are potentiometers as shown in the wiring diagram, rather than an optical pulse counter with a toothed wheel? That would explain four connections and also explain why the upper and lower limits need to be set/reset.

It seems odd to call a potentiometer a movement sensor rather than a position sensor.


All times are GMT -5. The time now is 11:03 AM.


© 2024 MH Sub I, LLC dba Internet Brands