Sadržaj:
- Supplies
- Korak 1: Krug primopredajnika
- Korak 2: Čitanje i pisanje na CAN sabirnicu
- Korak 3: Povezivanje čvorova
- Korak 4: Napravite PCB
- Korak 5: Proširenje ploče
- Korak 6: Naručite svoje štampane ploče od JLCPCB -a
- Korak 7: Uzmite svoje ploče
Video: STM32 CAN sučelje: 7 koraka
2024 Autor: John Day | [email protected]. Zadnja izmjena: 2024-01-30 08:06
Mrežna sabirnica kontrolera ili CAN sabirnica vrlo je učinkovit komunikacijski protokol zahvaljujući mogućnostima velike brzine, pouzdanosti na velikom dometu i otpornosti na buku. Iz tih razloga, CAN komunikacija postala je standard u automobilskim tehnologijama i okruženjima s velikom bukom. Uređaji na CAN sabirnici nazivaju se čvorovima. Svi čvorovi na CAN sabirnici povezani su paralelno, što znači da je svaki čvor povezan sa svim ostalim čvorovima na mreži. Jedna CAN sabirnica može imati do 115 čvorova odjednom, ovisno o brzini prijenosa poruke, ali za većinu aplikacija preporučuje se imati do 32 uređaja. Također se preporučuje da udaljenost između prvog i posljednjeg čvora bude udaljena manje od 40 metara.
Ovaj korak-po-korak vodič će vam pokazati kako postaviti CAN čvor pomoću STM32 mikrokontrolera, uključujući krug i jednostavan C kod za čitanje i pisanje na CAN sabirnicu
Supplies
Za svaki CAN čvor:
- 1x ploča za razbijanje STM32 (Nucleo, Blue Pill, ostalo)
- 1x IC primopredajnik CAN MCP2551
- 1x 0,1µF kondenzator
- 1x 120Ω otpornik
- 1x 1kΩ otpornik
- 1+ čitljiv ulaz (dugme, prekidač, potenciometar itd.) Ili izlaz (LED, MOSFET itd.)
- 1x Dsub9 konektor
Korak 1: Krug primopredajnika
Za komunikaciju s CAN sabirnicom koristit ćemo IC primopredajnik MCP2551 CAN. IC djeluje kao posrednički par odašiljač/prijemnik za povezivanje STM32 na CAN sabirnicu. Krug za postavljanje ovog IC -a je prilično jednostavan, ali treba napomenuti nekoliko stvari:
-
CAN_RX (pin 4) i CAN_TX (pin 1) na čipu MCP2551 mogu ići samo na određene pinove na STM32.
- Na STM32F1 Nucleo, spojite RX liniju na pin PB8 i TX liniju na pin PB9.
- Na plavoj piluli STM32F1 spojite RX na pin PA11 i TX na pin PA12.
- Imajte na umu da ove dodjele pinova imaju alternative. Pogledajte priručnike za mikrokontroler kako biste utvrdili koji pinovi su sposobni za CAN_RD i CAN_TD
- Ako koristite Arduino ili ploču bez ugrađenog CAN komunikatora, bit će potreban IC čip MCP2515 za pretvaranje drugih protokola poruka u CAN.
- CANL pin treba spojiti na druge CANL pinove drugih čvorova sabirnice. Isto vrijedi i za CANH igle.
- Otpor od 120Ω preko CANH i CANL pinova potreban je samo ako je čvor terminalni čvor. To znači da se nalazi na kraju paralelnog ožičenja. Drugim riječima, CAN sabirnica treba imati samo dva otpornika od 120 Ω u sebi i oni bi trebali biti što dalje jedan od drugog.
- Na kraju, 1kΩ otpornik na RS -u (pin 8) može se zamijeniti za 10kΩ otpornik za kontrolu vremena uspona/pada bitova CAN poruke. Za više detalja pogledajte tehnički list čipa MCP2551.
Korak 2: Čitanje i pisanje na CAN sabirnicu
Sada kada je primopredajnik spojen na STM32, možemo početi pisati poruke na CAN sabirnicu. Ovaj vodič s uputama neće detaljno ulaziti u kod STM32. Međutim, svakako provjerite naše kodove za primjere ovdje. Korištenje STM32 kao CAN čvora zahtijevat će datoteku zaglavlja CAN. Napisali smo vlastiti, koji se može pronaći na našem githubu ovdje. Ovdje ćemo dati kratak pregled procesa čitanja/pisanja.
Za čitanje sa CAN sabirnice prvo moramo znati ID CAN poruke. Svaka poruka treba imati jedinstveni ID, s nižim ID -ovima s većim prioritetom. Ovdje prikazani isječak koda čeka CAN poruku s ID -om 0x622. U našem sistemu, ako je prvi bit 6. bajta visok, tada želimo postaviti pin A10 visoko.
Prilikom pisanja CAN poruke moramo imati na umu da su CAN poruke višebajtne. Svaka pisana poruka mora imati ID i dužinu. U drugom prikazanom isječku koda zapisujemo podatke u svaki bajt, a zatim šaljemo poruku (ID i parametri dužine definirani su ranije u kodu).
Korak 3: Povezivanje čvorova
Prilikom povezivanja više CAN čvorova, posebnu pažnju treba posvetiti dužini kabela. Dva najudaljenija čvora mogu biti udaljena do 40 m jedan od drugog. Srednji čvorovi koji se spajaju na sabirnicu trebaju biti unutar 50 cm od glavnih sabirničkih linija.
CAN veze slijede industrijski standard korištenja Dsub9 konektora sa CANL linijom na pin 2 i CANH linijom na pin7. Opcija CANGND linija može ići na pin 3.
Korak 4: Napravite PCB
Prilikom usmjeravanja CAN signala na PCB, imajte na umu da je CAN diferencijalni signal, pa se stoga moraju pažljivo slijediti smjernice usmjeravanja za CANH i CANL.
Korak 5: Proširenje ploče
Spojite još neke čvorove, dodajte neke ulaze/izlaze i povežite sve njihove CANH i CANL pinove. Imajte na umu da svaki STM32 ili drugi mikrokontroler zahtijeva svoj vlastiti MCP2551 čip; ne mogu se deliti.
Uz to, pokušajte da vaše PCB -ove budu manje od onog prikazanog ovdje
Korak 6: Naručite svoje štampane ploče od JLCPCB -a
JLCPCB nudi brzu, visokokvalitetnu uslugu po vrlo povoljnim cijenama. Nabavite 5 ploča, bilo koje boje s gomilom prilagodbi, za samo 2 USD! A ako vam je prva narudžba, nabavite 10 ploča po istoj cijeni!
Samo učitajte svoje gerbere i odmah zatražite ponudu! Pošaljite svoju narudžbu i vaše ploče će biti pregledane za proizvodnju u roku od sat vremena. Nakon što platite, svoje visokokvalitetne ploče možete očekivati za tri dana!
Provjerite ovdje
Korak 7: Uzmite svoje ploče
Ogromna zahvala JLCPCB -u za sponzorisanje ovog projekta. JLCPCB (ShenzhenJLC Electronics Co., Ltd.), najveće je poduzeće za prototip PCB-a u Kini i visokotehnološki proizvođač specijaliziran za brzo prototipiranje PCB-a i proizvodnju male serije PCB-a. Bili su ljubazni da UBC Solar isporuče nove PCB-ove za naš trkački automobil na solarni pogon. Naručili smo u petak, a ploče dobili u srijedu!
Preporučuje se:
Sučelje svemirskog broda Arduino: 3 koraka
Interfejs svemirskog broda Arduino: Zajednica sa zdravim instruktorima, ovaj put sam napravio jedan od najjednostavnijih projekata koje treba upotpuniti Arduino Uno: krug svemirskog broda. Nazvan je jer je to vrsta programiranja i sklopova koji bi se koristili u prvim znanstvenofantastičnim TV emisijama i filmovima
Jammarduino DUE - DIY PC to Jamma sučelje za arkadne ormare: 6 koraka
Jammarduino DUE - Uradi sam sa PC -a na Jamma sučelje za arkadne ormare: Ovo uputstvo će vam pokazati kako stvoriti jednostavan štit za Arduino DUE za povezivanje prave arkadne mašine sa CRT -om niske rezolucije i jamma konektorom na vaš računar. Glavne svrhe štita su: - za pojačavanje video signala koji dolazi sa videa
Sučelje Arduino Mega s GPS modulom (Neo-6M): 8 koraka
Sučelje Arduino Mega s GPS modulom (Neo-6M): U ovom projektu sam pokazao kako spojiti GPS modul (Neo-6M) s Arduino Mega. TinyGPS biblioteka se koristi za prikaz podataka o zemljopisnoj dužini i širini, a TinyGPS ++ se koristi za prikaz zemljopisne širine, dužine, nadmorske visine, brzine i broja satelita
Izgled željezničke pruge kontroliran tipkovnicom V2.5 - PS/2 sučelje: 12 koraka
Izgled željezničke pruge kontroliran tipkovnicom V2.5 | PS/2 sučelje: Koristeći Arduino mikrokontrolere, postoji mnogo načina za kontrolu rasporeda željezničkih modela. Tastatura ima veliku prednost jer ima puno tastera za dodavanje mnogo funkcija. Evo da vidimo kako možemo početi s jednostavnim rasporedom s lokomotivom i
Sučelje preglednika ATTiny Fuse Editor: 4 koraka
Interfejs preglednika ATTiny Fuse Editor: Ovo uputstvo je za uređivač osigurača ATTiny koji koristi ESP8266 i korisničko sučelje zasnovano na pregledniku. To čini promjenu bilo koje postavke koju kontroliraju 2 bajta osigurača vrlo jednostavnom aktivnošću. Uređaj ima sljedeće funkcije. Pretpostavka web servera