Sponsored links

Go Back   MP3Car.com > Mp3Car Technical Hardware > Hardware Development


Reply
 
Share Thread Tools Display Modes
Old 03-02-2010, 05:07 PM   #1
Maximum Bitrate
 
bes51659's Avatar
 
Join Date: Sep 2005
Location: Stockholm, Sweden
Posts: 844
bes51659 is on a distinguished road
Button interface to Bordmonitor on BMW E39 and E46

Button interface to Bordmonitor on BMW E39 and E46
This thread will be used as communication channel as well as documentation of common project originally started on hacktheibus.

I will edit this initial post so that latest info always will be found here.

Code, schematics, gerber files etc will be shared. Maybe with copywrite.

Objective
By removing these connectors from the E39 and placing them onto own pcb to interface the buttons on the BM there will be room to do a screen upgrade since there is no use for original BMW electronics anymore. Goal is also to make it fit the E46 as the buttons in that BM are designed in a similar fashion.



Art has reversed enginered the button pcb's of the E39
Drawing over E39 button pcb here

I have reverese engineered button pcb's of the E46
Pictures and pinout of right pcb here
Pictures and pinout of left pcb here
Pictures and pinout of knobs here
Eagle files of BMW button pcb's here

E39 and E46 button pcb's are very similar
Originating from E46 I have added E39 specifics into Eagle project here

There are some differences in electronics between the E39 and E46
1) E39 has diodes on all inputs, E46 has it only on some.
2) There is one extra LED on E39 for FAN
3) The eject button is connected to GND on E39
4) The common wire for Phone and Clock has no series resistor on E39
5) Button layout differ
6) LED series resistor values differ. Probably different supply voltage.



In order to interface them both onto the same pc. Design suggestion and schematics
- Remove all diodes on button pcb's.
- Add zero resistor or jumper to set cpu in E39 or E46 mode. This is the only way I have come up with to change behaviour of INFO-DISPLAY-MODE buttons.
- Use analogue inputs for buttons that has parallel resistor ladder. Will save IO, and the switches have 250-1000ohm resistors.
- "Digital" IO input for eject button on E39
- Add digital logic to decode knob pulses into pulses according to direction

I have made an initial design with Eagle here.

It is not complete, but size of board, position of holes and connectors are correct.


Art schematics
schematics one here
schematics two here

Eagle symbols
The propriatory BMW Connectors
Milexis ibus chip here TH3122here

E46 BM button codes
here

PCB
Made as one piece to make it cheaper.



Assembled

Now there is room for the LCD interface board! You can see the flat cable that interconnects the two pcb's, and the interface cables. 12V, 0V and IBus.

__________________
My car installation mp3car thread "showing off project"

Last edited by bes51659; 05-08-2010 at 05:55 PM.
bes51659 is offline   Reply With Quote
Advertisement
 
Advertisement
Sponsored links

Old 03-03-2010, 03:38 AM   #2
Maximum Bitrate
 
bes51659's Avatar
 
Join Date: Sep 2005
Location: Stockholm, Sweden
Posts: 844
bes51659 is on a distinguished road
Art wrote:
You wrote there that one has to find out which kind of knobs are used. You don't have to, I can tell you that This are just simple optical rotary encoders giving relative rotation as phase differences on their outputs. On the "reverse engeneered" schematics (which I posted before) of the button pcbs, I put the schematics of how I have connected those rotating knobs. For whatever reasons Alpine (bordmonitor is built by Alpine) decided to use two different knobs, one with 5 pins, the other with 6 pins. However, the functionality/technical specification of them seems to be the same. The one with 6 pins need an Vcc input (5V) and gives phase moved peaks on the J2.2/3 pins. The other (with 5 pins) don't need an extra Vcc. So there one just need to pull-up (to Vcc) both pins J1.1/3 and you get the output. On the E39-forum.de somebody found out the manufacturer of compatible rotating knobs for the 4:3 monitor. I think for
the 16:9 it could be the same. The original knobs where a special development for Alpina. The compatible one is that one: Grayhill 61C22-01-04-02

So for that part we know already the solutioon

cheers,
art
__________________
My car installation mp3car thread "showing off project"
bes51659 is offline   Reply With Quote
Old 03-03-2010, 04:38 AM   #3
Maximum Bitrate
 
bes51659's Avatar
 
Join Date: Sep 2005
Location: Stockholm, Sweden
Posts: 844
bes51659 is on a distinguished road
Excellent! Found a data cheet here.

But I doubt that it is optical. I got pure 0 ohm and --- ohm without power supply. Seems mechanical to me.

I think the sw would really benefit from some logic interfacing. Also with debouncing maybe.

If you detect these sequencies and generate a clockwise and counterclock pulse if you see what I mean, it would really offload cpu and require much less real time performance.
clockwise
A 000-1-111-0-00
B 000-0-111-1-00

counterclockwise
A 00-0-111-1-000
B 00-1-111-0-000

So,
1) debounce with nand (here)
2) generate clock from any change in A and B to pulse a latch
3) detect red marked conditions above in two differnt signals. One-Step-Up and One-Step-Down. You can then just have a single positive edge interrupt on these inputs.

Hardware should do what it do best, and sw what it does best. Gates are cheap. :-)

I will post Eagle file with schematics for above logic, and mechanical dimensions for both E46 boards later tonight.
__________________
My car installation mp3car thread "showing off project"

Last edited by bes51659; 03-03-2010 at 05:23 AM.
bes51659 is offline   Reply With Quote
Old 03-10-2010, 04:31 PM   #4
Maximum Bitrate
 
bes51659's Avatar
 
Join Date: Sep 2005
Location: Stockholm, Sweden
Posts: 844
bes51659 is on a distinguished road
Hi Art

I have been looking at the E39 button pcb today. I am making an Eagle project that contains both E46 and E39 in one for reference. Common electronics, and two set of connectors. One set for E46 and one set for E39. This way it will be very clear how to make our pcb to fit both.

There is one concern that I have, and that is regarding the diodes on the button pcb. All inputs on E39 has diodes to LED GND, and some inputs on E46 has the same. Any push button terminal cannot have higher voltage than 0.7V (above LED-)

So with no lower voltages in the system but 0V that is the voltage on LED's, we have to detect 0V when button is closed and 0.7V when open. Very special IO will have to be used to read that. Please tell me if I am wrong.

I cannot see any way around this but to remove the diodes, do you?

I have looked ATMEGA32A briefly, and has found that it has 8 channel 10 bit ADC. Is this the correct spec? http://www.atmel.com/dyn/resources/p...ts/doc8155.pdf

To save IO I think using the AD inputs is a good ide. Ex. Use 0k, 2k, 6k, 14k, 30k and 62k in series with row 1-6 on left button board. Together with 2x1k serieresistors you will then be able to poll that chain and get unique combinations so that two buttons pressed simultaniously will not be detected as a third button.

If AD is set correctly only 6 bits will be significant, and 4 bits can make up for noise and tolerances. A "round robin" of button chains will have to be implemented in code and hardware. A current generator will have to be used to get a uniform voltage stairway. (A transistor with emitter resistor will do fine)
__________________
My car installation mp3car thread "showing off project"
bes51659 is offline   Reply With Quote
Old 04-04-2010, 04:24 PM   #5
Maximum Bitrate
 
bes51659's Avatar
 
Join Date: Sep 2005
Location: Stockholm, Sweden
Posts: 844
bes51659 is on a distinguished road
I have made a layout and will order boards and components this week

__________________
My car installation mp3car thread "showing off project"
bes51659 is offline   Reply With Quote
Old 04-09-2010, 02:23 PM   #6
Maximum Bitrate
 
bes51659's Avatar
 
Join Date: Sep 2005
Location: Stockholm, Sweden
Posts: 844
bes51659 is on a distinguished road
pcb received! edit in first post
__________________
My car installation mp3car thread "showing off project"
bes51659 is offline   Reply With Quote
Old 05-08-2010, 05:55 PM   #7
Maximum Bitrate
 
bes51659's Avatar
 
Join Date: Sep 2005
Location: Stockholm, Sweden
Posts: 844
bes51659 is on a distinguished road
Pcb built. Now its time to debug code. Edit in first post.
__________________
My car installation mp3car thread "showing off project"
bes51659 is offline   Reply With Quote
Old 08-07-2010, 03:54 PM   #8
FLAC
 
sama's Avatar
 
Join Date: Feb 2006
Location: London, UK
Posts: 1,325
sama has much to be proud ofsama has much to be proud ofsama has much to be proud ofsama has much to be proud ofsama has much to be proud ofsama has much to be proud ofsama has much to be proud ofsama has much to be proud ofsama has much to be proud of
excellent work. how's this going?
sama is offline   Reply With Quote
Sponsored links
Advertisement
 
Advertisement
Old 08-08-2010, 02:50 PM   #9
Maximum Bitrate
 
bes51659's Avatar
 
Join Date: Sep 2005
Location: Stockholm, Sweden
Posts: 844
bes51659 is on a distinguished road
Thanks Sama
Well, I do not like strapping pcb's so I am building rev 2 at the moment :-)
I went Art's way with the buttons using a PCF8574 instead of reistor ladder as the buttons resistans varies a lot.
A lot of code tested, so I will sone be sone with my combined E46&E39 board.
Art has finished his board for E39!
__________________
My car installation mp3car thread "showing off project"
bes51659 is offline   Reply With Quote
Old 08-08-2010, 03:57 PM   #10
FLAC
 
sama's Avatar
 
Join Date: Feb 2006
Location: London, UK
Posts: 1,325
sama has much to be proud ofsama has much to be proud ofsama has much to be proud ofsama has much to be proud ofsama has much to be proud ofsama has much to be proud ofsama has much to be proud ofsama has much to be proud ofsama has much to be proud of
I've just actually been in touch with Art to figure out how on earth he "cut" the screen. As it turns out, he cut the footprint by cutting the frame, but not the glass itself.

I'm going to be doing the same with mine (just bought an E46 vert) so I can get a transflective high res in there, however I'll be keeping the buttons as they are as I want to use the existing OEM setup. I'm hoping to achieve that by using an RGsB converter for the OEM stuff and getting that on the higher res monitor, then switching to use a PC. Worklog currently here

So just to understand 100% your project, the reason you're replacing the buttons with a custom board, is so that you can fit a bigger screen in there?

Will the buttons broadcast on the ibus directly or will they be CarPC inputs, which then you're free to do what you want with, including ibus broadcasts?
sama is offline   Reply With Quote
Old 08-09-2010, 11:23 AM   #11
Maximum Bitrate
 
bes51659's Avatar
 
Join Date: Sep 2005
Location: Stockholm, Sweden
Posts: 844
bes51659 is on a distinguished road
Have not read you log, but I will.

The board will output keypresses on ibus just as the OEM does. As far I understand it will be completely compatible with OEM for this reason, but this has not been verified. Maybe you can do that :-)

The OEM baord covers the entire width of the door, and contains analogue LCD panel controller as well as button interface. By the use of a board like mine or Art's you can get rid of that OEM board and for E39 that is absolutely nessessary to be able to get anything else in there. It makes E46 conversion much easier too. Not only cdo you free space for your own screen, but you also loose the flatcable from the door to the house. All you need is three wires, power and ibus. This makes it much easier to fit your own flat cable in there for your own LCD driver board.

Don't know how much power Art's board takes, but mine takes 2mA and can be powered on at all times. No need to handle polling of BM etc. The buttons works all the time!

If you also build a board like my "dash pcb" that will drive LCD LED backlight (dimmed by ibus dash illumination messages) and the door motor you can loose the OEM pcb inside the house too. It can also "press" eject on a DVD drive so that DVD is ejected when door has fully opened.

Maybe then it is even possible to fit the PC in there too....;-)
__________________
My car installation mp3car thread "showing off project"
bes51659 is offline   Reply With Quote
Old 08-09-2010, 05:49 PM   #12
FLAC
 
sama's Avatar
 
Join Date: Feb 2006
Location: London, UK
Posts: 1,325
sama has much to be proud ofsama has much to be proud ofsama has much to be proud ofsama has much to be proud ofsama has much to be proud ofsama has much to be proud ofsama has much to be proud ofsama has much to be proud ofsama has much to be proud of
I'll be following your unbelievable enthusiasm with great enthusiasm!
sama is offline   Reply With Quote
Old 08-28-2010, 06:27 PM   #13
FLAC
 
sama's Avatar
 
Join Date: Feb 2006
Location: London, UK
Posts: 1,325
sama has much to be proud ofsama has much to be proud ofsama has much to be proud ofsama has much to be proud ofsama has much to be proud ofsama has much to be proud ofsama has much to be proud ofsama has much to be proud ofsama has much to be proud of
So I've taken my board monitor apart and had a good look inside. I can see why you're doing this and I think I have to do the same now too!

I have the Bluetooth in the car however and I'm wondering if there's a way to keep the LED's for that?
sama is offline   Reply With Quote
Old 08-29-2010, 12:36 PM   #14
Maximum Bitrate
 
bes51659's Avatar
 
Join Date: Sep 2005
Location: Stockholm, Sweden
Posts: 844
bes51659 is on a distinguished road
The LED's are controlled by iBus, so there is no difference there. At least the board I make will support all LED's. I think Art's is too.
__________________
My car installation mp3car thread "showing off project"
bes51659 is offline   Reply With Quote
Old 08-30-2010, 04:43 AM   #15
FLAC
 
sama's Avatar
 
Join Date: Feb 2006
Location: London, UK
Posts: 1,325
sama has much to be proud ofsama has much to be proud ofsama has much to be proud ofsama has much to be proud ofsama has much to be proud ofsama has much to be proud ofsama has much to be proud ofsama has much to be proud ofsama has much to be proud of
Excellent! Now I want it!

If I was to fit my LCD controller with the screen, I'd need power, VGA, video (reverse camera) and ibus to go to the back of the panel. Could I do what BMW have done and use a flat cable to carry all of those, including enough juice to power the LCD? I know a bit about electronics but I'm not amazing at soldering.

I'm thinking, the RGsB to VGA adaptor (verified this works now) can be put inside the back of the board monitor, taking the RGB lines directly from the boardmonitor connector and giving a VGA signal to the new higher res LCD. Final piece of the puzzle would be to add an ibus activated VGA switcher (maybe it can pretend it's the CD player or something), which would then switch to the external VGA/Video inputs. Add VGA and Phono plugs on the back of the board monitor and voila... BoardMonitor++ ready for an use!
sama is offline   Reply With Quote
Sponsored links
Advertisement
 
Advertisement
Reply

Bookmarks

Thread Tools
Display Modes

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off
Trackbacks are On
Pingbacks are On
Refbacks are Off




All times are GMT -5. The time now is 07:10 PM.


Powered by vBulletin® Version 3.8.4
Copyright ©2000 - 2010, Jelsoft Enterprises Ltd.
Content Relevant URLs by vBSEO 3.3.2
Copyright © 1999 - 2008 Mp3Car.com Inc.Ad Management by RedTyger
Message Board Statistics