Fórum témák

» Több friss téma
Fórum » CAN busz
 
Témaindító: bankimajki, idő: Jan 24, 2012
Témakörök:
Lapozás: OK   3 / 5
(#) Pafi válasza vegfokic hozzászólására (») Ápr 3, 2017 /
 
A TJA1050 High Speed, a TJA1055 fault tolerant CAN, más a jelszint. (Ahogy mérted.) FT CAN-nél a lezárók (tipikusan 500 ohm) a tápfeszek felé mennek, ettől van 5 V a Low-n. Ez a recesszív szint.

Nem kompatibilisek. Ha kihagyod a 120 ohmos lezárót, talán menni fog.
A hozzászólás módosítva: Ápr 3, 2017
(#) Primary hozzászólása Máj 10, 2017 /
 
Sziasztok!
Milyen kábelt javasoltok nagyobb távolságra? Fontos, hogy hajlékony legyen és olcsó. A Cat5e UTP-t túlzásnak érzem.
(#) Pafi válasza Primary hozzászólására (») Máj 10, 2017 /
 
Miért? Túl hajlékony és túl olcsó?

Ettől eltekintve viszont mégis miről szól a kérdésed? Mi az a "nagyobb távolság"? Egyáltalán milyen fajta CAN, mekkora sebességen, hány node között? Aztán meg a CAN az egy busz alapú hálózat, nem pedig ötletszerűen összedobált alkatrészek kusza halmaza. Nem ártana megtervezni a hálózati topológiát, a kábelválasztásnál figyelembe véve a környezetet is, amiben üzemelni fog.
(#) Primary válasza Pafi hozzászólására (») Máj 10, 2017 /
 
Csak az szúrja a szemem, hogy feleslegesen sok ér van az UTP kábelben.
(#) Topi válasza Primary hozzászólására (») Máj 10, 2017 /
 
Az igazi ajánlott kábel a LiYCY-TP ipari gépekbe én ezt használom CAN-hez, viszont pl. lakásautomatizálásra sima Cu UTP-t, mert sokkal olcsóbb. Annyi, hogy szépen elkülönüljön a hálózati - ethernet UTP-től, így az elkülönülő színűek a különböző trönkök. Zöld UTP, Sárga UTP, a hálózat meg fehér.
Vihetsz egyébként az UTP-n például tápfeszültséget a CAN-es eszközeidnek, arra el tudod pazarolni a többi eret, csak megfelelően kell az érpárokat kiválasztani, hogy egyszerű dolgod legyen. Ha a PoE lábkiosztását használod, akkor gyári PoE injektorokkal simán elláthatod a vezetékeket tápfeszültséggel, nem kell tákolni.
Szerk: Illetve azért figyelni érdemes a közös módusú zajokra és offsetekre, pl. ne táppal sodord össze.
A hozzászólás módosítva: Máj 10, 2017
(#) Inhouse válasza Topi hozzászólására (») Máj 10, 2017 /
 
Köszönöm, hogy már lehet keresni számra is! Mióta működik? Ahogy megláttalak, eszembe jutott kipróbálni...
(#) jocka0012 hozzászólása Nov 20, 2017 /
 
Üdv!Most kezdtem el ismerkedni a can kommunikációval.Szeretnék egy autónak az óracsoportját(km/h,fordulatszámmérő stb.) feléleszteni úgy ,hogy nincs beépítve az autóba.A tervem az az első körben , hogy arduinoval és egy can shield-el szeretnék kiolvasni egy autónak a can buszáról adatokat.Igazából ott akadtam el , hogy hogy tudnám kideríteni azt , hogy melyik a fordulatszámmérő és a km/h id-ja.Valaki tudna esetleg segíteni?Egyenlőre csak elméleti síkon megy a dolog , de amint lesz időm majd összerakom és fogok tudni konkrét adatokat is mutatni.
(#) vargham hozzászólása Nov 20, 2017 /
 
Idézet:
„Igazából ott akadtam el , hogy hogy tudnám kideríteni azt , hogy melyik a fordulatszámmérő és a km/h id-ja.”


A CAN buszon az üzeneteknek van ID-je. Se feladó, se címzett nincs. Minden üzenet broadcast. Tehát az óracsoport nem címzettje az üzeneteknek, nincs nekik ID. A műszerek azt tudják, hogy a buszon mi az az üzenet ID, amit figyelniük és megjeleníteniük kell.
A CAN busz fölé aztán lehetséges tetszőleges, magasabb szintű protokollt implementálni, amiben lehet kérdés-válasz, célzott üzenet, akármi. Ez gyártónként változik.

Azt, hogy melyik üzenet mit jelent, kétféleképpen lehet megtudni:
1. Dokumentációból.
2. Működő rendszer megfigyeléséből. Ez nagy számú üzenet (másodpercenként tíz-száz) listázása számítógépen. Mintázatok megfigyelése, megsejtése. Például gázt adsz, nő a fordulat, és figyeled, hogy ezzel melyik üzenet adattartalma korrelál. Lesz 10-20 darab, a hőmérséklettől kezdve a lambda szondán át mindenféle. Ezek között már viszonylag egyszerű lesz megtalálni azt, amit keresel.

Készülj fel, hogy ha meg is lesz a kívánt üzenet, sok modul nem fog addig működni, amíg nem zajlott le egy teljes startup process. Minden egység bejelentkezik a buszra, handshaking, stb. Nem valószínű (de nem is kizárt), hogy egy kósza fordulatszám csomagra bármit is reagálni fog.
Ugyanígy előfordulhat, hogy azonosítás nélkül nem működik, mert a gyártó így akarja megakadályozni a lopott / utángyártott alkatrészek beépítését.
A hozzászólás módosítva: Nov 20, 2017
(#) jocka0012 válasza vargham hozzászólására (») Nov 20, 2017 /
 
A neten láttam egy-két videót , ahol ezt megcsinálták ott nem nagyon kellett ilyen azonosítást csinálni.
(#) Gafly válasza jocka0012 hozzászólására (») Nov 20, 2017 /
 
Ez olyan, mint amikor a róka disznósajtot akar a hollótól könyörögni.
Szerinted ki teszi közzé nyilvános fórumon, ha tud valami belső információt?
Interneten persze minden megtalálható...
Egyébként meg ahogyan vargham mester mondja
Én meg nem értek hozzá
(#) bbb válasza jocka0012 hozzászólására (») Nov 20, 2017 /
 
Szia!

Nem gondolod, hogy guglit kellene megkérdezned ilyesmiről? Amúgy VW Golf-hoz itt a példa: VW. De itt van a VW Poloé is. Ahackaday.com oldalon érdemes körülnézned, találsz majd rá pár példát, hogyan is kezdj neki. Elárulom, nem egyszerű mulatság, de nem is ördögtől való amit szeretnél, feltéve, hogy a műszerfal valóban kommunikál a külvilággal ilyen formában, hiszen bármilyen furcsa, nem mind így van kialakítva.
Ez talán az egyik legjobb útmutató, amit követhetsz.
A hozzászólás módosítva: Nov 20, 2017
(#) jocka0012 válasza bbb hozzászólására (») Nov 20, 2017 /
 
Biztos így van.Majd meglátjuk hátha sikerül.Köszönöm a segítséget!
(#) vargham hozzászólása Nov 21, 2017 /
 
Ha egy-egy üzenetet kell küldeni (fogadni) a CAN buszra, akkor jó megoldás lehet egy Arduino CAN shielddel.
Ha viszont a visszafejtés a feladat, akkor ez kevés és lassú. Hogyan küldöd át egy megabites CAN teljes adatforgalmát egy Arduinoval a PC-re? Erre sokkal alkalmasabb egy olyan mikrokontroller, amiben van USB és CAN interfész is. (Például STM32 sorozat CAN-es tagjai F2-től felfelé.) Vagy venni egy kész CAN busz PC interfészt, és használni.
(#) Lucifer válasza vargham hozzászólására (») Nov 21, 2017 /
 
Ha olcsón kell tudom ajánlani a can-tact-ot:
http://linklayer.github.io/cantact

Lehet nézni hasonló procis Discovery boardot és összepattintatni egy CAN transciverrel.

Illetve ha valaki barkácsolni szeretne csináltam belőle miniPCIe verziót van belőle pár szabad PCB-m.
A hozzászólás módosítva: Nov 21, 2017
(#) olika76 hozzászólása Dec 29, 2017 /
 
Kedves Elektronikások!

Egy kis segítség kellene. Van egy eberspacher d5ws vezérlő, amely már can buszos. Két bemenő jel van, amely vezérli az indulását az egységnek, CAN high és CAN low. Elolvastam egy-két dolgot a can buszról és az alábbiakra jutottam. Ha jól értem, akkor mindkét jel 2,5V-on tartása egy kikapcsolt állapotot jelent. Ha viszont a CAN high 5V-ot kap, a CAN low-on pedig 0V lesz, akkor kap az egység egy indulási jelet.

Jó lehet ez az értelmezés?

Előre is köszönöm a hozzászólásokat!

Üdvözlettel: olika76
A hozzászólás módosítva: Dec 29, 2017
(#) Topi válasza olika76 hozzászólására (») Dec 29, 2017 / 1
 
A CAN buszon üzenetek szaladgálnak. Műszakilag lehetséges lenne CAN illesztőt használni sima jelszint alapú ki- és bekapcsoláshoz, de nem szokás.

Úgy gondolom, az általad említett vezérlő is inkább CAN üzenetekkel vezérelhető, mintsem kézzel jelszint kapcsolgatással, ugyanis akkor nem hívhatnák CAN busz interfésszel rendelkezőnek.
A CAN-en frame-ekbe szervezett üzenetek közlekednek (lásd melléklet)

can_frame.png
    
(#) olika76 válasza Topi hozzászólására (») Dec 29, 2017 /
 
Kedves Topi!

Köszönöm a korrekt választ, értem.

Még egy kérdésem lenne: szerinted van olyan eszköz, amellyel élőben, egy autóban működés közben ki tudom olvasni ezt az üzenetet?

Úgy képzelem el, hogy a két, CAN high és CAN low vezetéken "áramló" üzeneteket olvasnám folyamatában, azaz működés közben. Ha ez meglenne, akkor már nem lenne nagy kunszt pl. egy mikrovezérlővel megismételni ezt, azaz kiváltanám az autót.

Előre is köszönöm a választ!

Üdvözlettel: olika76
(#) vargham válasza olika76 hozzászólására (») Dec 29, 2017 / 1
 
A CAN busz differenciál jelet használ, fél duplex, és broadcast. Azaz egyszerre egy állomás adhat a buszon, és az üzenetet megkapja az összes többi állomás. Az üzenetekben nincs se feladó, se címzett, csak üzenet azonosító.
CAN alkalmazáshoz érdemes olyan mikrokontrollert használni, ami rendelkezik ilyen perifériával. Létezik külső, pl SPI buszos egység is, de körülményesebb a használata.

Esetleg elmesélhetnéd részletesebben, hogy mid van, és mit akarsz kezdeni vele. Nem tudjuk, hogy mi az az "eberspacher d5ws", ne nekünk kelljen keresgélni, szúrj be linkeket. Hová csatlakozik, mit csinál, milyen járműbe való (típus, évjárat), stb.

Idézet:
„van olyan eszköz, amellyel élőben, egy autóban működés közben ki tudom olvasni ezt az üzenetet”

Van. Arra azért készülj fel, hogy a CAN buszon kb 1 ms időközönkét fogsz ilyet látni: ID=0xAF01BF, data= 01 0F FF AF FB 00 23 45. Hogy ezek közül melyiket melyik eszköz küldte, és melyiknek szól, azt nem fogod tudni. Ahhoz rá kell csatlakozni a modulok Rx/Tx vonalára, még a buszmeghajtó előtt, majd ha megvan, hogy ki mit küld, akkor vissza kell fejteni a protokollt, ami gyártónként eltérő.
(#) olika76 válasza vargham hozzászólására (») Dec 29, 2017 /
 
Kedves vargham!

Köszönöm a hozzászólást.

Az általam megjelölt eszköz célja, hogy egy diesel kályhát vezéreljen, amely rásegít az autó/motor felmelegedéséhez. Sajnos egyenlőre csak olyan bekötési doksim van, amely nem árulja el, hogy pontosan hova csatlakozik az autóban. Egyébként Mercedes Sprinter-nél van ez a vezérlő, kb. 2010 után.

A leírt dolgokat még emésztenem kell, mivel járatlan vagyok ebben a témában.

Amit találtam erről (a bekötés a 10-11. oldalon):

Mercedes d5ws

A korábbi, nem can buszos változatok alapján az a megérzésem, hogy itt egy nagyon egyszerű üzenet oldja meg az indítást.

Ha valamire nem írtam volna választ, kérlek írjál és igyekszem minél pontosabb választ adni.

Köszönöm még egyszer a hozzászólást! Jelentkezni fogok!

Üdvözlettel: olika76
A hozzászólás módosítva: Dec 29, 2017
(#) vargham válasza olika76 hozzászólására (») Dec 29, 2017 / 1
 
Alakul. Van egy autóba való gázolaj kályhád, amit CAN buszon lehet indítani és leállítani, de te szeretnéd mondjuk egy kapcsolóval tenni ugyanezt.

Idézet:
„A korábbi, nem can buszos változatok alapján az a megérzésem, hogy itt egy nagyon egyszerű üzenet oldja meg az indítást.”

Minden üzenet egyszerű. Így néz ki az összes: 11 vagy 29 bit ID, és max 64 bit adat. A probléma abból adódik, hogy a buszon ezrével mennek az ilyen formátumú üzenetek, és te nem tudod, hogy melyik szól a kályhának. Az ugyanis az ÖSSZES üzenetet megkapja, és csak a mikrokontrolleren belül dönti el, hogy melyikre reagál. Ez sajnos kívülről nem látszik rajta. Egyébként az is lehet, hogy ennél jóval bonyolultabb. Lehet, hogy indítás előtt meg kell tőle kérdezni a hőmérsékletét, verziószámát, gázolajszintet, akármit. És ha ezeket a lépéseket kihagyod, akkor nem reagál az egyébként helyes formátumú start üzenetre. De ezt nem tudjuk, ehhez kell megfigyelni a rendszert.

Írtad, hogy van belőle nem CAN buszos verzió. Miért nem azt használod? Vagy ha mindenképpen a CAN-est, akkor én megnézném, hogy miben különbözik a kettő, visszarajzolnám a vezérlését, és lehagynám a CAN részt, és direktben hajtanám. Kevesebb macera.
(#) vargham hozzászólása Dec 29, 2017 / 1
 
Idézet:
„These vehicles have two tank versions
• 75 l tank (standard) – the heater only works when there
are min. approx. 15 l in the tank
• 100 l tank (SA) – the heater only works when there are
min. approx. 25 l in the tank
When the fuel level falls to the minimum quantities
stated above, the heater is switched off (Daimler
diagnosis reports the fault „fuel low“).”


Na, pont ilyenekre gondoltam. Lehet, hogy van egy központi vezérlő, ami küld egy stop üzenetet, amikor szint alá csökken az üzemanyag. De az is lehet, hogy a kályha önállóan dönt, hiszen megkapja a rendszeresen érkező üzemanyagszint üzenetet is a tartály jeladójától. Ebből követezik, hogy nem fogod tudni egy start üzenettel bekapcsolni, ha nem kap rendszeresen üzemanyagszint üzenetet.
De ez csak feltételezés, nem ismerjük a működését.
Az viszont tapasztalat, hogy a rendszerekben szokott lenni legalább egy, de inkább több watchdog üzenet, ami ha kimarad, vagy nincs rá válasz, akkor az egész rendszer leáll vagy csökkentett módba megy. Példa saját tapasztalatból: Nem érkezik 30 ms időközönként akkumulátor szint üzenet, akkor minden vészüzemmódba megy, és bejegyzés kerül a hibatárolóba. Másik tapasztalat: Ha az egyik fő modul nem küldi el a gyári számát 100 ms időközönként, akkor a jármű (nem autó) szépen lassan megáll, és lekapcsol.
(#) vargham válasza vargham hozzászólására (») Dec 29, 2017 / 1
 
Még egy saját tapasztalat:
Van olyan is, hogy nem fix az üzenetek ID-je. Az adott rendszer összeállításakor a modulok BEMUTATKOZNAK egymásnak, és kiosztják az ID-ket. Ha a te eszközöd ezt nem érti, és nem vesz részt a folyamatban, akkor nem fogja tudni megszólítani a többi modult.
(#) olika76 válasza vargham hozzászólására (») Dec 29, 2017 /
 
Kedves vargham!

Köszönöm, hogy ennyit foglalkoztál a problémámmal. Azért kell a can buszost "szóra bírnom", mert javítom ezeket és jó lenne nem csak vakon csinálni ezt can buszos esetben. Eddig ugyanis megtaláltam a hibákat a nyákon, de a tapasztalataim azt mutatják, hogy ez hosszú távon nem lesz elég.

Egy a lényeg: meg kell figyelni/találni ezt a bizonyos üzenetet és persze kipróbálni, mit reagál a vezérlő egység erre. Azaz mi kell az induláshoz.

Majd jelentkezem, hogy mire jutottam. További szép napot!

Üdvözlettel: olika76
(#) olika76 válasza vargham hozzászólására (») Szept 20, 2018 /
 
Kedves vargham!

Ismét elővettem ezt a CAN-buszos témát és egy kérdésben szeretnék segítséget kérni. Ha egy autónál le szeretném menteni az üzeneteket, akkor milyen eszközt érdemes választani?

Találtam egy Microchip-est, esetleg ez jó lehet? Ugyanis, ha jól értelmezem, akkor ezzel PIC-es MCU-t is lehet külön címezni (ami a doksiban van megjelölve), de nekem egy "általános" üzenetelfogás kellene.

A link rá: https://hu.farnell.com/microchip/apgdt002/can-bus-analyzer-tool-can...800556

Ha ez nem jó, akkor mit ajánl nekem ehhez a munkához?

Előre is köszönöm a válaszát és a türelmét!

Üdvözlettel: olika76
(#) vargham válasza olika76 hozzászólására (») Szept 20, 2018 /
 
Idézet:
„Ugyanis, ha jól értelmezem, akkor ezzel PIC-es MCU-t is lehet külön címezni”

Ezt nem értem. Hol van ilyen a dokumentációban?
(#) olika76 válasza vargham hozzászólására (») Szept 20, 2018 /
 
Kedves vargham!

Pl. a 17. oldalon a táblázatban a következő mondat:

CAN Digital Signal from PIC18F2680

Vagy nem jól értem?

Üdvözlettel: olika76
(#) olika76 válasza vargham hozzászólására (») Szept 22, 2018 /
 
Kedves vargham!

Nagyon nagy butaságot írtam le! Belátom ...

Elnézést és bocsánat. Nincs tapasztalatom ezekkel az eszközökkel.

Újra megnézve a doksit, most már látom, hogy ebben az eszközben levő két PIC-es vezérlő a főszereplő. De nem értem ezt a mondatot, azaz, hogy ez mire jó? Miért jó elérnem közvetlenül a vezérlő adóvevőjét? Mikor lehet ez hasznos?

"Direct access to the CAN TX and CAN RX pins through a screw terminal
Allows the user access to the digital side of the CAN BUS transceiver."

Előre is köszönöm a segítséget!

Üdvözlettel: olika76
(#) vargham válasza olika76 hozzászólására (») Szept 22, 2018 / 1
 
Kezdésnek: CAN bus
Olvasd el, aztán beszélgessünk!

1. Én nem vásároltam eszközt, hanem csináltam magamnak. A hardvert kb 2 óra volt összeforrasztani, a firmware megírása pedig 4-5 órát vett igénybe. Az anyagköltség nem érte el a 3000 forintot. Ez az eszköz soros porton küldi a teljes CAN busz forgalmat a számítógép felé.
2. A CAN buszon nincs az üzeneteknek se feladója, se címzettje, kizárólag az üzenetek rendelkeznek azonosítóval. (Ahol mégis van címzett meg feladó, ott ezt egy magasabb rétegben valósítják meg, az üzenet azonosítót, illetve az adatcsomag egy részét felhasználva.) Tehát egy ismeretlen hálózat protokolljának visszafejtéséhez egy ilyen CAN sniffer önmagában kevés. Ez elküldi az összes üzenetet a számítógépre, de ebből nem derül ki, hogy melyik eszköz küldte. Ennek megállípatásához sorban rá kell tenni egy lehallgatót (logikai analizátor) mindegyik eszköz Tx vonalára, a mikrokontroller és a buszmeghajtó IC közé. Egy autóban azonban előfordulhat több CAN busz is, amik csak egy-egy dedikált pontban találkoznak, így egy ponton a rendszerre csatlakozva csak az adott busz forgalma hallgatható le, nem az egész járműé.
(#) olika76 válasza vargham hozzászólására (») Szept 22, 2018 /
 
Kedves vargham!

Köszönöm! Jelentkezni fogok!

Üdvözlettel: olika76
(#) Kalda hozzászólása Okt 13, 2018 /
 
Sziasztok!
(Lehet nem jo témát nyitottam)
Adott lenne egy auto amiben mérni szeretném a turbonyomást,fordulatszámot,sebességet,olajhőfokot-nyomást és ezeket.
Következő lenne: nemtudom hogyan fogjak neki az egésznek. Egy nagyobb kijelzőre szeretném rátenni mindet(képben csatoltam a helyét)
Ugye a szenzorok adottak
Válaszokat előre is köszönöm!
A hozzászólás módosítva: Okt 13, 2018
Következő: »»   3 / 5
Bejelentkezés

Belépés

Hirdetés
Lapoda.hu     XDT.hu     HEStore.hu
Az oldalon sütiket használunk a helyes működéshez. Bővebb információt az adatvédelmi szabályzatban olvashatsz. Megértettem