ዝርዝር ሁኔታ:

ሁለት የጎማ ራስን ሚዛናዊ ሮቦት 7 ደረጃዎች
ሁለት የጎማ ራስን ሚዛናዊ ሮቦት 7 ደረጃዎች

ቪዲዮ: ሁለት የጎማ ራስን ሚዛናዊ ሮቦት 7 ደረጃዎች

ቪዲዮ: ሁለት የጎማ ራስን ሚዛናዊ ሮቦት 7 ደረጃዎች
ቪዲዮ: ከወሲብ በፊት ይህን ከጠጣህ አለቀላት ! | ማለቂያ ለሌለው የወሲብ ብቃት | 2024, ሀምሌ
Anonim
ሁለት የጎማ ራስን ሚዛናዊ ሮቦት
ሁለት የጎማ ራስን ሚዛናዊ ሮቦት

ይህ አስተማሪ ለራስ-ሚዛናዊ ሮቦት በዲዛይን ውስጥ ይገነባል እና ይገነባል። እንደ ማስታወሻ ፣ እኔ እራሴን ሚዛናዊ የሚያደርጉ ሮቦቶች አዲስ ጽንሰ-ሀሳብ አይደሉም እና እነሱ በሌሎች ተገንብተው በሰነድ ተይዘዋል ማለት እፈልጋለሁ። የዚህን ሮቦት ትርጓሜዬን ለእርስዎ ለማካፈል በዚህ አጋጣሚ መጠቀም እፈልጋለሁ።

የራስ-ሚዛናዊ ሮቦት ምንድነው?

ራስን ሚዛናዊ ሮቦት ቀጥ ብሎ እንዲቆይ ቦታውን ያለማቋረጥ ለማስተካከል ከቦርድ ዳሳሽ የተሰበሰበ የማይንቀሳቀስ የመለኪያ መረጃን የሚጠቀም ሥርዓት ነው።

እንዴት ነው የሚሰራው?

ሊታሰብበት የሚገባ ቀለል ያለ ተመሳሳይነት የተገላቢጦሽ ፔንዱለም ነው። የጅምላ ማእከሉ ከምሰሶ ነጥብ በላይ ባለበት። ሆኖም ፣ በእኛ ሁኔታ ፣ እኛ አንድ የመዞሪያ ዘንግ በመያዝ ፣ የእኛን የሁለት ጎማዎችን የመዞሪያ ዘንግ በመያዝ ፔንዱለምን ወደ 1 የነፃነት ደረጃ እየገደብነው ነው። ማንኛውም ዓይነት ረብሻ ሮቦቱን እንዲወድቅ ስለሚያደርግ ፣ ሮቦቱን ሚዛናዊ ለማድረግ በንቃት የመጠበቅ ዘዴ ያስፈልገናል። ሮቦታችን እየወደቀ መሆኑን በማወቅ ስርዓታችን ሚዛናዊ እንዲሆን የሞተሮቻችንን የማዞሪያ አቅጣጫ ማስተካከል የምንችልበት ዝግ ዝግ ስልተ-ቀመር (ፒአይዲ መቆጣጠሪያ) ወደዚህ የሚመጣበት ነው።

የተዘጋው አልጎሪዝም እንዴት ይሠራል?

ሮቦቱን ሚዛናዊ ለማድረግ መሠረታዊው መርህ ፣ ሮቦቱ ወደ ፊት እየወደቀ ከሆነ ፣ የሮቦቱን የታችኛው ክፍል ወደ ፊት በማንቀሳቀስ ካሳውን ይከፍላል እና ቀጥ ብሎ ይቆማል። እንደዚሁም ፣ ሮቦቱ ወደ ኋላ እየወደቀ ከሆነ ፣ የሮቦቱን የታችኛው ክፍል ወደ ኋላ በማንቀሳቀስ ራሱን ለመያዝ ይከፍላል።

ስለዚህ ፣ እዚህ ሁለት ነገሮችን ማድረግ አለብን ፣ በመጀመሪያ ፣ ሮቦቱ እያጋጠመው ያለውን ዝንባሌ (ሮል) ማስላት እና በዚህም ምክንያት የሞተሮችን የማዞሪያ አቅጣጫ መቆጣጠር አለብን።

የዝንባሌን አንግል እንዴት እንለካለን?

የዝንባሌውን አንግል ለመለካት የማይንቀሳቀስ የመለኪያ ክፍል እንጠቀማለን። እነዚህ ሞጁሎች የፍጥነት መለኪያ እና ጋይሮስኮፕን ያካትታሉ።

  • የፍጥነት መለኪያ ትክክለኛውን ፍጥነቱን የሚለካ የኤሌክትሮማግኔቲክ መሣሪያ ነው ፣ ይህ በቅጽበት የእረፍት ክፈፍ ውስጥ የአንድ አካል ማፋጠን ነው።
  • ጋይሮስኮፕ የማዕዘን ፍጥነትን የሚለካ እና የመሣሪያውን አቀማመጥ ለመወሰን የሚያገለግል የኤሌክትሮ መካኒካል መሣሪያ ነው።

ሆኖም ፣ እንደዚህ ያሉ ዳሳሾችን የመጠቀም ችግር የሚከተለው ነው-

  • የፍጥነት መለኪያ በጣም ጫጫታ ነው ግን ከጊዜ በኋላ ወጥነት አለው ፣ አንግል በድንገት አግድም እንቅስቃሴዎች ይለያያል
  • በሌላ በኩል የጂሮስኮስኮፕ እሴት ከጊዜ በኋላ ይንሸራተታል ፣ ግን መጀመሪያ ላይ በትክክል ትክክለኛ ነው

ለዚህ አስተማሪ ፣ እኔ በቦርድ ዲጂታል የእንቅስቃሴ ማቀነባበሪያ (ዲኤምፒ) በመጠቀም ታምሜ ማጣሪያን ተግባራዊ አላደርግም። ሌሎች ለስላሳ ምልክት ለማግኘት ተጓዳኝ ማጣሪያን ተጠቅመዋል ፣ የትኛውን ዘዴ እንደሚመርጡ መምረጥ ይችላሉ። ሮቦቱ ከሁለቱም ትግበራ ጋር ሲመጣጠን።

አቅርቦቶች

ክፍሎች ፦

  1. አርዱዲኖ ፕሮ ሚኒ 3.3 ቪ 8 በ 8 ሜኸ ATMEGA328
  2. FT232RL 3.3V 5.5V FTDI USB ወደ TTL ተከታታይ አስማሚ ሞዱል
  3. GY-521 ሞዱል ከ MPU-6050 ጋር
  4. ጥንድ የ N20 ማይክሮ ማርሽ ሞተር 6V - 300rpm
  5. L298N የሞተር ሾፌር
  6. LM2596S ዲሲ ወደ ዲሲ ባክ መቀየሪያ
  7. ባትሪ (ሊሞላ የሚችል 9.7V Li-ion ባትሪ ጥቅል)
  8. የባትሪ ገመድ
  9. ሁለት የፒ.ቢ.ቢ የወረዳ ሰሌዳዎች
  10. ወንድ እና ሴት ራስጌ ፒን መዝለያ ሽቦዎች

መሣሪያዎች ፦

  1. የብረት እና የመሸጫ ብረት
  2. ናይሎን ሄክስስ ስፔሰርስ መቆሚያ
  3. ትክክለኛ የማሽከርከሪያ ስብስብ
  4. 3 ዲ አታሚ

ደረጃ 1 ግንባታ

የ 3 ዲ አታሚ መድረሻ ስለነበረኝ ቻሲሱን 3 ዲ ለማተም እና ሁሉንም በአንድ ላይ ለማገናኘት ልዩነቶችን ለመጠቀም ወሰንኩ።

ሮቦቱ 4 ንብርብሮችን ያቀፈ ነው

  1. የታችኛው ንብርብር ሞተሮችን ያገናኛል እና ለ L298N የሞተር ሾፌር ሞዱል የመጫኛ ነጥቦች አሉት
  2. ቀጣዩ ንብርብር አርዱዲኖ ፕሮ ሚኒ እና አርታኢዎች የተሸጡበትን የፕሮቶታይፕ ቦርድ ይይዛል
  3. ሦስተኛው ንብርብር አይኤምዩ ላይ ይጫናል
  4. እኔ “የመከለያ ንብርብር” ብዬ የምጠራው የላይኛው ንብርብር ባትሪውን ፣ የባክ መቀየሪያውን እና የገንዘብ መቀየሪያውን ያዝናናል

የእኔ ዋና የንድፍ መርህ ሁሉንም ነገር ሞዱል ማድረግ ነበር። ይህ የሆነበት ምክንያት በአንዱ አካላት ላይ የሆነ ችግር ከተከሰተ እኔ በቀላሉ ልተካው እችላለሁ ወይም ለሌላ ፕሮጀክት አንድ አካል ከፈለግኩ ስርዓቱን እንደገና ላለመጠቀም ሳላስጨነቅ በቀላሉ ልወስደው እችላለሁ።

ደረጃ 2 - ሽቦ

ሽቦ
ሽቦ

ከ Arduino pro mini ራስጌ ፒኖች ጋር ለማዛመድ አንዳንድ የሴት የራስጌ ነጥቦችን ወደ ሽቶ ሰሌዳ ሸጥኩ። ይህን ተከትዬ ፣ እኔ/ኦ መድረሻውን ለመፍቀድ የወንድ ራስጌ ቦርዱን በፒን ሸጥኩ። የተቀሩት ክፍሎች በ 3 ዲ የታተመ ክፈፍ ላይ ተጭነው የጃምፐር ሽቦዎችን በመጠቀም ተገናኝተዋል።

ደረጃ 3 የቁጥጥር ንድፈ ሃሳብ

አሁን ወደ ፕሮጀክቱ ዋና ክፍል እንሸጋገራለን። ሮቦቱን ሚዛናዊ ለማድረግ ፣ ሮቦቱን ሚዛናዊ እና የተረጋጋ እንዲሆን ሞተሮችን በትክክለኛው አቅጣጫ እና በትክክለኛው ፍጥነት ለማሽከርከር ተገቢ የቁጥጥር ምልክት መፍጠር አለብን። ይህንን ለማድረግ የፒአይዲ መቆጣጠሪያ በመባል የሚታወቅ ታዋቂ የቁጥጥር ዑደት ስልተ ቀመር እንጠቀማለን። ምህፃረ ቃል እንደሚጠቁመው ለዚህ ተቆጣጣሪ ሶስት ውሎች አሉ ፣ እነዚህ ተመጣጣኝ ፣ የተዋሃዱ እና የመነሻ ውሎች ናቸው። እያንዳንዳቸው በስርዓቱ ላይ የነበራቸውን ተፅእኖ በሚወስኑ ተባባሪዎች አብረው ይጓዛሉ። ብዙውን ጊዜ የመቆጣጠሪያው ትግበራ በጣም ጊዜ የሚወስደው አካል እጅግ በጣም ጥሩውን ምላሽ ለማግኘት ለእያንዳንዱ ልዩ ስርዓት የእድገቶችን ማስተካከል ነው።

  • የተመጣጠነ ቃል ውፅዓት ለመስጠት ስህተቱን በቀጥታ ያበዛል ፣ ስለዚህ ስህተቱ ትልቅ ከሆነ ምላሹ ይበልጣል
  • የማይለወጠው ቃል የተረጋጋውን የስህተት ስህተት ለመቀነስ በስህተት ክምችት ላይ የተመሠረተ ምላሽ ይፈጥራል። ስርዓቱ ሚዛናዊ ባልሆነ መጠን ሞተሮቹ በፍጥነት ምላሽ ይሰጣሉ
  • የመነሻ ቃሉ የወደፊቱን ምላሽ ለመተንበይ የሚያገለግል የስህተት አመጣጥ ነው እና ይህን ሲያደርግ የተረጋጋውን ሁኔታ ከመጠን በላይ በመቆጣጠር ምክንያት ማወዛወዙን ይቀንሳል።

የዚህ ስልተ ቀመር መሠረታዊ መርህ በተፈለገው ቦታ እና አሁን ባለው አቀማመጥ መካከል ያለው ልዩነት የአጋጣሚያውን አንግል ያለማቋረጥ ማስላት ነው ፣ ይህ ስህተት በመባል ይታወቃል። ከዚያ ይህንን የስህተት እሴቶችን ይጠቀማል እና ውጤትን ለማግኘት የተመጣጠነ ፣ የተዋሃደ እና የመነሻ ምላሾችን ድምር ያሰላል ፣ ይህም ወደ ሞተሮች የሚላኩት የቁጥጥር ምልክቶች ናቸው። በዚህ ምክንያት ስህተቱ ትልቅ ከሆነ ወደ ሞተሮች የተላከው የቁጥጥር ምልክት ወደ ሚዛናዊ ሁኔታ ለመድረስ ሞተሮችን በከፍተኛ ፍጥነት ያሽከረክራል። እንደዚሁም ፣ ስህተቱ ትንሽ ከሆነ የመቆጣጠሪያ ምልክቱ ሮቦቱን ሚዛናዊ ለማድረግ ሞተሮቹን ዝቅተኛ ፍጥነት ያሽከረክራል።

ደረጃ 4 MPU 6050 ን በመጠቀም

MPU6050 ቤተ -መጽሐፍት

github.com/jrowberg/i2cdevlib/tree/master/…

ሁሉም ዳሳሾች አንዳቸው የሌላው ትክክለኛ ቅጂዎች አይደሉም። በውጤቱም ፣ ሁለት MPU 6050 ን ከሞከሩ አሁንም በተመሳሳይ ገጽ ላይ ሲቀመጡ ለአክስሌሮሜትር እና ለጋይሮስኮፕ የተለያዩ እሴቶችን ማግኘት ይችላሉ። ይህንን የማያቋርጥ የማዕዘን ማካካሻ ለማሸነፍ የምንጠቀምበትን እያንዳንዱን ዳሳሽ ማክበር አለብን። ይህን ስክሪፕት በማስኬድ ላይ ፦

www.i2cdevlib.com/forums/topic/96-arduino-…

በሉዊስ ሮዴናስ ተፃፈ ፣ ማካካሻዎችን እናገኛለን። በማዋቀሪያ () መደበኛ ውስጥ የማካካሻ እሴቶችን በመለየት የማካካሻ ስህተቶች ሊወገዱ ይችላሉ።

የዲጂታል እንቅስቃሴ ፕሮሰሰርን በመጠቀም

MPU6050 DMP (ዲጂታል የእንቅስቃሴ ፕሮሰሰር) ይ containsል።

DMP ምንድን ነው? የእራሱ የእንቅስቃሴ ውህደት ስልተ ቀመሮችን በመጠቀም በ mpu6050 ላይ ከ 3-ዘንግ ጋይሮስኮፕ እና ከ3-ዘንግ የፍጥነት መለኪያ ያለውን ውስብስብ እንቅስቃሴን የሚያከናውን እንደ ተሳፋሪ ማይክሮ መቆጣጠሪያ ሆኖ DMP ን ማሰብ ይችላሉ። በአርዱዲኖ አለበለዚያ የሚደረገውን ማቀነባበር እንደገና ማውረድ።

እንዴት እንደሚጠቀሙበት? DMP ን እንዴት እንደሚጠቀሙበት ለማወቅ ከ MPU6050 ቤተ-መጽሐፍት ጋር የሚመጣውን የምስል ንድፍ MPU6050_DMP6 ይሂዱ (በአርዱዲኖ አይዲ ውስጥ ፋይል-> ምሳሌ-> MPU6050-> MPU6050_DMP6)። ይህ እንዲሁ ዳሳሽዎ በትክክል እንደሚሰራ እና ሽቦው ትክክል መሆኑን ለመፈተሽ ጥሩ አጋጣሚ ነው።

ደረጃ 5 - ኮድ መስጠት

የአርዱዲኖ ፕሮ ሚኒን ፕሮግራም ለማዘጋጀት የአርዲኖ አይዲኢ እና የኤፍቲዲአይ በይነገጽን እጠቀም ነበር።

ከ MPU6050 ቤተ -መጽሐፍት ጋር የሚመጣውን የምስል ንድፍ (MPU6050_DMP6) እንደ መሰረታዊ ኮድ እኔ የ PID () እና የሞተር ድራይቨር () ተግባሮችን ጨመርኩ።

ቤተ -መጽሐፍቱን ያክሉ

  • MPU6050: የ MPU6050 ዳሳሽ ለመጠቀም የ I2C ገንቢ ቤተ -መጽሐፍትን ከጄፍ ሮውበርግ ማውረድ እና በኮምፒተርዎ ላይ ባለው የፕሮግራም ፋይሎች ውስጥ ወደ አርዱinoኖ “ቤተ -መጻሕፍት” አቃፊ ማከል ያስፈልገናል።
  • ሽቦ - እኛ ከ I2C መሣሪያዎች ጋር እንድንገናኝ እንድንፈቅድም የሽቦ ቤተ -መጽሐፍት ያስፈልገናል።

የውሸት ኮድ

ቤተመጽሐፍት አካትት ፦

  • Wire.h
  • MPU6050
  • I2Cdev.h

ተለዋዋጮችን ፣ ቋሚዎችን እና ዕቃዎችን መጀመሪያ ያስጀምሩ

አዘገጃጀት ()

  • ሞተሮችን ለመቆጣጠር የፒን ሁነታን ያዘጋጁ
  • ለቦታው ሁኔታ ፒን ሁነታን ያዘጋጁ
  • MPU6050 ን ያስጀምሩ እና የማካካሻ እሴቶችን ያዘጋጁ

ፒአይዲ ()

የ PID ዋጋን አስሉ

የሞተር ድራይቨር (የ PID ምላሽ)

የሞተሮችን ፍጥነት እና አቅጣጫ ለመቆጣጠር የ PID ዋጋን ይጠቀሙ

ሉፕ ()

  • ከ DMP ውሂብ ያግኙ
  • ለ PID () የሞተር ድራይቨር () ተግባራት ይደውሉ

ደረጃ 6 የ PID ማስተካከያ ሂደት

ይህ የፕሮጀክቱ በጣም አድካሚ አካል ነው እና በጣም ዕድለኛ ካልሆኑ በስተቀር ትንሽ ትዕግስት ይጠይቃል። ደረጃዎች እዚህ አሉ

  1. እኔ እና ዲ ቃልን ወደ 0 ያዘጋጁ
  2. ሮቦቱን በመያዝ ፣ ሮቦቱ ስለ ሚዛናዊ አቀማመጥ ማወዛወዝ እንዲጀምር ፒ ን ያስተካክሉ
  3. ሚዛናዊ በማይሆንበት ጊዜ ሮቦቱ በፍጥነት እንዲፋጠን በ P ስብስብ ፣ እኔ ጨምር። በፒ እና እኔ በትክክል ተስተካክለን ፣ ሮቦቱ በተወሰነ ማወዛወዝ ቢያንስ ለጥቂት ሰከንዶች ራሱን ማመጣጠን መቻል አለበት።
  4. በመጨረሻም ፣ ዲ ይጨምሩ ማወዛወዝ ይቀንሳል

የመጀመሪያው ሙከራ አጥጋቢ ውጤቶችን የማይሰጥ ከሆነ ፣ እርምጃዎቹን በተለየ የፒ እሴት ይድገሙት። አፈፃፀሙን የበለጠ ለማሳደግ ከዚያ በኋላ የ PID እሴቶችን በጥሩ ሁኔታ ማስተካከል እንደሚችሉ ይወቁ። እዚህ ያሉት እሴቶች በሃርድዌር ላይ ጥገኛ ናቸው ፣ በጣም ትልቅ ወይም በጣም ትንሽ የፒአይዲ እሴቶችን ካገኙ አይገርሙ።

ደረጃ 7 - ማጠቃለያ

ጥቅም ላይ የዋሉት የማይክሮ ማርሽ ሞተሮች ለትላልቅ ብጥብጦች ምላሽ ለመስጠት ዘገምተኛ ነበሩ እና ስርዓቱ በጣም ቀላል ስለነበረ የሚፈለገውን የፔንዱለም ውጤት ለማግኘት በቂ አለመቻቻል ስለነበረ ሮቦቱ ወደ ፊት ዘንበል ቢል በአንድ ማዕዘን ላይ ዘንበል ብሎ ወደ ፊት ወደፊት ይሮጣል። በመጨረሻም ፣ 3 ዲ የታተሙ መንኮራኩሮች መንሸራተታቸውን ስለሚቀጥሉ መጥፎ ምርጫ ነበሩ።

የማሻሻያ ጥቆማዎች ፦

  • ከፍተኛ ሞተሮች ያሉት ፈጣን ሞተሮች ፣ ማለትም ለዲ.ሲ
  • ከባድ ባትሪ ያግኙ ወይም ክብደቱን በትንሹ ከፍ ያድርጉት
  • የበለጠ መጎተት ለማግኘት 3 ዲ የታተሙ ጎማዎችን ከጎማ ጋር ይተኩ

የሚመከር: