Բովանդակություն:
- Պարագաներ
- Քայլ 1: Հաղորդիչ հաղորդիչի միացում
- Քայլ 2. Կարդալ և գրել CAN ավտոբուսին
- Քայլ 3: Հանգույցների միացում
- Քայլ 4: Կատարեք PCB
- Քայլ 5. Խորհրդի ընդլայնում
- Քայլ 6. Պատվիրեք ձեր PCB- ները JLCPCB- ից
- Քայլ 7: Ստացեք ձեր տախտակները:
Video: STM32 CAN ինտերֆեյս `7 քայլ
2024 Հեղինակ: John Day | [email protected]. Վերջին փոփոխված: 2024-01-30 09:47
Controller Area Network ավտոբուսը կամ CAN ավտոբուսը շատ արդյունավետ հաղորդակցման արձանագրություն է `շնորհիվ իր բարձր արագության հնարավորությունների, երկար հեռահար հուսալիության և աղմուկի անձեռնմխելիության: Այս պատճառներով, CAN հաղորդակցությունը դարձել է չափանիշ ավտոմոբիլային տեխնոլոգիաների և բարձր աղմուկի միջավայրում: CAN ավտոբուսի սարքերը կոչվում են հանգույցներ: CAN ավտոբուսի բոլոր հանգույցները միացված են զուգահեռաբար, ինչը նշանակում է, որ յուրաքանչյուր հանգույց միացված է ցանցի մյուս բոլոր հանգույցներին: CAN- ի մեկ ավտոբուսը կարող է ունենալ միանգամից մինչև 115 հանգույց ՝ կախված հաղորդագրության փոխանցման արագությունից, սակայն ծրագրերի մեծ մասի համար խորհուրդ է տրվում ունենալ մինչև 32 սարք: Առաջարկվում է նաև առաջին և վերջին հանգույցների միջև երկարությունը պահել 40 մետրից պակաս հեռավորության վրա:
Այս քայլ առ քայլ ձեռնարկը ցույց կտա ձեզ, թե ինչպես կարելի է կարգավորել CAN հանգույց ՝ օգտագործելով STM32 միկրոկառավարիչը, ներառյալ միացումն ու պարզ C կոդը ՝ CAN ավտոբուսին կարդալու և գրելու համար:
Պարագաներ
Յուրաքանչյուր CAN հանգույցի համար.
- 1x STM32 ճեղքման տախտակ (Nucleo, Blue Pill և այլն)
- 1x MCP2551 CAN հաղորդիչ IC
- 1x 0.1 μF կոնդենսատոր
- 1x 120Ω դիմադրություն
- 1x 1kΩ դիմադրություն
- 1+ ընթեռնելի մուտք (կոճակ, անջատիչ, պոտենցիոմետր և այլն) կամ ելք (LED, MOSFET և այլն)
- 1x Dsub9 միակցիչ
Քայլ 1: Հաղորդիչ հաղորդիչի միացում
CAN ավտոբուսի հետ շփվելու համար մենք կօգտագործենք MCP2551 CAN ստացողի IC- ն: IC- ն հանդես է գալիս որպես միջանկյալ հաղորդիչ/ընդունիչ զույգ `STM32- ը CAN ավտոբուսին միացնելու համար: Այս IC- ն ստեղծելու սխեման բավականին պարզ է, բայց պետք է նշել մի քանի բան.
-
MCP2551 չիպի CAN_RX (PIN 4) և CAN_TX (PIN 1) կարող են անցնել միայն STM32- ի որոշակի կապում:
- STM32F1 Nucleo- ում միացրեք RX տողը PB8 կապին և TX գիծը PB9 կապին:
- STM32F1 կապույտ հաբի վրա միացրեք RX- ը PA11 կապին, իսկ TX- ը ՝ PA12 կապին:
- Նկատի ունեցեք, որ այս կապի առաջադրանքներն ունեն այլընտրանքներ: Դիտեք միկրոկառավարիչի ձեռնարկները `որոշելու համար, թե որ կապերն են ունակ CAN_RD և CAN_TD
- Եթե օգտագործում եք Arduino կամ տախտակ ՝ առանց ներկառուցված CAN հաղորդիչի, MCP2515 IC չիպը կպահանջվի ՝ այլ հաղորդագրությունների արձանագրությունները CAN փոխարկելու համար:
- CANL կապը պետք է միացված լինի մյուս ավտոբուսային հանգույցների մյուս CANL կապերին: Նույնը վերաբերում է CANH կապումներին:
- 120Ω ռեզիստորը CANH և CANL կապերի միջով պահանջվում է միայն այն դեպքում, երբ հանգույցը տերմինալ հանգույց է: Սա նշանակում է, որ այն գտնվում է զուգահեռ միացման լարերի վերջում: Այլ կերպ ասած, CAN ավտոբուսը պետք է ունենա ընդամենը երկու 120Ω դիմադրություն, և դրանք պետք է հնարավորինս հեռու լինեն միմյանցից:
- Ի վերջո, RS- ի վրա 1kΩ ռեզիստորը (փին 8) կարող է փոխանակվել 10kΩ ռեզիստորի հետ `CAN հաղորդագրության բիթերի բարձրացման/ընկնելու ժամանակը վերահսկելու համար: Լրացուցիչ մանրամասների համար դիմեք MCP2551 չիպերի տվյալների թերթին:
Քայլ 2. Կարդալ և գրել CAN ավտոբուսին
Այժմ, երբ հաղորդիչի միացումը միացված է STM32- ին, մենք կարող ենք սկսել հաղորդագրություններ գրել CAN ավտոբուսին: Այս ուսանելի ուղեցույցը չի խորանա STM32 ծածկագրի մեջ: Այնուամենայնիվ, անպայման ստուգեք մեր ծածկագիրը օրինակների համար այստեղ: STM32- ը որպես CAN հանգույց օգտագործելու համար կպահանջվի CAN վերնագրի ֆայլ: Մենք գրել ենք մեր սեփականը, որը կարելի է գտնել մեր github- ում այստեղ: Այստեղ մենք կարճ ակնարկ կտանք կարդալու/գրելու գործընթացի վերաբերյալ:
CAN ավտոբուսից կարդալու համար նախ պետք է իմանալ CAN հաղորդագրության ID- ն: Յուրաքանչյուր հաղորդագրություն պետք է ունենա յուրահատուկ ID, ավելի ցածր առաջնահերթություններ ունեն ավելի բարձր առաջնահերթություն: Այստեղ ցուցադրված կոդի հատվածը սպասում է CAN հաղորդագրությանը ՝ 0x622 ID- ով: Մեր համակարգում, եթե 6 -րդ բայտի առաջին բիթը բարձր է, ապա մենք ցանկանում ենք բարձր A10 սահմանել:
CAN հաղորդագրություն գրելիս պետք է հիշել, որ CAN հաղորդագրությունները բազմաբայթ են: Յուրաքանչյուր գրավոր հաղորդագրություն պետք է ունենա ID և երկարություն: Shownուցադրված ծածկագրի երկրորդ հատվածում մենք գրում ենք տվյալներ յուրաքանչյուր բայթ, այնուհետև ուղարկում ենք հաղորդագրությունը (ID- ն և երկարության պարամետրերը ավելի վաղ սահմանված են ծածկագրում):
Քայլ 3: Հանգույցների միացում
Մի քանի CAN հանգույց միացնելիս պետք է ուշադիր ուշադրություն դարձնել մալուխների երկարությանը: Երկու ամենահեռավոր հանգույցները կարող են միմյանցից մինչև 40 մ հեռավորության վրա: Ավտոբուսին միացնող միջին հանգույցները պետք է լինեն հիմնական ավտոբուսային գծերից 50 սմ հեռավորության վրա:
CAN կապերը հետևում են Dsub9 միակցիչ օգտագործելու արդյունաբերական ստանդարտին ՝ 2 -րդ կապում CANL գծով և pin7- ով CANH գծով: CANGND տողը կարող է անցնել 3 -րդ կապում:
Քայլ 4: Կատարեք PCB
PCB- ի վրա CAN ազդանշանները ուղղորդելիս հիշեք, որ CAN- ը դիֆերենցիալ ազդանշան է, և, հետևաբար, CANH- ի և CANL- ի երթուղու ուղեցույցներին պետք է ուշադիր հետևել:
Քայլ 5. Խորհրդի ընդլայնում
Մի քանի այլ հանգույց միասին հավաքեք, ավելացրեք որոշ մուտքեր/ելքեր և միացրեք նրանց բոլոր CANH և CANL կապերը: Նկատի ունեցեք, որ յուրաքանչյուր STM32 կամ այլ միկրոկոնտրոլեր պահանջում է իր սեփական MCP2551 չիպը. դրանք չեն կարող կիսվել:
Ասելով դա ՝ փորձեք ձեր PCB- ները փոքր պահել այստեղ ցուցադրվածից
Քայլ 6. Պատվիրեք ձեր PCB- ները JLCPCB- ից
JLCPCB- ն առաջարկում է արագ, բարձրորակ ծառայություններ շատ մատչելի գներով: Ստացեք 5 տախտակ, ցանկացած գույնի տոննա հարմարեցմամբ, ընդամենը 2 դոլարով: Եվ եթե դա ձեր առաջին պատվերն է, ձեռք բերեք 10 տախտակ նույն գնով:
Պարզապես վերբեռնեք ձեր գերբերները և ստացեք ակնթարթային մեջբերում: Ներկայացրեք ձեր պատվերը, և ձեր տախտակները կվերանայվեն արտադրության համար մեկ ժամվա ընթացքում: Վճարելուց հետո կարող եք ակնկալել ձեր բարձրորակ տախտակները երեք օրից:
Ստուգեք այստեղ
Քայլ 7: Ստացեք ձեր տախտակները:
Հսկայական աղաղակ JLCPCB- ին `այս նախագիծը հովանավորելու համար: JLCPCB (ShenzhenJLC Electronics Co., Ltd.), Չինաստանում PCB- ի նախատիպի խոշորագույն ձեռնարկությունն է և բարձր տեխնոլոգիական արտադրող, որը մասնագիտացած է PCB- ի արագ նախատիպավորման և փոքր խմբաքանակի PCB- ի արտադրության մեջ: Նրանք բավականաչափ բարի էին UBC Solar- ին տրամադրելու մեր նոր PCB- ները մեր արևային էներգիայով աշխատող մրցարշավի մեքենայի համար: Մենք պատվիրեցինք ուրբաթ օրը, իսկ չորեքշաբթի ստացանք տախտակները:
Խորհուրդ ենք տալիս:
Ինտերֆեյս LCD էկրանով M4 Ներառում `5 քայլ
Ինտերֆեյս LCD էկրանով M4 Ներառում. Այս ձեռնարկը թույլ կտա մեզ վերահսկել մեր սմարթֆոնից Wi-Fi- ի միջոցով ցուցադրվող LCD էկրանը: Եթե վարորդական կենտրոն չունենք, կարող ենք օգտագործել arduino- ն, բայց Drivemall- ի զարգացման հղումից ներքև: Drivemall- ը գերադասելով դասարանից
Ինտերֆեյս LM35 ջերմաստիճանի տվիչ Arduino- ի հետ. 4 քայլ
Interfacing LM35 ջերմաստիճանի տվիչ Arduino- ի հետ. Rmերմաչափերը օգտակար սարք են, որոնք երկար ժամանակ օգտագործվում են ջերմաստիճանի չափման համար: Այս նախագծում մենք պատրաստել ենք Arduino- ի վրա հիմնված թվային ջերմաչափ, որը ցուցադրում է շրջակա միջավայրի ներկա ջերմաստիճանը և ջերմաստիճանի փոփոխությունները LCD- ով: Այն կարող է խորանալ
8051 Ինտերֆեյս DS1307 RTC- ի հետ և LCD- ում ժամանակացույցի ցուցադրում. 5 քայլ
8051 DS1307 RTC- ի հետ փոխազդեցություն և LCD- ում ժամանակացույցի ցուցադրում. Այս ձեռնարկում մենք ձեզ բացատրել ենք, թե ինչպես կարող ենք 8051 միկրոկառավարիչին միացնել ds1307 RTC- ին: Այստեղ մենք ցուցադրում ենք RTC ժամանակը lcd- ում ՝ օգտագործելով proteus սիմուլյացիա
Jammarduino DUE - DIY համակարգչից մինչև Jamma ինտերֆեյս Արկադային պահարանների համար. 6 քայլ
Jammarduino DUE - DIY PC to Jamma Interface for Arcade Cabinets. Այս ուսանելի ծրագիրը ցույց կտա ձեզ, թե ինչպես ստեղծել պարզ վահան Arduino- ի համար DUE ՝ ձեր համակարգչին ցածր լուծաչափով CRT և jamma միակցիչով իսկական արկադային մեքենա միացնելու համար: Վահանի հիմնական նպատակներն են. տեսանյութից դուրս եկող տեսազանգը ուժեղացնելու համար
MIDI Քայլ ինտերֆեյս (versión En Español) ՝ 12 քայլ
MIDI Step Interface (versión En Español): Ambos modos operados con los pies! Antecede