ዝርዝር ሁኔታ:

ስማርት 3 -ል አታሚ ፊላተር ቆጣሪ -5 ደረጃዎች (ከስዕሎች ጋር)
ስማርት 3 -ል አታሚ ፊላተር ቆጣሪ -5 ደረጃዎች (ከስዕሎች ጋር)

ቪዲዮ: ስማርት 3 -ል አታሚ ፊላተር ቆጣሪ -5 ደረጃዎች (ከስዕሎች ጋር)

ቪዲዮ: ስማርት 3 -ል አታሚ ፊላተር ቆጣሪ -5 ደረጃዎች (ከስዕሎች ጋር)
ቪዲዮ: TECNO pop 3 hard reset new way 2021 in Amharic 2024, ሰኔ
Anonim
ስማርት 3 ዲ አታሚ ፊላመንት ቆጣሪ
ስማርት 3 ዲ አታሚ ፊላመንት ቆጣሪ

ክር መቁጠር ለምን አስጨነቀ? ጥቂት ምክንያቶች

የተሳካላቸው ህትመቶች በትክክል የተስተካከለ ማራዘሚያ ያስፈልጋቸዋል-gcode ኤክስፐርደር 2 ሚሜውን እንዲያንቀሳቅሰው ሲነግረው በትክክል 2 ሚሜ መንቀሳቀስ አለበት። ከመጠን በላይ ከወጣ ወይም ከተወገደ መጥፎ ነገሮች ይከሰታሉ። በደንብ የተስተካከለ ቆጣሪ አጭበርባሪን ሐቀኛ አድርጎ ሊቆይ ይችላል።

ተንሸራታቾች አንድ የተሰጠ ህትመት ምን ያህል ጠቅላላ ክር እንደሚወስድ ይገመታል (በሁለቱም ርዝመት እና ክብደት) እና እነዚያን እሴቶች መፈተሽ እፈልጋለሁ።

የክርን እንቅስቃሴ መለካት እንዲሁ ማተም መቼ እንደተጀመረ እና መቼ እንደቆመ ያሳውቁኝ።

በአታሚዬ ፊት ለፊት ያለውን አስቀያሚ ግዙፍ አርማ በማስወገድ የቀረውን ቦታ የሚሸፍን አንድ ነገር ያስፈልገኝ ነበር።

አሪፍ ነው።

ለ 3 ዲ አታሚ የድሮ PS/2 መዳፊትን እንደ ክር ቆጣሪ መልሶ በሚመልሰው በዚህ ትምህርት ሰጪነት ተነሳስቼ ነበር። በ 3 ዲ አታሚ ላይ ጠቃሚ ባህሪን ማከል ብቻ ሳይሆን ፣ በቆሻሻ ማጠራቀሚያ ውስጥ ያበቃውን የድሮ መሣሪያ መልሶ መልሷል። ግን ያ ፕሮጀክት የተገነባው በመዳፊት PS/2 በይነገጽ ዙሪያ ነው ፣ እሱም አላስፈላጊ በሆነ መልኩ አስቸጋሪ በሚመስል። ስለዚህ ይህንን እንደ ብቸኛ አስፈላጊ አካል ለመማር እንደ አጋጣሚ ወስጄዋለሁ - የ rotary encoder።

አቅርቦቶች

ሮታሪ ኢንኮደር

ESP32 የተመሠረተ dev ቦርድ

I2C OLED ማሳያ (ባለ ሁለት ቀለም አሃድ በተለይ አሪፍ ይመስላል)

ትንሽ ጊዜያዊ የግፊት አዝራር

የተቀባ 608ZZ ተሸካሚ

ከሃርድዌር መደብር ሁለት ኦ -ቀለበቶች (~ 33 ሚሜ መታወቂያ x ~ 1.5 ሚሜ የመገለጫ ዲያሜትር - አስተያየቶችን ይመልከቱ)

ለግቢው ሁለት 2.5 ሚሜ የራስ-ታፕ ዊንሽኖች

ተራራውን ከአታሚዎ ጋር ለማያያዝ ሁለት 4 ሚሜ ብሎኖች ፣ ለውዝ እና ማጠቢያዎች

ጥቅል ሽቦዎች

3 ዲ አታሚ እና አንዳንድ ክር

ደረጃ 1: ሮታሪ ኢንኮደር ይምረጡ

ሮታሪ ኢንኮደር ይምረጡ
ሮታሪ ኢንኮደር ይምረጡ
ሮታሪ ኢንኮደር ይምረጡ
ሮታሪ ኢንኮደር ይምረጡ

የሮታሪ ኢንኮደሮች የማሽከርከር እንቅስቃሴን ወደ ኤሌክትሪክ ፍሬዎች ይተረጉማሉ። ሁሉም የድሮ ትምህርት ቤት አይጦች የሚሽከረከረው ኳስ እንቅስቃሴን ለመለካት ይጠቀሙባቸው ነበር ፣ እና የበለጠ ዘመናዊ (ሄክታር) የኦፕቲካል አይጦች አሁንም ለመንከባለል መንኮራኩር ይጠቀሙባቸው ነበር ፣ ይህም በዙሪያዬ ያኖርኩትና ለመጀመሪያ ሙከራ ያገለገልኩት ነው። እንደ አለመታደል ሆኖ የእኔ ምንም ግልፅ የተራራ ነጥቦችን አልቀረበም እና መፍትሄው ደካማ ነበር።

ማድረግ ዋጋ ያለው ከሆነ ከመጠን በላይ መሥራት ዋጋ አለው። ስለዚህ አንድ ትልቅ ፣ ወዳጃዊ ፣ 360-pulse በአንድ አብዮት ኢንኮደር ገዝቼ ፕሮጀክቴን በዙሪያው ሠራሁ። እኔ የመረጥኩት የምልክት መጨመር ጭማሪ ኦፕቲካል ሮታሪ ኢንኮደር ፣ LPD3806-360BM-G5-24C ይተይቡ። ግን ማንኛውም ጨዋ ኢንኮደር ያደርገዋል።

ደረጃ 2: Pሊ እና አድካሚ ያክሉ

Pulley እና Idler ያክሉ
Pulley እና Idler ያክሉ

የክርን መስመራዊ እንቅስቃሴ ወደ መቀየሪያው የማዞሪያ እንቅስቃሴ በ pulley ይተረጎማል። እና ክርው ሥራ ፈት ባልሆነ መጎተቻ ላይ ይያዛል።

መጎተቻው ሁለት ጫፎች አሉት ፣ እያንዳንዳቸው የተዘረጋ ኦ-ቀለበት ይይዛሉ ፣ ስለዚህ መንሸራተት እንዳይኖር ፣

ሥራ ፈታኙ ፋይሉን በኢኮደር መጎተቻው ላይ ማዕከል አድርጎ ለማቆየት አንድ ነጠላ የ v-groove አለው። እሱ በዙሪያዬ ባደረግሁት 608ZZ ተሸካሚ ላይ ይቀመጣል ፣ እና ያ በፕሮጄኬቴ ዋና አካል ውስጥ በታተመ ጠመዝማዛ ፀደይ ላይ ተጭኗል። (የ STL ፋይሎች ከዚህ በታች ተያይዘዋል።)

ይህ ትክክል ለመሆን አንዳንድ ሙከራዎችን እና ስህተቶችን ፈጅቷል ፣ ግን የእኔ ንድፍ የተለያዩ ማዕዘኖችን እና ስፖል ራዲሶችን ማስተናገድ አለበት ፣ ይህም ክር ከማንኛውም የማሽከርከሪያው ክፍል እንዲላቀቅ ፣ ከመጀመሪያው እስከ ህትመት መጨረሻ ድረስ። እና የታተመው ፀደይ ተንሳፋፊዎችን በሚቀይሩበት ጊዜ ክር ውስጥ ብቅ ማለት ወይም መውጣት ቀላል ያደርገዋል።

ደረጃ 3 - ኮድ መስጠት

Image
Image

ክር ለመቁጠር ፣ ሁለት ዲጂታል ግብዓቶች ያሉት ማንኛውም የዲቦርድ ሰሌዳ ይሠራል። እኔ የመረጥኩት ኢንኮደር አራት ፒኖች አሉት - ቪሲሲ ፣ መሬት እና ሁለት የኢኮደር ፒን። የሚሽከረከሩ ኢንኮደሮች እንዴት እንደሚሠሩ እና ከአርዱዲኖ ጋር እንዴት እንደሚገናኙ የሚያብራራ ጥሩ ጥሩ ጽሑፍ እዚህ አለ። (እንዲሁም-ይህ ጽሑፍ ስለ 3-ፒን ኢንኮደሮች።)

መሠረታዊው ቆጠራ ቀላል ነው - ሁለት ግብዓቶች - ለውጭ ተከላካዮች ወደ ቪሲሲ መሸጥ አያስፈልጋቸውም - እና አንድ ማቋረጥ። እኔ ደግሞ አንድ ተጨማሪ ግቤትን እና ማቋረጥን የሚፈልግ ዜሮ/ዳግም ማስጀመሪያ ቁልፍን ጨመርኩ።

ባዶ setUpPins () {

pinMode (ENCODER_PIN_1 ፣ INPUT_PULLUP); pinMode (ENCODER_PIN_2 ፣ INPUT_PULLUP); pinMode (ZERO_BTN_PIN ፣ INPUT_PULLUP); አባሪ ማቋረጫ (ENCODER_PIN_1 ፣ encoderPinDidChange ፣ CHANGE); አባሪ መቋረጥ (ZERO_BTN_PIN ፣ zeroButtonPressed ፣ CHANGE); } ባዶ IRAM_ATTR encoderPinDidChange () {ከሆነ (digitalRead (ENCODER_PIN_1) == digitalRead (ENCODER_PIN_2)) {position += 1; } ሌላ {አቀማመጥ -= 1; }} ባዶነት IRAM_ATTR zeroButtonPressed () {// ዜሮ መያዝ እና ዳግም ማስጀመር}

እኔ ግን ከድዳ ቆጣሪ በላይ ብቻ ፈልጌ ነበር። በ ESP32 (ወይም ESP8266) እና አብሮ በተሰራው ዋይፋይ ፣ እኔ በምሰበስበው ውሂብ አንድ ነገር ማድረግ እችላለሁ። አንዳንድ ቀላል የማለፊያ ኮድን (ከዚህ በታች ተብራርቷል) ፣ ማተም መቼ እንደሚጀመር እና እንደሚጠናቀቅ መወሰን እና እነዚያን ክስተቶች እንደ ማሳወቂያዎች ወደ ስልኬ መላክ እችላለሁ። ለወደፊቱ ትኩረቴ በሚፈለግበት ጊዜ የማሽከርከሪያ ዳሳሽ ማከል እና ለራሴ ማሳወቅ (እና አታሚዬን ለአፍታ ማቆም) እችል ይሆናል።

ሙሉው ኮድ Github ላይ ነው።

በኮዱ ላይ ጥቂት ማስታወሻዎች

ይህንን ለግንባታዎ ለማበጀት እርስዎ የሚፈልጉት ጥራት (ኢንኮደርፒአርፒ) - በአንድ አብዮት በጥራጥሬ ውስጥ ፣ እሱም በተለምዶ ሁለት ጊዜ የተጠቀሰው ዝርዝር - እና የመዘዋወሪያው ራዲየስ (የጎማ ራዲየስ)። እነዚህ እሴቶች ፣ የእርስዎ wifi ssid እና የይለፍ ቃል እና ከአዝራሩ ፣ ከኢኮደር እና ከ OLED ማያ ገጽ ጋር የተገናኙ የተወሰኑ ፒኖች ፣ ሁሉም በ config.h ውስጥ ይሄዳሉ።

ዜሮ አዝራሩ እንዲሁ እንደ ዳግም ማስጀመሪያ በእጥፍ ይጨምራል - ለማረም ጠቃሚ የሆነውን ሰሌዳውን እንደገና ለማስጀመር ይያዙት።

ማቋረጦች ኃይለኛ ናቸው - አንዳንድ ጊዜ በጣም ኃይለኛ። ዜሮ አዝራር አንድ ጊዜ መታ ማድረግ የ ዜሮ አዝራርፕሬድ () ተግባር ከ10-20 ጊዜ እንዲጠራ ሊያደርግ ይችላል ፣ ስለዚህ እኔ አንዳንድ የማራገፍ አመክንዮ ጨመርኩ። የእኔ የኦፕቲካል ኢንኮደር አያስፈልገውም ፣ ግን YMMV።

መቋረጦቹ ግብዓቶችን ባልተመሳሰለ ሁኔታ ሲንከባከቡ ፣ የ loop () የዕለት ተዕለት ሥራ የመጽሐፉን አያያዝ ይቆጣጠራል። የመቀየሪያ -ግዛት - ለመመገብ ፣ ወደ ኋላ ለመመለስ ወይም ለማቆም የሚችል አመንጪ - በኮድ አድራጊው አቀማመጥ ለውጥ ተዘምኗል። የጊዜ ማብቂያዎች ከዚያ በኋላ አታሚው ህትመቱን የጀመረው እና ያጠናቀቀው መቼ እንደሆነ ይወስናሉ። ግን በጣም አስቸጋሪው ክፍል 3 ዲ አታሚዎች እንቅስቃሴን የሚጀምሩት እና የሚያቆሙት መሆኑ ነው ፣ ስለዚህ በጣም ጥሩ የሰራው “የህትመት ሙሉ” ክስተት ያለማቋረጥ ቢያንስ ለ 5 ሰከንዶች ቆሟል ማለት ነው። ማንኛውም እንቅስቃሴ “የህትመት ተጀምሯል” የሚለውን ክስተት የሚገልጽ ሁለተኛ ሰዓት ቆጣሪ ያስነሳል ፣ “የህትመት ሙሉ” ክስተት በ 15 ሰከንዶች ጊዜ ውስጥ ካልተከሰተ ብቻ። በተግባር ይህ በመዋኛ ይሠራል።

ስለዚህ ዋናው loop () ኮዱ ያለመቆጠር ሊሠራ ይችላል ፣ የመልቀቂያ ኮዱ በ RTOS ተግባር ዑደት ውስጥ ይሠራል። እንደዚሁም ፣ ማሳወቂያዎችን ለመላክ የ http ጥያቄዎች ተመሳሳዮች ናቸው እና ስለሆነም ዳራ አላቸው። ስለዚህ እነማዎች በተቀላጠፈ ሁኔታ ይሰራሉ እና ቆጠራው አያቆምም።

(ሀ) ከ WiFi እና mDNS ጋር የአውታረ መረብ ግንኙነትን ለመመስረት እና ለማቆየት ፣ (ለ) ጊዜዬን ከኤቲሲ አገልጋይ ለማምጣት የእኔን ጅምር እና የማሳወቂያ ጊዜን ማህተም ለማድረግ እና የቅንጦት ሰዓት ለማሳየት በምሳሌዬ ውስጥ ብዙ ተጨማሪ ኮድ አለ። በኮድ ዝመናዎቼ ላይ ቦርዴን ከማክዬ ጋር በአካል ማገናኘት የለብኝም ፣ በእኔ ኦሌዴ ላይ እና (ሐ) የኦቲኤ ዝመናዎችን ይያዙ። በአሁኑ ጊዜ ፣ ሁሉም በአንድ ሞኖሊክ ሲ ++ ፋይል ውስጥ ነው ፣ እኔ በተሻለ ሁኔታ ለማደራጀት ጊዜ ስላልወሰድኩ ብቻ።

ከኤች ቲ ቲ ቲ ዘዴዎችን የበለጠ ምንም ነገር የሌለበትን የግፊት ማሳወቂያዎችን ወደ ስልኬ ለመላክ አስደናቂውን (እና ነፃ) Prowl iOS መተግበሪያን ተጠቀምኩ።

ኮዱን ለማዳበር እና ቦርዱን ለማብራት ፣ በእይታ ስቱዲዮ ኮድ ላይ የሚሮጠውን አስደናቂ PlatformIO ን ተጠቀምኩ ፣ ሁለቱም ነፃ።

ለፕሮጄኬዬ እኔ እነዚህን ቤተመፃህፍት ተጠቅሜአለሁ - u8g2 በኦሊቨር ፣ አልpsል ሚሊስ በጳውሎስ ስቶፍሬገን ፣ እና ኤች ቲ ቲ ፒሲኤንት ከኤስፕሬስ ESP32 መድረክ ጋር የሚመጣው። የተቀረው ነገር ሁሉ በአርዲኖ ቤተ -መጽሐፍት ወይም በ PlatformIO ውስጥ ካለው የ ESP32 መድረክ ጋር ይመጣል።

በመጨረሻ ፣ በተለያዩ ማዕዘኖች ላይ ስድስት ዋና ዋና መጎተቻዎቼን ቀለል ያሉ ካርታዎችን ፈጠርኩ ፣ ስለሆነም ከመቁጠሪያው በስተጀርባ በ OLED ላይ ጥርት ያለ የሚሽከረከር የጎማ አኒሜሽን ማሳየት እችል ነበር። ምንም እንኳን ለድራማዊ ውጤት በጣም ፈጣን ቢሆንም ፣ ከኮኮደር ጋር በተገቢው አቅጣጫ ይንቀሳቀሳል።

ደረጃ 4 - ሽቦ

ሽቦ
ሽቦ

ይህንን ንድፍ ያዘጋጀሁት ስለዚህ ሽቦው ቀላል ሆኖ እንዲቀር ፣ አብዛኛው የእኔ አጥር ትንሽ ሊሆን ይችላል ፣ ግን ደግሞ ማረም ቀጥተኛ-ፈራጅ ይሆናል። በትንሽ ሳጥኔ ውስጥ ጠባብ ሁኔታዎችን ያስተውሉ።:)

የመጀመሪያው መስፈርት የእኔ የ rotary encoder 5V አቅርቦት ቮልቴጅ ነበር። በእኔ ማከማቻ ውስጥ ከነበሩት የተለያዩ የ ESP32 dev ቦርዶች ውስጥ በዩኤስቢ ሲሠራ በ Vcc ፒን ላይ እውነተኛ 5V ብቻ ሰጥተዋል። (ሌሎቹ 4.5-4.8 ቪ ይለካሉ ፣ ይህም ሂሳብዎ መጥፎ ከሆነ ከ 5 ቪ በታች ነው።) እኔ የተጠቀምኩበት ሰሌዳ ቬሞስ ሎሊን 32 ነበር።

በመቀጠል ሁለቱን የ rotary encoder የምልክት ፒኖች ይምጡ። ማቋረጫዎችን ስለምጠቀም ፣ ዋናው የሚያሳስበኝ የምጠቀምባቸው ፒኖች በምንም ነገር ውስጥ ጣልቃ አለመግባታቸው ነው። የ ESP32 ሰነዶች ADC2 ከ WiFi ጋር በአንድ ጊዜ ጥቅም ላይ መዋል እንደማይችል ይገልፃል ፣ ስለሆነም በሚያሳዝን ሁኔታ ማንኛውንም የ ADC2 GPIO ፒኖችን 0 ፣ 2 ፣ 4 ፣ 12 ፣ 13 ፣ 14 ፣ 15 ፣ 25 ፣ 26 ፣ ወይም 27. 16 እና 17 ን መርጫለሁ።

ጠቃሚ ምክር - ይህንን ሁሉ አንድ ላይ ካደረጉ በኋላ ፣ ኢንኮደርዎ ወደ ኋላ የሚቆጥር መስሎ ከታየ ፣ በ config.h ውስጥ ሁለቱን የፒን ምደባዎች መለዋወጥ ይችላሉ።

በመጨረሻም ፣ የ rotary encoder የመሬት ሽቦን ወደ … ከበሮ ጥቅል… ከመሬት ፒን ጋር ያገናኙ።

በመቀጠልም ዜሮ/ዳግም ማስጀመሪያ የግፊት ቁልፍ በመሬት እና በሌላ ነፃ ፒን መካከል ይገናኛል (እኔ GPIO 18 ን መርጫለሁ)።

እኔ የተጠቀምኩት አዝራር ከላይ ከተጠቀሰው የኮምፒተር መዳፊት ያዳሁት ትንሽ ጊዜያዊ መቀየሪያ ነበር ፣ ግን በዙሪያዎ የሚጭኑት ማንኛውም ቁልፍ ይሠራል። በቦርዱ ላይ በላዩ ላይ ባደረግሁት ትንሽ ተራራ ላይ ሲያርፍ ማየት ይችላሉ።

በመጨረሻም ፣ OLED ፣ ቀድሞውኑ ከቦርድዎ ጋር ካልተገናኘ ፣ አራት ፒን ብቻ ይፈልጋል - 3V3 ፣ መሬት ፣ i2c ሰዓት እና i2c ውሂብ። በእኔ dev ሰሌዳ ላይ ሰዓት እና መረጃ በቅደም ተከተል 22 እና 21 ናቸው።

ደረጃ 5: ክፍሎቹን ያትሙ

ክፍሎቹን ያትሙ
ክፍሎቹን ያትሙ

ለዚህ ግንባታ ሰባት ክፍሎችን ንድፍ አወጣሁ -

በ rotary encoder ዘንግ ላይ በቀጥታ የሚወጣው መዘዋወሪያ።

ከ 608ZZ ተሸካሚ በላይ የሚገጣጠመው ስራ ፈት (በነፃነት እንዲሽከረከር WD40 ን በመጠቀም ሸለቆቹን ያስወግዱ እና ያበላሹ)።

ባለሁለት ዊልስ እና ኢንኮደር የሚጫኑበት ባለይዞታ - ለስራ ፈላጊው ጠመዝማዛ ፀደይ ልብ ይበሉ።

መያዣውን ለማረጋጋት ቅንፍ። በዚህ ደረጃ ላይ ያለው ፎቶ ቅንፍ መያዣው ላይ እንዴት እንደሚጣበቅ ያሳያል።

የ ESP32 dev ቦርዴን ለመያዝ ማቀፊያው (ታች) ፣ ለዩኤስቢ ገመድ ቦታ እና ሌላ በላዩ ላይ ወደ መቀየሪያ ሽቦዎቼ ላከልኩት አገናኝ። ይህ አንዱ ከዌሞስ ሎሊን 32 ጋር ለመገጣጠም የተነደፈ ነው ፣ ስለሆነም ከተለየ ሰሌዳ ጋር ለመገጣጠም ይህንን ንድፍ ትንሽ መለወጥ አለብዎት።

ለዜሮ / ዳግም ማስጀመሪያ ቁልፍ ሌላ ጠመዝማዛ የ OLED ማያ ገጽ ለመያዝ አጥር (ከላይ)

ለነበረኝ ለትንሽ መቀያየሪያ ብጁ የሆነ የአዝራር መያዣ ፣ በታችኛው መከለያ ውስጥ ባለው በሁለቱ መደርደሪያዎች መካከል ለማረፍ የተነደፈ። እኔ መቀያየሪያውን ወደ መያዣው “ለማጣበቅ” ብየዳ ብረት እጠቀም ነበር ፤ ለፎቶ ቀዳሚውን ደረጃ ይመልከቱ።

ሁሉም ነገር ያለ ድጋፎች ለማተም የተቀየሰ ነው። በመረጡት ቀለም ውስጥ የተለመደው PLA እርስዎ የሚፈልጉት ብቻ ነው።

ሁሉንም አንድ ላይ ያኑሩ ፣ ከአታሚዎ ጋር ያያይዙ (አንዳንድ ፈጠራ እዚህ ሊያስፈልግ ይችላል) ፣ እና ለመሄድ ጥሩ ነዎት።

የሚመከር: