Lisiak Odesláno 12. prosinec 2019 Autor Sdílet Odesláno 12. prosinec 2019 ... ide o to, ze povodnym zapisom sa zistuje, ci bit7 (MSB v buf[4]) nadobuda hodnotu "1". Takze sa urobi logicky sucin: buf[4] & 0b1000000. Ak MSB = 1, tak vysledok je 0x80. Povodny zapis by sa vsak dal aj prepisat ako: if (((buf[4]&0x80)>>7) == 1) tzn. MSB bit sa posunul o 7 pozic doprava na poziciu LSB (low significant bit). Premenna "buf[]" je v programe definovana ako "char" cize 8bit premenna, nie "boolean" t.j. 1 bit. V C-cku existuje mnoho zapisov, v tomto pripade sa iba zistuje, ci bit7 v premennej "buf[4] nadobuda hodnotu "log.1". Zapisom "if (((buf[4]&0x80) == 1)" by sa zistovalo, ci po aplikovani masky "1000 000", premenna bit[4] nadobuda hodnotu "1" tzn. bit0 je "log.1". Citovat Odkaz ke komentáři Sdílet na ostatní stránky More sharing options...
ozzy56 Odesláno 12. prosinec 2019 Sdílet Odesláno 12. prosinec 2019 hoši díky--teď jsem to konečně pochopil Djzaza, jarokare, Péťa a 1 další ohodnotil 4 Citovat Odkaz ke komentáři Sdílet na ostatní stránky More sharing options...
mibu Odesláno 17. prosinec 2019 Sdílet Odesláno 17. prosinec 2019 @Lisiak dakujem velmi pekne za vysvetlenie. Programovat arduino sa stale len ucim a hlavne praca s tymito bitmi a sestnastkovou sustavou mi robi problemy Preto pozeram rozne projekty a snazim sa v nich vyznat. Citovat Odkaz ke komentáři Sdílet na ostatní stránky More sharing options...
afilip Odesláno 13. duben 2020 Sdílet Odesláno 13. duben 2020 (upraveno) Neměřili jste, jaký to má odběr? Když je to stále připojené na napájení? Jdu to zkusit postavit Edit: Tak zpět. Přečetl jsem si, že je napájení připojené na PIN1, takže je to napájené až po zapnutí klíčku. Upraveno 13. duben 2020 uživatelem afilip Doplnění textu. Citovat Odkaz ke komentáři Sdílet na ostatní stránky More sharing options...
gadri Odesláno 20. duben 2020 Sdílet Odesláno 20. duben 2020 Lisiak mne p3008 1.6 bluehdi 2015 zopne ledka v zrkadle vzdy. Aj ja diaĺnici 130kmh BB- BA na R1. Citovat Odkaz ke komentáři Sdílet na ostatní stránky More sharing options...
Lisiak Odesláno 19. květen 2020 Autor Sdílet Odesláno 19. květen 2020 (upraveno) Tento navod na jednoduchu signalizaciu poziadavky na regeneraciu FAP filtra bol publikovany z mojej strany uz pred viac ako 2 rokmi a pocas tychto Korona casov sa mi podarilo dokoncit vylepsenu verziu CANBUS readeru. Tymto prispevkom by som chcel poukazat na to co vsetko sa da z tychto informacii “poskladat” a s akymi problemami, pri stavbe readera, sa musi clovek popasovat. Hlavne vlastnosti noveho CANBUS readeru: - Pouzity graficky farebny OLED displej, - Zobrazenie na displeji poziadavky na regeneraciu FAP filtra + zvukova signalizacia (signalizuje sa zaciatok a aj koniec regeneracie), - Zobrazenie kilometrovej vzdialenisti od poslednej regeneracie, - Zobrazenie vzdialenosti medzi dvoma poslednymi regeneraciami ( da sa vydedukovat kolko km zostava do nasledujucej regeneracie, ak su viac-menej zachovane jazdne vlastnosti), - Zobrazenie otacok motora (od 0 do 8191), - Zobrazenie rychlosti (od 0 do 655km/h), - Zobrazenie prejdenej vzdialenosti od startu (rozlisenie ABS/ESP RJ je 10cm), - Zobrazenie zrychlenia vozidla (od -14 do 6,32m/s2), - Zobrazenie okamziteho momentu motora (od -100 do 408Nm), - Zobrazenie natocenia vlantu v stupnoch (od 0 do 589st na obidve strany), - Zobrazenie teplot: motora, oleja, nasavaneho vzduchu, - Zobrazenie spotreby v mililitroch od nastartovania, - Zobrazenie celkovej spotreby v litroch od posledneho vynulovania, - Zobrazenie casu jazdy od nastartovania, - Zobrazenie celkoveho casu jazdy od posledneho vynulovania, - Zobrazenie napatia akumulatora a teploty interieru (cez Dallas DS18B20). Vsetky tieto informacie su podrobnejsie popisane uz spominanom francuzkom dokumente, odkaz sa nachadzal v navode. (http://romain.raveaux.free.fr/teaching/TP207.pdf). Teraz sa pokusim priblizit ako to na CANBUS zbernici vyzera a na ake problemy je potrebne sa pripravit. V mojom aute sa na rychlej 500kbit/s CANBUS zbernici nachadza asi 72 adries a CANBUS reader nacitava z toho mnozstva dat len 4 adresy, ktore ma zaujimaju resp. mam k nim popis. Ide o nasledujuce adresy: - 0x208 -> na tejto adrese sa nachadza info o otackach motora, poziadavka na regeneraciu FAP filtra a okamzity moment motora. Cas obnovovania informacii je 15ms t.j. kazdych 15ms posle RJ motora na CANBUS novu informaciu o okamzitych otackach motora. - 0x38D -> rychlost vozidla, prejdena vzialenost do 6553,5m (potom sa vynuluje a pocita odzaciatku), zrychlenie vozidla. Obnovovacia perioda 50ms. - 0x305 -> natocenie volantu v stupnoch a jeho smer otacania. Nejde o moc relevantnu informaciu, ale na tejto adrese som skusal prepinanie filtrov v MCP2515 “za jazdy”. Obnovovacia casova perioda 15ms. - 0x488 -> informacie o teplotach a spotrebe motora (pocitadlo pocita do 20400mm3 a potom sa vynuluje t.j. overflow). Perioda obnovovania 100ms. CANBUS interface nacitava udaje z CANBUS zbernice v nahodnom poradi t.j. ako ich “odchytne”, pricom plati, ze pravdepodobnost “odchytu” adresy s nizsou obnovovacou periodou je vyssia ako adresy, ktora sa obnovuje pomalsie. Z tohto dovodu moze trvat nacitavanie udajov napr. o spotrebe (adresa 0x488 s periodou 100ms) aj niekolko desiatok sekund a za tento cas sa moze stat, ze pocitadlo v RJ motora sa “pretoci” po 20ml cim sa strati presnost pocitania spotreby. Aby sme sa tomuto spomaleniu vyhli a nacitavali udaje takmer v realnom case, tak je nevyhnutne v CANBUS interfacei aktivovat filtre. Obvod MCP2515 ich ma 6. To znamena, ze len tie adresy sa dostanu dalej na spracovanie, ktore su definovane v tychto filtroch. V mojom pripade definicia tychto filtrov vyzera v Arduino sketchi nasledovne: CAN.init_Mask(0, 0, 0x7FF); CAN.init_Filt(0, 0, 0x208); CAN.init_Filt(1, 0, 0x38D); CAN.init_Mask(1, 0, 0x7FF); CAN.init_Filt(2, 0, 0x488); CAN.init_Filt(3, 0, 0x488); CAN.init_Filt(4, 0, 0x488); CAN.init_Filt(5, 0, 0x488); MCP2515 ma dva buffre, v ktorych sa nachadzaju „odchytene“ adresy s udajami. Pokial su obidva buffre plne, tak sa nacitavanie z CANBUSu zastavi a caka sa na ich vyprazdnenie. Je dost podstatne si uvedomit tento princip nacitavania a dalsieho spracovania dat z CANBUSu, clovek sa tak vyhne velmi velkemu mnozstvu “bezsennych noci” a otazkam typu: preco mi to doma na stole funguje, ale v aute uz nie? Pre predtavu o aky komplexny projekt ide, tak hlavny ovladaci program v Arduine ma nieco cez 1000riadkov + driver na MCP2515 obvod (cez 1600 riadkov) + driver na OLED SSD1351 displej (400 riadkov) …atd. Drivery na ovladanie hardwareu su nastastie uz napisane a k dispozicii vdaka obrovskej Arduino komunite. Uz ide len o to, do akej formy spracovat informacie a nacitane udaje z CANBUS zbernice. Tymto prispevkom som chcel len poukazat na to, ze v dnesnych modernych autach sa nachadza obrovske mnozstvo dat a niekedy je celkom zaujimave sa k tymto udajom dostat a dokazat ich vhodne interpretovat vo svoj prospech. Informacia o regeneracii FAP filtra je pre viac ako 95% uzivatelov aut totalne k nicomu, ale pre ten zvysok, ktori maju radi techniku a maju stale radost z hrania sa, to moze byt zaujimave . Upraveno 19. květen 2020 uživatelem Lisiak Citovat Odkaz ke komentáři Sdílet na ostatní stránky More sharing options...
Lisiak Odesláno 19. květen 2020 Autor Sdílet Odesláno 19. květen 2020 Hafity, Agrafik, skypeja a 1 další ohodnotil 4 Citovat Odkaz ke komentáři Sdílet na ostatní stránky More sharing options...
Agrafik Odesláno 19. květen 2020 Sdílet Odesláno 19. květen 2020 Myslíš, že by to ještě stihlo generovat videosignál? Dalo by se to tak zobrazovat na RTx. Asi na úkor toho displeje. Citovat Odkaz ke komentáři Sdílet na ostatní stránky More sharing options...
Havlicek.Lukas Odesláno 20. květen 2020 Sdílet Odesláno 20. květen 2020 ja bych asi implementaci do navi neresil spis lepsi display a umistit ho do kulateho budiku jak se montuje turbo/teplota/ atd na sloupek ridice nebo hranaty typu parrot a dat ho nekam do zorneho uhlu ridice Citovat Odkaz ke komentáři Sdílet na ostatní stránky More sharing options...
afilip Odesláno 21. květen 2020 Sdílet Odesláno 21. květen 2020 Dobrá práce. Já čekám už jenom na konektor, abych mohl zkompletovat tu detekci regenerace FAP. Nevíš náhodou, jestli se v nějakém PID také nezobrazují aktuální GPS souřadnice? Přemýšlel jsem, že by se kombinací nějakého modulu SIM800L dal udělat jednoduchý sledovací modul. Samozřejmě by k tomu šel připojit i vlastní GPS modul, ale bylo by to asi zbytečné, jestli se ty souřednice někde na CANBUSu objevují. Citovat Odkaz ke komentáři Sdílet na ostatní stránky More sharing options...
Lisiak Odesláno 23. květen 2020 Autor Sdílet Odesláno 23. květen 2020 (upraveno) Takmer vsetky informacie, ktore sa zobrazuju na displeji sa nacitavaju z CANBUSu. Avsak nie na systemovej (500kb/s) zbernici, ale na komfortnej (125kb/s). Kedze na tejto zbernici sa nachadza napr. info o case, tak predpokladam, ze aj GPS koordinaty na nejakom PIDku budu. Kde konkretne vsak neviem. Nieco popisane o komfortnej zbernici sa nachadza na tomto odkaze https://autowp.github.io/, ktory bol uvedeny v navode. Na komfortnu zbernicu sa da pripojit napr. na konektore autoradia. Ja som sa pokusal pomocou "reverse engineering" zistit na ktorom PID su informacie o tlakoch a teplotach v pneumatikach. Zistil som (je mozne, ze sa aj mylim), ze na systemovu zbernicu poziela RJ pneu len "error flag", ktore koleso ma pokles tlaku v pneu a podla toho sa zobrazi sprava na displeji. Informacie o tlakoch a teplotach su pristupne cez testovaciu/diagnosticku zbernicu. Je vsak tiez mozne, ze na komfortnej zbernici nejake info o tom bude. Tu som vobec neskumal. P.S: AK by niekto, na tomto fore, disponoval podrobnejsim popisom CANBUSu od PSA, ocenil by som, ak by sa sukromne/diskretne o take informacie podelil. :). Upraveno 23. květen 2020 uživatelem Lisiak Péťa ohodnotil 1 Citovat Odkaz ke komentáři Sdílet na ostatní stránky More sharing options...
Recommended Posts
Zúčastnit se diskuse
Můžete odpovědět a až poté se registrovat If you have an account, sign in now to post with your account.