Sisukord:
- Tarvikud
- Samm: transiiveri ahel
- 2. samm: lugemine ja kirjutamine CAN -siinile
- Samm: sõlmede ühendamine
- Samm: valmistage trükkplaat
- Samm: juhatuse laiendamine
- Samm: tellige oma PCBd JLCPCB -st
- Samm: hankige oma lauad
Video: STM32 CAN -liides: 7 sammu
2024 Autor: John Day | [email protected]. Viimati modifitseeritud: 2024-01-30 08:47
Controller Area Network buss ehk CAN -siin on tänu oma suure kiirusega võimalustele, töökindlusele ja mürakindlusele väga tõhus sideprotokoll. Nendel põhjustel on CAN -side muutunud autotööstuse tehnoloogiate ja kõrge müratasemega keskkonnas standardiks. CAN -siinil olevaid seadmeid nimetatakse sõlmedeks. Kõik CAN -siinil olevad sõlmed on ühendatud paralleelselt, mis tähendab, et iga sõlm on ühendatud kõigi teiste võrgu sõlmedega. Ühel CAN -siinil võib olenevalt sõnumi edastamise kiirusest olla kuni 115 sõlme korraga, kuid enamiku rakenduste puhul on soovitatav omada kuni 32 seadet. Samuti on soovitatav hoida esimese ja viimase sõlme vaheline kaugus üksteisest alla 40 meetri.
See samm-sammuline õpetus näitab teile, kuidas seadistada CAN-sõlme STM32 mikrokontrolleri abil, sealhulgas ahel ja lihtne C-kood CAN-siinile lugemiseks ja kirjutamiseks
Tarvikud
Iga CAN -sõlme kohta:
- 1x STM32 purunemisplaat (Nucleo, Blue Pill, teised)
- 1x MCP2551 CAN transiiver IC
- 1x 0,1 µF kondensaator
- 1x 120Ω takisti
- 1x 1kΩ takisti
- 1+ loetav sisend (nupp, lüliti, potentsiomeeter jne) või väljund (LED, MOSFET jne)
- 1x Dsub9 pistik
Samm: transiiveri ahel
CAN -siiniga suhtlemiseks kasutame MCP2551 CAN transiiverit IC. IC toimib vahepealse saatja/vastuvõtja paarina, et ühendada STM32 CAN -siiniga. Selle IC seadistamise ahel on üsna lihtne, kuid tuleb märkida mõnda asja:
-
MCP2551 kiibil olevad CAN_RX (tihvt 4) ja CAN_TX (tihvt 1) saavad minna ainult STM32 teatud tihvtidele.
- Ühendage STM32F1 Nucleo seadmel RX -liin tihvtiga PB8 ja TX -liin tihvtiga PB9.
- Sinisel pillil STM32F1 ühendage RX tihvtiga PA11 ja TX tihvtiga PA12.
- Pange tähele, et nendel tihvtide määramistel on alternatiive. Vaadake mikrokontrolleri käsiraamatutest, millised tihvtid on võimelised CAN_RD ja CAN_TD jaoks
- Kui kasutate Arduinot või tahvlit, millel pole sisseehitatud CAN -kommunikaatorit, on muude sõnumiprotokollide teisendamiseks CAN -iks vaja MCP2515 IC -kiipi.
- CANL -tihvt tuleks ühendada teiste siinisõlmede teiste CANL -tihvtidega. Sama kehtib ka CANH -tihvtide kohta.
- 120Ω takisti CANH- ja CANL -tihvtide vahel on vajalik ainult siis, kui sõlm on terminalisõlm. See tähendab, et see on paralleelühenduse juhtmestiku lõpus. Teisisõnu, CAN -siinil peaks olema ainult kaks 120Ω takistit ja need peaksid olema üksteisest võimalikult kaugel.
- Lõpuks saab RS -i 1 kΩ takisti (tihvt 8) vahetada 10 kΩ takisti vastu, et juhtida CAN -teatebittide tõusu/languse aega. Lisateavet leiate kiibi MCP2551 andmelehelt.
2. samm: lugemine ja kirjutamine CAN -siinile
Nüüd, kui transiiveri ahel on ühendatud STM32 -ga, saame hakata sõnumeid kirjutama CAN -siinile. See juhendatav juhend ei süvene STM32 koodi põhjalikult. Siiski vaadake kindlasti meie näiteid siit. STM32 kasutamine CAN -sõlmena nõuab CAN -päisefaili. Kirjutasime oma, mille leiate meie githubist siit. Siinkohal anname lühikese ülevaate lugemis-/kirjutamisprotsessist.
CAN -siinist lugemiseks peame kõigepealt teadma CAN -sõnumi ID -d. Igal sõnumil peab olema unikaalne ID, madalamate ID -de prioriteet on kõrgem. Siin näidatud koodilõik ootab CAN -sõnumit ID -ga 0x622. Kui meie süsteemis on kuuenda baidi esimene bit kõrge, tahame pin A10 kõrgeks seada.
CAN-sõnumit kirjutades peame meeles pidama, et CAN-sõnumid on mitmebaidised. Igal kirjalikul sõnumil peab olema ID ja pikkus. Näidatud teises koodilõigus kirjutame andmed iga baiti, seejärel saadame sõnumi (ID ja pikkuse parameetrid on koodis varem määratletud).
Samm: sõlmede ühendamine
Mitme CAN -sõlme ühendamisel tuleb hoolikalt jälgida kaablite pikkust. Kaks kõige kaugemat sõlme võivad üksteisest olla kuni 40 m kaugusel. Bussiga ühendavad keskmised sõlmed peaksid jääma põhibussiliinidest 50 cm kaugusele.
CAN -ühendused järgivad tööstusstandardit Dsub9 -pistiku kasutamisel, mille CANL -liin on tihvti 2 ja CANH -liini tihvti 7 juures. Valik CANGND rida võib minna tihvti 3 külge.
Samm: valmistage trükkplaat
CAN -signaalide PCB -l marsruutimisel pidage meeles, et CAN on diferentsiaalsignaal ja seega tuleb CANH -i ja CANL -i marsruutimisjuhiseid hoolikalt järgida.
Samm: juhatuse laiendamine
Visake veel mõned sõlmed kokku, lisage mõned sisendid/väljundid ja ühendage kõik nende CANH- ja CANL -kontaktid. Pange tähele, et iga STM32 või muu mikrokontroller vajab oma MCP2551 kiipi; neid ei saa jagada.
Sellegipoolest proovige hoida oma PCB -d väiksemad kui siin näidatud
Samm: tellige oma PCBd JLCPCB -st
JLCPCB pakub kiiret ja kvaliteetset teenust väga mõistlike hindadega. Hankige 5 tahvlit, mis tahes värvi koos paljude kohandustega, ainult 2 dollari eest! Ja kui see on teie esimene tellimus, hankige 10 lauda sama hinnaga!
Lihtsalt laadige oma gerberid üles ja hankige kohe hinnapakkumine! Esitage oma tellimus ja teie lauad vaadatakse tunni jooksul üle. Kui olete tasunud, võite oma kvaliteetseid tahvleid oodata juba kolme päeva pärast!
Vaadake seda siit
Samm: hankige oma lauad
Tohutu hüüd JLCPCB -le selle projekti toetamise eest. JLCPCB (ShenzhenJLC Electronics Co., Ltd.) on Hiina suurim PCB prototüüpide ettevõte ja kõrgtehnoloogiline tootja, mis on spetsialiseerunud PCB kiirele prototüüpimisele ja väikese partiiga PCB tootmisele. Nad olid piisavalt lahked, et pakkuda UBC Solarile meie uusi PCB-sid meie päikeseenergial töötavale võidusõiduautole. Tellisime reedel ja lauad saime kätte kolmapäeval!
Soovitan:
Võimas digitaalne vahelduvvoolu dimmer STM32 abil: 15 sammu (piltidega)
Võimas digitaalne vahelduvvoolu hämardaja, kasutades STM32: Hesam Moshiri, [email protected] AC koormused elavad koos meiega! Kuna neid on kõikjal meie ümber ja vähemalt kodutehnika saab toitevõrku. Mitut tüüpi tööstusseadmeid toidetakse ka ühefaasilise 220V-vahelduvvooluga
STONE Display +STM32 +kohvimasin: 6 sammu
STONE Display +STM32 +kohvimasin: Olen MCU tarkvarainsener, hiljuti sain projekti, et kavatsen olla kohvimasin, majapidamisnõuded puutetundliku ekraaniga, funktsioon on hea, ekraani valik ei pruugi olla väga hea, Õnneks suudan selle projekti tühistada
Alustage STM32 arendamist Linuxis: 4 sammu
Alustage STM32 arendamist Linuxis: selles juhendis näitan teile, kui lihtne on alustada STM32 programmide arendamist Linuxis. Alustasin Linuxi kasutamist peamasinaga 2 aastat tagasi ja pole alt vedanud. Kõik töötab kiiremini ja paremini kui aknad. Muidugi on les
STM32 "Sinine pill" Progmaming Arduino IDE ja USB kaudu: 8 sammu
STM32 "Sinine pill" Progmaming Arduino IDE ja USB kaudu: STM32F üldise prototüüpplaadi (st sinise pilli) võrdlemine selle Arduino vastasega on lihtne näha, kui palju ressursse tal on, mis avab palju uusi võimalusi IOT -projektide jaoks. miinused on selle toetuse puudumine. Tegelikult mitte tõesti
1. osa ARM -i kokkupanek TI RSLK robootikaõppe õppekava labor 7 STM32 Nucleo: 16 sammu
1. osa ARM Assamblee TI RSLK Robootikaõppe õppekava 7. STM32 Nucleo: Selle juhendi fookuses on STM32 Nucleo mikrokontroller. Motivatsioon selleks, et oleks võimalik paljastest luudest koostamisprojekt luua. See aitab meil süveneda ja mõista MSP432 käivitusplaadi projekti (TI-RSLK), millel on