Kazalo:
- Zaloge
- 1. korak: Oddajniško vezje
- 2. korak: Branje in pisanje na vodilo CAN
- 3. korak: Povezovanje vozlišč
- 4. korak: Naredite tiskano vezje
- 5. korak: razširitev deske
- 6. korak: Naročite svoje tiskane vezje pri JLCPCB
- 7. korak: Pridobite svoje deske
Video: Vmesnik STM32 CAN: 7 korakov
2024 Avtor: John Day | [email protected]. Nazadnje spremenjeno: 2024-01-30 12:04
Vodilo omrežja krmilnika ali vodilo CAN je zaradi svojih zmogljivosti visoke hitrosti, zanesljivosti na dolge razdalje in odpornosti proti hrupu zelo učinkovit komunikacijski protokol. Zaradi tega je komunikacija CAN postala standard v avtomobilskih tehnologijah in okoljih z visokim hrupom. Naprave na vodilu CAN se imenujejo vozlišča. Vsa vozlišča na vodilu CAN so povezana vzporedno, kar pomeni, da je vsako vozlišče povezano z vsemi drugimi vozlišči v omrežju. Eno vodilo CAN ima lahko do 115 vozlišč hkrati, odvisno od hitrosti prenosa sporočil, vendar je za večino aplikacij priporočljivo imeti do 32 naprav. Priporočljivo je tudi, da je razdalja med prvim in zadnjim vozliščem na razdalji manj kot 40 metrov.
Ta vadnica po korakih vam bo pokazala, kako z mikrokrmilnikom STM32 nastaviti vozlišče CAN, vključno s vezjem in preprosto kodo C za branje in pisanje na vodilo CAN
Zaloge
Za vsako vozlišče CAN:
- 1x prelomna plošča STM32 (Nucleo, Blue Pill, drugo)
- 1x IC oddajnik MCP2551 CAN
- 1x 0,1 μF kondenzator
- 1x 120Ω upor
- 1x 1 kΩ upor
- 1+ berljiv vhod (gumb, stikalo, potenciometer itd.) Ali izhod (LED, MOSFET itd.)
- 1x priključek Dsub9
1. korak: Oddajniško vezje
Za komunikacijo z vodilom CAN bomo uporabili IC oddajnik IC MCP2551 CAN. IC deluje kot vmesni par oddajnik/sprejemnik za povezavo STM32 z vodilom CAN. Vezje za nastavitev tega IC je precej preprosto, vendar je treba opozoriti na nekaj stvari:
-
CAN_RX (pin 4) in CAN_TX (pin 1) na čipu MCP2551 lahko preideta samo na določene nožice na STM32.
- Na STM32F1 Nucleo priključite linijo RX na pin PB8 in linijo TX na pin PB9.
- Na modri tabletki STM32F1 priključite RX na pin PA11 in TX na pin PA12.
- Upoštevajte, da imajo te dodelitve pinov alternative. Oglejte si priročnike za mikrokrmilnik, da ugotovite, kateri zatiči so sposobni CAN_RD in CAN_TD
- Če uporabljate Arduino ali ploščo brez vgrajenega komunikatorja CAN, bo za pretvorbo drugih protokolov sporočil v CAN potreben čip MCP2515 IC.
- Zatič CANL je treba povezati z drugimi zatiči CANL drugih vozlišč vodila. Enako velja za zatiče CANH.
- Upor 120Ω preko zatičev CANH in CANL je potreben le, če je vozlišče terminalno vozlišče. To pomeni, da je na koncu vzporednega ožičenja. Z drugimi besedami, vodilo CAN mora imeti v sebi le dva upora 120Ω in morata biti čim bolj oddaljena drug od drugega.
- Nazadnje, 1kΩ upor na RS (pin 8) lahko zamenjamo za 10kΩ upor za nadzor časa vzpona/padca sporočilnih bitov CAN. Za več podrobnosti glejte podatkovni list čipa MCP2551.
2. korak: Branje in pisanje na vodilo CAN
Zdaj, ko je vezje oddajnika povezano s STM32, lahko začnemo pisati sporočila na vodilo CAN. Ta priročnik z navodili ne bo poglabljal kode STM32. Vsekakor pa si oglejte primere naše kode tukaj. Če uporabljate STM32 kot vozlišče CAN, boste potrebovali datoteko glave CAN. Napisali smo svojega, ki ga najdete na našem githubu tukaj. Tukaj bomo dali kratek pregled procesa branja/pisanja.
Za branje iz vodila CAN moramo najprej poznati ID sporočila CAN. Vsako sporočilo mora imeti edinstven ID z nižjimi ID -ji z višjo prednostjo. Tu prikazani delček kode čaka na sporočilo CAN z ID 0x622. V našem sistemu, če je prvi bit šestega bajta visok, želimo pin A10 nastaviti visoko.
Pri pisanju sporočila CAN se moramo spomniti, da so sporočila CAN večbajtna. Vsako pisno sporočilo mora imeti ID in dolžino. V drugi prikazani delček kode zapišemo podatke v vsak bajt, nato pošljemo sporočilo (ID in parametri dolžine so opredeljeni prej v kodi).
3. korak: Povezovanje vozlišč
Pri priključitvi več vozlišč CAN je treba posebno pozornost nameniti dolžini kablov. Dva najbolj oddaljena vozlišča sta lahko med seboj oddaljena do 40 m. Srednja vozlišča, ki povezujejo avtobus, morajo biti znotraj 50 cm od glavnih avtobusnih linij.
Povezave CAN sledijo industrijskemu standardu uporabe priključka Dsub9 z linijo CANL na nožici 2 in linijo CANH na nožici 7. Možnost CANGND line lahko gre na pin 3.
4. korak: Naredite tiskano vezje
Ko usmerjate signale CAN na tiskano vezje, ne pozabite, da je CAN diferencialni signal, zato je treba skrbno upoštevati smernice usmerjanja za CANH in CANL.
5. korak: razširitev deske
Združite še nekaj vozlišč, dodajte nekaj vhodov/izhodov in povežite vse njihove zatiče CANH in CANL. Upoštevajte, da vsak STM32 ali drug mikrokrmilnik potrebuje svoj čip MCP2551; jih ni mogoče deliti.
Ob tem poskusite ohraniti svoje PCB manjše od prikazanega tukaj
6. korak: Naročite svoje tiskane vezje pri JLCPCB
JLCPCB ponuja hitre, visoko kakovostne storitve po zelo ugodnih cenah. Pridobite 5 plošč, katere koli barve s številnimi prilagoditvami, za samo 2 USD! In če je vaše prvo naročilo, dobite 10 desk za isto ceno!
Prenesite svoje gerberje in takoj dobite ponudbo! Predložite svoje naročilo in vaše plošče bodo pregledane za proizvodnjo v eni uri. Ko boste plačali, lahko pričakujete svoje visoko kakovostne plošče v treh dneh!
Preverite tukaj
7. korak: Pridobite svoje deske
Velika zahvala JLCPCB za sponzorstvo tega projekta. JLCPCB (ShenzhenJLC Electronics Co., Ltd.), je največje podjetje za izdelavo prototipov PCB na Kitajskem in visokotehnološki proizvajalec, specializiran za hitro izdelavo prototipov PCB in proizvodnjo majhnih PCB. Bili so prijazni, da so UBC Solarju dali nove PCB-je za naš dirkalnik na sončno energijo. Naročilo smo oddali v petek, deske pa dobili v sredo!
Priporočena:
Jammarduino DUE - vmesnik DIY PC to Jamma za arkadne omare: 6 korakov
Jammarduino DUE - DIY PC to Jamma Interface za arkadne omare: Ta navodila vam bodo pokazala, kako ustvariti preprost ščit za Arduino DUE za povezavo pravega arkadnega stroja z CRT nizko ločljivostjo in jamma priključkom na vaš računalnik. za ojačanje video signala, ki prihaja iz videa
Vmesnik ultrazvočnega merilnega modula HC-SR04 z Arduinom: 5 korakov
Vmesnik ultrazvočnega merilnega modula HC-SR04 z Arduinom: Hej, kaj je, fantje! Akarsh tukaj iz CETech -a. Ta moj projekt je nekoliko preprostejši, a zabaven kot drugi projekti. V tem projektu bomo povezali vmesnik ultrazvočnega senzorja razdalje HC-SR04. Ta modul deluje generatin
Vmesnik Arduino Mega z modulom GPS (Neo-6M): 8 korakov
Vmesnik Arduino Mega z modulom GPS (Neo-6M): V tem projektu sem pokazal, kako povezati modul GPS (Neo-6M) z Arduino Mega. Knjižnica TinyGPS se uporablja za prikaz podatkov o zemljepisni dolžini in širini, TinyGPS ++ pa za prikaz zemljepisne širine, dolžine, nadmorske višine, hitrosti in števila satelitov
Kako začeti z vmesnikom senzorja I2C ?? - Vmesnik vašega MMA8451 z uporabo ESP32: 8 korakov
Kako začeti z vmesnikom senzorja I2C ?? - Vmesnik vašega MMA8451 z uporabo ESP32: V tej vadnici boste izvedeli vse o tem, kako zagnati, povezati in dobiti napravo I2C (merilnik pospeška), ki deluje s krmilnikom (Arduino, ESP32, ESP8266, ESP12 NodeMCU)
Arduino PS/2 vmesnik USB: 7 korakov (s slikami)
Adapter Arduino PS/2 na USB: Ste kdaj želeli uporabiti svojo staro tipkovnico PS/2 s prenosnikom ali novim namiznim računalnikom in ugotovili, da nimajo več vrat PS/2? In potem, namesto da bi šel kupiti poceni adapter PS/2 na USB, kot bi to naredil navaden človek, je hotel uporabiti tvoj Arduin