ዝርዝር ሁኔታ:

AVR ማይክሮ መቆጣጠሪያ። Pulse Width Modulation. የዲሲ ሞተር እና የ LED ብርሃን ጥንካሬ С ተቆጣጣሪ ።: 6 ደረጃዎች
AVR ማይክሮ መቆጣጠሪያ። Pulse Width Modulation. የዲሲ ሞተር እና የ LED ብርሃን ጥንካሬ С ተቆጣጣሪ ።: 6 ደረጃዎች

ቪዲዮ: AVR ማይክሮ መቆጣጠሪያ። Pulse Width Modulation. የዲሲ ሞተር እና የ LED ብርሃን ጥንካሬ С ተቆጣጣሪ ።: 6 ደረጃዎች

ቪዲዮ: AVR ማይክሮ መቆጣጠሪያ። Pulse Width Modulation. የዲሲ ሞተር እና የ LED ብርሃን ጥንካሬ С ተቆጣጣሪ ።: 6 ደረጃዎች
ቪዲዮ: {528} How To Repair SMPS || SMPS Repair Step By Step || Switch Mode Power Supply 2024, ህዳር
Anonim
Image
Image

ሰላም ለሁላችሁ!

Pulse Width Modulation (PWM) በቴሌኮሙኒኬሽን እና በሃይል ቁጥጥር ውስጥ በጣም የተለመደ ቴክኒክ ነው። እሱ ለኤሌክትሪክ መሣሪያ የተሰጠውን ኃይል ለመቆጣጠር በተለምዶ ጥቅም ላይ ይውላል ፣ እሱ ሞተር ፣ ኤልኢዲ ፣ ድምጽ ማጉያዎች ፣ ወዘተ. እሱ በመሠረቱ የሞዴል ቴክኒክ ነው ፣ በአገልግሎት አቅራቢው የልብ ምት ስፋት በአናሎግ መልእክት ምልክት መሠረት የሚለያይበት።.

በብርሃን ጥንካሬ ጥገኛ ውስጥ የዲሲ ሞተሩን የማዞሪያ ፍጥነት ለመቆጣጠር ቀላል የኤሌክትሪክ ዑደት እንሰራለን። የብርሃን ጥንካሬን ለመለካት እንደ አናሎግ ወደ ዲጂታል ልወጣ ያሉ የብርሃን ጥገኛ ተከላካይ እና የ AVR ማይክሮ መቆጣጠሪያ ባህሪያትን እንጠቀማለን። እንዲሁም እኛ ባለሁለት ኤች-ድልድይ የሞተር ሾፌር ሞዱል- L298N ን እንጠቀማለን። እሱ በተለምዶ የሞተር ፍጥነትን እና አቅጣጫን ለመቆጣጠር ያገለግላል ፣ ግን እንደ አንዳንድ የብርሃን ፕሮጀክቶች ብሩህነት መንዳት ላሉት ሌሎች ፕሮጄክቶች ሊያገለግል ይችላል። እንዲሁም የሞተሩን የማዞሪያ አቅጣጫ ለመቀየር በወረዳችን ላይ አንድ አዝራር አክሏል።

ደረጃ 1 መግለጫ

መግለጫ
መግለጫ
መግለጫ
መግለጫ

በዚህ ዓለም ውስጥ እያንዳንዱ እና እያንዳንዱ አካል አንዳንድ ግትርነት አለው። ሞተሩ በሚበራበት ጊዜ ሁሉ ይሽከረከራል። ልክ እንደበራ ፣ ያቆማል። ግን ወዲያውኑ አይቆምም ፣ ትንሽ ጊዜ ይወስዳል። ግን ሙሉ በሙሉ ከመቆሙ በፊት ፣ እንደገና በርቷል! ስለዚህ መንቀሳቀስ ይጀምራል። ግን አሁንም እንኳን ፣ ሙሉ ፍጥነቱን ለመድረስ የተወሰነ ጊዜ ይወስዳል። ነገር ግን ከመከሰቱ በፊት በርቷል ፣ ወዘተ. ስለዚህ የዚህ እርምጃ አጠቃላይ ውጤት ሞተሩ ያለማቋረጥ ይሽከረከራል ፣ ግን በዝቅተኛ ፍጥነት ነው።

Pulse Width Modulation (PWM) በመካከለኛ ደረጃ የኤሌክትሪክ ኃይልን ሙሉ በሙሉ በማብራት እና ሙሉ በሙሉ በማጥፋት በአንፃራዊነት የቅርብ ጊዜ የኃይል መቀየሪያ ዘዴ ነው። ብዙውን ጊዜ ፣ ዲጂታል ጥራጥሬዎች ማብሪያ እና ማጥፊያ ጊዜ ተመሳሳይ ናቸው ፣ ግን በአንዳንድ ሁኔታዎች//ሰዓት/ሰዓት/ሰዓት/ሰዓት/ሰዓት/ሰዓት/ሰዓት/ሰዓት/ሰዓት/ሰዓት/ሰዓት/ሰዓት/ሰዓት/ሰዓት/ሰዓት/ሰዓት/ሰዓት/ሰዓት/ተጨማሪ/የበለጠ እንዲኖረን የዲጂታል ምት (pulse) ያስፈልገናል። በ PWM ቴክኒክ ውስጥ ፣ አስፈላጊ የመካከለኛ የቮልቴጅ እሴቶችን ለማግኘት ተመጣጣኝ ያልሆነ የመብራት እና የመጥፋት ሁኔታ ያላቸው ዲጂታል ጥራጥሬዎችን እንፈጥራለን።

የግዴታ ዑደት በተሟላ ዲጂታል ምት በከፍተኛ የቮልቴጅ ቆይታ መቶኛ ይገለጻል። በሚከተለው ሊሰላ ይችላል-

የግዴታ ዑደት % = T /T (የወቅቱ ጊዜ) x 100

የችግር መግለጫ እንውሰድ። 45% የሥራ ዑደት ያለው የ 50 Hz PWM ምልክት ማመንጨት አለብን።

ድግግሞሽ = 50 Hz

የጊዜ ክፍለ ጊዜ ፣ T = T (በርቷል) + ቲ (ጠፍቷል) = 1/50 = 0.02 ሰ = 20 ሚሴ

የግዴታ ዑደት = 45%

ስለዚህ ፣ ከላይ በተጠቀሰው ቀመር መሠረት መፍታት ፣ እናገኛለን

ቲ (በርቷል) = 9 ሚሴ

ቲ (ጠፍቷል) = 11 ሚሴ

ደረጃ 2 - AVR ሰዓት ቆጣሪዎች - PWM ሞድ

AVR ሰዓት ቆጣሪዎች - PWM ሞድ
AVR ሰዓት ቆጣሪዎች - PWM ሞድ
AVR ሰዓት ቆጣሪዎች - PWM ሞድ
AVR ሰዓት ቆጣሪዎች - PWM ሞድ

PWM ን ለመሥራት AVR የተለየ ሃርድዌር ይ containsል! ይህንን በመጠቀም ሲፒዩ ሃርድዌርን አንድ የተወሰነ የግዴታ ዑደት PWM እንዲያመርቱ ያዛል። ATmega328 6 PWM ውጤቶች አሉት ፣ 2 የሚገኙት በሰዓት ቆጣሪ/ቆጣሪ0 (8 ቢት) ፣ 2 በሰዓት/ቆጣሪ 1 (16 ቢት) ላይ ፣ እና 2 በሰዓት ቆጣሪ/ቆጣሪ 2 (8 ቢት) ላይ ይገኛሉ። ሰዓት ቆጣሪ/Counter0 በ ATmega328 ላይ በጣም ቀላሉ የ PWM መሣሪያ ነው። ሰዓት ቆጣሪ/ቆጣሪ 0 በ 3 ሁነታዎች ላይ መሥራት ይችላል-

  • ፈጣን PWM
  • ደረጃ እና ድግግሞሽ የተስተካከለ PWM
  • ደረጃ የተስተካከለ PWM

እያንዳንዳቸው እነዚህ ሁነታዎች ሊገለበጡ ወይም ሊገለበጡ አይችሉም።

በ PWM ሁነታ ውስጥ Timer0 ን ያስጀምሩ

TCCR0A | = (1 << WGM00) | (1 << WGM01) - WGM ን ያዘጋጁ ፈጣን PWM

TCCR0A | = (1 << COM0A1) | (1 << COM0B1) - የውጤት ሁነታን A ፣ B ን ያወዳድሩ

TCCR0B | = (1 << CS02) - ሰዓት ቆጣሪ ከመጠባበቂያ = 256 ጋር ያዋቅሩ

ደረጃ 3 - የብርሃን ጥንካሬ መለኪያ - ADC & LDR።

የብርሃን ጥንካሬ መለኪያ - ADC & LDR።
የብርሃን ጥንካሬ መለኪያ - ADC & LDR።
የብርሃን ጥንካሬ መለኪያ - ADC & LDR።
የብርሃን ጥንካሬ መለኪያ - ADC & LDR።
የብርሃን ጥንካሬ መለኪያ - ADC & LDR።
የብርሃን ጥንካሬ መለኪያ - ADC & LDR።

ብርሃን ጥገኛ ጥገኛ (LDR) ብርሃን በላዩ ላይ ሲወድቅ ተቃውሞውን የሚቀይር አስተላላፊ ነው።

ኤልአርዲአይዎች ከሴሚኮንዳክተር ቁሳቁሶች የተሠሩ ናቸው ፣ እነሱ በቀላሉ የሚነኩ ባህሪያቸውን እንዲኖራቸው ለማድረግ። እነዚህ LDRs ወይም PHOTO RESISTORS “የፎቶ ስነምግባር” መርህ ላይ ይሰራሉ። አሁን ይህ መርህ የሚናገረው ብርሃን በኤልዲአር (LDR) ወለል ላይ በሚወድቅበት ጊዜ (በዚህ ሁኔታ) የኤለመንቱ አሠራር ሲጨምር ወይም በሌላ አነጋገር ብርሃኑ በኤል ዲ አር ገጽ ላይ ሲወድቅ የኤልዲአር ተቃውሞ ይቀንሳል። ለኤልዲአር የመቋቋም ቅነሳ ይህ ንብረት የሚሳካው ምክንያቱም በላዩ ላይ ጥቅም ላይ የዋለው የሴሚኮንዳክተር ቁሳቁስ ንብረት ነው። LDR አብዛኛውን ጊዜ የብርሃን መኖርን ለመለየት ወይም የብርሃንን ጥንካሬ ለመለካት ያገለግላሉ።

የውጭ ቀጣይ መረጃን (የአናሎግ መረጃን) ወደ ዲጂታል/ኮምፒተር ስርዓት ለማስተላለፍ እኛ ወደ ኢንቲጀር (ዲጂታል) እሴቶች መለወጥ አለብን። ይህ ዓይነቱ ልወጣ የሚከናወነው በአናሎግ ወደ ዲጂታል መለወጫ (ኤዲሲ) ነው። የአናሎግ እሴትን ወደ ዲጂታል እሴት የመለወጥ ሂደት አናሎግ ወደ ዲጂታል ልወጣ በመባል ይታወቃል። በአጭሩ ፣ የአናሎግ ምልክቶች እንደ ድምፅ እና ብርሃን ያሉ በዙሪያችን ያሉ የእውነተኛ ዓለም ምልክቶች ናቸው።

ዲጂታል ምልክቶች በዲጂታል ወይም በቁጥር ቅርጸት እንደ ማይክሮ መቆጣጠሪያ ባሉ ዲጂታል ስርዓቶች በደንብ የተረዱ የአናሎግ አቻዎች ናቸው። ኤዲሲ የአናሎግ ምልክቶችን የሚለካ እና ከተመሳሳይ ምልክት ዲጂታል እኩያ የሚያመርት እንደዚህ ያለ ሃርድዌር ነው። የ AVR ማይክሮ መቆጣጠሪያዎች የአናሎግ ቮልቴጅን ወደ ኢንቲጀር ለመለወጥ አብሮገነብ የ ADC ተቋም አለው። AVR ከ 0 ወደ 1023 ክልል ወደ 10-ቢት ቁጥር ይለውጠዋል።

የብርሃን ጥንካሬን ለመለካት የኤልቪዲ ደረጃን ከዲቪዲኤ (ዲዲኤፍ) ጋር ወደ ዲጂታል መለወጥ አናሎግ እንጠቀማለን።

ADC ን ያስጀምሩ -

TADCSRA | = (1 << ADEN) - ADC ን ያንቁ

ADCSRA | = (1 << ADPS2) | (1 << ADPS1) | (1ADPS0) - የ ADC ቅድመ -ተቆጣጣሪ = 128 ን ያዋቅሩ

ADMUX = (1 << REFS0) - የቮልቴጅ ማጣቀሻ = AVCC ን ያዘጋጁ; - የግቤት ሰርጥ = ADC0 ያዘጋጁ

ስለ ኤዲሲ AVR ማይክሮ መቆጣጠሪያ ዝርዝር መግለጫ ቪዲዮውን ይመልከቱ- AVR ማይክሮ መቆጣጠሪያ። የብርሃን ጥንካሬ መለኪያ። ADC & LDR

ደረጃ 4 ተቆጣጣሪ ዲሲ ሞተር እና ባለሁለት ኤች ድልድይ የሞተር ሾፌር ሞዱል- L298N

ተቆጣጣሪ ዲሲ ሞተር እና ባለሁለት ሸ-ድልድይ የሞተር ሾፌር ሞዱል- L298N
ተቆጣጣሪ ዲሲ ሞተር እና ባለሁለት ሸ-ድልድይ የሞተር ሾፌር ሞዱል- L298N
ተቆጣጣሪ ዲሲ ሞተር እና ባለሁለት ሸ-ድልድይ የሞተር ሾፌር ሞዱል- L298N
ተቆጣጣሪ ዲሲ ሞተር እና ባለሁለት ሸ-ድልድይ የሞተር ሾፌር ሞዱል- L298N
ተቆጣጣሪ ዲሲ ሞተር እና ባለሁለት ሸ-ድልድይ የሞተር ሾፌር ሞዱል- L298N
ተቆጣጣሪ ዲሲ ሞተር እና ባለሁለት ሸ-ድልድይ የሞተር ሾፌር ሞዱል- L298N

የዲሲ ሞተር አሽከርካሪዎችን እንጠቀማለን ምክንያቱም ማይክሮ መቆጣጠሪያዎች በአጠቃላይ ከ 100 ሚሊ ሜትር ያልበለጠ የአሁኑን የማድረስ ችሎታ የላቸውም። የማይክሮ መቆጣጠሪያዎች ብልጥ ግን ጠንካራ አይደሉም። ይህ ሞጁል ከፍተኛ ኃይል ያላቸውን የዲሲ ሞተሮችን ለማሽከርከር አንዳንድ ጡንቻዎችን ወደ ማይክሮ መቆጣጠሪያዎች ያክላል። እያንዳንዱን ወይም አንድ የእርከን ሞተርን በአንድ ጊዜ 2 ዲሲ ሞተሮችን በአንድ ጊዜ መቆጣጠር ይችላል። PWM ን እና እንዲሁም የሞተሮቹን የማዞሪያ አቅጣጫ በመጠቀም ፍጥነቱን መቆጣጠር እንችላለን። እንዲሁም ፣ እሱ የ LED ቴፕ ብሩህነትን ለመንዳት ያገለግል ነበር።

የፒን መግለጫ ፦

የዲሲ ሞተርን ለማገናኘት OUT1 እና OUT2 ወደብ። የ LED ቴፕ ለማገናኘት OUT3 እና OUT4።

ኢኤንኤ እና ኤንቢ ፒን ያንቁ - ኢኤንኤን ወደ ከፍተኛ (+5V) በማገናኘት ወደቡን OUT1 እና OUT2 ን ያነቃል።

የኢኤንኤን ፒን ወደ ዝቅተኛ (GND) ካገናኙት ፣ OUT1 እና OUT2 ን ያሰናክላል። በተመሳሳይ ፣ ለ ENB እና ለ OUT3 እና ለ OUT4።

ከ IN1 እስከ IN4 ከ AVR ጋር የሚገናኙ የግቤት ፒኖች ናቸው።

IN1-high (+5V) ፣ IN2-low (GND) ፣ OUT1 ከፍ ብሎ OUT2 ዝቅተኛ ከሆነ ፣ ስለዚህ ሞተር መንዳት እንችላለን።

IN3-high (+5V) ፣ IN4-low (GND) ከሆነ ፣ OUT4 ከፍ ብሎ OUT3 ዝቅተኛ ከሆነ ፣ ስለዚህ የ LED ቴፕ መብራት በርቷል።

የሞተርን የማዞሪያ አቅጣጫ ለመቀልበስ ከፈለጉ ልክ IN1 ን እና IN2 polarity ን በተመሳሳይ ሁኔታ ለ IN3 እና IN4 ይለውጡ።

የ PWM ምልክትን ወደ ኢኤንኤ እና ENB በመተግበር በሁለት የተለያዩ የውጤት ወደቦች ላይ የሞተሮችን ፍጥነት መቆጣጠር ይችላሉ።

ቦርዱ ከ 7 ቮ እስከ 12 ቮ በስም ሊቀበል ይችላል።

መዝለሎች - ሶስት የመዝለያ ፒኖች አሉ ፤ Jumper 1: ሞተር ከ 12 ቮ በላይ አቅርቦት ከፈለጉ Jumper 1 ን ማለያየት እና የተፈለገውን ቮልቴጅ (ከፍተኛ 35V) በ 12 ቮ ተርሚናል ላይ መተግበር አለብዎት። በ 5 ቮ ተርሚናል ላይ ሌላ 5V አቅርቦትና ግብዓት አምጡ። አዎ ፣ ከ 12 ቮ በላይ (Jumper 1 ሲወገድ) ማመልከት ከፈለጉ 5V ማስገባት አለብዎት።

መዝለሉን ማስወገድ አብሮ የተሰራውን 5V መቆጣጠሪያውን ያሰናክላል እና ከ 12 ቮ ተርሚናል ከፍ ካለው የግቤት voltage ልቴጅ ስለሚከላከል የ 5 ቮ ግብዓት ለአይሲው ትክክለኛ አሠራር ነው።

የ 5 ቮ ተርሚናል አቅርቦትዎ ከ 7 ቮ እስከ 12 ቮ ከሆነ እና ከ 12 ቮ በላይ ተግባራዊ ካደረጉ እና መዝለሉ ከተወገደ እንደ ግብዓት ሆኖ ይሠራል።

Jumper 2 እና Jumper 3: እነዚህን ሁለት መዝለሎች ካስወገዱ ማንቂያውን ከማይክሮ መቆጣጠሪያው ማስገባት እና ማሰናከል አለብዎት ፣ አብዛኛዎቹ ተጠቃሚዎች ሁለቱን መዝለያዎች ማስወገድ እና ምልክቱን ከማይክሮ መቆጣጠሪያ ውስጥ መጠቀምን ይመርጣሉ።

ሁለቱን መዝለሎች ከያዙ ፣ OUT1 ወደ OUT4 ሁል ጊዜ ይነቃል። ለ OUT1 እና ለ OUT2 የ ENA ዝላይን ያስታውሱ። ENB jumper ለ OUT3 እና OUT4።

ደረጃ 5 - በሲ.ሲ ውስጥ ለፕሮግራም ኮድ መጻፍ የ HEX ፋይልን ወደ ማይክሮ መቆጣጠሪያ ፍላሽ ማህደረ ትውስታ በመጫን ላይ

የተቀናጀ የእድገት መድረክ - Atmel Studio ን በመጠቀም በ C ኮድ ውስጥ የ AVR ማይክሮ መቆጣጠሪያ መተግበሪያን መፃፍ እና መገንባት።

#ifndef F_CPU #F_CPU 16000000UL ን ይገልፃል / ለተቆጣጣሪ ክሪስታል ድግግሞሽ መንገር (16 ሜኸ AVR ATMega328P) #endif

በፒን ላይ የውሂብ ፍሰት ቁጥጥርን ለማንቃት #አርዕስት /አርዕስት። በፕሮግራሙ ውስጥ የመዘግየት ተግባርን ለማንቃት ፒኖችን ፣ ወደቦችን ፣ ወዘተ #ያጠቃልላል // ራስጌ

#መግለፅ BUTTON1 2 // የአዝራር መቀየሪያ ወደብ ቢ ፒን 2 ተገናኝቷል #መግለፅ DEBOUNCE_TIME 25 // ጊዜ ‹ደ-ቡንዲንግ› በሚለው ጊዜ አዝራሩን #መግለፅ LOCK_INPUT_TIME 300 // ጊዜን ጠቅ ካደረጉ በኋላ ለመጠበቅ

// Timer0 ፣ PWM Initialization ባዶ timer0_init () {// ሰዓት ቆጣሪን OC0A ፣ OC0B ፒን በማቀያየር ሁኔታ እና በ CTC ሁነታ TCCR0A | = (1 << COM0A1) | (1 << COM0B1) | (1 << WGM00) | (1 << WGM01); // ሰዓት ቆጣሪ ከመጠባበቂያ = 256 TCCR0B | = (1 << CS02) ጋር ያዋቅሩ ፤ // ማስጀመሪያ ቆጣሪ TCNT0 = 0; // የመጀመሪያ እሴት ማወዳደር OCR0A = 0; }

// የ ADC ማስጀመሪያ ባዶነት ADC_init () {// ኤዲሲን ያንቁ ፣ ናሙና freq = osc_freq/128 አዘጋጅ መጠባበቂያ ወደ ከፍተኛ እሴት ፣ 128 ADCSRA | = ((1 << ADEN)) | (1 << ADPS2) | (1 << ADPS1) | (1 << ADPS0);

ADMUX = (1 << REFS0); // የቮልቴጅ ማጣቀሻን (AVCC) ይምረጡ

// የአዝራር መቀየሪያ ሁኔታ ያልተፈረመ ቻር button_state () {

/ * BUTTON1 ቢት ግልፅ በሚሆንበት ጊዜ አዝራሩ ተጭኗል */

ከሆነ (! (ፒንቢ እና (1 <

{

_ መዘግየት_ኤምኤስ (DEBOUNCE_TIME);

ከሆነ (! (ፒንቢ እና (1 <

}

መመለስ 0;

}

// የወደብ ማስጀመር ባዶነት port_init () {DDRB = 0b00011011; // PB0-IN1 ፣ PB1-IN2 ፣ PB3-IN3 ፣ PB4-IN4 ፣ PB2-BUTTON SWIRCH Direct PORTB = 0b00010110;

DDRD = 0b01100000; // PD5-ENB (OC0B) ፣ PD6-ENA (OC0A) PORTD = 0b00000000;

DDRC = 0b00000000; // PC0-ADC PORTC = 0b00000000; // ሁሉንም የሚያሰናክል የ PORTC ዝቅተኛ ፒኖችን ያዘጋጁ። }

// ይህ ተግባር የአናሎግን እሴት ወደ ዲጂታል መለወጥ ያነባል። uint16_t_LightLevel () {_delay_ms (10); // ሰርጡ የተመረጠውን ADCSRA | = (1 << ADSC) እስኪያገኝ ድረስ ለተወሰነ ጊዜ ይጠብቁ። // ADSC ቢት በማቀናበር የ ADC ልወጣውን ያስጀምሩ። ለ ADSC 1 ይፃፉ

ሳለ (ADCSRA & (1 << ADSC)); // ልወጣ እስኪጠናቀቅ ድረስ ይጠብቁ

// እስከዚያ ድረስ ADSC 0 ይሆናል ፣ ያለማቋረጥ አሂድ _delay_ms (10); መመለስ (ኤ.ዲ.ሲ.); // ባለ 10-ቢት ውጤቱን ይመልሱ

}

// ይህ ተግባር አንድን ቁጥር ከአንድ ክልል (0-1023) ወደ ሌላ (0-100) እንደገና ያዘጋጃል። uint32_t ካርታ (uint32_t x ፣ uint32_t in_min ፣ uint32_t in_max ፣ uint32_t out_min ፣ uint32_t out_max) {ተመለስ (x - in_min) * (out_max - out_min) / (in_max - in_min) + out_min; }

int main (ባዶ)

{uint16_t i1 = 0;

port_init ();

ሰዓት ቆጣሪ 0_init (); ADC_init (); // አጀማመር ኤ.ዲ.ሲ

ሳለ (1)

{i1 = ካርታ (get_LightLevel () ፣ 0 ፣ 1023 ፣ 0 ፣ 100) ፤

OCR0A = i1; // የውጤት ማወዳደር የመመዝገቢያ ሰርጥ A OCR0B = 100-i1; // የውጤት ማወዳደር የመመዝገቢያ ሰርጥ ቢ (የተገለበጠ) ያዘጋጁ

ከሆነ (button_state ()) // አዝራሩ ከተጫነ የ LED ን ሁኔታ ይቀያይሩ እና ለ 300ms (#ጥራት LOCK_INPUT_TIME) {PORTB ^= (1 << 0); // የአሁኑን የፒን IN1 ሁኔታ መቀያየር። PORTB ^= (1 << 1); // የአሁኑን የፒን IN2 ሁኔታ መቀያየር። የሞተርን የማዞሪያ አቅጣጫ ይለውጡ

PORTB ^= (1 << 3); // የአሁኑን የፒን IN3 ሁኔታ መቀያየር። PORTB ^= (1 << 4); // የአሁኑን የፒን IN4 ሁኔታ መቀያየር። የ LED ቴፕ ጠፍቷል/አብራ። _ መዘግየት_ኤምኤስ (LOCK_INPUT_TIME); }}; መመለስ (0); }

ፕሮግራሚንግ ተጠናቋል። በመቀጠል የፕሮጀክት ኮድ መገንባት እና ማጠናቀር በሄክስ ፋይል ውስጥ።

የ HEX ፋይልን ወደ ማይክሮ መቆጣጠሪያ ፍላሽ ማህደረ ትውስታ በመስቀል ላይ: በ DOS ፈጣን መስኮት ውስጥ ትዕዛዙን ይተይቡ

avrdude –c [የፕሮግራም አድራጊ ስም] –p m328p –u –U ፍላሽ: w: [የሄክስ ፋይልዎ ስም]

በእኔ ሁኔታ እሱ የሚከተለው ነው-

avrdude –c ISPProgv1 –p m328p –u –U ፍላሽ: w: PWM.hex

ይህ ትእዛዝ የሄክስ ፋይልን ወደ ማይክሮ መቆጣጠሪያው ማህደረ ትውስታ ይጽፋል። ስለ ማይክሮ መቆጣጠሪያ ፍላሽ ማህደረ ትውስታ ማቃጠል ዝርዝር መግለጫ ቪዲዮውን ይመልከቱ -የማይክሮ መቆጣጠሪያ ፍላሽ ማህደረ ትውስታ ማቃጠል…

እሺ! አሁን ማይክሮ መቆጣጠሪያው በፕሮግራማችን መመሪያ መሠረት ይሠራል። እስቲ እንፈትሽ!

ደረጃ 6 የኤሌክትሪክ ዑደት

የኤሌክትሪክ ዑደት
የኤሌክትሪክ ዑደት
የኤሌክትሪክ ዑደት
የኤሌክትሪክ ዑደት

በስዕላዊ ሥዕላዊ መግለጫ መሠረት አካላትን ያገናኙ።

የሚመከር: