Your EasyEDA usage duration is brief. In order to avoid advertising information, this action is not supported at present. Please extend your EasyEDA usage duration and try again.
Editor Version×
Standard
1.Easy to use and quick to get started
2.The process supports design scales of 300 devices or 1000 pads
3.Supports simple circuit simulation
4.For students, teachers, creators
Profession
1.Brand new interactions and interfaces
2.Smooth support for design sizes of over 5,000 devices or 10,000 pads
3.More rigorous design constraints, more standardized processes
4.For enterprises, more professional users
Ongoing
STD
E39-EV-Dashboard
License: Public Domain
Mode:Editors' pick
2k
0
0
1
Update time:
2022-01-23 16:49:14
Creation time:
2018-10-24 00:58:17
Description
As Part of my BMW E39 (5-Series) EV Conversion.
Replaces the circuit board in the IKE instrument cluster with a digital equivelent.
This board is controlled from another board serially (for LEDs) and via I2C (for the 240x160 LCD Screen)
The good.
1. The footprint is now OK and fits perfect
2. The LED placement is good
3. Powers on, all LEDs seem to work (resistor changes may be required to achieve correct intensity range and balance between LEDs but a lot can be done in formware)
the bad
1. Wrong pins for MPU/I2C to RTC and DAC so will need to bit-bang to use
2. Wrong footprint for LCD cable, slightly too wide, can just be made to fit though
3. Bad assumption that Open-Drain MPU pins can be used above 3.6V. works for now but 5VB adjustable voltage line should not go above 3.6V without external MOSFETS driving them. Because of this the blue and green LEDs too dim
4. Also driving too many LEDS (31) so current limit resistor needs to be 1000 hours
// SAVED TO EEPROM when ign goes off
uint8 MSG[16] = "----------------"; // #M=HELLO WORLD
uint8 HVBAT = 0; // #B=255 will be mapped to 16 segment graph display value can be from 0 (Empty) to 255 (Full)
uint8 LHInd = 0; // #LHI=3 will flash 3 times counting down each flash and stop at 0
uint8 RHInd = 0; // #RHI=3 will flash 3 times counting down each flash and stop at 0
uint8 HB = 0; // #HB=1 will turn high beam LED on for 1 second
uint8 PX = 0; // #PX=5 will turn proximity LED on for 5 seconds set MSB to flash
uint8 HL = 0; // #HL=1 will turn headlight LED on, HL=0 will turn headlight LED Off
uint8 TL = 0; // #TL=1 will turn tamper LED on, TL=0 will turn tamper LED Off
uint8 EF = 0; // #EF=1 will turn engine fault LED on, EF=0 will turn engine fault LED Off
uint8 CG = 0; // #CG=1 will turn charge LED on, CG=0 will turn charge LED Off
uint8 TC = 0; // #TC=1 will turn traction control LED on, TC=0 will turn LED Off
uint8 HBR = 0; // #HBR=1 will turn handbrake LED on, HBR=0 will turn LED Off
uint8 WARP = 0; // #WARP=1 will turn Warp LED on, WARP=0 will turn LED Off
uint8 CRU = 0; // #CRU=1 will turn CRUISE LED on, CRU=0 will turn LED Off
uint8 SB = 0; // #SB=1 will turn SEATBELT LED on, SB=0 will turn LED Off
uint8 AB = 0; // #AB=1 will turn AIRBAG LED on, AB=0 will turn LED Off
uint8 ABS = 0; // #ABS=1 will turn ABS RED LED on, ABS=2 will turn ABS Green LED On, MSB=Flash, ABS=0 Will turn LEDs OFF
uint8 BF = 0; // #BF=1 will turn BRAKE FAULT RED LED on, BF=2 will turn BRAKE FAULT GREEN LED On, MSB=Flash, BF=0 Will turn LEDs OFF
uint8 BAT = 0; // #BL=0-7 Bit 0 is Blue LED, Bit 1 is Green LED, bit 2 is Red LED, any combintation of bits, MSB=Flash, BL=0 Will turn LEDs OFF
uint8 INV = 0; // #INV=0-7 Bit 0 is Blue LED, Bit 1 is Green LED, bit 2 is Red LED, any combintation of bits, MSB=Flash, INV=0 Will turn LEDs OFF
uint8 MTR = 0; // #MTR=0-7 Bit 0 is Blue LED, Bit 1 is Green LED, bit 2 is Red LED, any combintation of bits, MSB=Flash, INV=0 Will turn LEDs OFF
void __attribute__((interrupt, no_auto_psv)) _T1Interrupt(void) // 1mS tick interrupt
{
counter1++;
counter2++;
IFS0bits.T1IF = 0; // Clear Timer1 interrupt flag
}
void __attribute__ ((interrupt, no_auto_psv)) _U1RXInterrupt(void) // RX UART Data
{
RXBuffer[RXBufPtr] = U1RXREG;
if (RXBufPtr2000)
{
OutNUM(n);
if(n++>11) n=0;
counter2=0;
}
}
}
Forked project will be set private in personal workspace. Do you continue?
Clone
Project
The Pro editor is about to be opened to save as. Do you want to continue?
private message
Send message to rodyne
Delete
Comment
Are you sure to delete the comment?
Report
E39-EV-Dashboard
No Profile
Announcer: rodyne
Creation time: 2018-10-24 00:58:17
Published time:
2022-01-23 16:49:14
*
Report type:
Please select report type
*
Report reason:
Please fill in the reason for your report and the content is 2-1000
words
*
Upload image:
+
Upload image
*
Email address:
Please fill in your email address
Report
*
Report type:
Please select report type
*
Report reason:
Please fill in the reason for your report and the content is 2-1000
words
*
Upload image:
+
Upload image
*
Email address:
Please fill in your email address
Report
Submitted successfully! The review result can be viewed in the personal
center, review notification.
Kind tips
Your EasyEDA usage duration is brief. In order to avoid advertising information, this action is
not supported at present. Please extend your EasyEDA usage duration and try again.
Share
Project
Copy
Copy
Scan the QR code and open it on the mobile terminal