Sisällysluettelo:
- Tarvikkeet
- Vaihe 1: Lähetin -vastaanotinpiiri
- Vaihe 2: Lukeminen ja kirjoittaminen CAN -väylälle
- Vaihe 3: Solmujen yhdistäminen
- Vaihe 4: Tee piirilevy
- Vaihe 5: Hallituksen laajentaminen
- Vaihe 6: Tilaa piirilevyt JLCPCB: ltä
- Vaihe 7: Hanki levyt
Video: STM32 CAN -liitäntä: 7 vaihetta
2024 Kirjoittaja: John Day | [email protected]. Viimeksi muokattu: 2024-01-30 09:01
Controller Area Network -väylä tai CAN -väylä on erittäin tehokas tiedonsiirtoprotokolla sen nopeiden ominaisuuksien, pitkän kantaman luotettavuuden ja kohinanvaimennuksen ansiosta. Näistä syistä CAN -viestinnästä on tullut standardi autoteknologiassa ja korkeassa melussa. CAN -väylän laitteita kutsutaan solmuiksi. Kaikki CAN -väylän solmut on kytketty rinnakkain, mikä tarkoittaa, että jokainen solmu on kytketty kaikkiin muihin verkon solmuihin. Yhdellä CAN -väylällä voi olla jopa 115 solmua kerrallaan viestin lähetysnopeudesta riippuen, mutta useimmissa sovelluksissa suositellaan enintään 32 laitetta. On myös suositeltavaa pitää ensimmäisen ja viimeisen solmun välinen pituus alle 40 metrin päässä toisistaan.
Tämä vaiheittainen opetusohjelma näyttää, kuinka CAN-solmu asetetaan STM32-mikrokontrollerilla, mukaan lukien piiri ja yksinkertainen C-koodi CAN-väylän lukemiseen ja kirjoittamiseen
Tarvikkeet
Kullekin CAN -solmulle:
- 1x STM32 -katkaisulauta (Nucleo, Blue Pill, muut)
- 1x MCP2551 CAN -lähetinvastaanotin IC
- 1x 0,1 µF kondensaattori
- 1x 120Ω vastus
- 1x 1kΩ vastus
- 1+ luettavissa oleva tulo (painike, kytkin, potentiometri jne.) Tai lähtö (LED, MOSFET jne.)
- 1x Dsub9 -liitin
Vaihe 1: Lähetin -vastaanotinpiiri
Kommunikoidaksesi CAN -väylän kanssa käytämme MCP2551 CAN -lähetinvastaanotinta IC. IC toimii välittäjänä lähetin/vastaanotinparina STM32: n liittämiseksi CAN -väylään. Piiri tämän IC: n asettamiseksi on melko yksinkertainen, mutta on huomioitava muutama asia:
-
MCP2551 -sirun CAN_RX (nasta 4) ja CAN_TX (nasta 1) voivat mennä vain tiettyihin STM32: n nastoihin.
- Yhdistä STM32F1 Nucleo -laitteessa RX -linja nastaan PB8 ja TX -linja nastaan PB9.
- Yhdistä sininen STM32F1 -pilleri RX liittimeen PA11 ja TX liittimeen PA12.
- Huomaa, että näillä nastamäärityksillä on vaihtoehtoja. Katso mikro -ohjaimen käsikirjoista, mitkä nastat kykenevät CAN_RD: hen ja CAN_TD: hen
- Jos käytät Arduinoa tai korttia, jossa ei ole sisäänrakennettua CAN -kommunikaattoria, MCP2515 -IC -siru vaaditaan muuntamaan muut sanomaprotokollat CAN -muotoon.
- CANL -nasta tulee liittää muiden väyläsolmujen muihin CANL -nastoihin. Sama koskee CANH -nastoja.
- 120Ω vastus CANH- ja CANL -nastojen poikki vaaditaan vain, jos solmu on päätesolmu. Tämä tarkoittaa, että se on rinnakkaisliitännän lopussa. Toisin sanoen CAN -väylässä pitäisi olla vain kaksi 120Ω: n vastusta, ja niiden tulisi olla mahdollisimman kaukana toisistaan.
- Lopuksi RS: n 1 kΩ: n vastus (nasta 8) voidaan vaihtaa 10 kΩ: n vastukseen CAN -viestibittien nousu-/laskuajan ohjaamiseksi. Katso lisätietoja MCP2551 -sirun tietolomakkeesta.
Vaihe 2: Lukeminen ja kirjoittaminen CAN -väylälle
Nyt kun lähetin -vastaanotinpiiri on kytketty STM32: een, voimme alkaa kirjoittaa viestejä CAN -väylälle. Tämä opettavainen opas ei mene perusteellisesti STM32-koodiin. Muista kuitenkin tarkistaa koodimme täältä. STM32: n käyttäminen CAN -solmuna edellyttää CAN -otsikkotiedostoa. Kirjoitimme oman, joka löytyy githubistamme täältä. Tässä annamme lyhyen yleiskatsauksen luku-/kirjoitusprosessista.
Jotta voimme lukea CAN -väylältä, meidän on ensin tiedettävä CAN -viestin tunnus. Jokaisella viestillä tulee olla yksilöllinen tunnus, ja alemmilla tunnuksilla on korkeampi prioriteetti. Tässä näkyvä koodinpätkä odottaa CAN -viestiä, jonka tunnus on 0x622. Jos järjestelmässämme kuudennen tavun ensimmäinen bitti on korkea, haluamme asettaa nastan A10 korkealle.
Kun kirjoitamme CAN-viestiä, meidän on muistettava, että CAN-viestit ovat monitavuisia. Jokaisessa kirjallisessa viestissä on oltava tunnus ja pituus. Toisessa näytetyssä koodinpätkässä kirjoitamme tiedot kuhunkin tavuun ja lähetämme sitten viestin (ID- ja pituusparametrit on määritelty aiemmin koodissa).
Vaihe 3: Solmujen yhdistäminen
Kun liität useita CAN -solmuja, sinun on kiinnitettävä erityistä huomiota kaapelien pituuteen. Kaksi kaukaisinta solmua voivat olla jopa 40 metrin päässä toisistaan. Väylään yhdistävien keskisolmujen tulee olla enintään 50 cm: n päässä pääväylälinjoista.
CAN -liitännät noudattavat alan standardia, jossa käytetään Dsub9 -liitintä, jossa CANL -linja on nastassa 2 ja CANH -linja nastassa 7. Vaihtoehto CANGND -linja voi mennä nastaan 3.
Vaihe 4: Tee piirilevy
Kun reitität CAN -signaaleja piirilevylle, muista, että CAN on differentiaalisignaali, joten CANH- ja CANL -reititysohjeita on noudatettava huolellisesti.
Vaihe 5: Hallituksen laajentaminen
Yhdistä muut solmut yhteen, lisää joitakin tuloja/lähtöjä ja liitä kaikki niiden CANH- ja CANL -nastat. Huomaa, että jokainen STM32 tai muu mikro -ohjain vaatii oman MCP2551 -sirunsa; niitä ei voida jakaa.
Yritä pitää PCB: t pienempiä kuin tässä esitetty
Vaihe 6: Tilaa piirilevyt JLCPCB: ltä
JLCPCB tarjoaa nopeaa, korkealaatuista palvelua erittäin kohtuulliseen hintaan. Hanki 5 taulua, mitä tahansa väriä ja paljon mukautettavaa, vain 2 dollarilla! Ja jos se on ensimmäinen tilauksesi, hanki 10 lautaa samaan hintaan!
Lataa vain gerberisi ja saat heti tarjouksen! Lähetä tilauksesi, ja levysi tarkastetaan tuotannossa tunnin kuluessa. Kun olet maksanut, voit odottaa korkealaatuisia levyjäsi kolmen päivän kuluessa!
Tarkista se täältä
Vaihe 7: Hanki levyt
Valtava huuto JLCPCB: lle tämän hankkeen sponsoroinnista. JLCPCB (ShenzhenJLC Electronics Co., Ltd.) on Kiinan suurin PCB-prototyyppiyritys ja korkean teknologian valmistaja, joka on erikoistunut PCB-prototyyppien nopeaan prototyyppityöhön ja pienikokoiseen PCB-tuotantoon. He olivat ystävällisiä toimittaakseen UBC Solarille uudet piirilevyt aurinkokäyttöiselle kilpa-autollemme. Teimme tilauksen perjantaina ja saimme levyt keskiviikkona!
Suositeltava:
Tehokas digitaalinen AC -himmennin käyttäen STM32: 15 vaihetta (kuvien kanssa)
Tehokas digitaalinen AC -himmennin STM32: n avulla: Hesam Moshiri, [email protected] AC lataa kanssamme! Koska niitä on kaikkialla ympärillämme ja ainakin kodinkoneet on varustettu verkkovirralla. Monenlaisia teollisuuslaitteita käytetään myös yksivaiheisella 220V-AC-jännitteellä
STONE -näyttö +STM32 +kahvinkeitin: 6 vaihetta
STONE Display +STM32 +Kahvinkeitin: Olen MCU -ohjelmistosuunnittelija, äskettäin saanut projektin olla kahvinkeitin, kotitalouden vaatimukset kosketusnäytöllä, toiminto on hyvä, näytön yläpuolella ei ehkä ole kovin hyvä, Onneksi tämän projektin voin purkaa
Aloita STM32: n kehittäminen Linuxissa: 4 vaihetta
Aloita STM32: n kehittäminen Linuxissa: Tässä Instructable -ohjelmassa näytän sinulle, kuinka helppoa on aloittaa STM32 -ohjelmien kehittäminen Linuxissa. Aloin käyttää Linuxia pääkoneena 2 vuotta sitten, eikä minua ole petetty. Kaikki toimii nopeammin ja paremmin kuin ikkunat. Tietysti on les
STM32 "Blue Pill" Progmaming Arduino IDE: n ja USB: n kautta: 8 vaihetta
STM32 "Blue Pill" -ohjelmointi Arduino IDE: n ja USB: n kautta: Vertaamalla STM32F: n yleistä prototyyppikorttia (eli Blue Pill) sen vastaosaan Arduinoon on helppo nähdä, kuinka paljon enemmän resursseja sillä on, mikä avaa paljon uusia mahdollisuuksia IOT -projekteille. haitat ovat tuen puute. Oikeastaan en todellakaan
Tietojen vastaanottaminen STM32 -pohjaisesta mikro -ohjaimesta tietokoneeseen: 5 vaihetta
Tietojen vastaanottaminen STM32 -pohjaiselta mikro -ohjaimelta tietokoneelle: Tässä opetusohjelmassa olemme siirtäneet tietoja mikro -ohjaimesta tietokoneeseen käyttämällä yhtä STM32l100 mcu: n UART -laitteista