Բովանդակություն:
- Քայլ 1. Ինչ է CANBUS- ը
- Քայլ 2. CAN Communications- ի մասին
- Քայլ 3: Շրջանակներ
- Քայլ 4: Արագություն և հեռավորություն
- Քայլ 5: Սարքավորումներ
- Քայլ 6: Միացում
- Քայլ 7: Կոդ
- Քայլ 8: Showույց տալ
Video: Պարզ ձեռնարկ CANBUS- ի համար. 8 քայլ
2024 Հեղինակ: John Day | [email protected]. Վերջին փոփոխված: 2024-01-30 09:45
Ես երեք շաբաթ սովորում եմ CAN, և այժմ ավարտել եմ որոշ հայտեր `ուսումնառությանս արդյունքները հաստատելու համար: Այս ձեռնարկում դուք կսովորեք, թե ինչպես օգտագործել Arduino- ն CANBUS հաղորդակցությունն իրականացնելու համար: Եթե ունեք որևէ առաջարկ, խնդրում ենք թողնել հաղորդագրություն:
Պարագաներ:
Սարքավորումներ:
- Maduino Zero CANBUS
- DHT11 ջերմաստիճանի և խոնավության մոդուլ
- 1.3 "I2C OLED 128x64- կապույտ
- DB9- ից DB9 մալուխ (կինից կին)
- Dupont Line
Softwareրագրային ապահովում:
Arduino IDE
Քայլ 1. Ինչ է CANBUS- ը
CAN- ի մասին
CAN (Controller Area Network) սերիական հաղորդակցության ցանց է, որը կարող է իրականացնել իրական ժամանակի բաշխված վերահսկողություն: Այն մշակվել է ավտոմոբիլային արդյունաբերության համար `բարդ լարերի ամրագոտիները երկալար ավտոբուսով փոխարինելու համար:
CAN արձանագրությունը սահմանում է Տվյալների կապի շերտը և Ֆիզիկական շերտի մի մասը OSI մոդելում:
CAN արձանագրությունը ստանդարտացված է ISO11898 և ISO11519 ստանդարտներով: ISO11898- ը CAN գերարագ հաղորդակցման ստանդարտ է ՝ 125kbps-1Mbps հաղորդակցության արագությամբ: ISO11519- ը CAN ցածր արագության հաղորդակցության ստանդարտ է ՝ 125 կբիթ / վ-ից պակաս հաղորդակցության արագությամբ:
Այստեղ մենք կենտրոնանում ենք բարձր արագությամբ CAN- ի վրա:
ISO-11898- ը նկարագրում է, թե ինչպես է տեղեկատվությունը փոխանցվում ցանցի սարքերի միջև և համապատասխանում է Բաց համակարգերի փոխկապակցման մոդելին (OSI), որը սահմանվում է շերտերի առումով: Ֆիզիկական միջավայրով միացված սարքերի միջև իրական հաղորդակցությունը որոշվում է մոդելի ֆիզիկական շերտով:
- Ավտոբուսին միացված CAN յուրաքանչյուր միավոր կարելի է անվանել հանգույց: Բոլոր CAN միավորները միացված են յուրաքանչյուր ծայրում դադարեցված ավտոբուսին ՝ 120 Ω դիմադրիչներով ՝ ցանց ստեղծելու համար: Ավտոբուսը բաղկացած է CAN_H և CAN_L գծերից: CAN վերահսկիչը որոշում է ավտոբուսի մակարդակը `հիմնվելով երկու լարերի հզորության մակարդակի տարբերության վրա: Ավտոբուսների մակարդակները բաժանվում են գերիշխող և հեռացվող մակարդակների, որոնք պետք է լինեն դրանցից մեկը: Ուղարկողն ուղարկում է հաղորդագրությունը ստացողին `ավտոբուսի մակարդակում փոփոխություն կատարելով: Երբ ավտոբուսում «և» տրամաբանական գիծը կատարվում է, գերիշխող մակարդակը «0» է, իսկ հեռացվող մակարդակը ՝ «1»:
- Գերիշխող վիճակում CAN_H- ի լարումը մոտ 3.5V է, իսկ CAN_L- ը `մոտ 1.5V: Ռեցեսիվ վիճակում երկու գծերի լարումը մոտ 2.5 Վ է:
- Ազդանշանը դիֆերենցիալ է, այդ իսկ պատճառով CAN- ը ստանում է իր ուժեղ աղմուկի իմունիտետը և անսարքությունների հանդուրժողականությունը: Հավասարակշռված դիֆերենցիալ ազդանշանը նվազեցնում է աղմուկի միացումը և թույլ է տալիս բարձր ազդանշանային ազդանշաններ ոլորված զույգ մալուխի վրա: Յուրաքանչյուր ազդանշանային տողում հոսանքը հավասար է, բայց հակառակ ուղղությամբ և հանգեցնում է դաշտի չեղարկման էֆեկտի, որը կարևոր է ցածր աղմուկի արտանետումների համար: Հավասարակշռված դիֆերենցիալ ընդունիչների և ոլորված զույգերի մալուխների օգտագործումը մեծացնում է CAN ավտոբուսի ընդհանուր ռեժիմի մերժումը և բարձր աղմուկի իմունիտետը:
CAN Հաղորդիչ
CAN հաղորդիչը պատասխանատու է տրամաբանական մակարդակի և ֆիզիկական ազդանշանի փոխակերպման համար: Փոխակերպեք տրամաբանական ազդանշանը դիֆերենցիալ մակարդակի կամ ֆիզիկական ազդանշանը տրամաբանական մակարդակի:
CAN վերահսկիչ
CAN Controller- ը CAN- ի հիմնական բաղադրիչն է, որն իրականացնում է CAN արձանագրության տվյալների հղման շերտի բոլոր գործառույթները և կարող է ինքնաբերաբար լուծել CAN արձանագրությունը:
MCU
MCU- ն պատասխանատու է գործառնական սխեմայի և CAN վերահսկիչի վերահսկման համար: Օրինակ, CAN վերահսկիչի պարամետրերը նախաստորագրվում են, երբ հանգույցը սկսվում է, CAN շրջանակը կարդացվում և ուղարկվում է CAN վերահսկիչի միջոցով և այլն:
Քայլ 2. CAN Communications- ի մասին
Երբ ավտոբուսն անգործության է մատնված, բոլոր հանգույցները կարող են սկսել հաղորդագրություններ ուղարկել (մուլտիմիստերալ հսկողություն): Այն հանգույցը, որն առաջինը մուտք է գործում ավտոբուս, ստանում է ուղարկելու իրավունք (CSMA/CA ռեժիմ): Երբ միանգամից մի քանի հանգույց սկսում են ուղարկել, այն առաջնային ID- ն ուղարկող հանգույցը ստանում է ուղարկելու իրավունք:
CAN արձանագրության մեջ բոլոր հաղորդագրությունները ուղարկվում են ֆիքսված ձևաչափով: Երբ ավտոբուսն անգործուն է, ավտոբուսին միացված բոլոր միավորները կարող են սկսել նոր հաղորդագրություններ ուղարկել: Երբ միանգամից երկու բջիջ սկսում է հաղորդագրություններ ուղարկել, առաջնահերթությունը որոշվում է նույնացուցիչի հիման վրա: ID- ն չի ներկայացնում ուղարկողի նպատակակետի հասցեն, այլ ավտոբուս մուտք գործած հաղորդագրության առաջնահերթությունը: Երբ միանգամից երկու բջիջ սկսում է հաղորդագրություններ ուղարկել, անտոկոս ID- ի յուրաքանչյուր բիթը մեկ առ մեկ արբիտրաժային է: Արբիտրաժում հաղթող ստորաբաժանումը կարող է շարունակել հաղորդագրություններ ուղարկել, իսկ արբիտրաժը կորցրած միավորն անմիջապես դադարում է ուղարկել և ստանալ աշխատանքը:
CAN ավտոբուսը ավտոբուսի հեռարձակման տեսակ է: Սա նշանակում է, որ բոլոր հանգույցները կարող են «լսել» բոլոր փոխանցումները: բոլոր հանգույցներն անփոփոխ կվերցնեն ամբողջ տրաֆիկը: CAN ապարատը ապահովում է տեղական զտում, որպեսզի յուրաքանչյուր հանգույց կարողանա արձագանքել միայն հետաքրքիր հաղորդագրություններին:
Քայլ 3: Շրջանակներ
CAN սարքերը տվյալները փոխանցում են CAN ցանցի միջոցով ՝ շրջանակներ կոչվող փաթեթներով: CAN- ն ունի շրջանակի չորս տեսակ.
- Տվյալների շրջանակ ՝ փոխանցման համար հանգույցի տվյալներ պարունակող շրջանակ
- Հեռակա շրջանակ. Շրջանակ, որը պահանջում է փոխանցել որոշակի նույնացուցիչ
- Սխալների շրջանակ. Սխալ, որը հայտնաբերում է սխալը հայտնաբերող ցանկացած հանգույց
- Overանրաբեռնվածության շրջանակ. Տվյալների կամ հեռավոր շրջանակի միջև ուշացում ներարկելու շրջանակ
Տվյալների շրջանակ
Կան երկու տեսակի տվյալների շրջանակներ `ստանդարտ և ընդլայնված:
Նկարի բիտ դաշտերի իմաստն է.
- SOF - Շրջանակի միայն մեկ գերիշխող սկիզբ (SOF) բիթը նշում է հաղորդագրության սկիզբը և օգտագործվում է անգործությունից հետո ավտոբուսի հանգույցների համաժամացման համար:
- Նույնացուցիչ-Ստանդարտ CAN 11-բիթ նույնացուցիչը սահմանում է հաղորդագրության առաջնահերթությունը: Որքան ցածր է երկուական արժեքը, այնքան բարձր է դրա առաջնահերթությունը:
- RTR - հեռակառավարման փոխանցման մեկ հայցի (RTR) բիթ
- IDE - Գերիշխող մեկ նույնացուցիչի ընդլայնման (IDE) բիթ նշանակում է, որ ստանդարտ CAN նույնացուցիչ է փոխանցվում առանց ընդլայնման:
- R0 - Պահված բիթ (հնարավոր է, որ այն կիրառվի ապագա ստանդարտ փոփոխությամբ):
- DLC-Տվյալների երկարության 4-բիթանոց ծածկագիրը (DLC) պարունակում է փոխանցվող տվյալների բայթերի քանակը:
- Տվյալներ - Մինչև 64 բիթ կիրառական տվյալներ կարող են փոխանցվել:
- CRC-16-բիթանոց (15 բիթ գումարած սահմանազատիչ) ցիկլային ավելորդության ստուգումը (ՀՌԿ) պարունակում է սխալի հայտնաբերման համար նախորդ հայտի տվյալների ստուգման գումարը (փոխանցված բիթերի թիվը):
- ACK – ACK- ը 2 բիթ է, մեկը ճանաչման բիթն է, իսկ երկրորդը ՝ սահմանազատիչը:
- EOF-Այս շրջանակի վերջը (EOF), 7 բիթանոց դաշտը նշում է CAN շրջանակի (հաղորդագրության) ավարտը և անջատում է բիթսեթինգը ՝ նշելով լցոնման սխալը, երբ գերիշխող է: Երբ նորմալ գործողության ընթացքում հաջորդականությամբ առաջանում են միևնույն տրամաբանական մակարդակի 5 բիթ, տվյալների մի փոքր հակառակ տրամաբանական մակարդակը լցվում է տվյալների մեջ:
- IFS-Այս 7 բիթանոց միջերկրային տարածությունը (IFS) պարունակում է այն ժամանակը, որը պահանջվում է վերահսկիչի կողմից ՝ ճիշտ ստացված շրջանակը հաղորդագրությունների բուֆերային տարածքում իր համապատասխան դիրքի տեղափոխելու համար:
Միջնորդ դատարանի որոշում
Ավտոբուսի անգործուն վիճակում այն միավորը, որն առաջինը սկսում է ուղարկել հաղորդագրությունը, ստանում է ուղարկելու իրավունքը: Երբ մի քանի միավոր սկսում են ուղարկել միաժամանակ, յուրաքանչյուր ուղարկող միավոր սկսվում է արբիտրաժային հատվածի առաջին բիթից: Ամենամեծ թվով շարունակական ելքային գերիշխող մակարդակ ունեցող միավորը կարող է շարունակել ուղարկել:
Քայլ 4: Արագություն և հեռավորություն
CAN ավտոբուսը ավտոբուս է, որը միաժամանակ միացնում է բազմաթիվ միավորներ: Տեսականորեն սահմանափակում չկա միացված միավորների ընդհանուր քանակին: Գործնականում, սակայն, միավորների թիվը, որոնք կարող են միացվել, սահմանափակվում է ավտոբուսում ժամանակի հետաձգմամբ և էլեկտրական բեռով: Նվազեցրեք հաղորդակցության արագությունը, ավելացրեք միավորների քանակը, որոնք կարող են միացվել, և բարձրացրեք հաղորդակցության արագությունը, նվազեցվող միավորների թիվը նվազում է:
Հաղորդակցության հեռավորությունը հակադարձ կապ ունի հաղորդակցության արագության հետ, և որքան հեռու է հաղորդակցության հեռավորությունը, այնքան փոքր է հաղորդակցության արագությունը: Ավելի երկար հեռավորությունը կարող է լինել 1 կմ կամ ավելի, բայց արագությունը 40 կմ / վ -ից պակաս է:
Քայլ 5: Սարքավորումներ
Maduino Zero CAN-BUS մոդուլը Makerfabs- ի կողմից մշակված գործիք է CANbus կապի համար, այն հիմնված է Arduino- ի վրա ՝ CAN վերահսկիչով և CAN հաղորդիչով ՝ պատրաստ օգտագործման համար նախատեսված CAN-bus պորտ:
- MCP2515- ը ինքնուրույն CAN վերահսկիչ է, որն իրականացնում է CAN- ի բնութագիրը: Այն ունակ է փոխանցել և ստանալ ինչպես ստանդարտ, այնպես էլ ընդլայնված տվյալներ և հեռակա շրջանակներ:
- MAX3051- ը միանում է CAN արձանագրության վերահսկիչի և վերահսկիչ տարածքի ցանցում (CAN) ավտոբուսային գծերի ֆիզիկական լարերի միջև: MAX3051- ն ապահովում է ավտոբուսին դիֆերենցիալ փոխանցման և CAN վերահսկիչին դիֆերենցիալ ընդունման հնարավորություն:
Քայլ 6: Միացում
DHT11 մոդուլը միացրեք Maduino Zero CAN-BUS մոդուլին լարերով, որոնք կօգտագործվեն որպես CAN հաղորդակցությանը աջակցելու գործիք: Նմանապես, էկրանը միացրեք մոդուլին `տվյալները ստանալու և ցուցադրելու համար:
Maduino Zero CANBUS- ի և DHT11- ի միջև կապը
Maduino Zero CANBUS - DHT11
3v3 ------ VCC GND ------ GND D10 ------ ՏՎՅԱԼՆԵՐ
Maduino Zero CANBUS- ի և OLED- ի միջև կապը
Maduino Zero CANBUS - OLED
3v3 ------ VCC GND ------ GND SCL ------ SCL SDA ------ SDA
Օգտագործեք DB9 մալուխ ՝ երկու Maduino Zero CANBUS մոդուլները միացնելու համար:
Քայլ 7: Կոդ
MAX3051- ն ավարտում է դիֆերենցիալ մակարդակների փոխակերպումը տրամաբանական ազդանշանների: MCP2515- ն ավարտում է CAN գործառույթը, ինչպիսիք են տվյալների կոդավորումը և վերծանումը: MCU- ին անհրաժեշտ է միայն կարգաբերել վերահսկիչը և ուղարկել և ստանալ տվյալներ:
- Github ՝
- Տեղադրված Arduino- ից հետո տախտակին աջակցող փաթեթ չկա (Arduino զրո), որն անհրաժեշտ է տեղադրելու համար:
- Ընտրեք գործիքներ -> Տախտակ -> Տախտակի կառավարիչ, որոնեք «Arduino zero» և տեղադրեք «Arduino SAMD տախտակներ»:
- Ընտրեք Գործիքներ -> Տախտակ -> Arduino Zero (մայրենի USB պորտ), ընտրեք Գործիքներ -> Պորտ -> com…
- GitHub- ից ծրագիրը ստանալուց հետո դուք պետք է համոզվեք, որ բոլոր ֆայլերը գտնվում են նախագծի գրացուցակում, որը պարունակում է գրադարանային ֆայլեր, որոնք աջակցում են CANBUS:
- Տեղադրեք DHT տվիչների գրադարանը Adafruit- ի կողմից, որն օգտագործվում է DHT11- ը քշելու համար ջերմաստիճան և խոնավություն ստանալու համար:
- Test_DHT11.ino ծածկագրում ջերմաստիճանը և խոնավությունը առանձին ուղարկելու համար օգտագործեք տարբեր հասցեներ:
CAN.sendMsgBuf (0x10, 0, stmp1.length (), stmp_send1);
ուշացում (500); CAN.sendMsgBuf (0x11, 0, stmp2.length (), stmp_send2); ուշացում (500);
«0x10» նշանակում է հաղորդագրության ID, «0» ՝ միջին ստանդարտ շրջանակ, «stmp1.length ()» ՝ հաղորդագրության երկարություն, «stmp_send1» ՝ ուղարկված տվյալներ:
- Test_OLED.ino ծածկագրում CANBUS- ի բոլոր հաղորդագրությունները ստացվում են հարցման միջոցով և պահանջվող տեղեկատվությունը ցուցադրվում է OLED- ում:
- Վերբեռնեք Maduino-CANbus-RS485/Test_DHT11_OLED/Test_DHT11/Test_DHT11.ino ծրագիրը սենսորին միացված մոդուլում և վերբեռնեք Maduino-CANbus RS485/Test_DHT11_OLED/Test_OLED/Test_OLED.ino մոդուլին:
Քայլ 8: Showույց տալ
Երկու մոդուլների միացում, ջերմաստիճան և խոնավություն կցուցադրվեն էկրանին:
Խորհուրդ ենք տալիս:
VM Ware- ի տեղադրում Windows- ի համար ձեռնարկ. 11 քայլ
VM Ware- ի տեղադրում Windows- ի համար ձեռնարկ. VM Ware- ը ծրագրային ապահովում է, որը հնարավորություն է տալիս ուսանողներին անլար մուտք գործել իրենց դպրոցական համակարգիչ ՝ իրենց անձնական համակարգչից: Այս ձեռնարկը կանդրադառնա, թե ինչպես ճիշտ տեղադրել VM Ware- ը Windows համակարգիչների վրա: Այս նախագծի հետ համատեղ. Smith, Bernad
LED պարզ բևեռայնությունը որոշելու 5 պարզ եղանակ. 6 քայլ (նկարներով)
LED- ի բևեռականությունը որոշելու 5 պարզ եղանակ. LED- ները, հավանաբար, ամենից շատ դուր եկած տարրերն են բոլոր սկսնակների համար, գուցե նույնիսկ բոլորի համար, ովքեր ներգրավված են էլեկտրոնիկայի նախագծերում: Դրանք ճիշտ օգտագործելու ամենակարևոր գործոններից է դրանք այնպես, ինչպես պետք է կապել: Իհարկե, սովորաբար պետք է նորից օգտագործել
Պարզ պաստառներ `օգտագործելով լուսանկարչություն և շերտերի համադրություն - Photoshop ձեռնարկ: 5 քայլ
Պարզ պաստառ `օգտագործելով լուսանկարչություն և շերտերի համադրություն - Photoshop ձեռնարկ: Կատարեք տեսողականորեն ցնցող պաստառ` օգտագործելով պարզ տեխնիկա Photoshop- ի ներսում: oneանկացած մարդ կարող է այսպիսի լավ պաստառ պատրաստել, և դա շատ ավելի հեշտ է, քան դուք կարող եք մտածել: Այսպիսով, առաջին հերթին առաջինը գնացեք -Ֆայլ > New Սահմանեք ձեր լայնությունը և բարձրությունը պիքսելների վրա և սահմանեք մինչև
Պարզ շտկումներ Timbuktu- ի ճանապարհորդական պայուսակի համար V.1, հեծանվավազքի համար. 3 քայլ
Պարզ շտկումներ Timbuktu Commute Bag- ի համար V.1, հեծանվավազքի համար. Որպես Timbuktu պայուսակի երկրպագու ՝ սովորություն ունեմ մոտենզի պայուսակում նոթբուքով մոտոցիկլետ վարել, երբ նրանք դուրս եկան ճանապարհորդական պայուսակով, ես «կատարյալ» համարեցի և մեկն առցանց պատվիրեցի: Կարծում էի, որ դա հիանալի կլինի: Բայց երբ ես դա ստացա, ես ցնցվեցի և սարսափեցի
Պարզ խնձորագրության ձեռնարկ ՝ 13 քայլ
Applescript- ի պարզ ձեռնարկ. Բարև բոլորին: Ահա մի պարզ Applescript ձեռնարկ ՝ բացվող երկխոսություններ պատրաստելու համար: *** ԹԱՐՄԱ ***Ո ***Մ *** 4/13/10 թարմացումը ներառում է երեք նոր սցենարներ և ինչպես պահել դրանք: Հատուկ շնորհակալություն Marble of Doom- ին առաջին նորի համար: