View Full Version : One-touch turn signal modification
revtor
10-21-2008, 04:39 PM
This thread is outdated... The one-touch turn signal (OTTS) module (http://e31wiki.org/wiki/One-touch_turn_signal_module) is currently at its third generation with many improvements over the first version described in this thread. The newer versions are built around a microcontroller and new features include exact blink count, comfort mode canceling and full flash functionality. The third generation uses solid-state components instead of relays for reliable and silent operation. The latest version is also compatible with more different makes of cars. For a complete write-up including diagrams and source code, read the one-touch turn signal module (http://e31wiki.org/wiki/One-touch_turn_signal_module) article at E31Wiki.org (http://e31wiki.org/).
https://tweakers.net/fotoalbum/image/wAGWeEzqN7xg0tb9GLgZdiFJ.jpg
One-touch turn signal module - version 3.0
[posted to multiple E31 communities]
One-touch turn signal modification (version 1.0 - OUTDATED - NO LONGER RECOMMENDED TO BUILD - UNSUPPORTED)
I think everyone knows a one-touch turn signal although you may know it under a different name. Its function is simple: You tap the turn signal lever and without holding it the blinkers will blink three times. I always thought of this feature as a stupid gimmick until my last two cars both came equipped with a one-touch turn signal. I noticed I began using the feature more and more often when changing lanes. The gimmick became a habit and I caught myself sometimes tapping the turn signal lever - expecting it will blink a few times - in cars that don't have this feature. The E31 is one of them...
While browsing the Internet I came along a few hardware solutions to add the one-touch turn signal functionality to a car, but none of the solutions could satisfy me. They were too expensive for such a simple device and/or equipped with other useless stuff I don't want. Besides, between the lines of what's possible, I prefer to develop and build things like this myself :).
The idea
The most simple approach to implementing a one-touch turn signal is a device that simulates the turn signal lever when it receives a tap from the real lever. The device has to comply to a few basic rules to make sure no unwanted situations occur:
The blink timer should start immediatly when activating the turn signal lever - not when releasing it. If the blink time is say 3 seconds and you tap the lever for one instance, the blinkers should flash 3 seconds, but when you hold the lever for 5 seconds and release it, the blinkers should stop immediatly and not continue flashing for 3 more seconds.
When you change direction with the turn signal lever while the blink timer is running, it should stop immediatly and start the blink timer for the other direction. In other words, each direction cancels the other to make sure it cannot blink in both directions at the same time.
https://tweakers.net/fotoalbum/image/EHKSpXOwbFkVPJEOA2CEnzl1.jpg
The wiring of the turn signal lever can be seen below in the excerpt from the Electrical Troubleshooting Manual (ETM) for the E31. The blinking is of course done by the flasher relay, so all the lever does is applying a hot (12V) signal to either the left or right trigger input of the flasher relay. As long as the input is hot, that side will continue to blink. The device we are looking for detects when the signal on the left or right trigger input goes high (positive edge triggered) and then applies a high signal to that input for a preset time while keeping itself to the aforementioned rules.
https://tweakers.net/fotoalbum/image/YEua5ont3KCMOcilF4mzI6Bb.jpg
The best locations to connect the device to the car's wiring harness is either at the turn signal lever switch itself or at connector X32 (see excerpt from the ETM above) which is located in the left hand lower part of the dashboard. I opted for the switch since its contact pins are soldered so it's easy to add a few wires where X32 involves dismantling the connector. You could also simply splice the wires, but I don't like touching the original harness.
The hardware
Now we know what the unit has to do, we can design it. In these days of microprocessor controlled hardware it's tempting to pour the idea in a piece of programmable logic, but I chose to keep things simple by building around two old school 555 timer ICs. This way anyone can reproduce the device without requiring special hardware like a logic programmer.
https://tweakers.net/fotoalbum/image/12196q4crCKGssPmT229nPvL.jpg
Components
R1, R2, R5, R6: Resistor 1M
R3, R4, R7, R8, R11, R13: Resistor 100k
R9, R10: Resistor 10k (see text)
R12, R14: Resistor 10k
P1, P2: Trimmer potentiometer 25k Linear (see text)
C1, C2, C3, C5: Capacitor 10n
C4, C6: Electrolythic capacitor 100µ / 25V (see text)
T1, T2: Transistor BC547 or equivalent
T3, T4: Transistor BC337 or equivalent
D1, D2: Diode 1N4148
Re1, Re2: Relay with 12VDC 150mW coil and double pole double throw (DPDT) 24V / 1A contacts
IC1, IC2: 555 timer IC
Let's take a closer look at the diagram. Even a novice in electronics will notice the diagram is actually made up out of two nearly identical parts. That makes sense because the right turn signal will have to behave exactly like the left. Therefore I will only describe how the left turn signal works (upper part of the diagram).
On its turn each timer is build up out of three parts:
Inverter (the electronics left from the 555 timer IC)
Timer (the 555 timer IC and surrounding components C3, C4, P1 and R9)
Output stage (the electronics right from the timer IC)
The inverter is required because the 555 timer only triggers on negative edges. In other words, the 555 will only start when the input signal drops from high to low. As seen earlier we need exactly the opposite. Transistor T1 and R2, R3 and R4 form a special variant of the common emitter circuit. When a high signal is applied to R2, a small current will flow through the base of the transistor causing it to amplify the input into saturation. The transistor will conduct maximal which makes the point between the collector and R4 connect to the ground. When no signal is applied to R2, R3 will draw the transistor's base to the ground and no current flows through the base. The transistor does not conduct and the point between R2 and the collector is not grounded and therefore high. In other words, if the input is high the output is low and vice versa - an inverter. R1 and C1 convert a continuous high signal to a short pulse. Because the output triggers the 555 timer but at the same time also resets the other 555, the other 555 would not be able to start while the 555 is running. We don't want both running at the same time, but it must be possible to switch direction while one 555 is running. Therefore the high input is converted to a very short pulse. The input signal comes directly from the turn signal lever. The left turn signal comes from the grey wire and the right turn signal from the blue wire (see ETM diagram given earlier on).
The inverter is actually a bit more complex than it needs to be for the 555, but it's easy to understand and can be used for a wide range of applications.
The 555 timer is setup for monostable operation. That means the 555 makes its output high for the preset duration when it gets triggered and stops when that time expires. The combination of C4, R9 and P1 form a so-called RC network. If you apply power to it, capacitor C4 will start charging limited by the current through R9 and P1. The lower the total resistance of R9 and P1, the higher the current and the faster it will charge. The reason R9 is there is to limit the current when you turn trimpot P1 all the way down to 0 Ohm. Without R9 that would cause a short circuit when the capacitor is discharged. In normal untriggered state, the 555 will keep the capacitor discharged. Once a negative edge is applied to the trigger input, the 555 allows the capacitor to charge and makes its output high. As soon as the 555's threshold input reaches 2/3th of the power supply, the 555 resets itself by rapidly discharging the capacitor and driving the output back to its low state. It remains in that condition until a new negative edge is applied on the trigger input. At any time the 555 can be reset by a negative edge on the reset input.
Since P1 controls the charge rate, it also controls the time the 555 runs. The time can be calculated as follows:
https://tweakers.net/fotoalbum/image/o72D4JCyZsscXjHHMrKOaybL.gif
In the case of our circuit this leads us to following minimum and maximum times, as controlled by P1:
https://tweakers.net/fotoalbum/image/PqYwTtKUPWex8KMGkYfzbjGl.gif
Three blinks on the E31 is slightly over two seconds. The above will do just fine. If you want to use the circuit for other applications that require different timings, change R9, P1 and C4 to suit your needs.
The output stage drives the relay. Transitor T3, R11, R12 and the relay make a circuit that is very similar to that of the inverter. Again the transistor is driven into saturation by the input. Because the load - the relay - is now between power supply and collector (instead of collector and ground) there's no inversion. When the input is high, current flows through the base of T3 making the transistor conduct so current can flow from the power supply through the relay to the ground. When the input is low the transistor doesn't conduct and no current can flow through the relay. The transistor acts just like a switch. With only a small current it can operate something that requires a lot more current.
In this case the transistor step isn't really necessary. The 555 is able to output enough power to drive a small relay, but to make the circuit usable for a wide range of applications I put the transistor step in. Now you can drive bigger relay if needed.
The diode in reverse parallel over the relay is important, though. This is to prevent the kickback voltage in the reverse polarity from destroying the transistor or 555. This reverse voltage occurs momentarily when the normal current stops flowing through the relay's coil. This is normal behaviour for a coil, but if you forget about it you can quickly damage the electronics driving the relay.
The relay's contacts are what will simulate the turn signal lever. When it's activated, it will apply a hot signal to the input of the flasher relay it's assigned to. For the left turn signal that's once again the grey wire and for the right turn signal the blue wire. Yes that's right, the input and output connect at the same point with the car's wiring harness. In the diagram above you could connect the [LEFT] input and output with each other and the same for the right ones. Then won't the output influence the input because it may be hot for a longer time than the actual lever? No, the pulse conversion ahead of the inverter makes sure the 555 cannot get triggered as long as the output stays hot. The only thing that can affect the 555 while it's running is the reset caused by the other side's turn signal.
Now why does the left turn signal also run through the right side relay and vice versa. It's a bit over-the-top, but with this construction it's completely impossible to have both outputs high at the same time. If Re1 pulls it will break right turn signal path and Re2 does the same with the left turn signal. This situation shouldn't occur anyway thanks to the reset lines between both 555 ICs. I have no idea of what would happen when both outputs are high - very likely nothing bad. It's just a situation that shouldn't occur in normal conditions. But just in case it messes up the BMW flasher relay, the interaction between the relays' outputs makes sure nothing can go wrong if something is wrong with the 555 ICs.
https://tweakers.net/fotoalbum/image/p78Fn991AdfjcTqAXYDG4j5B.jpg
I've build the one-touch turn signal module on prototyping board. While that's not as professional or nice-looking as a manufactured printed circuit board, it does the job just fine and you don't need a PCB etcher to reproduce it if you're interested. Prototyping boards often lead to messy layouts with lots of jump wires all over the place and in all directions, but I took extra precautions to develop a clean and structured layout - both on the components side as on the solder side (there are no jumper wires on the solder side). I didn't have the time yet to draw a nice print and components layout view for those who would like to make their own one-touch turn signal module, but if anyone is interested I will make and publish it. It's obviously more work to solder than the very small brightness control from my HVAC/IHKA controller roller wheel illumination mod (http://forums.bimmerforums.com/forum/showthread.php?t=1042929) (duh), but it doesn't involve any more advanced technical skills to build.
https://tweakers.net/fotoalbum/image/pAaBBqZPezMvXlrx9TtC78Vq.jpg
Here's the complete built-up unit. The dimensions measure 64mm (2.5") x 43mm (1.7") x 15mm (0.6") so it should be pretty easy to hide the module somewhere in the E31. Remember, if you want you can build it even smaller by omitting the transistor output stage and simplifying the input. But in its current form the unit or parts of it can be used for a wide range of applications.
Installation
https://tweakers.net/fotoalbum/image/t1svtoyJSsvJTqNnIVzEJQ6l.jpg
The one-touch turn signal module fits nicely in this small box. I padded top and bottom with foam to make the circuit board sit tight when it's closed. I hate rattles in a car. The foam also provides a bit of sound insulation for the clicking of the relays. Not that those are loud, though. With the cover off and the unit hanging next to my knee in the car I could only hear a soft ticking from the relays when the engine wasn't running. Tell me, how often do you sign directions with the engine not running? Of course, the level of noise produced may differ from relay to relay.
Four wires come from the unit. Obviously the left and right turn signals (input and output share the same wire as seen earlier on) and further the 12V power supply and the ground.
https://tweakers.net/fotoalbum/image/FQhOseN2JazbWCPK2xeFXedS.jpg
In the picture above you can see the connection side of the turns signal lever switch. The wires in the white heat shrink come from the one-touch module. I didn't have the same wire colors as BMW used so it may appear a bit confusing at first, but here's how it's hooked up:
Module (red wire) <--- 12V power supply ---> Switch pin 5 (green/yellow wire)
Module (yellow wire) <--- Left turn signal ---> Switch pin 5 (grey wire)
Module (blue wire) <--- Right turn signal ---> Switch pin 5 (blue wire)
Module (black wire) <--- Ground ---> Ground location
The ground wire isn't connected to the switch. There isn't a ground connection on it (I think - I must admit I didn't look for it). Just hook it up to one of the many ground locations the car offers. Just out the picture on the right hand side is already one. When you cut the wires at length, don't forget the steering column can move. Don't make the cable too short!
Now is a good time to adjust the timers to set the three blinks period. Just adjust trimpots P1 and P2 until you get 3 blinks upon a tap on the turn signal lever in each direction. I recommend setting the period's end right in the middle between two blinks. That way temperature drifts which may cause a slight increase or decrease in the set period won't have have any influence on the three blinks. When you're satisfied you may optionally apply a small dot of hot glue on the trimpots just to make sure the adjustments don't change on bumpy rides.
Attach the cable to existing cable trees using tie wraps. Chances are small, but you don't want your cable to get stuck between something of the steering mechanism... For the same reason I don't recommend putting the box containing the one-touch turn signal module in the steering column. It's better to move it to the dashboard.
https://tweakers.net/fotoalbum/image/cezvLhpjBnFPCPh97vY6sDHk.jpg
Sorry for the bad focus on this picture. Shooting from this position I couldn't look through the view finder and I just took a couple of shots hoping one would be good. Still you should be able to see where I mounted my module. It's glued right underneath the box containing the LKM Lamp Control Module, EKM Body Electronics Module and ZKE General Module using Pattex Super Mounting Tape. These modules are located in the lower part of the dashboard on the driver's side. They can be reached by taking off the black plastic bottom cover from the dashboard. If you have a taller box, you may not be able to put the box in this location because height is limited.
This location is also very close to connector X32 (see ETM excerpt earlier on). So if you like you may wire the unit to X32 instead of the turn signal switch.
Conclusion
There isn't much left to say. Pictures of the mod in use are a bit difficult, but everyone knows what a one-touch turn signal module is supposed to do - and that's exactly what it does. To some it may look like a useless feature - I once thought the same way - but after being spoiled by this gadget I miss it on cars that don't have it. Whether or not you have a practical use for it also depends on where you drive the car. It's only of good use on the highway - but that's the E31's playground!
Remember, the unit is not limited to the E31 only. Any car that has positive edge triggered flasher relay can be equipped with this module. Negative triggered flasher relays only require a few changes. In fact its usage isn't limited to cars alone. But if you want to switch 110VAC or 220VAC, use bigger relays. The ones used in this mod won't last very long then. In that case also replace the reverse parallel diodes with stronger types like the 1N4001.
The unit as presented operates at 12V battery voltage (actually more like 13.8V in a car), but the 555 and surrounding electronics are designed to operate at voltages between 4.5V and 16V, so that gives enough headroom for other applications. One note though, if you change the power supply significantly from 12V, make sure you use a relay that will work at those voltages. The Maluska M4-12H relays I used will pick-up at 8.4V and can withstand 30V coil voltage, but if your power supply is only 5V it won't switch even though the rest of the circuit works fine at that low voltage...
This concludes the development of the one-touch turn signal module. I hope you enjoyed reading this article!
Koizumi
10-21-2008, 05:02 PM
That is great stuff. Every time I read your posts, it makes me wish that I had invested more time studying electronics. I am pretty much a useless idiot when it comes to these sorts of things (and my profession involves micro-mechanical-engineering :D)
Anyhow, very cool Revtor! If I was closer to Belgium, I'd buy you a bunch of Duvel bottles and watch you do your magic.
Cheers :beermugdr
8Harry8
10-21-2008, 05:54 PM
I hope you enjoyed reading this article!
:drink1 I did! What about price and shipping for a plug-and-play-module?
tdotbimmer
10-21-2008, 10:17 PM
I want to commission the mass production of a plug and play module with my name on it. Give me your price per unit!
austin8
10-21-2008, 10:39 PM
maybe some westvleteren 12!!!!!!! MMMM what a GREAT beer!
TUFFBEING
10-21-2008, 10:47 PM
Price per units here too...I have a shop here in Dallas
8eights
10-21-2008, 11:24 PM
Another fantastic job Revtor!
paulmer
10-22-2008, 12:23 AM
Cool idea, but why bother? I always engage it and keep my hand on it (if I am changing lanes, etc) and second I get in to other lane I turn it off.
Bryson
10-22-2008, 01:39 AM
Cool idea, but why bother? I always engage it and keep my hand on it (if I am changing lanes, etc) and second I get in to other lane I turn it off.
as he stated already, if you have another (newer) car that does this, you get used to the feature and forget to engage your signal when changing lanes! It's also a very nice thing to have.
I'll be doing this as soon as I've got the time! Well done
revtor
10-22-2008, 02:11 AM
That is great stuff. Every time I read your posts, it makes me wish that I had invested more time studying electronics. I am pretty much a useless idiot when it comes to these sorts of things (and my profession involves micro-mechanical-engineering :D)Hehe, I'm no expert either, but I manage to get around with some basic electronics :)
Anyhow, very cool Revtor! If I was closer to Belgium, I'd buy you a bunch of Duvel bottles and watch you do your magic.
In that case the magic will probably come from the beer instead of my hands :D
revtor
10-22-2008, 02:11 AM
maybe some westvleteren 12!!!!!!! MMMM what a GREAT beer!
Stop drinking it! There's only a limited production of this great beer and you guys are stealing it from us :D
revtor
10-22-2008, 02:36 AM
To anyone who requested pricing:
Sorry, but I don't do mods for other people. I try to document my mods so everyone should be able to reproduce it. If one needs more information to complete the mod, I'll try to help where possible. Right now the article is missing a print and components layout view, but if anyone is really interested in building the module for himself I will draw and publish it. That may take some time though - very boring job :D
I took many components of the shelf so I have no any idea what the total production cost was, but since all components are pretty much standard and very cheap it can't be more than $20. But prices may differ greatly depending on where you get the components.
revtor
10-22-2008, 05:08 AM
I was informed by Reinhard at 8er.org (http://www.8er.org/forum/) that a similar device can be purchased at . The website is in German, but the module is called [url=http://www.jalt.de/?q=node/18]Komfortblinker (]jalt.de[/url) (Comfort Blinker) and comes in a few different editions. The one you need for the E31 is "Standard Version BF-03". It's sold for 24 euro including box or 21 euro without.
This unit is microprocessor based what means it can be smaller and be more advanced. In fact it does offer one extra feature over my module. If you tap the lever longer than 0.5s the comfort blinker will be disabled. That way you can still do relatively short blinks.
revtor
12-08-2008, 02:54 PM
Small update. I have redone my module - this time based on a microcontroller like the jalt.de (http://jalt.de/) module. Not that anything was wrong with the first version, but the jalt.de module offers an extra feature and I was pointed at yet another interesting addition by someone at 8er.org (http://8er.org/). Due to the new features it's impossible to build the module on a small circuit board using classic timer ICs like the first version. Therefore I opted for a microcontroller which also means the board can be smaller. I finished the program code already nearly a month ago, but I hadn't found any time yet to build the actual board. Until now:
https://tweakers.net/fotoalbum/image/mgoBmDnjqtN4tGh8ek1auXBD.jpg
The two small white ICs are 4N25 opto couplers. Because of the new full flash functionality the unit has to monitor the output from the E31 flasher relay. Although not strictly necessary, I found it safer to isolate this from the microcontroller. Hence the opto couplers. The small DIP switch block makes it possible to change various settings without reprogramming the unit.
A short explanation of the features:
Comfort blinker: The comfort blinker or one-touch turn signal will cause the turn signals to blink a preset amount of times after shortly tapping the turn signal lever.
Comfort blinker cancelling: Sometimes you still want to be able to do short blinks. By holding the turn signal lever for just a moment longer the comfort blinker is cancelled. Not all cars with a comfort blinker offer this feature, but since it can be enabled/disabled in my version, why not?
Full flash: Normally when you release the turn signal lever or when the comfort blinker timer stops, the blinking will stop immediatly. It's possible the last blink is more like a short flash than a full blink. The full flash functionality makes sure each started blink is completed. In other words, each blink is equally long no matter when you released the lever. The only exception is of course when you switch directions. You don't want the car to blink in both directions for a short moment (I haven't tested whether or not the E31 flasher relay can be fooled like that, but I thought it was safer to implement it in my module anyways). This is of course a purely cosmetic feature, but what the heck... :)
Differences in functionality between the jalt.de module and my two versions of the one-touch turn signal module:
https://tweakers.net/fotoalbum/image/Z3yIbt8vLfVeElZEFM2QOkyh.png
One disadvantage of the new module is the fact that it requires twice the amount of wires to the E31's wiring harness (8 wires versus 4). Most are easily accessible in the steering column or below the dashboard, but the flasher relay's output is a bit less comfortable to reach (connector X14 in the left hand footwell).
In case anyone's interested I can draw a print & components layout view and publish the program code so you can reproduce the board. Since it's smaller than the original version and requires less traces, it's easier to build... But keep in mind that you will need a microcontroller programmer for the Atmel AVR microcontroller series! It's probably a bit stupid to buy a programmer just to be able to build this single module. In that case you better go with the first version or the jalt.de module.
mumtaz
04-26-2009, 05:59 PM
Hi!
Please, if possible I need schematic, layout, and software to build this module!
Thanks. :)
revtor
04-27-2009, 01:48 AM
Please, if possible I need schematic, layout, and software to build this module!
Thanks. :)I can produce the schematic and layout in a few days, but do you have an AVR programmer for the Atmel ATtiny2313? The source code is written in C, so you'll also need a compiler.
mumtaz
04-27-2009, 12:02 PM
I can produce the schematic and layout in a few days, but do you have an AVR programmer for the Atmel ATtiny2313? The source code is written in C, so you'll also need a compiler.
Yes! I have compiler and a home built AVR programmer.
motorisym850
04-27-2009, 12:04 PM
Stop drinking it! There's only a limited production of this great beer and you guys are stealing it from us :D
....we are just trying to make room for your new Belgium beer Budweiser:buttrock
revtor
05-02-2009, 11:23 AM
mumtaz: Here you go: One-touch turn signal module (http://e31wiki.org/wiki/One-touch_turn_signal_module). I wrote a complete new article regarding the newer module. It's written with the 8 Series in mind, but there's enough information in it to get the module working in other cars. Sorry for the delay, but other work came inbetween...
Enjoy!
mumtaz
05-02-2009, 06:52 PM
mumtaz: Here you go: One-touch turn signal module (http://e31wiki.org/wiki/One-touch_turn_signal_module). I wrote a complete new article regarding the newer module. It's written with the 8 Series in mind, but there's enough information in it to get the module working in other cars. Sorry for the delay, but other work came inbetween...
Enjoy!
WOW man. This is incredible. I just wait a simple schematic (maybe a layout). And I (and others) got a complete novell.
Thanks man. :-)
JP850
05-03-2009, 08:18 PM
Would you be interested in making one for me ? Thank you John
mumtaz
05-09-2009, 02:45 PM
mumtaz: Here you go: One-touch turn signal module (http://e31wiki.org/wiki/One-touch_turn_signal_module). I wrote a complete new article regarding the newer module. It's written with the 8 Series in mind, but there's enough information in it to get the module working in other cars. Sorry for the delay, but other work came inbetween...
Enjoy!
Please check the schematic and partlist.
In the partlist the C1 and C2 is wrong. In the schematic the C1 is electrolytic capacitor, C2 and C3 is capacitor, but in the partlist the C1 and C3 100n capacitor, and C2 is 100µ 25V electrolytic capacitor.
revtor
05-09-2009, 05:26 PM
I fail to see the problem... The schematic has C1 and C3 as 100n capacitor and C2 as 100µ electrolytic capacitor - just as the parts list?
Update: I just spotted the problem, the PCB layout has C1 and C2 switched. I will change it in the next few days... Thanks for the heads-up!
mumtaz
05-16-2009, 04:34 AM
I fail to see the problem... The schematic has C1 and C3 as 100n capacitor and C2 as 100µ electrolytic capacitor - just as the parts list?
Update: I just spotted the problem, the PCB layout has C1 and C2 switched. I will change it in the next few days... Thanks for the heads-up!
Oh yes. The problem is in the layout and not the schematic. Sorry My mistake. (And sorry My poor english :))
mumtaz
06-27-2009, 11:26 AM
revtor: Something wrong to my "module". I builded the module 3 times from new parts, but 3 other plate (stripborad, engraving pcb, bread board). But I have same problems. If I test the module and connect the 12V positive to "right in" or "left in", the relays switch on, and not switch off. After I switch off the module, and switch back on, the relays is switch back on without the "right in" or "left in" connected to the +12V.
If I change the ATtiny to other new one programmed ATtiny, the first time is ok, but later have same problem, so the first "in right" or "in left" connect to +12V completly kill the microcontrollers.
I killed 5 ATtinys.
Any ideas? Maybe change the "in left" and "in right" direct connect to an optocoupler or what?
UPDATE: Ohh. This is My mistake. So. Now I use optocoupler to switch. This work
revtor
06-27-2009, 04:17 PM
The optocouplers should only be required for IN_LEFT_INDICATOR and IN_RIGHT_INDICATOR. IN_LEFT and IN_RIGHT don't need any (unless your turn signal lever is different from the BMW E31 one).
Most comfort blinker circuits are time-based, but this one is pulse-based. It will not work unless it senses pulses on the IN_LEFT_INDICATOR and IN_RIGHT_INDICATOR inputs. These are used to count the number of blinks. Thus if you want to test the circuit, you must provide something that gives pulses as if it was a flasher relay. Other comfort blinkers which are time-based work perfectly without these extra signals. But these do not support the full flash as this module does...
mumtaz
06-27-2009, 08:47 PM
The optocouplers should only be required for IN_LEFT_INDICATOR and IN_RIGHT_INDICATOR. IN_LEFT and IN_RIGHT don't need any (unless your turn signal lever is different from the BMW E31 one).
Most comfort blinker circuits are time-based, but this one is pulse-based. It will not work unless it senses pulses on the IN_LEFT_INDICATOR and IN_RIGHT_INDICATOR inputs. These are used to count the number of blinks. Thus if you want to test the circuit, you must provide something that gives pulses as if it was a flasher relay. Other comfort blinkers which are time-based work perfectly without these extra signals. But these do not support the full flash as this module does...
I understand the functions. But. I not read this line in your "manual":
"...the OTTS module requires ground level signals from the turn signal lever switch."
And I killed 5 ATtiny2313 to teach myself: "Always read carefully all words"
Other problem, while I use optocouplers. The Vectra B turn signal switch have one pin with +12V. This is shared with high/low beam switch. So thats while I use optocouplers and not rewiring the switch. This car is not have seperated indicators to left and right turn signal, but have two seperated relays the left and right side. So, this is not problem, to connect the module.
Monday I run to buy an other ATtiny2313.
My other project is to build a windshield wiper intervall timer with ATtiny13.
Thanks for Your help.
revtor
06-28-2009, 04:42 AM
Oh I see. I thought I made that quite clear in the compatibility listing, but maybe I should hightlight this a bit better... On the other hand, the article was written for the E31. If you have an E31 and follow the article, it can't go wrong. If you have a different car you have to pay attention to the electrical differences - as you just learned. Well, luckily the ATtiny series are rather cheap :D
I could have made a module that works in virtually all cars (much like the jalt.de modules), but I did not have any commercial interests and the only car I needed the module for was the E31...
Anyway, I'm glad you found the problem and find my circuit useful!
mumtaz
06-28-2009, 09:32 AM
Anyway, I'm glad you found the problem and find my circuit useful!
This is not a problem. This is the very best turn signal modul what I find on internet. Just have very small modifications to operate in other cars, not just E31.
Thanks man.
Maybe other AVR->car projects? ;-)
Update: I get a new attiny2313 -> programmed -> testing -> modul working perfectly -> Mumtaz happy.
Thanks again. :-)
mumtaz
07-23-2009, 02:04 PM
I wired the modul to my car. But. 1 seconds after power up the module, the LM2931 is burning.
Idea? Heatshink or other regulator?
revtor
07-23-2009, 02:54 PM
A heatsink should not be necessary. Mine doesn't even become warm. We are talking micro amps here, not even milliamperes. It's a low-power voltage regulator, so obviously something is drawing too much current. You don't happen to power the relays from the LM2931Z-5, do you? The 2931 should only power the ATtiny2313. It's not capable of driving something that requires real power. The relays are powered directly from the 12 V battery voltage. Check for short circuits to the ground on the output of the 2931.
Do you at any chance have multimeter that can measure capacitances? If so, remove the ATtiny2313 and measure the capacitance between pin 20 (positive terminal) and pin 10 (negative terminal) of the IC socket. It should read 100 µF (give or take 10%). If not, the wiring on the output of the 2931 is wrong.
mumtaz
07-24-2009, 12:22 PM
The relays powered directly from battery. I tested the modul funcionality days ago with a simple 12V adapter and working perfect. Just if powered the module in my car the regulator warming up equal to a bbq.
revtor
07-24-2009, 01:54 PM
Could you still measure the capacitance as described in my last post? If you multimeter cannot measure capacitances, use the Ohm reading (respect the polarity). The reading will be pretty worthless because of the capacitors, but it should not read anywhre close to 0 ohm. If it is continuously increasing, that's ok.
When you tested the board on a separate 12 V power supply, it worked. So I guess it's safe to assume the problem is not in the module but in a difference in wiring between the test setup and the actual situation... Did you fully test the board in the test setup? Everything worked as expected?
Just wondering... Does the ATtiny2313 still work after frying the 2931?
You can try to replace the 2931 with a heavy duty voltage regulator, but I'm afraid that will only result in the frying of another component. Something is drawing more current than it should. You must find out what.
It's rather difficult for me to diagnose the problem without your car and PCB to perform tests on. If you don't mind blowing another 2931s, you can try trial and error.
1. Put the module in the car but only connect its power (12 V and GND). Reconnect the battery, trun the ignition, or whatever you have to do to get the module powered. Wait a few moments. If nothing bad happens, go to the next step.
2. Connect the outputs (OUT_LEFT and OUT_RIGHT) and retry. If nothing bad happens, disconnect the outputs again and continue with the next step.
3. Connect the flasher relay inputs (IN_LEFT_INDICATOR and IN_RIGHT_INDICATOR) and retry. If nothing bad happens, disconnect the inputs again and continue with the next step.
4. Connect the turn signal lever inputs (IN_LEFT and IN_RIGHT) and retry. If nothing bad happens, disconnect the inputs again and continue with the next step.
5. Connect the outputs (OUT_LEFT and OUT_RIGHT) and retry. If nothing bad happens, next step (leave the outputs connected).
6. Connect the flasher relay inputs (IN_LEFT_INDICATOR and IN_RIGHT_INDICATOR) and retry. If nothing bad happens, next step (leave the inputs connected).
7. Connect the turn signal lever inputs (IN_LEFT and IN_RIGHT) and retry.
8. Well... You shouldn't come this far. One of the above steps should fry the 2931. Which step?
Lachlan
07-24-2009, 06:59 PM
Pardon my ignorance, but how does one program the IC? I assume there's some way to hook it to a usb port or something, but I've never done it before.
revtor
07-24-2009, 07:31 PM
There are many ways of programming AVR devices. I use the Atmel AVR Dragon (http://www.atmel.com/dyn/Products/tools_card.asp?tool_id=3891) - a low-cost programmer and emulator. Great tool while developing. But if you only want to program and not develop/emulate, there are cheaper alternatives - even simple DIY interfaces. But that's a bit beyond the scope of this thread. If you are really interested in starting with programmable logic, head over to sites like avrfreaks.com (http://www.avrfreaks.com/)... The Atmel AVR family is very popular and there are many sites and communities dedicated to it.
sightseeker
07-25-2009, 02:33 PM
would be nice if someone did this as a plug and play...for those of us that get lost in the electronics feild..so if its going to be done i'd like to be on the list for one....
mumtaz
07-31-2009, 01:37 PM
...
1. Put the module in the car but only connect its power (12 V and GND). Reconnect the battery, trun the ignition, or whatever you have to do to get the module powered. Wait a few moments. If nothing bad happens, go to the next step.
...
I tested the module without Attiny. The 2931 temperature is not change. 29 Celsius. But if I plug in the attiny, the 2931 temperature continuously go up.
And my brain is burning up.
revtor
07-31-2009, 04:57 PM
The Opel has a common 12 V on the turn signal switch. What changes did you make to the OTTS circuit diagram to support this?
What I don't understand is that when you test it outside the car, it works fine. But in the car it fries the 2931. There must be a difference!
PS: It's probably a bit late, but I'm currently working on a new version that supports both ground and 12 V level signals on the input and outputs. It's based around a ATtiny24 - just a bit cheaper and the circuit doesn't need all input/outputs of the ATtiny2313.
mumtaz
07-31-2009, 11:49 PM
The Opel has a common 12 V on the turn signal switch. What changes did you make to the OTTS circuit diagram to support this?
...
Just two Optocoupler to left and right input.
revtor
08-01-2009, 03:45 AM
And by doing so, did you perhaps choose other pins than I did? And if you did, did you perhaps forget to change the source code? And if you changed the source code, did you program an internal pull-up resistor for these pins (void initialize())?
mumtaz
08-01-2009, 06:32 AM
And by doing so, did you perhaps choose other pins than I did? And if you did, did you perhaps forget to change the source code? And if you changed the source code, did you program an internal pull-up resistor for these pins (void initialize())?
Nothing more change.
Anyway I changed the 2931 to 7805. The 7805 output to attiny pin20 129mA. And 7805 is very hot. It's not too mutch?
revtor
08-01-2009, 09:00 AM
I haven't measured the current myself, but I estimate the current through pin 20 should be in the microamps range when doing nothing and somewhere between 5 and 15 mA when active - depending on what the module is doing (estimation based on values taken from the ATtiny2313 datasheet). So yours is way too much...
The 2931 on my prototype and final module stays cold.
Maybe an idea... keep the 7805 for now since it can deliver enough power. Can you measure which pin(s) draw(s) a large current? The pins to measure are 2 (PD0), 4 (PA1), 9 (PD5), 13 (PB1), 14 (PB2), 15 (PB3), 16 (PB4), 17 (PB5), 18 (PB6), and 19 (PB7).
mumtaz
08-12-2009, 12:59 PM
I haven't measured the current myself, but I estimate the current through pin 20 should be in the microamps range when doing nothing and somewhere between 5 and 15 mA when active - depending on what the module is doing (estimation based on values taken from the ATtiny2313 datasheet). So yours is way too much...
The 2931 on my prototype and final module stays cold.
Maybe an idea... keep the 7805 for now since it can deliver enough power. Can you measure which pin(s) draw(s) a large current? The pins to measure are 2 (PD0), 4 (PA1), 9 (PD5), 13 (PB1), 14 (PB2), 15 (PB3), 16 (PB4), 17 (PB5), 18 (PB6), and 19 (PB7).
Ok. I build a simple. 7805, three capacitor. I plug to the attiny, and the 7805 is very hot after 5 sec. I plug to another (clear new) attiny, and stay cold. So. This is the 6th "dead" attiny. Work, but "dead".
I dont know, why, but with new attiny the 7805 stay cold, and the module is working.
revtor
08-12-2009, 02:28 PM
Weird... Several people already built the module - even modified - but none had any problems with component failure. I really don't know what caused all your problems, but it seems the new ATtiny fixed it. Luckily the ATtiny2313 isn't that expensive.
Just a thought... Perhaps you should use an ESD wrist strap to avoid damage to sensitive devices like the ATtiny due to static discharges?
Hello . I just bought the components for "one touch turn...", and 1 question came up, do you have the pcm layout for it? Version 1 , not the one with programmable system. ThAnKs :D PS keep up the good work .
revtor
08-14-2009, 06:43 AM
Hello . I just bought the components for "one touch turn...", and 1 question came up, do you have the pcm layout for it? Version 1 , not the one with programmable system.
I don't have a PCB layout. I started development of the updated OTTS module with programmable logic soon after finishing the first version. But I do have high resolution pictures of my own PCB's top and bottom which you can use to build your own version (on prototyping board). If you're interested, send me your e-mail address in a private message and I'll send the pictures your way.
I'm also thinking about an updated version of the v2 OTTS module. This time with a smaller ATtiny24 and using MOSFETs instead of relays. A module that works with both high level and ground level inputs and outputs. But I don't have much time at the moment, so these plans are postphoned till who-knows-when...
rcrad6653
08-14-2009, 06:50 AM
A bit OT Revtor, but is it possible do you think to do a mod of the driver's window switch where it continues all the way down with one touch? TIA
revtor
08-14-2009, 07:39 AM
A bit OT Revtor, but is it possible do you think to do a mod of the driver's window switch where it continues all the way down with one touch? TIA
Isn't that how it works right now?
• Soft press on a button: window moves until the button is released
• Hard press on abutton: window goes all the way down or up
The only exception to this is the upward movement of the rear windows. For whatever vague reason the "rear up" buttons don't have two positions.
I guess you mean something like a single press to get all windows down automatically and the same in the opposite direction? I have already been thinking along these lines, but apparantly Martin from 8er.org (http://8er.org/) beat me to it: Fenstersteuermodul FSM (http://www.8er.org/forum/showthread.php?t=8578) (window control module) - sorry only available in German, but Martin speaks English. It's not cheap, but it's a rather complex microcontroller. Martin reverse engineered the bus protocol between the window switch module and the relay/general module. His module just intercepts the data on the bus and recodes it. Very nice approach although he mentions possible timing issues on the bus (does not affect the car - just his module).
A more simple approach would be putting microcontroller outputs "parallel" over the window switches and simulating button presses. But that's a lot of wiring and the board probably will not fit inside the window switch module. Probably involves making holes in it to get the cables in and out. Can't say I like that.
rcrad6653
08-14-2009, 08:55 AM
Yes. I said driver's window but meant what you describe. Thanks for the info that it's doable at least.
I get an error when I try to send private message, but my email is tcew@bastu.net .Thank you very much... :D
mumtaz
08-15-2009, 09:41 AM
I draw two layout in Sprint Layout.
The first layout based the original stripboard.
LINK: mumtaz.uw.hu/kep_/original_lay.jpg
The second layout based the original, but extended two relays. This relays swap the original negative input to positive. This board I use while the indicator switch used +12V power shared with other components (like high beam switch or others). This board used in My car.
LINK: mumtaz.uw.hu/kep_/extended_lay.jpg
revtor
08-15-2009, 10:39 AM
I get an error when I try to send private message, but my email is <removed> .Thank you very much... :D
Mail sent. Btw, remove your e-mail address from your message - better to avoid spam :).
mzsoti
09-14-2009, 03:17 PM
Hi,
You are allowed to be implanted in the other side of the PCB side of the drawing or just to make it easier to write the module.
Thank you.
Zsolt
Hi.
Soldered and programmed OTTS module. The module works, but it blinks three times or five times. At any position DIP-switch, four blinks are not included. Is the problem?
Sorry for my English.
IcemanBHE
02-01-2010, 03:14 AM
Hello. Welcome to the forum.
revtor
02-01-2010, 04:23 AM
Soldered and programmed OTTS module. The module works, but it blinks three times or five times. At any position DIP-switch, four blinks are not included. Is the problem?
If you are also unable to disable the comfort blinking (DIP switch 1 and 2 both set to OFF), you may have a short circuit to ground near pin 16 of the Atmel controller. Check your solder joints!
The problem in the microcontroller. Replaced the microcontroller and all functions work.
Very good module.
Thank you for your reply.
Where do you recommend I should look for a good comfort blinking device for BMW E36 M3.
Ladislav
03-13-2010, 12:36 PM
Where do you recommend I should look for a good comfort blinking device for BMW E36 M3.
The M36 forum comes to mind.
revtor
03-13-2010, 01:14 PM
Where do you recommend I should look for a good comfort blinking device for BMW E36 M3.If you are not shy from some soldering and can program the Atmel microcontroller, you could build my OTTS module. Otherwise, look for one of the commercially available modules, like the jalt.de Komfortblinker (http://jalt.de/?q=node/18) already mentioned in this thread. It's slightly less advanced, but it's cheap and works just fine.
If you are not shy from some soldering and can program the Atmel microcontroller, you could build my OTTS module. Otherwise, look for one of the commercially available modules, like the jalt.de ComfortBlinker (http://jalt.de/?q=node/18) already mentioned in this thread. It's slightly less advanced, but it's cheap and works just fine.
Thanks for providing info...building one myself would be complicated for me, I can do soldering by Atmel microcontroller is higher math.
Less advanced...can you please clarify what options jalts CB is lacking?
revtor
03-13-2010, 06:45 PM
Most comfort blinkers, including the jalt.de module and my first version, are time based. The turn lights blink for a preset amount of time. My version 2 and 3 modules use feedback from the flasher relay output. This enables exact blink count and full flash functionality. The disadvantage is a slightly more complex installation (more wires). In addition it offers adjustable comfort mode canceling. For a description, see OTTS module features (http://e31wiki.org/wiki/One-touch_turn_signal_module#Features).
Are you building them or just providing instructions how to do it.
Looking at their website it has 7 wires and can be programmed in different ways.
http://www.jalt.de/files/pdf/BMW%20E36.pdf
Could be I am still missing details as my German is not so good.
revtor
03-14-2010, 05:01 AM
I'm just providing instructions.
The jalt.de Komfortblinker is easy to install and its blink time can be programmed without additional tools. The module is put in "learning mode" with a jumper wire and you tell it how long it should blink by holding the turn signal lever. Repeat until satisfied. Blink time can be programmed between 1 and 12 seconds. By default its set to 3 seconds. If you wish to order the Komfortblinker from jalt.de, make sure to specify your make and model of car so you get the correct module for your car.
There may be other comfort blinker modules, but I know the jalt.de Komfortblinker is being used by several E31 owners with great satisfaction.
Got it from Jalt for e36...there are short instructions, 2 wires in from turn signal stalk, 2 wires out to relay and + -.
Where did you mount and cut the wires on the E31, most likely I can do the same way on E36.
Thanks
revtor
05-03-2010, 01:36 AM
You can splice, for example, at the turn signal lever switch or at connector X32 on the underside of the steering column... My personal preference is for the turn signal lever switch, despite requiring longer wiring. The wires are soldered to the switch, so you can easily change this and later (if necessary) undo it without leaving traces. To change the wiring at the X32 plug, without cutting the original wiring harness, you need special crimping tools. Of course, if you don't mind cutting the original wiring, you can splice anywhere you want along the path between flasher relay and turn signal lever switch. The E36 turn signal system is pretty much similar to the E31, but always double check with the Electrical Troubleshooting Manual (ETM) of your car and production year for the wire colors.
You may refer to my OTTS module (http://e31wiki.org/wiki/One-touch_turn_signal_module) article for additional information. It's written for my own module and with the E31 in mind, but it may provide some extra help in installing and wiring the jalt.de module.
Revtor, i got a question:
Why using a P channel MOSFET as a high side driver?
i've just simulated (w/Proteus) the P version and i figured out that the MOSFET's channel remains always close.
I double checked the wiring and everything looks correct.
revtor
05-26-2010, 04:31 PM
You probably reversed a component. Have a look at the P version circuit diagram (http://e31wiki.org/wiki/File:OTTSv3_module_circuit_diagram_(P_version).png ). I will explain the working of the right channel. The left is obviously the same, but drawn upside-down and may be more confusing to understand.
When the microprocessor's output PA0 at pin 13 is low, the base of NPN transistor T2 is low as well. The transistor will not conduct and its collector will be at the same potential as the power supply (12 V). Since P-channel MOSFET T4 has a very high input impedance and T2 does not conduct, there is no voltage drop over resistors R6 and R8 and thus the MOSFET's gate sees 12 V. The MOSFET's source is connected to the COMMON input which is driven by the flasher relay. In very old cars this is some sort of a bimetal relay: by default it's closed (conducting) but once current flows through it the bimetal heats up and opens the relay. After a short moment it's cooled down again and closes the contact again. This repeats as long as there's a load connected. More modern single-pole flasher relays do the same but in a solid state solution. In other words, initially the flasher relay delivers 12 V to the MOSFET source. That means both gate and source are at the same voltage potential, thus Vgs is 0 V - the MOSFET does not conduct and the flasher relay does nothing. OUT_RIGHT remains low and the right turn signals don't blink.
When the microprocessor's output is high, current flows through the base of transistor T2. The transitor conducts and pulls its collector towards ground level. The MOSFET's gate is now 0 V, but its source is still at 12 V (see previous paragraph). That means Vgs is -12 V and thus the P-channel MOSFET conducts. With a conducting MOSFET, OUT_RIGHT follows COMMON and thus the right turn signals blink according to the flasher relay.
PS: Are you sure you need the P version? It's usually only needed in old cars (say 80s and older). Your profile says VW Golf Mk5 which is a rather recent car... I'd be surprised if this car doesn't offer comfort blinking by default or isn't programmable by the dealer to do so. And even if it doesn't it's probably using a dual pole flasher relay.
No, there is nothing reversed, I double checked it. Guess it's something that got to be with the Proteus; I'm, gonna wire the real circuit and see how it goes.
I want the OTTS mod for a MKIV; Actually there's an OEM relay, but it doesn't have the 4 or 5 blinks feature. In the MKIVs there's only 3 inputs:
*Common
*Out_left = In_left
*Out_right = In_right
And the stalk is not wired to ground, buit wired to the Common and straight to the lamps. Here's a diagram for you to see want i mean:
http://i93.photobucket.com/albums/l76/el_gallo_2006/Dibujo-1.jpg
revtor
05-26-2010, 06:11 PM
No, there is nothing reversed, I double checked it. Guess it's something that got to be with the Proteus; I'm, gonna wire the real circuit and see how it goes.
Looking at the Mk4 diagram you will need the P version indeed. I see no reason why the circuit shouldn't work - the PP version is basically the same circuit but with COMMON hard-wired to +12V and that one is working just fine in the BMW E31.
Johnno1
08-20-2010, 07:28 AM
I don't have a PCB layout. I started development of the updated OTTS module with programmable logic soon after finishing the first version. But I do have high resolution pictures of my own PCB's top and bottom which you can use to build your own version (on prototyping board). If you're interested, send me your e-mail address in a private message and I'll send the pictures your way.
I'm also thinking about an updated version of the v2 OTTS module. This time with a smaller ATtiny24 and using MOSFETs instead of relays. A module that works with both high level and ground level inputs and outputs. But I don't have much time at the moment, so these plans are postphoned till who-knows-when...
Hi Revtor,
Do you still have the photos of the PCB layout for your 'Version 1' module? If you do, I would love if you could send them my way... Thanks and Regards... :)
revtor
08-20-2010, 09:43 AM
Do you still have the photos of the PCB layout for your 'Version 1' module? If you do, I would love if you could send them my way...Mail sent! PS: Remove the e-mail address from your message unless you are keen on spam ;).
Johnno1
08-21-2010, 03:03 AM
A thousand thankyou's Revtor! :)
agg32
10-02-2010, 11:31 AM
Revtor, thank you for taking the time and effort to publish your OTTS design. I have determined that I need the P version for my car (Nissan 300ZX) and I have a question for you.
Your simple diagram for the P version has the turn signal switch common connected to the flasher relay (as it is in my car) whilst in the wiring diagram it is shown grounded. I just want to be sure that when installing the OTTS module I will need to break the existing common connection to the turn signal switch and ground it as shown?
Many thanks.
revtor
10-02-2010, 02:13 PM
Your simple diagram for the P version has the turn signal switch common connected to the flasher relay (as it is in my car) whilst in the wiring diagram it is shown grounded.The "simple" diagrams are meant to identify your current situation - before any modification. The wiring diagram at the end of the article shows the changes that need to be done to connect the OTTS module. And yes, the switch should be grounded. This allows the switch to be connected directly to the ATTiny controller.
agg32
10-03-2010, 04:05 AM
Revtor, thank you for your clarification. Do you have any suggestions for incorporating the hazard function? Can I pull IN_RIGHT and IN_LEFT to ground at the same time via a d/p relay driven from the hazard switch for example?
Many thanks.
revtor
10-03-2010, 04:59 AM
No, you cannot. The software does not allow both outputs to be active at the same time - this is an invalid situation in all cars. The OTTS module just emulates the turn signal switch. When you tap the lever, it's as if someone else is holding the lever just a little longer to complete the three blinks.
I don't know how the hazard switch is wired in your car, but normally the OTTS module should not affect its functioning. If the hazard switch is currently bridged over the turn signal switch, it should be bridged over the switch and OTTS module after the modification (over the common contact of the switch and the outputs of the OTTS module).
agg32
10-04-2010, 02:55 PM
Revtor, thank you for your help. I'm familiar with the basic function of comfort blinkers as I have something similar in my Mercedes. I was just having a senior moment with your implementation!
Many thanks.
powerca
10-26-2010, 11:39 AM
@Revtor, can you send me PCB layout for module based on two 555 timers?
Here's my email: g1.kramberger(@)gmail.com
koliva
01-12-2011, 04:31 AM
Hello,
I have just seen your amazing implementation. I have a peugeot 307 and I am planning to build the one with microcontroller. I need to check now which version I need to follow. PN, P, N, NN, NP? Thank you very much.
koliva
01-18-2011, 06:05 AM
Hi Revtor,
I have tried to send you PM but couldn't succeed.
Although the ATtiny24-20PU costs almost nothing, the development-programming board costs around 50 euro, which is not so expensive but if you will use it to build only this circuit then it is expensive. I am wondering if you can program it and send me by post by mail since I am also living in Belgium. I can send the money that you ask beforehand to you account. No problem. I am waiting for your positive or negative reply.
Thanks.
koliva
01-20-2011, 06:05 AM
You have got an e-mail :rolleyes
cvhuis
06-06-2011, 01:11 AM
Hallo Revtor,
I build your 555 comfort switch, but when i installed it in my z3 it works not completely for me. When I blink short then everything works fine, but when
the blinkswitch is pulled back by the steerwheel, the other side is triggered.
So i suppose when the switch is pulled to zero by the steerwheel, it makes a short contact on te oppostie switch.
Can I delay the trigger input so this wil solve the problem?
revtor
06-06-2011, 06:10 AM
cvhuis: The 555-based one-touch turn signal module is outdated and I do no longer recommend to build it because it lacks the flexibility of the later microcontroller-based versions. The issue you describe can easily be resolved in the microcontroller-based versions by increasing the debouncing time (DEBOUNCE_LOOPS).
The E36 turn signal switch is very similar to that of the E31 and I never experienced your issue. Are you sure the switch is still ok? Anyway, normally this can be fixed by adding a simple RC filter to each input. The difficulty here is that the inputs also control the other timer's reset signal: The reset signal needs to be a pulse. That's what the edge detectors (R1/C1, R5/C2) do. These are somewhat of an afterthought - a quick and dirty fix - because I had completely forgotten the 555's cannot trigger when the reset signals are low. I'm afraid the edge detectors might not work properly with RC filters attached... I no longer have the version 1 circuit, so I can't do some quick experiments for you, but I would try as follows: Replace R1 (1M) with a 10k resistor. Put a 10µ electrolytic capacitor (Cx) parallel over R1 (negative terminal to ground). Put another 10k resistor (Rx) between the R1-C1-Cx joint and LEFT. Do the same for the right channel. If the circuit still shows the faulty behavior, try increasing the value of Rx and/or Cx. If the circuit no longer works with the RC filter in place, try increasing the value of C1 and C2 (eg 100n). If things just won't work, sorry, but the circuit was never designed with this issue in mind and I don't have the time to redesign a proper working input. Since you are from the Netherlands according to your profile, you might want to join the circuitsonline.nl (http://circuitsonline.nl/) forum and ask for thoughts about redesigning the circuit's input.
Personally I would recommend to build the microcontroller-based version instead or if you prefer a pre-assembled version, get the jalt.de KomfortBlinker (http://jalt.de/?q=komfortblinker).
cvhuis
06-06-2011, 12:17 PM
Thanks for the quick response, i indeed post the circuit in the forum of circuitsonline.net (http://www.circuitsonline.net/forum/view/95750/1#1262369).
I would like to build the microcontroller version, but have no possibility to program it, it's cost to much to buy this for this occasion.
So, for this moment i have no time to try something on the circuit, i have to go with the car on a holiday.
I wil think about the next step to make.
brolism
03-30-2012, 02:23 AM
Hi revtor, i want to make pcb with 555 timers. Can you send me yours pcb layout?
revtor
04-01-2012, 02:30 PM
brolism: I don't have a PCB layout for the first version of the one-touch turn signal (OTTS) module. I started working on the second version before I got to drawing it. If you are interested, I can send you high resolution pictures that should enable you to reproduce the board. Drop me a mail at https://tweakers.net/fotoalbum/image/qN4NFrYQLMlXA1giqIVxCLdi.png and I'll send you the pictures.
Personally I would recommend to build the second or third version, derivates from it, or get the jalt.de (http://jalt.de/?q=node/18) version instead.
CaifanSC
04-02-2012, 01:06 PM
I just drove a newer 3 series and now I know what this one-touch function is all about. I'm curious tho...if I recall correctly the lever on the newer cars automatically goes back to the "center" position...where as on our 8's when you push the lever down it stays down unless you physically change the position back to the center.
With this one-touch module on the 8..i guess it's on the driver to simply move the lever down enough to activate the signal, but, not enough to hear the "click" which makes the lever stay in the down or up position, correct?
revtor
04-02-2012, 01:36 PM
With this one-touch module on the 8..i guess it's on the driver to simply move the lever down enough to activate the signal, but, not enough to hear the "click" which makes the lever stay in the down or up position, correct?Exactly. Actually the E31 turn signal switch already has two stages in each direction (slight press for flashing without detention, press further for detention). However, a short tap on the lever only flashes the turn signals for that short moment. There is no minimum blink count as found in modern cars... That's what this module is about.
Keith1054
08-16-2014, 10:01 AM
Bumping this way up.
I would like to make one of these for my 1997 e36 M3 since the jalt.de Komfortblinker webiste is down. Has anyone successfully installed one on this chassis? I'm not affraid to solder up the board, but is there anyone in the U.S. that could program the microprocessor for me? I don't want to buy the programmer just for this.
Also, is there any videos of the tripple blink in action? I just want to check out how smooth the operation is.
Thanks!
Bumping this way up.
I would like to make one of these for my 1997 e36 M3 since the jalt.de Komfortblinker webiste is down. Has anyone successfully installed one on this chassis? I'm not affraid to solder up the board, but is there anyone in the U.S. that could program the microprocessor for me? I don't want to buy the programmer just for this.
Also, is there any videos of the tripple blink in action? I just want to check out how smooth the operation is.
Thanks!
As E36 M3 owner I have successfully installed one from jalt few years ago and it works perfect.
revtor
08-17-2014, 06:02 AM
I would like to make one of these for my 1997 e36 M3 since the jalt.de Komfortblinker webiste is down. Has anyone successfully installed one on this chassis?
The turn signal wiring of the E36 is pretty much the same as that of the E31, so no worries there. The OTTS module, however, does require feedback from the blinker relay. In the E31 the blinker relay outputs are relatively easy accessible in the left footwell wiring harness. You'll have to look at the E36 diagrams to find similar splice points. The jalt.de module does not require feedback from the blinker relay.
The current OTTS module is actually somewhat overkill. It was designed to be compatible with many different blinker systems and hence features powerful MOSFET switches whereas the blinker relay in cars like the E31 and E36 can be switched with low currents. So basically it can be a lot smaller and a lot cheaper. I wanted to do a 4th generation OTTS that would be a plug-and-play replacement for the E31/E32/E34/E36 blinker relay, but I haven't found the time (and motivation) to actual design and build it.
I'm not affraid to solder up the board, but is there anyone in the U.S. that could program the microprocessor for me? I don't want to buy the programmer just for this.
Forum member radlaw (http://forums.bimmerforums.com/forum/member.php?261389-radlaw) might have a spare programmed ATtiny24 microcontroller.
Also, is there any videos of the tripple blink in action? I just want to check out how smooth the operation is.
Smooth? It's just like having someone hold the turn signal lever for exactly 3 blinks in your place. Nothing more, nothing less. It does not affect the blink rate or duty cycle in any way.
radlaw
08-17-2014, 09:55 AM
Forum member radlaw (http://forums.bimmerforums.com/forum/member.php?261389-radlaw) might have a spare programmed ATtiny24 microcontroller.
I ended up using another system, http://www.kahtec.com/lane_changer.htm, which was plug & play and simple to install. It has 6 blinks instead of three, which I like. Three just isn't long enough. I started with the OTTS but it was more than I could manage. PM me it you want the materials I have, which include a microcontroller.
Keith1054
08-18-2014, 06:09 PM
Thanks for the feedback guys! By "smooth" I was referring to this (there is a video in post #26) that shows a delay between the initial tap of the stalk, and the following blinks.
http://forums.bimmerforums.com/forum/showthread.php?2101715-OTTS-One-Touch-Turn-Signal-Thread/page2&highlight=comfort+blinker
Almost looks like the Kahtec takes a second to figure out what to do.
Radlaw, I just sent you a PM about the parts you have
Having a plug and play relay would be awesome, but I understand the developmet time required for something like this.
I have gotten so used to this feature in my Audi daily driver, that I just tap the stalk in the M3 all the time. I think as more guys get this feature in their newer cars and start to take it for granted, more people will be interested in retro-fitting it. Having this system being compatible with pretty much any system is awesome! Revtor, thank you so much for posting all the information on the wiki page, no way I could ever figure this out myself, especially the actual program in C. The fact that you made it availible for everyone is a huge help to the community, cheers!
From a programming standpoint, (which I know nothing about but want to learn), would an Arduino Uno be able to be able to program the ATtiny24-20PU? I mention the Uno since that can do some pretty cool CAN-bus interface functions that I would like to learn more about that as well, and its only like $25
revtor
08-19-2014, 02:59 AM
Thanks for the feedback guys! By "smooth" I was referring to this (there is a video in post #26) that shows a delay between the initial tap of the stalk, and the following blinks.
http://forums.bimmerforums.com/forum/showthread.php?2101715-OTTS-One-Touch-Turn-Signal-Thread/page2&highlight=comfort+blinker
Almost looks like the Kahtec takes a second to figure out what to do.
Yikes, that looks weird :confused.
Rest assured that neither my OTTS or jalt.de's Komfortblinker module show this behavior. Each blink is and remains controlled by the car's own flasher relay so the blinking rate is not affected. In one-touch mode the Komfortblinker "mimics" holding the turn signal lever for a certain amount of time (adjustable). My OTTS module is slightly different in that it's not time-based but blink-based. It "mimics" holding the turn signal lever for a certain number of blinks (3, 4 or 5 - or any number you want if you change the source code and reprogram the device). That's why my module needs feedback from the flasher relay. The advantage of the latter is that my module also supports "full flash" like in modern cars. The disadvantage is more wiring.
The Kahtec module on the other hand monitors the flasher relay output and if it detects a single blink on the left or right side it will inject 6 more blinks independently from the flasher relay - it's a flasher relay by itself. The reason the module seems to wait after the first blink is because it must be sure no blink is following (to detect a single touch). The delay is probably on the (very) safe side to cover different blinking rates from all kinds of vehicles and the module's own blinking rate may be different from that from the vehicle it is installed in. The module is clever because it supports a wide range of vehicles with very simple wiring regardless of the flasher relay and turn signal switch types, but it's clearly limited by its design.
From a programming standpoint, (which I know nothing about but want to learn), would an Arduino Uno be able to be able to program the ATtiny24-20PU? I mention the Uno since that can do some pretty cool CAN-bus interface functions that I would like to learn more about that as well, and its only like $25
I have no experience with Arduinos but I've read about people using them to program Atmel AVR microcontrollers (which includes the ATtiny series). Please note that you will have to use in-system programming (ISP) but the OTTS module does not have an ISP header on the board. You'll have to program the ATtiny off the the board.
Keith1054
09-26-2014, 03:39 PM
Finally got mine wired up on my e36 and it works awesome! Operation is flawlessly smooth, feels like it came installed from the factory. The adjustability in the number of blinks is really cool.
Thank you radlaw for the parts and revtor for your help and all the information. Highly recommended mod!
clockwork
09-30-2014, 04:21 PM
radlaw, no issues with this Kahtec product or wiring up? did you have to splice into wires I assume?
I've looked at their products before for the blinking tail lights. nice idea. the ambulances here have them installed on their LED's and they definitely catch your attention when flashing for a few seconds at stops.
radlaw
09-30-2014, 08:55 PM
radlaw, no issues with this Kahtec product or wiring up? did you have to splice into wires I assume?
No issues with the Kahtec product. I had an automotive electric shop do the wiring/splicing in the trunk, following the Kahtec directions. I love it.
clockwork
09-30-2014, 09:01 PM
Rad law great to hear. May grab a few then. Looks like an extremely simple install. just have to decide where to tap into the signal light wires. LKM or near the tail light housings thesemselves. figure I may do the trunk as it will be easy to hide the black box, and I can use a piggyback fuse in the rear fuse box and run a wire to each turn signal wire at the harness. simple and hidden.
MParallel
10-02-2014, 05:43 AM
As E36 M3 owner I have successfully installed one from jalt few years ago and it works perfect.
Same here. Also got a Jalt.de unit (I first got the wrong version for later cars with negative trigger instead of positive (or was it the other way around?) but when I got the correct one, it was an easy fit and works perfectly.
I love it on the highway.
tangcla
12-14-2015, 06:30 PM
Bump for comfort blinkers.
Does anyone know where I can get hold of one of the Jalt.de modules? The website is offline so I am unable to order.
Bump for comfort blinkers.
Does anyone know where I can get hold of one of the Jalt.de modules? The website is offline so I am unable to order.
Just get a retro fit kit from audi/vw. They are still available. A special relay and a few wires.
tangcla
12-15-2015, 01:12 AM
Just get a retro fit kit from audi/vw. They are still available. A special relay and a few wires.
For any particular car/s? I see that the diagrams on e31wiki show several different variants depending on car.
For any particular car/s? I see that the diagrams on e31wiki show several different variants depending on car.
It was made for the golf and early a4. The difference between them are just the cord length and plugs, which you won't be using.
CaifanSC
12-15-2015, 10:31 AM
...intreagued....any of you two have done that using the audi/vw kits?
I've done it on my older merc and have another kit sitting in a box for my e31. It's just a relay that essentially holds the indicator stalk down and counts 3 flashes.
Pretty simple stuff.
If someone doesn't beat me to it I'll do a write up when I get around to it.
CaifanSC
12-15-2015, 04:15 PM
I've done it on my older merc and have another kit sitting in a box for my e31. It's just a relay that essentially holds the indicator stalk down and counts 3 flashes.
Pretty simple stuff.
If someone doesn't beat me to it I'll do a write up when I get around to it.
I'll wait for that :) wondering how it would hook up in the e31. I'm a little confused as I see the vw/audi guys are using the hazard switch for taping into the wires. I don't see how that connects to the signal stalk.
bmw528e11
12-15-2015, 04:18 PM
Is there a P/N for the VW kit? Or Particular model should be asked for at the dealership?
bmw528e11
12-17-2015, 03:37 AM
Check out this item I found on eBay: http://pages.ebay.com/link/?nav=item.view&id=291485668651&alt=web
I think z3 and e31 share same relay... Did anyone tried it!?
radlaw
12-17-2015, 04:29 AM
I think z3 and e31 share same relay... Did anyone tried it!?
Which relay does this module replace?
It doesn't replace any relay, it's an add on. You remove the existing blinker relay and move it to the empty socket on the top left of the eBay picture, the bottom plug in the picture goes where your blinker relay was.
If I didn't want to have a stock look and happy to just clip the relocated relays somewhere this would be the easy solution.
This is the same thing as the audi vw kit. Just comes with the handy relay plug for easy diy install.
- - - Updated - - -
I'll wait for that :) wondering how it would hook up in the e31. I'm a little confused as I see the vw/audi guys are using the hazard switch for taping into the wires. I don't see how that connects to the signal stalk.
Yeah my plan is different to the normal install. I plan to make the first detent on the blinker stalk work as the "comfort" mode (3 flashes). Also I want to install the additional relay in an unused relay spot in the relay box.
CaifanSC
12-17-2015, 01:04 PM
It doesn't replace any relay, it's an add on. You remove the existing blinker relay and move it to the empty socket on the top left of the eBay picture, the bottom plug in the picture goes where your blinker relay was.
If I didn't want to have a stock look and happy to just clip the relocated relays somewhere this would be the easy solution.
This is the same thing as the audi vw kit. Just comes with the handy relay plug for easy diy install.
- - - Updated - - -
Yeah my plan is different to the normal install. I plan to make the first detent on the blinker stalk work as the "comfort" mode (3 flashes). Also I want to install the additional relay in an unused relay spot in the relay box.
I'll look forward to that write up :) The relay above is probably an easy quick option...but not sure it is a very appealing permanent option.
radlaw
12-20-2015, 10:18 AM
Check out this item I found on eBay: http://pages.ebay.com/link/?nav=item.view&id=291485668651&alt=web
Has anyone used this module?
tangcla
07-13-2016, 10:11 AM
I've done it on my older merc and have another kit sitting in a box for my e31. It's just a relay that essentially holds the indicator stalk down and counts 3 flashes.
Pretty simple stuff.
If someone doesn't beat me to it I'll do a write up when I get around to it.
Arthur, will you do this write up soon? :D
clockwork
07-16-2016, 12:48 AM
i just installed a Kahtec one press lane changer device (like Radlaw has too) and it was super easy.
you grab the blue wire with stripe on each tail lamp harness connector to connect to the kahtec two blue wires and then run the red wire to left battery + terminal.
it blinks 6 more times after the one time you pressed it.
JetBlackE46
06-30-2022, 03:26 AM
any updated links?
clockwork
07-06-2022, 05:00 PM
I've got one created a few months ago (from an electronics friend), similar to what Revtor has, I just haven't gotten around to even looking at the thing. I should read how it needs to get installed soon :)
MParallel
07-07-2022, 05:22 AM
Last year I pulled my Jalt.de module (bought around the start of this topic) out of the 328i to fit it to the M3 (same stalk electronics as E31).
The old 328i install was the old style way, but without cutting any original wires (this is always a no-go) where I would chase a wire to a connector or junction and pull it there, insert a new wire and then install it. This mimics cutting a wire to install something in between, without actually cutting the wire. That was good back then.
This time I went for the optimal solution: plug and play. What I hadn't realized back then, was that the stalk wiring loom, hold all the necessary wires, including the power and ground wires. It says so right in the ETM, so why I didn't realize this back then, I don't know. So I bought a second hand stalk for the connector and all the correct wire colors and pulled the contra connector from a nother spare wiring loom I had laying around.
Which then results in what you see below. Then it's just a matter of disconnecting the stalk from the car's main loom, insert one end of the solution in the car's side loom, and plug the stalk back into the other side. I didn't wrap the loom because this part of the loom isn't wrapped from factory neither. Wanted to keep that look, even if it's behind paneling. OCD. (this also gave more playing room for find a location for the module).
https://img.motor-talk.de/JxqmAXiVo2tp4ikY.10.jpg
revtor
07-07-2022, 11:03 AM
Here's my latest iteration of the OTTS module:
https://tweakers.net/i/DP8N0qvTtSnFmsYhn7uQZY-VAR4=/234x176/filters:strip_icc():strip_exif()/f/image/AP4FRaFmjzMn3hG56pHfTJEL.jpg?f=fotoalbum_medium (https://tweakers.net/i/8wGqJOsmZKTXsgqobV850tOOkgE=/full-fit-in/4920x3264/filters:max_bytes(3145728):no_upscale():strip_icc( ):fill(white):strip_exif()/f/image/AP4FRaFmjzMn3hG56pHfTJEL.jpg?f=user_large)
(click for larger)
Same features as before but no more cutting, splicing or soldering of the car's wiring harness: The new module is a drop-in replacement of the E31/E32/E34/E36 flasher relay! The module takes over all features of the original flasher relay (lamp failure detection, trailer detection,...).
In order to build one you have to sacrifice an original flasher relay for the enclosure, connector and relays.
The new OTTS module is already in use in a few vehicles without issues but the PCB needs a redesign. The voltage regulator I used is for automotive applications but I'd like to add some extra input protection. A bigger problem I did not notice during development is that there are two different manufacturers of the BMW flasher relay (Siemens and JWT) and both use a different enclosure, connector and relays. I based my new OTTS module on the Siemens version which means you can't use parts of the JWT version. I've been meaning to spin a second PCB based on the JWT module but due to lack of time the project has been on hold for years...
MParallel
07-07-2022, 01:37 PM
That's just perfect. Just replace the flasher relay.
So this isn't a finished part we can buy from you?
Does this still feature the dipswitch settings?
revtor
07-07-2022, 02:38 PM
I do not intend to sell the module. As usual I publish all information so people can build one for themselves. Note that the new OTTS module uses quite small SMT components so you'll need decent soldering equipment and skills.
There are no DIP switches. There are too many settings and too little space. Besides, after some initial tinkering you'll never change the settings again. So to make changes you must reprogram the microcontroller. There's a programming header on the PCB for in-circuit programming. That way you can program the module while installed in the car for quick feedback.
MParallel
07-07-2022, 03:39 PM
Too bad. Microscopic soldering is something I stay far away from.
clockwork
07-25-2022, 05:01 PM
Revtor, as usual, great work!!
MParallel
10-17-2022, 12:54 PM
I do not intend to sell the module. As usual I publish all information so people can build one for themselves...
I see I forgot to ask the previous time: anywhere the build instructions can me found? Might have someone who has the skills to make one.
petejk
10-17-2022, 01:07 PM
You could always buy one of these:
https://www.scuding.com/Shop/en/ecu-solutions/102-smart-tls-ecu.html
Sent from my iPhone using Tapatalk
MParallel
10-17-2022, 01:29 PM
That's ugly piggyback module. Then my current solution is much nicer, though not as nice as Revtor's.
revtor
10-20-2022, 12:54 PM
I see I forgot to ask the previous time: anywhere the build instructions can me found? Might have someone who has the skills to make one.
Sorry, I don't have instructions yet. Like I wrote, the design is not final. I'd like to improve a few things, like better input protection, but lack of time kept me from finishing this project. Even as-is the module has proven to be reliable.
Here are some useful bits in case you want to build your own:
Schematic (https://revtor.be/otts/OTTSv4-schematic.pdf)
PCB Gerber files (https://revtor.be/otts/OTTSv4-gerbers.zip) (tailored for Oshpark (https://oshpark.com/) but probably usable for other PCB manufacturers)
Source code (https://revtor.be/otts/OTTSv4.c)
Parts list:
C1: Tantalum capacitor 10µ/16V [6032] (schematic says 10V but use 16V - use a reputable brand like AVX, Kemet or Vishay)
C2, C3, C4: Ceramic capacitor 100n [0805]
D1, D2: Zener diode 39V BZV55 [SOD-80]
J1: Connector from an original E31/E32/E34/E36 Siemens flasher relay (the PCB is not compatible with the JWT version of the relay). If you want trailer detection you must source the connector from a flasher relay with trailer detection (there's an extra pin that is omitted in the regular flasher relay connector)
J2: Male PCB header 2x3 with 0.1" pitch
K1, K2: Relay Siemens V23072-A1061-A102 from an original E31/E32/E34/E36 Siemens flasher relay
Q1: Transistor BC857 [SOT23]
Q2, Q3, Q4, Q5: Transistor BC847 [SOT23]
Q6, Q7: Transistor BC817 [SOT23]
Q8: MOSFET BSP350 [SOT223-4]
R1: Shunt resistor 18 mOhm from an original E31/E32/E34/E36 Siemens flasher relay
R2, R8, R9, R10, R11, R12, R13: Resistor 10K [0805]
R3, R5, R6, R7: Resistor 47K [0805]
R4: Resistor 0.1% 47K [0805] (diagram says 50K but 47K is easier to get)
U1: Voltage regulator LM2936M-5.0 [SOIC-8]
U2: Microcontroller ATtiny44 [SOIC-14]
U3: Shunt monitor INA138 [SOT23-5]
(code between square brackets is the component case type)
If you do not have a trailer hitch or do not care about trailer detection, you can omit R11, Q5 and Q8. Set TRAILER_THRESHOLD in the source code to 0.
If you also do not care about lamp failure detection, you can omit C3, R4, U3 and replace R1 with a (thick) jumper wire. Set LAMPOUT_THRESHOLD in the source code to 0.
The source code should work fine out of the box for standard incandescent lighting but if you wish to use LED lights and keep lamp failure detection you'll have to experiment with LAMPOUT_THRESHOLD (calculation is in the source code). If you are certain you will never run incandescent light bulbs again you can change R4 for better low current accuracy. You may also want to tweak the duty cycle of the blinking for LED lights. The best way to do so is to record a video of indicators you'd like to mimic and then get the accurate on/off times in milliseconds with video editing software.
MParallel
10-20-2022, 02:35 PM
Thanks, I'll pass it on as my PhD in EE is no longer valid.
djseo
11-29-2024, 04:00 PM
Hi Revtor,
I would like to build your One-touch turn signal module (NP version) that I found on your wiki page.
I have all the parts and want to upload the source file to the ATTiny24.
Could you please tell me why there are 3 different files (common.h, OTTS-NP.c, OTTS-NP.hex), and which one needs to be uploaded to the microcontroller?
I prefer to use arduino v4 for programming.
Thanks a million
revtor
11-30-2024, 04:04 AM
djseo: "common.h" and "OTTS-NP.c" are the source code in case you want to make changes. "OTTS-NP.hex" is the compiled binary version that should be uploaded to the microcontroller.
djseo
12-07-2024, 07:53 AM
djseo: "common.h" and "OTTS-NP.c" are the source code in case you want to make changes. "OTTS-NP.hex" is the compiled binary version that should be uploaded to the microcontroller.
Hi Revtor,
I have uploaded the file to the microcontroller and it works with a small issue.
For example, if I put the indicator lever to the left at an intersection waiting for a green light, and then start to turn left.
Then when I start to turn the steering wheel to the right to straighten the car, the indicator lever automatically returns to the center, like in any other car.
But then the module mistakenly switches the indicator to the right and performs the set 3 flashes, even though I don't want to turn right.
I have a short video for better understanding, but I am not able to attach it here.
Maybe the indicator lever gives a short and opposite impulse to the module when automatically switching back and this is the cause of the issue.
My question would be, is it possible to modify the code so that the comfort mode cannot get activated if the lever is activated for an even longer period than the three-blink comfort mode?
revtor
12-07-2024, 08:34 AM
djseo: Yes, I can only imagine the turn signal switch bounces through to the other side for a short moment. However, the OTTS program code applies 50 ms debouncing which in my opinion is very generous.
Does it happen every time the lever returns automatically? In either direction? Do you also have the issue if you operate the lever manually?
You don't happen to have an oscilloscope to measure the switch bouncing?
djseo
12-07-2024, 01:57 PM
only one side, but I have tried it in my friend, who has the same car and I got the same result.
Yes, the most of the time it happens when the lever returs automatically.
These are the default settings in the common.h file, which one needs to be changed?
#define LOOP_WAIT_TIME_MS 5 // Time to wait between each main process loop (time in milliseconds) [Default: 5]
#define DEBOUNCE_LOOPS 10 // Number of loops to wait for debounce (LOOP_WAIT_TIME_MS * DEBOUNCE_LOOPS = time in milliseconds) [Default: 10]
#define F_CPU 1000000UL // CPU clock frequency (frequency in Hertz) [Default: 1000000UL]
revtor
12-07-2024, 02:29 PM
djseo: You should change the value of DEBOUNCE_LOOPS. Currently it is set to 10 and with a loop wait time of 5 milliseconds that gives a total of 50 milliseconds debounce time. Increase it to 20 for 100 milliseconds debounce time.
#define DEBOUNCE_LOOPS 20
I've compiled a new OTTS-NP hex file with 100 ms debounce time. Download it here (https://revtor.be/djseo/OTTS-NP-more-debounce.zip).
djseo
12-08-2024, 04:10 AM
djseo: You should change the value of DEBOUNCE_LOOPS. Currently it is set to 10 and with a loop wait time of 5 milliseconds that gives a total of 50 milliseconds debounce time. Increase it to 20 for 100 milliseconds debounce time.
#define DEBOUNCE_LOOPS 20
I've compiled a new OTTS-NP hex file with 100 ms debounce time. Download it here (https://revtor.be/djseo/OTTS-NP-more-debounce.zip).
with this change my problem has been solved, thank you for your very good support, that circuit is amazing!
As I don't know how to upload hex file to microcontroller with arduino uno, I modified the source code then uploaded it and it works.
Do you know a simpliest way for uploading programs using arduino ISP?
revtor
12-08-2024, 04:31 AM
I don't know, sorry. I do not use Arduino.
But being able to use source code files is in my opinion better than using the compiled hex files as you have full control and can easily make changes as you've just found out.
Anyway, I'm glad it works for you! :thumbup:
djseo
12-09-2024, 02:39 PM
What do you suggest to use if I want to upload hex files in the future?
revtor
12-10-2024, 03:27 AM
djseo:: The cheapest way is by using command line tool avrdude (https://github.com/avrdudes/avrdude) and a compatible ISP programmer (https://avrdudes.github.io/avrdude/8.0/avrdude_44.html#List-of-Programmers). Apparently the Arduino Uno is supported by avrdude (in fact, avrdude comes bundled with the Arduino IDE).
The command line would look something like:
avrdude -c arduino_as_isp -P COM1 -p t24 -U flash:w:hex_file:i
(substitute COM1 with the COM port the Arduino is attached to and hex_file with the path to the hex file)
Untested as I do not have an Arduino. For support, I'd recommend the Arduino documentation and forums.
Powered by vBulletin® Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.