Realizácia palubného počítača pre automobil Škoda Felícia s grafickým displejom a diagnostikou cez OBD.
Zhruba po roku od publikovania prvej verzie palubného počítača prichádzam s novou, vylepšenou verziou. Najväčšou zmenou je prechod na grafický displej, nakoľko na predošlom palubnom počítači mi prekážalo problematické odčítanie údajov zo znakového displeja počas jazdy. Taktiež veľkou zmenou je aj prechod na snímanie rýchlosti pomocou hallového snímača, takže už nie je potrebné žiadne vŕtanie.
Grafický displej a implementovanie ďalších funkcií do palubného počítača vyžiadalo použiť rýchlejší 32-bitový mikrokontrolér s jadrom ARM, konkrétne STM32F103C8.
Hlavné funkcie palubného počítača:
Snímané veličiny:
Konštrukcia hallového snímača rýchlosti a káblový zväzok
Hallov snímač slúži na prevod otáčok od náhonu tachometra do digitálneho tvaru vyjadrený počtom impulzov. Funguje tak, že v konštrukcií tachometra sa nachádza magnet v tvare prstenca, ktorý sa otáča rovnakou rýchlosťou ako kolesá automobilu. Hallov snímač meria intenzitu magnetického pola. Keďže má magnet na po svojom obvode 4 póly, jedna otáčka vygeneruje 4 impulzy z hallového snímača. Vďaka tomuto údaju potom palubný počítač vie vypočítať údaje o rýchlosti, dráhe a spotrebe.
Obr. 1 – Schéma zapojenia hallovho snímača rýchlosti
Výroba a osadenie DPS hallového snímača je v celku jednoduchá. Hodnoty súčiastok sú uvedené na schéme (Obr. 1). Odpory a kondenzátory sú v SMD 0805 puzdre. Na konci realizácie DPS zaletujeme hallov snímač a svorkovnicu (Obr. 2).
Obr. 2 – DPS s hallovým snímačom
Po výrobe DPS príde na rad už komplikovanejšia časť a to inštalácia hallového snímača do tachometra. Najskôr je potrebné demontovať prístrojovú dosku (Obr. 3). Pred vybratím prístrojovej dosky uvoľnite v motorovom priestore náhon tachometra. Potom sa snažte opatrne vysunúť prístrojovú dosku. Odpojte všetky konektory, nemusíte si ich značiť, sú farebne odlíšené. Následne odstránime predný plastový kryt a odskrutkujeme 4 skrutky držiace tachometer.
Obr. 3 – Demontáž prístrojovej dosky – Škoda Felícia
Výsek tachometra s prstencovým magnetom vidno na Obr. 4. Do tohto výseku umiestnime pripravený DPS hallového snímača (Obr. 5). Hallov snímač treba vo výseku presne nastaviť, tak aby sa neopieral o prstenec, ale zároveň aby snímal otáčky. To overíme tak, že na napájanie pripojíme 12V (svorky VCC a GND) a meriame napätie na svorke OUT. Pri otáčaní tachometra sa musí toto napätie preklápať.
Obr 3, 4 – Montáž DPS hallového snímača do výseku tachometra
Ak sme správnu funkčnosť overili, môžeme tachometer zmontovať. Vodiče vyvedené z DPS prestrčíme do vrchného krytu prístrojovej dosky, kde umiestnime vhodný 3pinový konektor na pripojenie ku palubnému počítaču (Obr. 6).
Obr. 6 – Konektor na pripojenie tachometra k palubnému PC
Keď máme prístrojovú dosku zhodenú môžeme tento stav využiť na inštaláciu káblového zväzku do automobilu. Na pripojenie káblového zväzku som použil 16 pinový konektor MX-90142-0016 s pinmi MX-90119-2109 (Obr. 7).
Obr. 7 – Pripojenie vodičov ku 16 pinovému konektoru
Funkciu jednotlivých pinov 16 pinového konektora palubného počítača vidno na Obr. 8.
Obr 8. – Pinout 16 pinového konektora palubného počítača
Piny tohto konektora zapojíme do inštalácie automobilu nasledovne:
Obr. 9, 10 – Pripojenie vodičov VCC a GND v inštalácií automobilu
Obr. 11 – Umiestnenie vonkajšieho snímača teploty DS18S20
Na realizácií káblového zväzku si dajte záležať. Ide predsa o bezpečnosť a skrat v káblovom zväzku by mohol skončiť aj tragicky. Vodiče nenadpájajte! V záverečnej fáze je vhodné rozdeliť si vodiče podľa miesta zapojenia a zabandážovať ich izolačnou páskou. Vodiče smerujúce do motorového priestoru prestrčíme cez priechodku ,v ktorej smerujú aj hadičky ku naklápaniu svetiel (Obr. 12).
Obr. 12 – Prechodka pre vodiče smerujúce do motorového priestoru
Mozog celého palubného počítača tvorí mikropočítač STM32F103C8T6, ktorý pracuje na frekvencií 72MHz. Pre správnu činnosť zápisu konštánt do FLASH je potrebné zakúpiť 128Kbytes FLASH verziu MCU. SWD programovacie rozhranie je vyvedené na zobrazovaciu jednotku, pre jednoduchší prístup. Mikropočítač a displej je napájaný napätím 3,3V, toto napätie zabezpečuje LDO stabilizátorom LF33. Mikropočítač komunikuje s okolím prostredníctvom 2 konektorov. Zo zobrazovacou jednotkou je spojený cez 10pinový konektor LPH10RA a cez 16pinový konektor MX-90130-3116 je pripojené napájanie a snímače.
Obr. 13 – Schéma zapojenia palubného počítača
Na schéme palubného počítača (Obr. 13) sú uvedené hodnoty všetkých použitých súčiastok. Rozmery kondenzátorov a rezistorov sú SMD0805, výnimkou je rezistor R12, ten je v púzdre SMD1206. Diódy sú v puzdrách MiniMELF. Plošný spoj je obojstranný vrátane prekovov a je rozmerovo navrhnutý pre zabudovanie v krabičke ABS-86CZ (Obr. 14,15). Prekovy v domácich podmienkach vytvoríme pomocou drôtika, ktorý prestrčíme cez otvor a zaletujeme na oboch stranách. Z obidvoch strán krabičky je potrebné vyrezať otvory pre konektory. Na vrch krabičky prilepíme piezo, ktoré pripojíme k pinom JP1 (Obr. 16).
Pozn.: Plošný spoj na Obr. 14,15 nekorešponduje s aktuálnou verziou v prílohe.
Obr. 14,15 – Dokončená DPS palubného počítača
Obr. 16 – Umiestnenie DPS v krabičke
Poslednú časť palubného počítača tvorí zobrazovacia jednotka. Na tejto doske sa nachádza ZIF konektor CT081FTZ0 pre pripojenie displeja BO9864BFPHH a jeho pinov pre pripojenie podsvietenia, tlačidlo pre ovládanie a SWD programovací konektor. Hodnoty súčiastok sú zobrazené na schéme (Obr. 17).
Obr. 17 – Schéma zapojenia zobrazovacej jednotky
Pri osadení súčiastok najskôr zaspájkujeme SMD súčiastky, následne potrebné konektory a na záver LCD displej, ktorý mechanticky prichytíme cez napájacie kolíčky LED podsvietenia (Obr. 18). Pri realizácií výrezu do krytky palubného počítača si najskôr vymeriame potrebné rozmery, potom vypilníkujeme otvor pre displej a navŕtame dieru pre tlačidlo. Zobrazovaciu jednotku uchytíme pomocou distančných stĺpikov (Obr. 19). Ja som do otvoru pre displej ešte vložil plexisklo (Obr. 20). Zaoblíme hrany plošného spoja, tak aby sa dala celá zobrazovacia jednotka pohodlne umiestniť do prístrojovej dosky. Prepojenie palubného počítača so zobrazovacou jednotkou zrealizujeme pomocou vhodne dlhého plochého kábla, do ktorého nakrimpujeme 10-pinové samorezné konektory.
Pozn.: Plošný spoj na Obr. 18 nekorešponduje s aktuálnou verziou v prílohe.
Obr. 18,19 – Osadenie a prichytenie DPS zobrazovacej jednotky
Obr. 20 – Finálne vyhotovanie zobrazovacej jednotky
V prvom kroku pripojíme napájacie napätie 12V s prúdovým obmedzením k doske palubného počítača. Zmeriame či na výstupe stabilizátora je napätie 3,3V a odber zariadenia približne 50mA. Ak je to v poriadku, pripojíme zobrazovaciu jednotku, malo by sa rozsvietiť podsvietenie displeja.
Môžeme teda pristúpiť k naprogramovaniu mikropočítača. Na naprogramovanie budeme potrebovať programátor s SWD rozhraním. Toto rozhranie obsahujú napr. STM discovery kit, ktorý môžeme na tento účel použiť. Program nahráme napr. cez program ST-link utility – https://www.st.com/web/en/catalog/tools/PF258168
Súbor na naprogramovanie mikrokontroléra ma príponu *.hex, stiahneme ho v sekcii download.
Po úspešnom naprogramovaní mikropočítača môžeme overiť správnu činnosť v aute.
Na displeji sú zobrazené údaje nasledovne:
Obrazovky medzi sebou prepíname krátkym stlačením tlačidla. Dáta o priemerných hodnotách sú aktualizované v perióde 1 minúta. Dáta o celkových hodnotách sú ukladané do flash pamäti mikropočítača po vypnutí kľúčika. V obrazovkách o aktuálnych hodnotách som implementoval aj bargraf na pohodlnejšie odčítanie údajov. Pri dlhom stlačení tlačidla na obrazovke aktuálnych hodnôt sa nám tieto údaje zobrazia graficky. Vynulovanie celkových hodnôt vykonáme dlhým stlačením tlačidla na obrazovke s priemernými alebo celkovými hodnotami.
Palubný počítač zobrazuje aj 2 varovné informácie:
Pri stlačení dlhého tlačidla na obrazovke diagnostiky sa inicializuje komunikácia s riadiacou jednotkou. Komunikácia sa realizuje pomocou K-line vodiča s komunikačným protokolom KWP-1281 [1]. Ak inicializácia prebehla úspešne, zobrazí sa obrazovka vyčítaných chýb. Ak máme riadiacu jednotku Simos 2P, zobrazia sa po stlačení tlačidla aj ďalšie údaje ako otáčky a teplota motora, lambda sonda, škrtiaca klapka. Diagnostický režim opustíme dlhým stlačením tlačidla.
Činnosť palubného počítača je dobre demonštrovaná na nasledovných videách:
Video 1 – Funkcie a ovládanie palubného počítača
Video 2 – Zobrazenie grafov spotreby a rýchlosti
Kalibrácia meraných veličín
Do módu nastavení palubného počítača vstúpime krátkym stlačením tlačidla počas zobrazenia úvodného loga. V móde nastavení môžeme zmeniť konštantu pre výpočet spotreby Benzin/LPG a výpočet dráhy.
Kalibračný postup je nasledovný:
Postup kalibrácie si môžete pozrieť aj na priloženom videu:
Video 3 – Postup kalibrácie
V priloženom archíve sa náchadzajú schémy zapojenia a DPS jednotlivých častí vytvorených v programe Eagle 6.4.
Taktiež v ňom nájdete zdrojové kódy k palubnému počítaču a vygenerovaný hex súbor pre naprogramovanie MCU. Program pre mikrokontrolér bol písaný v prostredí programu KEIL uVision4.
Zo zdrojových kódov však bola odstránená knižnica na obsluhu displeja nakoľko bola od iného autora, ktorý si nepraje jej zverejnenie.
Download : Palubny_PC_V2.zip
Celý projekt palubného počítača poskytujem Zdarma pre osobnú potrebu. Pre komerčné použitie ma prosím kontaktujte na adrese zawin[at] svetelektro.com
Na tejto adrese ma môžete kontaktovať aj pri prípadných nezrovnalostiach alebo chybách ktoré v projekte nájdete.
Verím že sa vám tento projekt páčil a takýto palubný počítač si vyrobíte aj vy 🙂
[1] Komunikačný protokol KWP-1281 – https://www.blafusel.de/obd/obd2_kw1281.html
Prepáčte, ale pred zanechaním komentára sa musíte prihlásiť.
That´s amazing.
Nezamrzne tam v predu ten teplomer ? reps. Neobalí sa ladom a bude ukazovať neaktuálnu hodnotu ? Ja som to švacol do vnútra spätáku a spokojnosť. Inak parádny projekt.
Vynikajúci výrobok. Konečne niečo aj pre LPG užívateľov.
Mohol by si prosim v dalsom clanku, rozvinut komunikaciu s RJ, pomocou kom prot KWP1281, lebo sice si dal odkaz na konci ale je to po anglicky , nemecky a dost z toho mi nieje jasne.
Ahoj, sposob komunikacie odporucam precitat z prilozenych zdrojovych kodov. Obsluha protokolu je v kniznici kwp1281.c
Ahoj zawin, prosim ta mohol by si mi poradit ohladom programovania toho cpu STM32F103C8 ? Potreboval by som poradit, ktory STM discovery kit je vhodny na naprogramovanie toho STM32F103C8 a este ake je zapojenie pinov. Proste taky obsirnejsi postup. Dakujem dost mi to pomoze. Hladal som o tom na internete, ale moc som toho nenasiel.
Alebo bude lepsi tento origo programator ?
http://www.st.com/st-web-ui/static/active/en/resource/technical/do*****ent/user_manual/DM00026748.pdf
Na TME som ho nasiel za cca 30 €
tymto to mozes napalit
http://www.st.com/web/catalog/tools/FM116/SC959/SS1532/PF250863
stacia piny GND, SWDAT (JTMS), SWCLK (JTCK)
inak tieto mcu maju aj vlastny loader, kt. sa cez UART1 daju kedykolvek prepalit cez seriovu linku, pomocou utilitky FlashLoaderDemo, ale ako sa tak divam, tak piny pre Uart1 mame uz obsadene…
Aha. Dakujem. Som si pozrel pdfkovy navod od tohto Discovery Kitu a pekne je tam popisanep rogramovanie externeho cpu pomocou SWD. 🙂
Ktovie či by to išlo aj do Felície 1.9D 😀 Ale ináč pekná robota 😉
super
Ahojte velmi pekne prosim autora alebo niekoho sikovneho, ktory mi vie poskytnut zapojenie na leptanie na plosak, mam eagle stiahnuty,ale neviem sa stym pohnut. je tam dobra chcema na lepstanie??? email. j.bobovic@pobox.sk Dakujem
Kto mi ten palubny PC spravý a za koľko ? Ja nemám čas stále som v práci . za info Ďakujem. hej a som z okolia Michaloviec.
Úplne super projekt … nikdy by som nepovedal že si niekto až takú námahu ……
Na koľko eur to dohromady asi vyjde?