ዝርዝር ሁኔታ:

ለ CANBUS ቀላል መማሪያ 8 ደረጃዎች
ለ CANBUS ቀላል መማሪያ 8 ደረጃዎች

ቪዲዮ: ለ CANBUS ቀላል መማሪያ 8 ደረጃዎች

ቪዲዮ: ለ CANBUS ቀላል መማሪያ 8 ደረጃዎች
ቪዲዮ: የጥናት ፍላጎትን የሚጨምሩ 8 ዘዴዎች 2024, ሀምሌ
Anonim
ለ CANBUS ቀላል መማሪያ
ለ CANBUS ቀላል መማሪያ

ለሦስት ሳምንታት ያህል CAN ን እያጠናሁ ነበር ፣ እና አሁን የመማር ውጤቴን ለማረጋገጥ አንዳንድ መተግበሪያዎችን አጠናቅቄአለሁ። በዚህ መማሪያ ውስጥ የ CANBUS ግንኙነትን ለመተግበር አርዱዲኖን እንዴት እንደሚጠቀሙ ይማራሉ። ማንኛውም ጥቆማዎች ካሉዎት መልእክት ለመተው እንኳን ደህና መጡ።

አቅርቦቶች

ሃርድዌር

  • ማዱኒኖ ዜሮ ካንቡስ
  • DHT11 የሙቀት እና እርጥበት ሞዱል
  • 1.3 "I2C OLED 128x64- ሰማያዊ
  • DB9 ወደ DB9 ገመድ (ከሴት ወደ ሴት)
  • ዱፖንት መስመር

ሶፍትዌር

አርዱዲኖ አይዲኢ

ደረጃ 1 - CANBUS ምንድን ነው

CANBUS ምንድን ነው
CANBUS ምንድን ነው
CANBUS ምንድን ነው
CANBUS ምንድን ነው

ስለ CAN

CAN (ተቆጣጣሪ አካባቢ አውታረ መረብ) የተከፋፈለ የእውነተኛ ጊዜ ቁጥጥርን እውን ማድረግ የሚችል ተከታታይ የግንኙነት አውታረ መረብ ነው። ለአውቶሞቲቭ ኢንዱስትሪ የተወሳሰበውን የሽቦ መለወጫ ገመድ በሁለት ሽቦ አውቶቡስ ለመተካት የተዘጋጀ ነው።

የ CAN ፕሮቶኮል በ OSI ሞዴል ውስጥ የውሂብ አገናኝ ንብርብር እና የአካል ንብርብርን ይገልጻል።

የ CAN ፕሮቶኮል በ ISO11898 እና ISO11519 ISO ደረጃውን የጠበቀ ነው። ISO11898 የግንኙነት ፍጥነት ከ 125 ኪቢ / ሰ-1 ሜጋ ባይት ጋር የ CAN ከፍተኛ ፍጥነት የመገናኛ ደረጃ ነው። ISO11519 የግንኙነት ፍጥነት ከ 125 ኪባ / ባነሰ ባነሰ የ CAN ዝቅተኛ ፍጥነት የመገናኛ ደረጃ ነው።

እዚህ እኛ በከፍተኛ ፍጥነት በ CAN ላይ እናተኩራለን።

ISO-11898 መረጃ በአውታረ መረብ ላይ ባሉ መሣሪያዎች መካከል እንዴት እንደሚተላለፍ እና በንብርብሮች አንፃር ከተገለጸው ክፍት ሲስተምስ ትስስር ሞዴል (OSI) ጋር የሚስማማ መሆኑን ይገልጻል። በአካላዊ መካከለኛ በተገናኙ መሣሪያዎች መካከል ያለው ትክክለኛ ግንኙነት በአምሳያው አካላዊ ንብርብር ይገለጻል።

  • ከአውቶቡሱ ጋር የተገናኘ እያንዳንዱ የ CAN ክፍል መስቀለኛ መንገድ ሊባል ይችላል። ሁሉም የ CAN ክፍሎች አውታር ለመመስረት በ 120 Ω ተቃዋሚዎች በእያንዳንዱ ጫፍ ከተቋረጠ አውቶቡስ ጋር ተገናኝተዋል። አውቶቡሱ CAN_H እና CAN_L መስመሮችን ያካትታል። የ CAN መቆጣጠሪያው በሁለቱም ሽቦዎች ላይ ባለው የኃይል ደረጃ ልዩነት ላይ በመመርኮዝ የአውቶቡስ ደረጃውን ይወስናል። የአውቶቡስ ደረጃዎች ወደ አውራ እና ሪሴሲቭ ደረጃዎች የተከፋፈሉ ሲሆን ከእነዚህ ውስጥ አንዱ መሆን አለበት። ላኪው በአውቶቡስ ደረጃ ላይ ለውጥ በማድረግ መልዕክቱን ለተቀባዩ ይልካል። በአውቶቡስ ላይ ሎጂካዊ መስመር “እና” ሲገደሉ ፣ አውራ ደረጃው “0” እና ሪሴሲቭ ደረጃው “1” ነው።
  • በአውራ ግዛት ውስጥ ፣ የ CAN_H ቮልቴጅ 3.5V ገደማ ሲሆን የ CAN_L ቮልቴጅ 1.5V ያህል ነው። በሪሴሲቭ ሁኔታ የሁለቱም መስመሮች ቮልቴጅ 2.5V አካባቢ ነው።
  • ምልክቱ ልዩነት ነው ፣ ለዚህም ነው CAN ጠንካራ የድምፅ መከላከያ እና የጥፋተኝነት መቻቻልን የሚያገኘው። የተመጣጠነ የልዩነት ምልክት የጩኸት ትስስርን ይቀንሳል እና በተጠማዘዘ ጥንድ ገመድ ላይ ከፍተኛ የምልክት ደረጃዎችን ይፈቅዳል። በእያንዳንዱ የምልክት መስመር ውስጥ ያለው የአሁኑ እኩል ነው ፣ ግን በተቃራኒው አቅጣጫ እና ለዝቅተኛ የድምፅ ልቀቶች ቁልፍ የሆነ የመስክ መሰረዝ ውጤት ያስከትላል። የተመጣጠነ የልዩነት መቀበያዎችን እና የተጠማዘዘ ጥንድ ኬብሌን መጠቀም የ CAN አውቶቡስ የጋራ ሞድ አለመቀበልን እና ከፍተኛ ጫጫታ ያለመከሰስን ያሻሽላል።

የ CAN አስተላላፊ

የ CAN አስተላላፊው በአመክንዮ ደረጃ እና በአካላዊ ምልክት መካከል ለመለወጥ ኃላፊነት አለበት። አመክንዮአዊ ምልክት ወደ ልዩነት ደረጃ ወይም አካላዊ ምልክት ወደ ሎጂካዊ ደረጃ ይለውጡ።

የ CAN መቆጣጠሪያ

የ CAN መቆጣጠሪያ በ CAN ፕሮቶኮል ውስጥ ያለውን የውሂብ አገናኝ ንብርብር ሁሉንም ተግባራት የሚረዳ እና የ CAN ፕሮቶኮልን በራስ -ሰር ሊፈታ የሚችል የ CAN ዋና አካል ነው።

MCU

MCU ለተግባር ወረዳ እና ለ CAN ተቆጣጣሪ ቁጥጥር ኃላፊነት አለበት። ለምሳሌ ፣ የ CAN ተቆጣጣሪ መለኪያዎች መስቀለኛ መንገድ ሲጀመር ፣ የ CAN ፍሬም ይነበባል እና በ CAN መቆጣጠሪያ በኩል ይላካል ፣ ወዘተ።

ደረጃ 2 - ስለ CAN ግንኙነቶች

አውቶቡሱ ስራ ሲፈታ ፣ ሁሉም አንጓዎች መልዕክቶችን (ባለብዙ ማስተር ቁጥጥር) መላክ መጀመር ይችላሉ። አውቶቡሱን መጀመሪያ የሚደርስበት መስቀለኛ መንገድ የመላክ መብት ያገኛል (CSMA/CA mode)። ብዙ አንጓዎች በተመሳሳይ ጊዜ መላክ ሲጀምሩ ፣ ከፍተኛ ቅድሚያ የሚሰጠውን የመታወቂያ መልእክት የሚልክ መስቀለኛ መንገድ የመላክ መብት ያገኛል።

በ CAN ፕሮቶኮል ውስጥ ፣ ሁሉም መልእክቶች በቋሚ ቅርጸት ይላካሉ። አውቶቡሱ ስራ ሲፈታ ፣ ከአውቶቡሱ ጋር የተገናኙ ሁሉም ክፍሎች አዲስ መልዕክቶችን መላክ መጀመር ይችላሉ። ከሁለት በላይ ሕዋሳት በአንድ ጊዜ መልዕክቶችን መላክ ሲጀምሩ ቅድሚያ የሚሰጠው የሚለየው በመለየት ላይ በመመስረት ነው። መታወቂያው የላኪውን መድረሻ አድራሻ አይወክልም ፣ ይልቁንም ወደ አውቶቡሱ የሚደርሰው መልእክት ቅድሚያ ነው። ከሁለት በላይ ሕዋሳት በአንድ ጊዜ መልዕክቶችን መላክ ሲጀምሩ ፣ እያንዳንዱ ከወለድ ነፃ መታወቂያ አንድ በአንድ ይፈርዳል። የግልግል ዳኝነትን ያሸነፈው ክፍል መልዕክቶችን መላክን ሊቀጥል ይችላል ፣ እናም የግልግል ዳኝነትን ያጣው ክፍል ወዲያውኑ መላክ አቁሞ ሥራውን ይቀበላል።

የ CAN አውቶቡስ የስርጭት ዓይነት የአውቶቡስ ዓይነት ነው። ይህ ማለት ሁሉም አንጓዎች ሁሉንም ስርጭቶች 'መስማት' ይችላሉ። ሁሉም አንጓዎች ሁል ጊዜ ሁሉንም ትራፊክ ይወስዳሉ። እያንዳንዱ መስቀለኛ መንገድ አስደሳች ለሆኑ መልእክቶች ብቻ ምላሽ እንዲሰጥ የ CAN ሃርድዌር አካባቢያዊ ማጣሪያን ይሰጣል።

ደረጃ 3 ክፈፎች

ክፈፎች
ክፈፎች

የ CAN መሣሪያዎች ፍሬሞች በሚባሉ ጥቅሎች ውስጥ በ CAN አውታረ መረብ ላይ ውሂብ ይልካሉ። CAN አራት የፍሬም ዓይነቶች አሉት

  • የውሂብ ፍሬም - ለማስተላለፍ የመስቀለኛ መንገድ ውሂብ የያዘ ክፈፍ
  • የርቀት ፍሬም - የአንድ የተወሰነ መለያ ማስተላለፍን የሚጠይቅ ክፈፍ
  • የስህተት ፍሬም - ስህተትን በማወቅ በማንኛውም መስቀለኛ መንገድ የሚተላለፍ ክፈፍ
  • ከመጠን በላይ ጭነት ፍሬም - በውሂብ ወይም በርቀት ፍሬም መካከል መዘግየት ለማስገባት ክፈፍ

የውሂብ ፍሬም

ሁለት ዓይነት የውሂብ ፍሬሞች አሉ ፣ መደበኛ እና የተራዘሙ።

የስዕሉ ቢት መስኮች ትርጉም -

  • SOF - የክፈፍ (አውራ) ቢት ብቸኛ ጅምር የመልእክቱን መጀመሪያ ያመለክታል ፣ እና ሥራ ፈት ከሆነ በኋላ በአውቶቡስ ላይ ያሉትን አንጓዎች ለማመሳሰል ያገለግላል።
  • ለifier-መደበኛው CAN 11 ቢት መለያ የመልዕክቱን ቅድሚያ ያስቀምጣል። የሁለትዮሽ እሴቱ ዝቅተኛ ፣ ቅድሚያ የሚሰጠው ከፍ ያለ ነው።
  • RTR - ነጠላ የርቀት ማስተላለፊያ ጥያቄ (RTR) ቢት
  • አይዲኢ - አውራ ነጠላ መለያ ማራዘሚያ (አይዲኢ) ቢት ማለት ቅጥያ የሌለው መደበኛ የ CAN መለያ እየተላለፈ ነው ማለት ነው።
  • R0 – የተያዘ ቢት (ለወደፊቱ መደበኛ ማሻሻያ ለመጠቀም ይቻላል)።
  • DLC-ባለ 4-ቢት የውሂብ ርዝመት ኮድ (DLC) የሚተላለፉትን የውሂብ ባይት ብዛት ይ containsል።
  • ውሂብ - እስከ 64 ቢት የመተግበሪያ ውሂብ ሊተላለፍ ይችላል።
  • ሲአርሲ – ባለ 16-ቢት (15 ቢት ሲደመር) የሳይክል ድግግሞሽ ድግግሞሽ ፍተሻ (ሲአርሲ) የስህተት ማወቂያ ቀዳሚውን የመተግበሪያ ውሂብ ቼክአም (የተላለፉ ቢቶች ብዛት) ይ containsል።
  • ACK - ACK 2 ቢት ነው ፣ አንደኛው የእውቅና ቢት እና ሁለተኛው ገዳቢ ነው።
  • ኢኦኤፍ-ይህ የክፈፍ መጨረሻ (ኢኦኤፍ) ፣ 7 ቢት መስክ የ CAN ፍሬም (መልእክት) መጨረሻን የሚያመለክት እና bitstuffing ን ያሰናክላል ፣ ይህም የበላይ በሚሆንበት ጊዜ የመሙላት ስህተት ያሳያል። በመደበኛ የአሠራር ሂደት ውስጥ 5 ተመሳሳይ የሎጂክ ደረጃ በተከታታይ ሲከሰት ፣ ተቃራኒው የአመክንዮ ደረጃ ትንሽ በመረጃው ውስጥ ተሞልቷል።
  • አይኤፍኤስ-ይህ ባለ 7-ቢት የመሃል ቦታ (አይኤፍኤስ) በመልዕክት ቋት አካባቢ ውስጥ በትክክል የተቀበለውን ፍሬም ወደ ትክክለኛው ቦታ ለማዛወር ተቆጣጣሪው የሚፈልገውን ጊዜ ይይዛል።

የግልግል ዳኝነት

በአውቶቡስ ስራ ፈትነት ሁኔታ ፣ መልዕክቱን መላክ የጀመረው ክፍል መጀመሪያ የመላክ መብቱን ያገኛል። ብዙ አሃዶች በተመሳሳይ ጊዜ መላክ ሲጀምሩ ፣ እያንዳንዱ የመላኪያ አሃድ የሚጀምረው በግሌግሌ ክፍል የመጀመሪያ ቢት ነው። ከፍተኛ ቁጥር ያለው ቀጣይነት ያለው የውጤት የበላይነት ደረጃዎች ያሉት አሃድ መላክ መቀጠል ይችላል።

ደረጃ 4 - ፍጥነት እና ርቀት

ርቀት እና ፍጥነት
ርቀት እና ፍጥነት

የ CAN አውቶቡስ ብዙ ክፍሎችን በአንድ ጊዜ የሚያገናኝ አውቶቡስ ነው። በንድፈ ሀሳብ ሊገናኙ የሚችሉ የአሃዶች አጠቃላይ ብዛት ገደብ የለውም። በተግባር ግን በአውቶቡስ ላይ ባለው የጊዜ መዘግየት እና በኤሌክትሪክ ጭነት ሊገናኙ የሚችሉ አሃዶች ብዛት ውስን ነው። የግንኙነት ፍጥነቱን ይቀንሱ ፣ ሊገናኙ የሚችሉ አሃዶችን ቁጥር ይጨምሩ እና የግንኙነት ፍጥነትን ይጨምሩ ፣ ሊገናኙ የሚችሉ አሃዶች ቁጥር ይቀንሳል።

የግንኙነት ርቀቱ ከተገላቢጦሽ ፍጥነት ጋር ይዛመዳል ፣ እና የግንኙነቱ ርቀቱ ፣ የግንኙነቱ ፍጥነት አነስተኛ ነው። ረዥሙ ርቀት 1 ኪ.ሜ ወይም ከዚያ በላይ ሊሆን ይችላል ፣ ግን ፍጥነቱ ከ 40 ኪ.ፒ.

ደረጃ 5 - ሃርድዌር

ሃርድዌር
ሃርድዌር

ማዱኒኖ ዜሮ CAN-BUS ሞጁል ለአገልግሎት ዝግጁ የሆነ የ CAN- አውቶቡስ ወደብ ለመፍጠር በአርዲኖ ላይ የተመሠረተ ፣ ከ CAN መቆጣጠሪያ እና ከ CAN አስተላላፊ ጋር ፣ በ Makerfabs ለ CANbus ግንኙነት የተዘጋጀ መሣሪያ ነው።

  • MCP2515 የ CAN ዝርዝርን ተግባራዊ የሚያደርግ ራሱን የቻለ የ CAN መቆጣጠሪያ ነው። ሁለቱንም መደበኛ እና የተራዘመ መረጃን እና የርቀት ፍሬሞችን ማስተላለፍ እና መቀበል ይችላል።
  • በ CAN ፕሮቶኮል ተቆጣጣሪ እና በአውቶቢስ መስመሮች አካላዊ ሽቦዎች በተቆጣጣሪ አውታረ መረብ (CAN) መካከል MAX3051። MAX3051 ለአውቶቡስ ልዩ የማስተላለፍ ችሎታን ይሰጣል እና ለ CAN መቆጣጠሪያ ልዩነትን የመቀበል ችሎታን ይሰጣል።

ደረጃ 6: ግንኙነት

ግንኙነት
ግንኙነት

የ DHT11 ሞጁሉን የ CAN ግንኙነትን ለመደገፍ እንደ መሳሪያ የሚያገለግሉ ሽቦዎችን በመጠቀም ከማዲኖኖ ዜሮ CAN-BUS ሞዱል ጋር ያገናኙ። በተመሳሳይ መረጃውን ለመቀበል እና ለማሳየት ማሳያውን ከሞጁሉ ጋር ያገናኙት።

በማዱኖኖ ዜሮ ካንቡስ እና በ DHT11 between መካከል ያለው ግንኙነት

ማዱኒኖ ዜሮ ካንቡስ - DHT11

3v3 ------ VCC GND ------ GND D10 ------ ዳታ

በማዲኖኖ ዜሮ ካንቡስ እና በኦሌድ መካከል ያለው ግንኙነት

ማዱኒኖ ዜሮ ካንቡስ - ኦሌድ

3v3 ------ VCC GND ------ GND SCL ------ SCL SDA ------ SDA

ሁለቱን የማዱኖ ዜሮ CANBUS ሞጁሎችን ለማገናኘት DB9 ገመድ ይጠቀሙ።

ደረጃ 7 ኮድ

MAX3051 የልዩነት ደረጃዎችን ወደ ሎጂካዊ ምልክቶች መለወጥን ያጠናቅቃል። MCP2515 እንደ የመረጃ ኢንኮዲንግ እና ዲኮዲንግ ያሉ የ CAN ተግባራትን ያጠናቅቃል። MCU መቆጣጠሪያውን ማስነሳት እና ውሂብ መላክ እና መቀበል ብቻ ይፈልጋል።

  • Github:
  • አርዱዲኖ ከተጫነ በኋላ ለመጫን የሚያስፈልገውን ሰሌዳ (አርዱዲኖ ዜሮ) የሚደግፍ ጥቅል የለም።
  • መሳሪያዎችን ይምረጡ -> ቦርድ -> የቦርድ ሥራ አስኪያጅ ፣ “አርዱዲኖ ዜሮ” ን ይፈልጉ እና “አርዱዲኖ ሳምዲ ቦርዶችን” ይጫኑ።
  • መሳሪያዎችን ይምረጡ -> ቦርድ -> አርዱዲኖ ዜሮ (ቤተኛ የዩኤስቢ ወደብ) ፣ መሳሪያዎችን ይምረጡ -> ወደብ -> ኮም…
  • ፕሮግራሙን ከ GitHub ካገኙ በኋላ ፣ ሁሉም ፋይሎች CANBUS ን የሚደግፉ የቤተ -መጽሐፍት ፋይሎችን የያዘ በፕሮጀክቱ ማውጫ ውስጥ መሆናቸውን ማረጋገጥ አለብዎት።
  • DHT11 ን የሙቀት መጠን እና እርጥበት ለማግኘት ለማሽከርከር በሚያገለግል በአዳፍ ፍሬዝ የ DHT ዳሳሽ ቤተ -መጽሐፍት ይጫኑ።
  • በ Test_DHT11.ino ኮድ ውስጥ የሙቀት እና እርጥበት ለየብቻ ለመላክ የተለያዩ አድራሻዎችን ይጠቀሙ።

CAN.sendMsgBuf (0x10 ፣ 0 ፣ stmp1.length () ፣ stmp_send1) ፤

መዘግየት (500); CAN.sendMsgBuf (0x11 ፣ 0 ፣ stmp2.length () ፣ stmp_send2); መዘግየት (500);

“0x10” ማለት የመልዕክት መታወቂያ ፣ “0” ማለት መደበኛ ክፈፍ ፣ “stmp1.length ()” ማለት የመልዕክቱ ርዝመት ፣ “stmp_send1” የተላከው ውሂብ ነው።

  • በ Test_OLED.ino ኮድ ውስጥ ፣ በ CANBUS ላይ ያሉት ሁሉም መልእክቶች በጥያቄ የተቀበሉ እና አስፈላጊው መረጃ በኦሌድ ላይ ይታያል።
  • ፕሮግራሙን Maduino-CANbus-RS485/Test_DHT11_OLED/Test_DHT11/Test_DHT11.ino ን ወደ አነፍናፊው ወደተገናኘው ሞዱል ይስቀሉ እና ፕሮግራሙን Maduino-CANbus RS485/Test_DHT11_OLED/Test_OLED/Test_OLED.ino ወደ OLED ወደተገናኘ ሌላ ሞዱል ይስቀሉ።

ደረጃ 8: አሳይ

አሳይ
አሳይ
አሳይ
አሳይ

በሁለቱ ሞጁሎች ላይ ኃይል ፣ የሙቀት መጠን እና እርጥበት በማሳያው ላይ ይታያል።

የሚመከር: