This project should be cake for you guys. It's just digital IO, a 12 volt application.
This one has been a major challenge to me. The goal is to add 1-touch capability to the moon roof and have the moon roof controls work as robust as from the OEM.
DEI makes a great module called a 530T which I want to use because it takes care of some key elements such as a safety shut off and a good way to enable 1-touch without sacrificing non-1-touch capabilities. Unfortunately, the DEI 530T was designed for use with power windows. It has NO capabilities to "turn off" on it's own. The user either initiates a shut down event by pushing a button, or the window reaches the hardstops, and the safety shut down circuit is activated which will de-latch the window motion.
The problem is that my moon roof does not have any hardstops.
This means that to eliminate the OEM control box and have all functions controlled with the 530T will result in the window overshooting the open or vent position, and the "close" position (which is a middle position in between open and vent) never senses at all.
My thought is to use the OEM window control to control the 530T so the limit switches that provide feedback to the OEMcontrol can be used to give the 530T some logic.
I do not want to use the limit switches directly because the OEM control board is electrically fragile and breaks easily. Furthermore, there are multiple limit switches that are used in oddball combinations to tell the OEM controller the window location.
The OEM controller works in the following way:
-Four inputs which are the switches the user interfaces with directly. Simple switch to ground. They are "open", "close (when open)", "vent", and "close (when vented)".
-Switches feed the OEM controller. I would prefer to leave the controller a "black box".
-OEM controller has two outputs, these feed the motor directly. Both grounded, the proper one shifts to hot to make the motor move in the desired direction. This is done inside the controller as a "standard automotive window control relay".
-Switches are momentary SPST. The motor will move as long as the switch is held (input to ground)
-The outputs are disabled in certain positions. For example, a window in a "vent" position will not change the outputs when the open and close switches are pressed. Similarly, when the roof is open or in a position between open and closed, the vent and close from vent switches are disabled from affecting the motor outputs. This functionality must be maintained.
---------
The DEI also has a fairly simple interface:
-Four inputs, two separate ups and downs, interfacable to two separate windows
-Adjustable inputs, can be activated by 12V or by ground.
-Tapping activates 1-touch function. Holding an input for a time then releasing will terminate window motion. This functionality must be maintained.
-Four outputs from two "standard automotive relays". I rewired the relays to have only two outputs but can change this easily. Or only use two outputs also. The change I made was to cut the ground path for one set of relays and feed the outputs from the other set into the cut ground paths. This is what is done in many cars for window switches so the driver and passenger have separate controls for the same window. Same concept.
-------------
What I am trying to design is something that goes in between the OEM black box and the 530T. Something that will be able to sense from the black box when the roof has reached one of the limit switch locations and shut down the 530T. The best method I've found to do this is by adding an inline relay to the motor. By opening the contacts, the 530T senses whatever change it needs to in the motor load to shut down the operation. I can wire this to work by a pulse, a latch that opens, a latch that closes, any number of ways.
The best way it seems to get signal into the 530T is by using the outputs from the OEM device. This will ensure no response from certain buttons (like vent when it is open). But this relies on being able to pulse those outputs at will whic hgives me no feedback to shut down the 530T when at position.
The best way it seems to shut down the 530T would be to put a latch on the OEM control which will shut down automatically when reaching a limit switch, and linking that latch to a relay that passes the 530T output to the motor itself. But doing this prevents using those same OEM control outputs to operate the window to begin with. repeat buttom presses would be unresponsive because the latch would prevent a change in the output, prevent any input to the 530T.
What I tried was the best of both. The switches were wired directly to the 530T inputs, and also to latch the OEM control unit on. This used the OEM control as a shutdown, and used the main switches to activate window motion. What happens in reality, is that pushing any switch will activate the latch which can not be delatched till the window is in that particular position. It is NOT a good solution!
I don't like latches in general either, if there is a better way.
I am not yet comfortable working with PIC devices. I am a hardware engineer but not an EE, so my knowledge is faily limited (also the preference to avoid software solutions like microcontrollers). I am comfortable working with the basic components and basic logic such as gates and 555's, making pcb's via the laser printer method, etc. I'm hoping a solution is workable that uses non-microcontroller components.
at this point, I'm out of ideas. Does anyone here have any thoughts? other methods, or ways to make it work?
This one has been a major challenge to me. The goal is to add 1-touch capability to the moon roof and have the moon roof controls work as robust as from the OEM.
DEI makes a great module called a 530T which I want to use because it takes care of some key elements such as a safety shut off and a good way to enable 1-touch without sacrificing non-1-touch capabilities. Unfortunately, the DEI 530T was designed for use with power windows. It has NO capabilities to "turn off" on it's own. The user either initiates a shut down event by pushing a button, or the window reaches the hardstops, and the safety shut down circuit is activated which will de-latch the window motion.
The problem is that my moon roof does not have any hardstops.
This means that to eliminate the OEM control box and have all functions controlled with the 530T will result in the window overshooting the open or vent position, and the "close" position (which is a middle position in between open and vent) never senses at all.
My thought is to use the OEM window control to control the 530T so the limit switches that provide feedback to the OEMcontrol can be used to give the 530T some logic.
I do not want to use the limit switches directly because the OEM control board is electrically fragile and breaks easily. Furthermore, there are multiple limit switches that are used in oddball combinations to tell the OEM controller the window location.
The OEM controller works in the following way:
-Four inputs which are the switches the user interfaces with directly. Simple switch to ground. They are "open", "close (when open)", "vent", and "close (when vented)".
-Switches feed the OEM controller. I would prefer to leave the controller a "black box".
-OEM controller has two outputs, these feed the motor directly. Both grounded, the proper one shifts to hot to make the motor move in the desired direction. This is done inside the controller as a "standard automotive window control relay".
-Switches are momentary SPST. The motor will move as long as the switch is held (input to ground)
-The outputs are disabled in certain positions. For example, a window in a "vent" position will not change the outputs when the open and close switches are pressed. Similarly, when the roof is open or in a position between open and closed, the vent and close from vent switches are disabled from affecting the motor outputs. This functionality must be maintained.
---------
The DEI also has a fairly simple interface:
-Four inputs, two separate ups and downs, interfacable to two separate windows
-Adjustable inputs, can be activated by 12V or by ground.
-Tapping activates 1-touch function. Holding an input for a time then releasing will terminate window motion. This functionality must be maintained.
-Four outputs from two "standard automotive relays". I rewired the relays to have only two outputs but can change this easily. Or only use two outputs also. The change I made was to cut the ground path for one set of relays and feed the outputs from the other set into the cut ground paths. This is what is done in many cars for window switches so the driver and passenger have separate controls for the same window. Same concept.
-------------
What I am trying to design is something that goes in between the OEM black box and the 530T. Something that will be able to sense from the black box when the roof has reached one of the limit switch locations and shut down the 530T. The best method I've found to do this is by adding an inline relay to the motor. By opening the contacts, the 530T senses whatever change it needs to in the motor load to shut down the operation. I can wire this to work by a pulse, a latch that opens, a latch that closes, any number of ways.
The best way it seems to get signal into the 530T is by using the outputs from the OEM device. This will ensure no response from certain buttons (like vent when it is open). But this relies on being able to pulse those outputs at will whic hgives me no feedback to shut down the 530T when at position.
The best way it seems to shut down the 530T would be to put a latch on the OEM control which will shut down automatically when reaching a limit switch, and linking that latch to a relay that passes the 530T output to the motor itself. But doing this prevents using those same OEM control outputs to operate the window to begin with. repeat buttom presses would be unresponsive because the latch would prevent a change in the output, prevent any input to the 530T.
What I tried was the best of both. The switches were wired directly to the 530T inputs, and also to latch the OEM control unit on. This used the OEM control as a shutdown, and used the main switches to activate window motion. What happens in reality, is that pushing any switch will activate the latch which can not be delatched till the window is in that particular position. It is NOT a good solution!
I don't like latches in general either, if there is a better way.
I am not yet comfortable working with PIC devices. I am a hardware engineer but not an EE, so my knowledge is faily limited (also the preference to avoid software solutions like microcontrollers). I am comfortable working with the basic components and basic logic such as gates and 555's, making pcb's via the laser printer method, etc. I'm hoping a solution is workable that uses non-microcontroller components.
at this point, I'm out of ideas. Does anyone here have any thoughts? other methods, or ways to make it work?