Áramkörök

Az autó kijavítása és frissítése, CAN busz használata: 14 lépés (képekkel)

10 More Bike Hacks for MTB, BMX, and Road

10 More Bike Hacks for MTB, BMX, and Road

Tartalomjegyzék:

Anonim

Ez a dokumentum azok számára készült, akik ismeretlenek a CAN buszokkal vagy a fordított mérnöki folyamatokkal, és néhány alapvető és fejlett koncepciót lefednek.

Feltételezzük, hogy az olvasó mérsékelt programozási ismeretei és alapvető elektronikai ismeretei vannak, azonban az egyes szakaszokban az erőforrásokra mutató hivatkozásokat azok számára nyújtanak, akiknek további információra van szükségük.

Ebben a bemutatóban:

  • Mi az a CAN busz?
  • Az Arduino mikrokontroller alapjai.
  • Alapvető elektronikai ismeretek.
  • CAN busz elektronika.
  • Adatok lekérése a jármű CAN-busz-hálózatából.
  • Hogyan értelmezzük az adatokat egy CAN busz hálózatról.
  • Hogyan készítsünk szoftvert vagy hardver interfészt az adatok értelmezéséhez.
  • Szükséges elektronika

Ahhoz, hogy az oktatóanyagokat megfelelően kövesse, több kulcsfontosságú elemre lesz szüksége, amelyek az alábbiakban felsoroltak. Az online eladókra mutató linkek megtalálhatók a berendezés források részében.

Szükséged lesz:

  • Spark szórakoztató CAN busz pajzs
  • Micro SD kártya.
  • DB9 és OBD csatlakozó, a jármű diagnosztikai portjához való csatlakoztatáshoz.
  • Arduino UNO
  • Arduino csatlakozófejek a CAN pajzshoz való forrasztáshoz
  • Arduino férfi és férfi, férfi és nő közötti női áthidaló vezetékek.
  • Forrasztópáka és forrasztás.

Kérjük, vegye figyelembe, hogy nincs szüksége a pontos hardverre, mégis használhatja ezt a bemutatót, ha alternatív hardvereket, például Seeduino CAN busz pajzsot használ, azonban a megadott kód csak a Sparkfun pajzshoz fog működni, de módosítható más hardver.

kellékek:

1. lépés: Szükséges tudás

Szükséges tudás

Ahhoz, hogy kövessük ezt az oktatóanyagot, szükséged van rá: Néhány programozási tapasztalat a C ++, Java vagy hasonló programozási nyelvekkel, ha nem, akkor az oktató segítséget nyújt, de kérjük, olvassa el az elektronikai és programozási források részt. Néhány elektronikai tudás, meg kell értenie az alapvető elektronikai fogalmakat, például a feszültséget, az áramot és az áramkört. Ha nem tudod, az oktató segítséget nyújt, de kérjük, olvassa el az elektronikai és programozási források részt.

Szükséges szoftver: Arduino IDE

Az Arduino és a Sparkfun CAN busz pajzs használatához néhány szoftvert kell letöltenie, a legfontosabb szoftver az Arduino programozási interfész, amelyet Arduino IDE-nek neveznek.

Szükséges szoftver: Serial Plot

A CAN busz hálózatról érkező adatok hatékony feldolgozása és értelmezése érdekében ajánlott a SerialPlot telepítése. Ez egy olyan szoftvereszköz, amely lehetővé teszi, hogy a CAN-buszról kiadott értékeket több élő gráfra térképezzük; ez sokkal könnyebbé teszi az adatmintákat és a viselkedésváltozásokat, mint a nyers adattovábbításnál.

2. lépés: Biztonság és jogszerűség

Biztonság és jogszerűség

Kérjük, vegye figyelembe, hogy az Ön által használt rendszerek elektromosak, mint ilyenek, mindig óvintézkedések szükségesek.

Ha olyan elektromos rendszerekkel dolgozik, amelyek magas feszültségűek lehetnek, például liftek.

  • Viseljen vezetőképes vagy elektromosan szigetelő kesztyűt
  • Távolítson el minden ékszert
  • Viseljen hosszú ujjú overallt
  • Viseljen megfelelő személyi védőfelszerelést (PPE)

Ha elektromosan érzékeny rendszerekkel dolgozik, amelyek statikus kisüléssel megsérülhetnek, megteszi a megfelelő lépéseket, hogy megvédje magát és másokat.

  • Viseljen földelő csuklópántot, amely csatlakoztatva van a készülék alvázához.
  • Viseljen vezetőképes vagy elektromosan szigetelő kesztyűt.
  • Ne viseljen ruhát, amely statikus töltést épít

Ha olyan rendszerekkel dolgozol, amelyek sérülést okoznak magadnak vagy másoknak, a biztonságos viselkedést gyakoroljuk.

  • Ne tesztelje a rendszereket olyan területeken, ahol senki sem veszélybe kerül
  • Ne vizsgáljon olyan rendszereket, amelyek megfelelő óvintézkedések nélkül veszélybe kerülnek.
  • Ne végezzen semmit a rendszerhez, ha nincs kutatás vagy a lehetséges következmények vizsgálata.
  • Ne hagyja a rendszert felügyelet nélkül vagy hozzáférhetővé, ha olyan állapotban van, ahol sérülést okozhat.

Jogi követelmények

A különböző országokban eltérő szabályok vannak, a rendszereket, amelyek magukba foglalják magukat vagy másokat ártalmas módon, gyakran rendelkeznek jogi követelményekkel vagy korlátozásokkal, hogy mit tehetünk velük, vagy követelményeket kell teljesíteniük. Ha úgy dönt, hogy egy meglévő rendszeren dolgozik, kérjük, győződjön meg róla, hogy kutatja a teendők jogszerűségét és az erre vonatkozó követelményeket.

Ebben a projektben egy jármű műszerfalának fürtjét állítják elő, számos olyan jogi követelmény és korlátozás létezik az adott eszköz számára, mint például a klaszternek képesnek kell lennie arra, hogy bizonyos típusú információkat mindig megjelenítsen, a fürtnek meghatározott tűréshatárokon belül kell megjelenítenie az információkat, és a klaszternek meghatározott időpontokban egyedi mutatókat kell megjelenítenie.

lemondás

Minden erőfeszítést megteszünk annak érdekében, hogy a megadott információk pontosak legyenek, de semmilyen jogi felelősséget nem vállalnak az esetleges hibák, mulasztások, félrevezető nyilatkozatok, károk vagy sérülések esetén, amelyek a dokumentum használata során előfordulhatnak.

3. lépés: Mi a CAN busz?

Mi az a CAN busz?

A CAN-busz (Controller Area Network-bus) a szabványok halmazának széles neve, amely meghatározza a különálló, de csatlakoztatott eszközök egymáshoz való kommunikációját. Elsődleges felhasználási területe az ipari, az autóipar és a légi közlekedés ágazatában, a kiterjedt hibaellenőrzés, rugalmas végrehajtás és beépített redundancia miatt.

A legtöbb, napról napra látott nagyberendezés CAN-buszt használ egy vagy több módon, a felvonók és a repülőgépek szinte mindig CAN-buszt használnak számos tényező miatt, beleértve, hogy mennyi ideig lehet a kommunikációs vezetékek adatkompenzáció nélkül. Az autók, felvonók, repülőgépek, robotok és egyéb rendszerek CAN-buszt használnak, mivel képes egy vezetéket működtetni, de több száz különálló modul megbízhatóan (Avionics, 2018).

A többi kommunikációs protokollhoz hasonlóan a CAN nem határozza meg pontosan, hogy az adatokat hogyan kell kódolni a CAN-busz-adatkeretekbe, csak annak elrendezését vagy formátumát.

Mint ilyen, a binárisra konvertált adatok bármilyen módon történhetnek, a felhasználónak tetszik, 001 vagy 010 vagy 100 vagy 111 mindannyian az „A” betűt, de mindegyik más módon képviseli az adatokat, mindegyik tulajdonosa megvalósítások. A szabadalmaztatott megvalósítások problémája az, hogy nem tudunk olyan dokumentációt végezni, amelyet a cégek nem bocsátanak ki.

Jármű hálózati topológia

A hálózat topológiája arra utal, hogy több eszköz van csatlakoztatva. A busz topológia olyan típusú hálózat, ahol minden eszköz egy kommunikációs vonalhoz van csatlakoztatva. Kérjük, olvassa el az elektronikai és programozási erőforrások oldalt, ha nem ismeri a hálózati topológiákat.

A CAN-busz és az OBD-diagnosztikai rendszer alkalmazásának elején a gyártók előnyei miatt megvalósították a CAN rendszert, de egyszerű topológiákat használtak, mint például egy busz topológia, ahol a hálózat minden eszköze egyetlen buszhoz volt csatlakoztatva. Az ECU-k közvetlenül hozzáférhetők voltak a diagnosztikai porton, és kommunikálhatnak egymással. Ahogy a CAN busz népszerűbbé vált, más végrehajtási módszerek történtek. A ma leggyakrabban használt módszer, beleértve a projektben használt járművet is, egy sor elektromosan különálló hálózat, amelyek egy kis számú VCU-nál működnek, amelyek csak a szükséges információkhoz használhatók. Ennek a topológiának a legjobb leírása egy csillag, fa és busz topológia hibrid elrendezése (Walz, 2018).

A projektben használt járművön a fő VCU, amelyet a BSI-nek (beépített rendszerinterfész) hívnak, a járművében lévő többi VCU-nak a csillaghálózatának középpontjától származik. A hálózat többi modulja külön modulokba osztható, vagy több modul is csatlakozhat egyetlen buszra

4. lépés: A CAN buszhálózatba való belépés

Hogyan férhet hozzá a rendszerhez

Ahhoz, hogy a projektet követhessük, szükségünk lesz egy CAN buszos eszközzel vagy más, a Sparkfun pajzs által támogatott protokollokkal. Meg kell találnia a rendszer dokumentációját is, például a kapcsolási rajzokat; ha nem találja meg ezeket a forrásokat, akkor lehet, hogy saját kapcsolási rajzot kell készítenie, de ehhez speciális elektronikai ismeretekre lesz szükség.

A CAN busz használatakor a gépjárműben a gyújtásnak szüksége lesz ahhoz, hogy a rendszer kommunikáljon; a motornak nem kell futnia, csak olyan eszközökre van szüksége, mint a sztereó és a műszerfal.

Keresse meg a kapcsolási rajzot

Ennek a lépésnek a képe egy Peugeot 407 egy részleges kapcsolási rajza.

A legtöbb jármű esetében vásárolhat egy Haynes-kézikönyvet, vagy keresse meg a bekötési rajzot, mivel ezek nagyon fontosak, ha bármilyen elektronikai munkát végeznek egy járművel. A diagramok nem csak azt mondják meg, hogy a CAN buszvonalak hol vannak a járműben, hanem fontos dolgokat is mondhatnak a kapcsolatról, például az eszközök csatlakoztatásának módjáról, melyik csatlakozótüskékről, stb.

Ha nem autóipari rendszeren dolgozik, mint például egy lift vagy repülőgép, akkor valószínűleg megtalálja a kábelezés hátlapjára ragasztott huzalozási rajzot, amely lefedi a huzalokat, vagy valamilyen tartályban.

Sajnos ezeknek a diagramoknak az elhelyezkedése a járműre vagy a rendszerre jellemző folyamat, azonban az ilyen diagramok megtalálásának javasolt módjai a következők:

  • Haynes kézikönyv
  • A berendezés karbantartási kézikönyve
  • A belső panelekhez ragasztott diagramok
  • Keresőmotor keresések
  • Kérdezzen meg egy helyi garázst
  • Kérje meg egy hivatalos forgalmazóját vagy garázsát

Ha nem találja meg a kapcsolási rajzot ezekből a forrásokból, akkor vannak alternatív lehetőségek.

A folyamat dokumentálása

Ennek a projektnek a bonyolultsága miatt erősen ajánlott, hogy dokumentáljon mindent, amit a jövőbeli hivatkozásra tett, a jegyzetet a vezeték színeiről, feszültségeiről, adatmintáiról kell készítenie, és esetleg bekötési rajzokat kell készítenie.

Ezek a dokumentumok lehetővé teszik, hogy a projekten dolgozhasson, miközben távolodik a rendszerétől, amelyet bejársz; ez megkönnyíti a módszerekkel vagy a végrehajtással kapcsolatos hibakeresési problémákat az Ön számára és mások számára, akik a munkával találkoznak.

5. lépés: 1. rész: A CAN buszvonalak elérése

1.1 Diagnosztikai port

A gépjárműiparban a CAN-buszhoz való hozzáférés egyik tipikus módja az ODB2-port, amely szabványosított csatlakozó, amelyet a törvény által megköveteltek szerint minden fogyasztói járműben 2006 óta, és 1999 óta legtöbbször Európában és Európában követelnek meg. Az Egyesült Államok. A járműveknek szabványos kommunikációs rendszert kell használniuk, mint például a CAN busz vagy a Van busz (OBD Solutions, 2017).

Az OBD2 portok általában úgy néz ki, mint az ebben a lépésben ábrázolt portok. Mindegyikük ilyen jellegű. Az európai és amerikai jog szerint a kikötőnek a vezetőülésből külön szerszámok nélkül kell hozzáférnie. Azonban lehet, hogy el van rejtve a levehető panel mögött, egy zárt rekeszben vagy egy nehezen elérhető helyen, például a kormányoszlop alatt.

1.2 Érintés CAN buszvezetékekhez.

Attól függően, hogy milyen szándékai vannak, előfordulhat, hogy nem tudja használni a diagnosztikai portot a CAN hálózat eléréséhez a járműben. Ebben a projektben egy egyedi műszerfal-klaszter fog épülni a fordított mérnöki folyamat során létrehozott adatok felhasználására, de a diagnosztikai port nem adja ki a műszerfal klaszteréhez szükséges összes információt, és nem a fürt helyén. A vezetékek bekapcsolásához előfordulhat, hogy a műanyag burkolatokat át kell szúrni, ne felejtse el a lyukakat a vezetékek befejezése után rögzíteni.

1.3 Készítsen saját kapcsolási rajzot vagy jegyzeteket.

Az elektronika és a programozási rész egy linket tartalmaz a CAN buszvonalak elhelyezésére vonatkozó részletes bemutatóra. Azonban néhány alapelvet megvitatunk itt, hogy saját diagramot készítsünk, hogy felkérhesse az elektronikai tervezésben jártas szakembert vagy szakembert, hogy segítsen neked, vagy megpróbálhatod magad.

Szükséged lesz egy multiméterre és egy oszcilloszkópra; ezeknek a termékeknek a nagyon olcsó változatát megvásárolhatja a készülék forrásait tartalmazó linkekről.

Az ajánlott oszcilloszkóp a DSO138, amely számos forrásból érhető el online kb. minden multiméter elegendő lesz.

A CAN busz 0 és 5v között működik. Ha az adatokat nem küldjük, a két vezetéknek körülbelül 2v-nek kell lennie a járművekhez képest, vagy 0v egymáshoz képest. Amikor az adatokat a CAN-vezetékekről küldjük, a 2v-es változással egy impulzus jelenik meg. A CAN vonalak megtalálásához az oszcilloszkópot a CAN magas és a CAN alacsony vezetékekhez kell csatlakoztatnia.Ezeknek a vezetékeknek a megtalálásához nyomokat találhat arra vonatkozóan, hogy mely vezetékekre nézhet a drót színezésével.

A járművek hajlamosak arra, hogy konzisztens huzalszíneket használjanak, mint például, ha az OBD2-port hátuljára nézünk, a CAN-buszvonalakhoz, amelyeken a vezetékek színei a különböző vezetékek ábrázolására szolgálnak. minden színhuzal megy. A CAN-vonal színeit külön-külön figyelembe véve a különböző CAN-hálózatok vezetékei különböző színek lehetnek, így ez nem garantált módja annak, hogy megtalálják őket, de ha nem látott színekkel rendelkező vezetékek láthatók, akkor ezek lehetnek CAN-vonalak.

1.4 Gyakorlat

A multiméter és az oszcilloszkóp az OBD2 port CAN buszcsapjaihoz való csatlakoztatásával tesztelje a készülék működését és finomítsa tesztelési módszereit, a 6-os és a 14-es érintkezőkre vonatkozó jelimpulzusokat, ha a multimétert 5v egyenáramú vagy legközelebbi beállítással csatlakoztatja , ha a járművek őrlőcsapjainak 4-es és 5-ös csatlakozásakor és a CAN-busz 6-os vagy 14-es csatlakozásánál legfeljebb 5 V-os és 2v-es feszültségkülönbséget kell észlelni, ha nem tudja észlelni a CAN-buszadatokat ezeken a csapoknál, akkor a járművet túl régi vagy más protokollt használ.

Figyelje meg a diagnosztikai port hátuljára csatlakoztatott vezetékek színeit; valószínűleg látni fogja:

· Piros vezetékek, amelyek +12v-es csatlakozókhoz csatlakoznak, mint például az OBD-port 16-os érintkezője.

· Fekete vezetékek, amelyek az OBD-port 4 és 5-ös csatlakozóihoz csatlakoznak

· A többi vezeték bármilyen színű, amit a gyártó választ, mivel nem szabványosították.

1.5 A CAN buszvonalak kézi elhelyezése.

Abban a pontban, ahol a CAN buszvonalakat elérheti, ha sztereó, akkor valószínűleg több vezeték lesz a hangszórókhoz, mikrofonokhoz és más eszközökhöz. Ezek a vezetékek megnehezítik a CAN buszvonalak meghatározását. Azonban szinte mindig van egy kapcsolási rajz a sztereóhoz egy járműben, ezért menjen és ellenőrizze online az elsőt! Ellenkező esetben nézze meg a huzal színét a célvonalakról, hogy meggyőződjenek arról, hogy azok megfelelnek-e a CAN vonalak színének az OBD2 csatlakozón, ha a színek egyeznek, valószínűleg CAN vonalak, ha nem, ellenőrizze, hogy azok megfelelnek-e a másiknak a színek a jegyzetekből származnak, meg kell tudnunk zárni, hogy mely vezetékek nem CAN-buszok a színes összehasonlítások között, és néhány ismeretlen vezetékkel maradhatnak, dokumentálják mindent, amit megfigyelnek a diagramban vagy jegyzetekben.

Alternatív megoldásként, ha egy cserélhető modulhoz, például a műszerfalhoz ér, ha lehetséges, vegye figyelembe az áramköri lapot, a vezetékek csatlakoztatva vannak, néha kiderülhet, hogy melyik pólus a CAN busz, figyelve a villamos csatlakozóból két elektromos nyomot, amely közvetlenül a egy nagy chip elágazás nélkül a tábla más területein.

A CAN-buszvonalak megkeresésének különböző módjaival próbálja meg megismételni a folyamatot a 1.4-es gyakorlatról, a célzott vezetékekről. Ha nem tudja kitalálni, hogy melyik vonal a CAN-busz, próbálkozzon az oszcilloszkóp segítségével a megfelelő vezetékek párosításával, hogy az olyan impulzusokat láthassa, mint amilyeneket a gyakorlás során látnak, ha még mindig nem találja meg a CAN-sorokat, előfordulhat, hogy nem lesz CAN az adott eszközhöz vezető vonalak.

1.6 Nem található CAN buszvonal

Ha nem találja meg a CAN buszvonalakat, akkor valószínű, hogy a járművének nincs olyan helye, amelyen megpróbálja megtalálni őket, ebben az esetben próbálja meg megtalálni a CAN buszvonalakat egy olyan modulhoz, amely nagyobb valószínűséggel rendelkezik CAN buszokkal mint sztereó vagy LCD panel (ha a gépkocsi rendelkezik), és jegyezze fel a drót színeit, előfordulhat, hogy elérheti a kívánt célt a talált CAN buszvonalak használatával, ha vezeték nélküli adaptert vagy hosszabbító vezetékeket használ a szükséges helyre .

1.7 Sikeresen találtak CAN buszvonalakat

Ha sikeresen megtalálta a CAN buszvonalakat, akkor tegye a következőket:

  • Jegyezze fel a többi vezetéket a CAN vonalak közelében, vagy csatlakoztassa ugyanarra az eszközre, ahol a CAN vonalak csatlakoznak.
  • Olvassa el a vezetékek feszültségeit a multiméterrel úgy, hogy egy szondát a földhöz csatlakoztat, a másik az egyes vezetékekhez, és jegyezze meg ezt az információt.
  • Rajzoljon egy tiszta diagramot az áramkörről, amelyhez kapcsolódni szeretne.

1.8 Következő lépések

Most, hogy sikeresen elérte a rendszer CAN buszvonalait, gondolja át, hogy milyen típusú adatokat szeretne letölteni a hálózatról. Ha például csatlakozik a műszerfal klaszterekhez, akkor olyan információkat vár, mint:

  • ABS (blokkolásgátló rendszer)
  • ESP (elektronikus stabilitásszabályozás)
  • SRS (AKA kiegészítő biztonsági rendszer: légzsákok)
  • A biztonsági öv nincs használatban
  • Gumiabroncsnyomás figyelmeztetés
  • Jelzők (független bal és jobb vagy csatlakozott fény)
  • Minden külső világítás konfiguráció (gerenda, mártott, köd, oldalsó fények, veszélyek stb.)
  • Sebesség
  • Motorhibák.
  • Fordulatszámmérő (távolságszámláló)

Figyeljük meg a várt információkat egy olyan rácsban, mint amilyen a képen látható

Abban a pillanatban, hogy csak az információs és az azonosító oszlopokat tárolja.

6. lépés: 2. rész: Adatok olvasása a CAN-buszon

Adatok olvasása a CAN buszon

Most, hogy megtalálta a CAN buszvonalakat, és feljegyezte a várt adatokat, csatlakozni fog a CAN hálózathoz az Arduino és a Sparkfun pajzs használatával.

2.1 Az Arduino csatlakoztatása a pajzshoz

A Sparkfun CAN busz pajzs használatához a pajzsot az Arduino-hoz kell csatlakoztatni. Amikor megrendelte a CAN-busz pajzsot, valószínűleg nem jött az előre forrasztott csapok, ami azt jelenti, hogy meg kell forrasztania őket.

A forrasztás és a Sparkfun pajzs felállítása érdekében kérjük, olvassa el a dokumentum alján található elektronikai és programozási erőforrásokat. Egyszer forrasztva csatlakoztassa a Sparkfun táblát az Arduino-hoz, mint bármelyik Arduino pajzshoz

Vegye figyelembe, hogy a CAN buszpajzs tetejéből két vezeték van, ezek a vezetékek a pajzs magas és alacsony csapjaihoz csatlakoznak, a másik végén pedig a CAN magas és alacsony csapok egy autó műszerfalának fürtjéhez.

Ez a beállítás lehetővé teszi, hogy az Arduino kommunikáljon a klaszterrel; parancsokat lehet küldeni a fürt vezérléséhez és fogadni, hogy észrevegyék a fürt válaszait.

2.2 Csatlakoztatás a CAN buszhoz

A CAN busz különböző kommunikációs módokkal rendelkezik; különböző sebességgel rendelkezik, mint a hívás átviteli sebessége. A CAN rendszerhez való sikeres csatlakozáshoz meg kell határoznia az átviteli sebességet. Oszcilloszkópot használhat, és számíthatja az impulzusok közötti időt a CAN buszhálózat átviteli sebességének meghatározására az oszcilloszkóptól függően, a szabványos adatátviteli sebesség 125 kbit / s, 250 kbit / s, 500 kbit / s és 1 Mbit / s . Kérjük, olvassa el az elektronikai és programozási erőforrásokat, ha segítségre van szüksége ebben a folyamatban. Alternatív megoldásként kísérletezhet a megfelelő átviteli sebesség megtalálására.

2.3 Az Arduino fizikai csatlakoztatása a jármű CAN buszhoz.

Amint azt az előző részben említettük, az Arduino-t a Sparkfun pajzs tetején lévő csapok segítségével csatlakoztathatja a CAN buszvonalakhoz. Ha úgy dönt, hogy ilyen módon csatlakozik a CAN-buszhoz, ügyeljen arra, hogy a vonalakat a megfelelő módon csatlakoztassa, a sérülés nem fordul elő, ha helytelenül csatlakozik, a pajzs egyszerűen nem kap adatokat.

A pajzsnak a járműhöz való csatlakoztatásának alternatív módja, hogy a DB9 - OBD2 adapterkábelt, amely a Sparkfun pajzs nagy soros portjához és a jármű diagnosztikai portjához csatlakozik, javasoljuk, hogy kövesse ezt a bemutatót a diagnosztikai port segítségével először a jármű sérülésének kockázatát csökkentve.

7. lépés: 3. rész: Adatok lekérése a hálózatból

Adatok lekérése a hálózatból

NE HASZNÁLJON EL A KÉSZÜLÉKET A BEÁLLÍTÁS ELŐTT SZÜKSÉGES 3.1. A 2.2. Szakasz lehetővé teszi a CAN buszhálózat átviteli sebességének meghatározását; Ha azonban nincs oszcilloszkópja, vagy nem tudja kitalálni, hogyan kell használni, van egy alternatív módszer.

Csatlakoztassa az Arduino-t a számítógéphez, és töltse fel a bemutató kódban megadott kódot, amely a dokumentum végén a „Demo 1” jogosultságot biztosítja. Ha olyan hibákat kap, mint a „Nincs ilyen fájl vagy könyvtár”, amikor megpróbál feltölteni a kódot, ez azt jelenti, hogy nem telepítette megfelelően a Sparkfun kártya könyvtárát, ha „Hiba történt a vázlat feltöltése közben”, ez azt jelenti, hogy az Arduino nincs csatlakoztatva, vagy a szoftver nincs megfelelően beállítva. Más hibák valószínűleg azt jelentik, hogy helytelenül másolta a kódot.

Az Arduino-hoz feltöltött kód sikeresen be van állítva, hogy csatlakozzon egy 500 kb / s sebességgel működő CAN-buszhálózathoz, mivel ez az, amit a demo-kód be van állítva, amelyre a „ha (Canbus.init (CANSPEED_500)) {“. A beállított sebességet megváltoztathatja úgy, hogy az 500 értéket egy másik értékre módosítja, pl. Canbus.init (CANSPEED_125) 125kbps-re.

3.1 Az átviteli sebesség megítélése.

A csatlakoztatott hálózattól függően az adatátviteli sebesség különböző sebességű lehet, a jármű diagnosztikai csatlakozója általában 500 kb / s vagy 1 Mbps a kimenő adatmennyiség miatt. Azonban más eszközök, mint például a sztereó, csak 125kbps lehet, mert csak kis mennyiségű adatot ad ki. A projektben használt jármű (A Peugeot 407) esetében a diagnosztikai port 500kbps, míg a fürt 125 kb / s sebességgel fut.

Mielőtt elkezdené kitalálni az adatátviteli sebességet, készen kell lennie arra, hogy nagyon gyorsan kihúzza a CAN-buszvezetékeket, és győződjön meg arról, hogy a motor nem működik, ha rossz adatbázissal csatlakozik egy CAN-buszhálózathoz, akkor előfordulhat, hogy zavaró jelenség keletkezik, amely a jármű rendszerei rosszul működnek.

Ha az Arduino csatlakozik a számítógéphez és a soros monitorhoz, akkor az ismétlődő üzenetet kell látnia: „Nincs adat”, ami azt jelenti, hogy az Arduino megfelelően csatlakozik a számítógéphez, és az adatok beérkeznek, ezen a ponton csatlakozik a CAN buszhálózathoz , azonnal látnia kell az adatokat, ha nem, de nem történik semmi más, mint például a motorellenőrzés, ellenőrizze a kapcsolatot. • Ha nem jelentkezik glitching, de nem kap semmilyen adatot, és a pajzson lévő csatlakozókon keresztül csatlakozott, akkor a CAN buszvezetékek rossz irányba vannak csatlakoztatva vagy rossz vezetékekre. • Ha nem történik hiba, és nincs adat, ellenőrizze, hogy nem véletlenül szétválasztotta-e az Arduino-t a számítógépről, ha látta-e, hogy az adatüzenet még nem érkezik-e be, vagy bezárja a soros monitor ablakot, és újra megnyitja. Ha nem sikerül, és nem a diagnosztikai porton keresztül csatlakozik a CAN H és L csapokhoz, próbálkozzon a diagnosztikai porton, hogy megállapítsa, hogy a hardver beállítás hibás.

3.2 Diagnosztikai CAN adatok kérése

Ha követi az utasítást, miközben csatlakozik a jármű diagnosztikai portjához, akkor lehet, hogy diagnosztikai adatokat kérhet a diagnosztikai CAN-hálózatról, amelyet a jármű ugyanazzal a CAN-busz-szabványsal használ, mint a Peugeot 407.

Olvassa el a 4. részt, ha nem ismeri a CAN buszkereteket.

Az adatok diagnosztikai kérése esetén a lekérdezés 4 változó bájtból áll.
Az azonosító, az első bájt az ID, amely mindig 2015 (A adat kérés).

  • Ch1, a második a lekérdezés hossza (mindig 2 bájt a SAE szabványhoz)
  • Ch2, a harmadik bájt a mód (Wikipedia, 2017).
  • Ch3, a negyedik a kért adatok, ezeket Paraméterazonosítónak (PIDS) hívják 1
  • A Ch4 - ch8 nem használatos egy kérésben.

A következő keretet küldheti vissza a diagnosztikai adatok visszajuttatásához:

A fojtószelep helyzetének PID-je 17, ezért elküldjük a következőket:
< Request 2015, query length 2, Mode 1 Live data, PID 17,0,0,0,0,0 >
A válasz: <kért 17, fojtószelep = 0 - 255, 0,0,0,0> vagy <2024, 3,65,17, 0,0,0,0,0>

A fel nem használt utolsó öt csatornát lehet használni, vagy nem, a pontossági követelményektől függően a kért PID ábrázolására.

A legtöbb olyan tartományban van, hogy megfelelően reprezentálható legyen 0 és 255 közötti értékekre osztva. Egyesek azonban nagyobb részletességet igényelhetnek, mint például az RPM. Az adatok hálózatba történő küldéséhez a kódot a demonstrációs kódból kell használni A „Demo 2”, módosítania kell az azonosító kódjának alján lévő értékeket: „message.id = 0;” a 2015-ös adatkérés-azonosítóhoz. az egyes csatornák közül: message.data 0 = 0; a fenti értéknek megfelelően.

  • message.id = 2015; // Az elküldött keret azonosítója
  • message.data 0 = 2; // itt helyezze el az egyéni értéket a ch1-nek
  • message.data 1 = 1; // itt helyezze el az egyéni értéket a ch2-nek
  • message.data 2 = 17; // helyezze el az egyéni értékét a ch3-ra
  • message.data 3 = 0; // itt helyezze el az egyéni értéket a ch4-hez
  • message.data 4 = 0; // itt helyezze el az egyéni értéket a ch5-re
  • message.data 5 = 0; // helyezze az egyéni értéket a ch6-ra itt
  • message.data 6 = 0; // itt helyezze el az egyéni értéket a ch7 számára
  • message.data 7 = 0; // helyezze el az egyéni értékét a ch8-hoz

amely a következőket fogja eredményezni a CAN hálózatba: <2015, 2, 1, 17,0,0,0,0,0>

1 http://en.wikipedia.org/wiki/OBD-II_PID

8. lépés: 4. rész: Mi a CAN-busz-adatkeret

Mi az a CAN busz adatkeret

Minden gyártó saját kódolási módszerét használja az adatok CAN-busz kommunikációs keretekbe történő csomagolására. Ez az alap titkosításhoz hasonló fogalom, mivel a cél nem az, hogy a tömörítés csak a kommunikáció formájához szükséges formátumra történjen.

A CAN-buszkeret összetett, többféle típusú, de a leggyakoribb típusú keret (A-alapkeret) 11 azonosító alkeretből áll, amelyek közül csak kettő releváns a legtöbb felhasználó számára, ezek két és hét alkeret.

A második keret legfeljebb 11 bit méretű; ez a keret azonosítója. A hét alkeret az adatmező; az azonosítóhoz tartozó adatokat nyolc vesszővel elválasztott, egybájtos értékben tárolja (Vector.com, 2018).

Kérjük, vegye figyelembe, hogy ugyanazon jármű különböző CAN-buszhálózatai ugyanazzal az azonosítóval használhatják a különböző adatokat, nem feltételezik, hogy mivel a hálózatok ugyanabban a járműben vannak, mindegyik ugyanazt a formátumot használja.

4.1 Diagnosztikai port, nyers CAN adatok

a legkisebb kép A hasznos adatok elrendezése CAN-busz üzenetben; ezt „keretnek” nevezik. A látott elrendezés az a formátum, amelyet az Arduino a „Demo 1” című demonstrációs kódban megadott demo kóddal ad ki.

Ellentétben a diagnosztikai adatkeretekkel, amelyek meghatározott elrendezésűek, jól dokumentáltak és következetesek, a nyers adatkeretek csak az alapvető CAN keret elrendezést tartalmazzák, amint azt a fentiekben bemutattuk, az egyik csatorna nyolcig bármit jelenthet, és az adatok több vagy egyetlen csatornát használhatnak egy tartományban 0 és 255 közötti értékeket képviselnek, gyakran az elrendezés gyártója vagy járművei.

Az azonosító keret egy meghatározott adatkészletet képvisel, és mindig azonos értékeket képvisel. Például a Peugeot 407 diagnosztikai portján az 520 azonosítóval ellátott keret mindig a következő adatokat mutatja:
< 520, RPM, Voltage, Turbo pressure, Brake Light, 0, 0, 0, 0 >

Az 520 azonosító mindig jelzi a diagnosztikai porton lévő négy információt, de maga az adat is megváltoztathatja az értékeket. Bár nyolc bájtot használnak a keret adatainak reprezentálására, a keret első négy csatornája valójában használatban van, ami 4 bájt sávszélességet pazarolhat. Ennek alapja a gyártóspecifikus; nem ismert, hogy miért választották ezeket a négy értéket, és más csatornákat üresen hagynak.

4.2. Bináris és bitikus műveletek

Annak érdekében, hogy az adatokat a CAN keretek mindegyik csatornájában értelmezze, az információt bitenkénti műveletekkel kell értelmezni.

A jármű a rendszereket bináris kódolással kódolja. Minden csatorna 0 és 255 közötti érték lehet, 0 nem aktiválva, 255 pedig minden aktiválva van. Ha binárisan dekonstruálod az értéket, akkor 00000000-t kapsz 0-ra és 11111111-re 255-re. Minden szám, amely csak 1 vagy 0 lehet, egy másik állapotot jelent egy rendszer számára, ha feltételezzük, hogy a 32-et képviselő szám a bal oldali indikátor és a szám a bal oldali indikátor és 64 a megfelelő indikátor, tudjuk, hogy a csatorna értéke 96, hogy mindkét indikátort aktiválni kell, vagy ha az érték 32, csak a bal indikátor aktiválódik.

9. lépés: 5. rész: Reverse Engineering CAN információ.

Fordított mérnöki CAN információ.

Most, hogy megérti, hogyan működik a CAN-buszkeret, képesnek kell lennie arra, hogy összekapcsolja az adatkeretet az általa képviselt adatokkal.

5.1 Elemzési módszer: Soros monitor

A nyers adatok CAN-ról történő letöltéséhez számos módszer és eszköz áll rendelkezésre a folyamat támogatásához. A hálózat egyes képkockáinak értelmezésének kezdeti módja az alábbi lépések végrehajtása:

  1. naplózzon néhány másodpercet a hálózaton keresztül érkező nyers adatokból, és mentse el azt egy dokumentumba.
  2. Egyenként válasszon ki egy keretet a listáról, és változtassa meg a kódot az összes kép kivételével.
  3. Indítsa el az eseményeket a járműben, és jegyezze fel a változásokat.
  4. Távolítsa el a keretet a listából
  5. Ismételje meg a 2. lépést.

Ez egy hosszú folyamat, de lehetővé teszi, hogy könnyedén korrelálja a CAN hálózat adatait a megfigyelt kerettel. Annak érdekében, hogy a szűrőt az Arduino-kódban csak egy soros monitor megjelenítésére használhassa, változtassa meg a -1 értéket azon az ID-re, amelyen dolgozik, és! = = ==, a „if (message.id! = - 1) {“a kódban.

pl .: „if (message.id! = -1) {“ to “if (message.id == 520) {“

5.2. Alternatív elemzési módszer: Soros rajz

A SerialPlot a következő eszköz volt az adatok fordított átalakításához és értelmezéséhez.

Az egyes csatornákon élő grafikonot készíthet ugyanazon a grafikonon vagy különálló kisebb grafikonokon. Az eszköz lehetővé tette az adatok exportálását vagy élő nézését. A SerialPlot lehetővé teszi, hogy a trendek és viselkedések könnyen megtekinthetők legyenek, és az adatok relatív változásai észrevehetők és értelmezhetők. az egyik mellékelt kép egy 1294-es keret mintája, amely a Peugeot 407-et képezi; a minta megmagyarázza, hogy a keret minden egyes csatornája hogyan módosítja az adatokat módosító csatornákat.

5.3 Alternatív elemzési módszer: SuperSniffer

A nyers információk feldolgozása közben a Serial Monitor és a SerialPlot szűk keresztmetszet lehet a hasznos CAN keretek elhelyezésében, mivel minden egyes keretet egyenként kell kiválasztani a listából, mivel nem támogatott. Ez az, ahol egy másik eszköz nagyon hasznos lett.

Miután megkapta az adatok lekérésének és feldolgozásának folyamatát a fent említett eljárásokkal, érdemes megpróbálni a SuperSniffer használatát. A CAN buszhálózat üzeneteinek olvasási kódja már konfigurálva van a SuperSniffer használatához.

A SuperSniffer egy speciálisan CAN-busz elemzésére készült szoftvereszköz.

Ehhez olyan adatot kell beírni, amely egy bizonyos formátumban, ami egyszerű feladat volt, mivel az adatokat már az Arduino-tól CSV formátumban adták ki, az egyetlen szükséges változtatás a chevron zárójelek hozzáadása a kezdő és befejező szakaszban. a keret.A SuperSniffer a Wiresharkhoz hasonló módon működik; egy élő adatot jelenít meg egy sor olyan coulomb segítségével, amelyek statisztikákat adnak az adatokról, a fontos kulinárisok pedig a CAN keret, az üzenetszám, a változásszám és az ASCII.

A CAN keret tartalmazza a releváns CAN adatokat, az üzenetszámláló számolja, hogy hányszor ugyanazt a keretet frissítették, a változásszám számolja, hogy hányszor változott ugyanaz a keret, és az ASCII Coulombe a keretet ASCII-re konvertálja, amely lehetővé teszi egy észleli, hogy a keret vizuálisan tartalmaz-e szöveget.

A szoftver képes arra is, hogy automatikusan elrejtse azokat a kereteket, amelyek nem változnak egy meghatározott ideig, és visszaadják őket a nézetbe, ha változik.

A SuperSniffer telepítéséhez olvassa el a dokumentum szoftverforrásait.

5.4 A cserélhető hardverek módszerei

Ha az adatátvivő hálózat egy cserélhető modulhoz van csatlakoztatva, az adatok értelmezésének megközelítése drasztikusan eltérő lehet, mivel a rögzített adatok a hardverbe játszhatók, vagy az egyéni parancsokat be lehet fecskendezni anélkül, hogy a jármű károsodna. A „Demo 3” című demo kód lehetővé teszi, hogy egyéni üzeneteket küldjön a Sparkfun pajzs joystickjával az értékek megváltoztatására.

5.4.1 Felvétel és lejátszás

Ahelyett, hogy a képkockákat egyenként, a járműrendszer aktiválását és az egyes keretek megfigyelését céloznák meg, új megközelítést lehet alkalmazni, amellyel a jármű és a modul közötti kommunikációt rögzítik, míg a modulhoz kapcsolódó minden elképzelhető rendszer aktiválódik, mivel a modul a járműben levehető, az adatok visszajátszhatók a modulba, miközben az íróasztalon, nem pedig a járműben és a megfigyelt viselkedéseken keresztül működik.

5.4.2 Brutális erő befecskendezés

A rekord- és lejátszási módszerek mellett a nyers erőadatok beadása is használható. Az ID 0-tól kezdődő és egyenként 0-tól 255-ig terjedő csatornákon egyenként történő adagolás módja lehetővé teszi a modul által támogatott viselkedések dokumentálását, de a jármű nem és olyan viselkedés, amely nem lehetett manuálisan aktiválni, például a motort vagy légzsák hiba.

5.4.3 Biztonság

A fent említett új megközelítések nem biztonságosak a diagnosztikai porton vagy a jármű bármely hálózatán, mivel ezek károsíthatják a biztonsági szempontból kritikus eszközöket, aktivált veszélyes viselkedéseket, mint például a légzsákokat vagy a motor indítását, vagy az alkatrészek cseréjét nehéz / drága. Míg a modul eltávolítható, lehet olcsó beszerzés, könnyen hozzáférhető és cserélhető, és nem okozhat közvetlen veszélyt, ha sérült vagy tervezett paraméterekből működnek.

5.5 az értelmezett adatok tesztelése.

Most, hogy a CAN-buszkeretek értelmezésével kapcsolatban néhány adatot készítettünk el, itt az ideje, hogy teszteljük, hogy az értelmezésed helyes-e, ha feltételes utasításokkal kódot készítünk, amely észleli a várható értékek megjelenését.

Feltételes nyilatkozat készítése a mutatók állapotának észleléséhez szükség van arra, hogy meghatározzuk, hogy a csatorna tartalmazza-e a 32. értéket. Számos megoldás lehetséges, mint például a decimális érték binárisvá alakítása és az 1s és 0s karakterlánc elemzése. Egy egyszerű megoldás azonban az, hogy a C ++ nevű, „bitwise AND” nevű operátort használjuk, amelyet a jel és a szimbólum jelez.

Vegyük a bitirányú operátort, és tegyük azt egy tizedes érték és a teszt érték közé, ha a művelet eredménye a tesztérték, akkor tudod, hogy a tizedes érték tartalmazza a teszt értékét. Példa erre: ha ((bemenet és 64) == 64) {// jobb jelző aktiválva} (Arduino.cc, 2018).

A „Demo 4” című bemutató kód a kódok teszteléséhez szükséges kódot tartalmazza. Jelenleg úgy van konfigurálva, hogy a 4-es csatornát a keret 128-os értékére ID 54-tel ellenőrizze.

5.6 A klaszter kommunikáció értelmezése egy Peugeot 407-ben

Miközben a gépjárműben a fürtöt tesztelték, és a rögzített adatok lejátszása során egyszerű volt azonosítani, hogy mely keretek képviselték az RPM-et, a sebességet és számos más mutatót, azonban néhány képkocka sokkal nagyobb kihívást jelentett a kívánt információ megkereséséhez . Ezek közé tartozik az olajhőmérséklet, az üzemanyagszint, a hűtőfolyadék hőmérséklete és a fürtök kijelzőjén megjelenített több kép. Ez azért van, mert az adatok változása lassú vagy ritkán változik.

Az adat-befecskendezés során a hiányzó keretek megkeresésére megfigyelték, hogy még akkor is, ha a tárcsákról ismert, hogy a tárcsákat eljuttatták, semmi sem történt.

Ennek oka nehéz volt megtalálni, és az is megoldódott a korábban említett lassú vagy ritkán változó adatok problémájára.

Annak érdekében, hogy megtalálják a viselkedés okait, a rögzített adatok egyenként eltávolították a képkockát, miközben a fürtben játszottak; a cél csak az volt, hogy a keretek specifikusak legyenek az RPM és a gyorshívások mozgatására.

A folyamat során felfedezték, hogy a tárcsák mozgatásához néhány 24 másodpercenként be kell táplálni egy azonosító keretet 246 azonosítóval és a csatorna meghatározott értékeit, vagy ha a tárcsák visszaállnak a nulla helyzetbe. Ezután elküldheti a sebességet, fordulatszámot és az üzemanyagszintet tartalmazó kereteket a tárcsák mozgatásához.

Egyébként azt tapasztaltuk, hogy a tárcsákat engedélyező keret is előfordul, hogy tartalmazza az olajhőmérséklet, a motorállapot, a kilométerszámláló és a jelzőfények csatornáját, így megoldja a hiányzó értékek problémáját.

10. lépés: 6. rész: Interfész felépítése

Interfész létrehozása

Most, hogy a projekt fordított tervezési része megértésre kerül, és a járműhálózatról készült dokumentáció készül, itt az ideje, hogy felépítsünk egy felületet az adatok használatához.

6.1 Szoftver interfész

A csúszkával ellátott képek egy egyszerű Java programot mutatnak. Ez a program egy Arduino-val együtt működik, hogy megjelenítse a képernyőn egy csúszkát, amelyet az Arduino-hoz csatlakoztatott tárcsával vezérelnek. A grafikus felület kialakítása a választott módszertől függően valószínűleg az egyik legnehezebb, de előnyös módszer az értelmezett információk megjelenítésére. A kialakításban szinte teljes szabadságot biztosítunk, és az eredmény könnyen másolható.

Az ilyen típusú interfész problémája a korlátok, ha a járműbe rögzítendő felületet szeretnénk építeni, akkor szükség lenne egy olyan számítógépre, mint a Raspberry Pi, hogy a kijelzőt vezesse és futtassa a szoftvert. meg kell várni a rendszerindítást, és szükség lehet a biztonsági kockázatokra, ha a készülék kritikus biztonsági rendszereket futtat.

A Java példaprogram kipróbálásához olvassa el a „Demo 5” című demo kódot

6.2 Hardver interfész

Számos lehetőség van arra, hogy egy interfészt építsünk ki a CAN hálózatról lekérdezett információk megjelenítéséhez; némelyik egyszerű és könnyen megvalósítható, például LED-ek vagy 7 szegmenses kijelző használata, mások sokkal összetettebbek a beágyazott számítógépek használatával, amint azt az előző részben említettük. Az ebben a bemutatóban példaként használt megoldás egy kompromisszum a megvitatott egyszerű és összetett lehetőségek között.

A CAN buszhoz csatlakoztatott Arduino adatokat fog letölteni a hálózatról.

Az adatokat logikai műveletekkel dolgozzuk fel az 5.5. a program értelmezi a kereteket és az általuk tartalmazott adatokat; a vonatkozó információkat ezután elküldi az Arduino-hoz csatlakoztatott kijelzőkhöz.

6.3 Hardver megjelenítése

A legtöbb kijelző, amely az Arduino UNO-nál létezik, nagy kijelzőméretekben, processzor-intenzívben drága. megköveteli az Arduino-t, hogy felhívja a kijelzőt vagy a pin-t; a legtöbb IO-t az Arduino-nál.

A Nextion kijelző „intelligens” kijelző; saját processzorral, bemenetekkel és kimenetekkel, memóriával és SD-kártyával rendelkezik, függetlenül vagy más hardverekkel együtt soros kommunikációval futtatható.

Támogatja a nagyon egyszerű programozási nyelvet és egy nagyon képes grafikus programozási felületet, melyet a számítógépen futó Nextion szerkesztő nevez. A grafikus felhasználói felületet a Nextion szerkesztőben egyszerű húzással végezheti és vezérelheti az ikonokat és a mérőeszközöket az egyéni programozási nyelv használatával.

Olyan projektek esetében, amelyek nagymértékben használják az Arduino-t, egy olyan kijelző, mint a Nextion kiváló lehetőség; sok rugalmasságot biztosít a kezelőfelület kialakításában anélkül, hogy nehéz lenne programozni. Habár drága a többi „néma” kijelzőhöz képest, mint amilyen a fenti képeken látható, többféle funkciót kínálnak a könnyű használat mellett, mint például az Arduino pajzs kijelzőjén négyszer vékonyabb, és az Arduino használatát nem igénylő független. nagyon korlátozott erőforrásai a kijelző meghajtásához, bármi más, amit tehet.

Az olyan nagyon egyszerű projektek esetében, amelyek Arduino-t használnak, az általános LCD-kijelző az alacsony ár miatt jobban illeszkedik. Azonban az időkorlátokat figyelembe kell venni, mivel ezeknek a kijelzőknek az interfészének programozása nehéz és lassú lehet.

A Nextion 2.4 ”kijelző:

  • Költség - £ 12
  • Méretek - 60 x 40 x 6 mm
  • Működés - Teljesen Függetlenül vagy más hardverrel együtt
  • Jellemzők - Általános célú bemeneti kimenetek, valós idejű óra, RGB képernyő, érintőképernyő.
  • Vezérlés - vezérelhet más hardvert, vagy más hardverrel vezérelhető

Általános Arduino 2.4 ”kijelző:

  • Költség - £ 3 + Arduino
  • Méretek - 60 x 40 x 24 mm
  • Működés - Arduino-t igényli
  • Jellemzők - RGB képernyő, érintőképernyő.
  • Vezérlés - Arduino vezérelhető.

6.4 Interfész nextion használatával

A kijelzők programozását mikro-SD-kártyán keresztül továbbítják, mint például a kijelzők házának tervezése során, biztosítva, hogy a képernyők elhelyezése a kialakításban lehetővé teszi az SD-kártyahely könnyű elérését a programozáshoz.

Az interfész tervezése során több ötlet is előfordulhat, hogy tiszta eredményt hozzon létre. az egyik kép egy tűmérő tesztelését mutatja, a kijelző korlátai azt jelentették, hogy a képeket nem lehetett elforgatni, hogy szimulálják a mozgó tű méreteit. Azonban a kijelzők képesek a videóhoz hasonlóan működni, mivel sok képet mutatnak egymás után a sima mozgás szimulálására. A probléma az, hogy a tű manuális mozgatása és képének rögzítése minden pozícióhoz munkaidőt vesz igénybe, azonban sokkal egyszerűbb megoldás van, a tű kialakítása és a háttérkép importálható video-szerkesztő szoftverbe, ahol a tűképet elforgatja készítsen egy videót a tűről, amely a minimumtól a maximális pozícióig mozog, majd a videó több száz keretként exportálható.

Alexander Richardson, egy szabadúszó grafikai tervező, önként jelentkezett, hogy segítse a prototípus interfész meglátását, a grafikus felhasználói felület létrehozását az azonosított tervezési követelmények és korlátozások alapján.
Számos tervezési iteráció adta a képen látható eredményt ehhez a lépéshez.

A Nextion kijelzők használatával kapcsolatos segítségért kérjük, olvassa el az elektronikai és programozási erőforrásokat.

11. lépés: Berendezésforrások

Berendezések forrása

multiméter:

http://amzn.to/2Ec2VOj

Forrasztópáka készlet:

http://amzn.to/2JdF0Si

http://amzn.to/2uKoPsC

http://amzn.to/2q2ePoC

Sparkfun CAN busz pajzs:

http://amzn.to/2pXhjVq

http://amzn.to/2H56EjF

http://goo.gl/oSMiqL

DB9 - OBD2 kábel:

http://amzn.to/2pYqswZ

http://amzn.to/2Edz5sw

Arduino UNO:

http://amzn.to/2Gq9x1q

http://amzn.to/2pZTigz

Arduino kábelezési készlet:

http://amzn.to/2uEwatr

http://amzn.to/2EdrKcB

Arduino Pin fejlécek:

http://amzn.to/2pZIqPA

http://amzn.to/2pZIOh0

http://amzn.to/2pZJ2om

A Nextion megjeleníti:

7”

http://amzn.to/2GJCx3D

5”

http://amzn.to/2uEePAO

4.3”

http://amzn.to/2GvAIUq

http://amzn.to/2pXWLfs

3.2”

http://amzn.to/2GvnqHC

2.8”

http://amzn.to/2GrN6op

2.4”

http://amzn.to/2pZC5DY

http://amzn.to/2GIFOQL

Oszcilloszkóp:

http://amzn.to/2IjIDVC

Az alábbiakban linkeket találunk az Amazon-on található különböző elektronikai eszközökhöz, amelyek az ebben a bemutatóban használt elektronikára vonatkoznak. országainak megfelelő URL-címét.

Szoftverforrások

Az Arduino programozásához le kell töltenie az Arduino IDE-t, elérhető a http://www.arduino.cc/en/Main/Software webhelyről.

A CAN buszadatok hatékony feldolgozása érdekében ajánlott letölteni a SerialPlotot a http://bitbucket.org/hyOzd/serialplot webhelyről

és a SuperSniffer a következő címen: http: //techtinker.co.za/forum/viewtopic.php? f = 14 & …

Elektronika és programozási források

Ez a rész olyan forrásokra mutató hivatkozásokat tartalmaz, amelyek az elektronikus áramkörök mögött lévő fizikáról és koncepciókról taníthatnak.

Javasoljuk, hogy vásároljon egy készletet, hogy megtanulja az alapokat, mint például az itt található linkeket: http://amzn.to/2GvGSUy

http://www.electronics-tutorials.ws/ az ajánlott forrás az elektronika és néhány programozási tudás megismeréséhez, amely szükséges a dokumentum követéséhez.

Kérjük, tanulmányozza a következő témákat:

  • Bináris számok
  • DC áramkörök
  • Bemeneti / kimeneti eszközök

Ha további tudnivalókat szeretne megtudni a dokumentum követésében, kérjük, megtudja:

  • logikai kapuk
  • Systems

A programozási ismeretekhez lásd: http://www.arduino.cc/en/Guide/ArduinoUno

Ezt követi: http: //www.arduino.cc/en/Tutorial/BuiltInExample …

Kérjük, dolgozzon az alábbi módon, hogy megértse, hogyan működik az Arduino:

  • 1. rész: Analóg olvasás soros
  • 1. szakasz: Digitális olvasási sor
  • 2. szakasz: Gomb
  • 2. szakasz: Kiáradás
  • 4. szakasz: Soros áthaladás
  • 5. szakasz: Tömbök
  • 5. szakasz: Hurokhoz
  • 5. szakasz: Ha nyilatkozatok
  • 5. szakasz: Míg a kijelentések

A hálózatokkal kapcsolatos ismeretekért kérjük, olvassa el a következő forrást:

http://en.wikipedia.org/wiki/Network_topology

Kérjük, olvassa el:

  • Buszhálózatok
  • Csillaghálózatok
  • Pont-pont hálózatok

A CAN buszvonalak elhelyezésével kapcsolatos tudnivalók:

http: //www.testandmeasurementtips.com/exploring-c …

A CAN-busz elektromos működéséről a következő címen tájékozódhat: http://en.wikipedia.org/wiki/CAN_bus

Ugrás az Építészet részre.

A forrasztáshoz szükséges tudnivalók:

A Sparkfun pajzs beállításával és használatával kapcsolatos tudnivalók:

http: //learn.sparkfun.com/tutorials/can-bus-shiel …

A Sparkfun Arduino könyvtár kódjának letöltéséhez kérjük, olvassa el:

http: //github.com/sparkfun/SparkFunCAN-Bus_Arduin …

A CAN busz oszcilloszkóp segítségével történő átviteli sebességének meghatározására vonatkozó tudnivalók: http: //racelogic.support/02VBOX_Motorsport/01Gen …

A Nextion kijelző használatával kapcsolatos tudnivalók:

http: //www.itead.cc/wiki/Nextion_Editor_Quick_Sta …

Az olcsó Arduino kijelző használatával kapcsolatos tudnivalók:

http://www.adafruit.com/product/2478

12. lépés: Demonstrációs kód

Demo1 - CAN busz adat visszakeresés

A demo1 kód, az Arduino könyvtárral együtt, amelyet az elektronika és a programozási erőforrások oldalon található link segítségével tölthet le, minden szükséges ahhoz, hogy adatokat fogadhasson egy CAN buszhálózatról és megjelenítse az Arduino IDE beépített soros monitorján keresztül.

Demó 2 - CAN busz üzeneteket küld és fogad

A demo2 kód lehetővé teszi CAN busz üzenetek küldését és fogadását. Ez csak némileg eltér az előző kódtól, mert további sorokkal rendelkezik, de az előző sorok az üzenetek olvasásához maradnak.

Demo 3 - CAN busz egyéni üzeneteket küld a joystick segítségével

Annak érdekében, hogy az egyéni üzeneteknek az eszközökhöz való küldésének folyamatát egyszerűsítsük, hogy az értékeket az új értékek újratöltése helyett a program futtatásával megváltoztassuk, ez a kód lehetővé teszi, hogy az egyes csatornák értékét a joystick segítségével vezérelje.

Demo 4 - CAN keret adatellenőrzés.

Ez a kód a hálózaton lévő értékek olvasásához használt demo kód változata; úgy módosították, hogy csak ellenőrizze, hogy az 54 keret 4. csatornája tartalmazza-e a 128 értéket.

Meg kell változtatnia az értékeket az dataInterpreter nevű függvényben, hogy az azonosított és értelmezett kereteket jelenítse meg. Ha egyszerre szeretné összehasonlítani a különböző csatornákat vagy különböző keretazonosítókat a kód értékeinek megváltoztatása nélkül, további funkciókat kell hozzáadnia a kódhoz.

Mindegyik id függvényt adattárolóban hívják meg, ha az megfelel a várt azonosítónak, a megfelelő függvényt hívják, a függvény ellenőrzi, hogy a hozzá küldött csatorna a várt, és ellenőrzi, hogy a csatorna tartalma tartalmazza-e a kívánt értéket .

Demo 5 - Java grafikus felület demo program

A slider.java nevű fájl Java program, melynek használatához követnie kell a Java bemutatót itt: http://docs.oracle.com/javase/tutorial/getStarted/cupojava/win32.html

Ez az útmutató bemutatja, hogyan lehet letölteni és telepíteni a Java programot, létrehozni egy egyszerű Java programot és futtatni. Ahol a bemutató példakódot ad, egyszerűen cserélje ki a példakódot ezzel a kóddal.

Ekkor be kell programoznia egy Arduino-t egy szám kiadásához soros nyomtatási utasítások formájában; az Arduino sorozatot 38400 baudon kell futtatni, amikor a Java programot futtatjuk, és az Arduino-hoz csatlakoztatjuk, a csúszka az érték megjelenítéséhez mozog, az Arduino kiadja.

13. lépés: A végeredmény

14. lépés: Referenciák

Repülési. (2018). CAN busz a repülésben - avionika. online Elérhető a következő címen: http://www.aviationtoday.com/2009/05/01/can-bus-in-aviation/ Hozzáférés 2018. március 21-ig.

Walz, E. (2018). Automotive Networking: CAN-bus topológia. online kapcsolódik. Elérhető: http://www.linkedin.com/pulse/automotive-networking-can-bus-topology-eric-walz/ Hozzáférés: 2018. március 12..

OBD megoldások. (2017). Mi az OBD? - OBD megoldások. online Elérhető a következő címen: http://www.obdsol.com/knowledgebase/on-board-diagnostics/what-is-obd/ Hozzáférés: 2017. november 29..

Arduino.cc. (2018). Arduino referencia. online Elérhető: http://www.arduino.cc/reference/en/language/structure/bitwise-operators/bitwiseand/ Hozzáférés 2018. március 15-ig.

Vector.com. (2018). Vektor megoldás a CAN számára. online Elérhető: http://vector.com/vi_can_solutions_en.html 2017. november 21..

A második helyezett
Mikrokontroller verseny