Orodha ya maudhui:

Kiunga cha STM32 CAN: Hatua 7
Kiunga cha STM32 CAN: Hatua 7

Video: Kiunga cha STM32 CAN: Hatua 7

Video: Kiunga cha STM32 CAN: Hatua 7
Video: BTT Octopus - Hot end and automatic Cooling fan 2024, Novemba
Anonim
Kiunga cha STM32
Kiunga cha STM32

Basi la Mtandao wa Eneo la Mdhibiti, au basi la CAN, ni itifaki nzuri sana ya mawasiliano kutokana na uwezo wake wa kasi, kuegemea kwa masafa marefu, na kinga ya kelele. Kwa sababu hizi, mawasiliano ya CAN imekuwa kiwango katika teknolojia za magari na mazingira ya kelele kubwa. Vifaa kwenye basi la CAN vinaitwa nodi. Node zote kwenye basi la CAN zimeunganishwa kwa usawa, ikimaanisha kuwa kila node imeunganishwa na nodi zingine zote kwenye mtandao. Basi moja la CAN linaweza kuwa na nodi hadi 115 mara moja, kulingana na kiwango cha usambazaji wa ujumbe, lakini kwa matumizi mengi, inashauriwa kuwa na vifaa hadi 32. Inashauriwa pia kuweka urefu kati ya nodi ya kwanza na ya mwisho chini ya mita 40 mbali.

Mafunzo haya ya hatua kwa hatua yatakuonyesha jinsi ya kuweka nodi ya CAN kwa kutumia mdhibiti mdogo wa STM32, pamoja na mzunguko na nambari rahisi ya C kusoma na kuandika kwa basi la CAN

Vifaa

Kwa kila nodi ya CAN:

  • Bodi ya kuzuka ya 1x STM32 (Nucleo, Kidonge cha Bluu, zingine)
  • 1x MCP2551 INAWEZA transceiver IC
  • 1x 0.1µF capacitor
  • Kipinga 1x 120Ω
  • Kipinzani cha 1x 1kΩ
  • Pembejeo 1+ inayoweza kusomeka (kifungo, swichi, potentiometer, nk) au pato (LED, MOSFET, n.k.)
  • Kiunganishi cha 1x Dsub9

Hatua ya 1: Mzunguko wa Transceiver

Mzunguko wa Transceiver
Mzunguko wa Transceiver

Ili kuwasiliana na basi la CAN, tutatumia MCP2551 CAN transceiver IC. IC hufanya kama jozi ya kati ya mpitishaji / mpokeaji ili kuunganisha STM32 na basi ya CAN. Mzunguko wa kuanzisha IC hii ni rahisi sana, lakini kuna mambo kadhaa ya kuzingatia:

  • CAN_RX (pini 4) na CAN_TX (pini 1) kwenye chip ya MCP2551 inaweza kwenda kwenye pini fulani kwenye STM32.

    • Kwenye STM32F1 Nucleo, unganisha laini ya RX ili kubana PB8 na laini ya TX ili kubana PB9.
    • Kwenye kidonge cha bluu cha STM32F1, unganisha RX kubandika PA11 na TX kubandika PA12.
    • Kumbuka kuwa kazi hizi za pini zina njia mbadala. Rejelea miongozo ya udhibiti mdogo wa umeme ili kubaini ni pini zipi zinazoweza CAN_RD na CAN_TD
    • Ikiwa unatumia Arduino au bodi bila kontakteni ya CAN iliyojengwa, chip ya MCP2515 IC itahitajika kubadilisha itifaki zingine za ujumbe kuwa CAN.
  • Pini ya CANL inapaswa kushikamana na pini zingine za CANL za node zingine za basi. Vivyo hivyo kwa pini za CANH.
  • Kinzani cha 120Ω kwenye pini za CANH na CANL inahitajika tu ikiwa nodi ni nodi ya terminal. Hii inamaanisha kuwa iko mwisho wa wiring ya unganisho sambamba. Kwa maneno mengine, basi ya CAN inapaswa tu kuwa na vipinga mbili 120Ω ndani yake, na inapaswa kuwa mbali mbali na kila mmoja iwezekanavyo.
  • Mwishowe, kipinzani cha 1kΩ kwenye RS (pini 8) kinaweza kubadilishwa kwa kipinga cha 10kΩ kudhibiti wakati wa kupanda / kushuka kwa vipande vya ujumbe wa CAN. Rejelea daftari la chip ya MCP2551 kwa maelezo zaidi.

Hatua ya 2: Kusoma na Kuandika kwa basi la CAN

Kusoma na Kuandika kwa basi la CAN
Kusoma na Kuandika kwa basi la CAN

Sasa kwa kuwa mzunguko wa transceiver umeunganishwa na STM32, tunaweza kuanza kuandika ujumbe kwa basi la CAN. Mwongozo huu unaoweza kufundishwa hautaingia kwa kina kwenye nambari ya STM32. Walakini, hakikisha uangalie nambari yetu kwa mifano hapa. Kutumia STM32 kama nodi ya CAN itahitaji faili ya kichwa cha CAN. Tuliandika yetu wenyewe, ambayo inaweza kupatikana kwenye github yetu hapa. Hapa, tutatoa muhtasari mfupi wa mchakato wa kusoma / kuandika.

Kusoma kutoka kwa basi la CAN, kwanza tunahitaji kujua kitambulisho cha ujumbe wa CAN. Kila ujumbe unapaswa kuwa na kitambulisho cha kipekee, na vitambulisho vya chini vina kipaumbele cha juu. Kijisehemu cha nambari kilichoonyeshwa hapa kinasubiri ujumbe wa CAN ulio na ID 0x622. Katika mfumo wetu, ikiwa kidogo ya kwanza ya 6 ni juu, basi tunataka kuweka pini A10 juu.

Wakati wa kuandika ujumbe wa CAN, ni lazima tukumbuke kuwa ujumbe wa CAN ni wa njia nyingi. Kila ujumbe ulioandikwa lazima uwe na kitambulisho na urefu. Katika kijisehemu cha pili cha nambari iliyoonyeshwa, tunaandika data kwa kila baiti, kisha tuma ujumbe (Kitambulisho na vigezo vya urefu vimefafanuliwa mapema kwenye nambari).

Hatua ya 3: Kuunganisha Nodi

Kuunganisha Nodi
Kuunganisha Nodi

Wakati wa kuunganisha nodi nyingi za CAN, uangalifu unapaswa kulipwa kwa urefu wa nyaya. Sehemu mbili za mbali zaidi zinaweza kuwa hadi 40m mbali na kila mmoja. Node za kati zinazounganisha basi zinapaswa kuwa kati ya 50cm ya mistari kuu ya basi.

Uunganisho wa CAN unaweza kufuata kiwango cha tasnia ya kutumia kiunganishi cha Dsub9 na laini ya CANL kwenye pini 2 na laini ya CANH kwenye pin7. Chaguo CANGND line inaweza kwenda kwenye pin 3.

Hatua ya 4: Tengeneza PCB

Tengeneza PCB
Tengeneza PCB

Unapopeleka ishara za CAN kwenye PCB, kumbuka kuwa CAN ni ishara tofauti, na kwa hivyo, miongozo ya njia ya CANH na CANL inapaswa kufuatwa kwa uangalifu.

Hatua ya 5: Kupanua Bodi

Kupanua Bodi
Kupanua Bodi

Tupa nodi zingine pamoja, ongeza pembejeo / matokeo, na unganisha pini zao zote za CANH na CANL. Kumbuka kuwa kila STM32 au mdhibiti mwingine mdogo anahitaji chip yake ya MCP2551; haziwezi kushirikiwa.

Pamoja na hayo, jaribu kuweka PCB zako ndogo kuliko ile iliyoonyeshwa hapa

Hatua ya 6: Agiza PCB zako kutoka kwa JLCPCB

Agiza PCB zako Kutoka kwa JLCPCB
Agiza PCB zako Kutoka kwa JLCPCB

JLCPCB inatoa huduma ya haraka na ya hali ya juu kwa bei nzuri sana. Pata bodi 5, rangi yoyote na tani za usanifu, kwa $ 2 tu! Na ikiwa ni agizo lako la kwanza, pata bodi 10 kwa bei sawa!

Pakia tu vijidudu vyako na upate nukuu ya papo hapo! Tuma agizo lako na bodi zako zitakaguliwa kwa uzalishaji ndani ya saa moja. Mara tu utakapolipa, unaweza kutarajia bodi zako za hali ya juu haraka kama siku tatu!

Angalia hapa

Hatua ya 7: Pata Bodi Zako

Pata Bodi Zako!
Pata Bodi Zako!

Kelele kubwa kwa JLCPCB kwa kudhamini mradi huu. JLCPCB (ShenzhenJLC Electronics Co, Ltd), ni biashara kubwa zaidi ya mfano wa PCB nchini China na mtengenezaji wa teknolojia ya hali ya juu aliyebobea katika utaftaji wa haraka wa PCB na uzalishaji wa kundi dogo la PCB. Walikuwa wenye fadhili vya kutosha kutoa UBC Solar na PCB zetu mpya kwa gari letu la mbio linalotumia jua. Tuliweka agizo letu Ijumaa na tukapata bodi Jumatano!

Ilipendekeza: