Агуулгын хүснэгт:
- Алхам 1: Алхам: 1 Мэдрэгч ба төхөөрөмжийн ажиллах нөхцлийг хангах
- Алхам 2: Энэ нь хэрхэн ажилладаг вэ?
- Алхам 3: Arduino IDE ашиглан Arduino програмчлах
- Алхам 4: Proteus ашиглан симуляци хийх
- Алхам 5: Тоног төхөөрөмжийн гүйцэтгэл
Видео: Arduino ашиглан моторын хурдыг хэмжих: 6 алхам
2024 Зохиолч: John Day | [email protected]. Хамгийн сүүлд өөрчлөгдсөн: 2024-01-30 11:00
Хөдөлгүүрийн эргэлтийг хэмжихэд хэцүү байна уу? Би тэгж бодохгүй байна. Энд нэг энгийн шийдэл байна.
Таны иж бүрдэлд байгаа зөвхөн нэг IR мэдрэгч ба Arduino үүнийг хийх боломжтой.
Энэ бичлэгт би IR мэдрэгч болон Arduino UNO/нано ашиглан аливаа хөдөлгүүрийн эргэлтийг хэрхэн хэмжих талаар тайлбарлах энгийн хичээлийг өгөх болно.
Хангамж:
1. Arduion uno (Amazon) / Arduion нано (Amazon)
2. IR мэдрэгч (Амазон)
3. DC мотор дурын (Amazon)
4. LCD 16*2 (Амазон)
Ашигласан хэрэгсэл
1. Гагнуурын төмөр (Амазон)
2. Утас хуулагч (Амазон)
Алхам 1: Алхам: 1 Мэдрэгч ба төхөөрөмжийн ажиллах нөхцлийг хангах
IR мэдрэгч нь хүрээлэн буй орчны объектуудыг мэдрэх зорилгоор гэрэл цацруулдаг электрон төхөөрөмж юм. IR мэдрэгч нь объектын дулааныг хэмжихээс гадна хөдөлгөөнийг илрүүлж чаддаг. Ихэвчлэн хэт улаан туяаны спектр дэх бүх объектууд ямар нэгэн дулааны цацраг туяа цацруулдаг. Ийм цацраг туяа нь бидний нүдэнд үл үзэгдэх боловч хэт улаан туяаны мэдрэгч нь эдгээр цацрагийг илрүүлж чаддаг.
Тогтмол гүйдэл (DC) мотор нь цахилгаан энергийг механик энерги болгон хувиргадаг цахилгаан машин юм. DC мотор нь цахилгаан гүйдлийг шууд гүйдэлээр дамжуулж, энэ энергийг механик эргэлт болгон хувиргадаг.
Тогтмол гүйдлийн хөдөлгүүр нь үүсгэсэн цахилгаан гүйдлээс үүсэх соронзон орныг ашигладаг бөгөөд энэ нь гаралтын босоо аманд бэхлэгдсэн роторын хөдөлгөөнийг хангадаг. Гаралтын момент ба хурд нь цахилгаан оролт болон хөдөлгүүрийн дизайнаас хамаарна.
Arduino гэж юу вэ?
Arduino бол ашиглахад хялбар техник хангамж, програм хангамж дээр суурилсан нээлттэй эхийн электроникийн платформ юм. Arduino самбар нь мэдрэгч дээрх гэрэл, товчлуур дээрх хуруу эсвэл твиттер мессежийг оруулан уншиж, гаралт болгон хувиргах - моторыг идэвхжүүлэх, LED -ийг асаах, онлайнаар ямар нэгэн зүйл нийтлэх боломжтой. Та самбар дээрх микроконтроллер руу зааварчилгаа илгээж юу хийхээ самбартаа хэлж болно. Үүнийг хийхийн тулд та Arduino програмчлалын хэлийг (утас холболт дээр суурилсан), мөн боловсруулалтад суурилсан Arduino програм хангамжийг (IDE) ашигладаг.
ARDUINO IDE татаж авах
Алхам 2: Энэ нь хэрхэн ажилладаг вэ?
Тэгвэл үүний цаана ямар логик байна вэ?
Энэ нь кодлогчтой маш төстэй ажилладаг. Кодлогчдыг эхлэгчдэд ойлгоход хэцүү байдаг. Таны мэдэх ёстой зүйл бол IR мэдрэгч нь импульс үүсгэдэг бөгөөд импульс бүрийн хоорондох хугацааны интервалыг бид олж мэдэх болно.
Энэ тохиолдолд хэт ягаан туяаны мэдрэгч нь хөдөлгүүрийн сэнстэй холбогдож байх үед Arduino руу импульс илгээх болно. Ихэвчлэн бид хоёр иртэй сэнсийг ашигладаг, гэхдээ би зураг дээр үзүүлсэн шиг гурван иртэй сэнсийг ашигласан. сэнсний ирний тооноос хамааран RPM -ийг тооцоолохдоо зарим утгыг өөрчлөх шаардлагатай болно.
Бид хоёр иртэй сэнстэй гэж үзье. Хувьсгалт мотор бүрийн хувьд ир нь IR туяаг хоёр удаа тасалдаг. Тиймээс IR мэдрэгч нь таслах үед импульс үүсгэдэг.
Одоо бид тодорхой хугацааны интервалаар IR мэдрэгчийн үүсгэсэн тооны импульсийг хэмжих програм бичих ёстой.
Асуудлыг шийдэх хэд хэдэн арга байдаг, гэхдээ би импульсийн хугацааг микро секундээр хэмжихийн тулд micros () функцийг ашигласан тасалдал хоорондын хугацааг (IR мэдрэгч) хэмжсэн энэ кодын аль нь хамгийн сайн болохыг сонгох ёстой.
Та энэ томъёог ашиглан RPMRPM = ((1/үргэлжлэх хугацаа)*1000*1000*60)/ирийг хэмжих боломжтой.
хаана, үргэлжлэх хугацаа - импульс хоорондын хугацааны интервал.
60 секундээс хэдэн минут хүртэл
1000 - тээрэмээс секундын хооронд
1000 - микро тээрэмдэх
ир - сэнсний далавч байхгүй.
LCD дэлгэц - Arduino нь LCD дэлгэцийн тушаал, өгөгдлийн бүртгэлийг шинэчилдэг. LCD дэлгэц дээр ASCII тэмдэгтүүдийг харуулдаг.
Алхам 3: Arduino IDE ашиглан Arduino програмчлах
#оруулах
LiquidCrystal lcd (9, 8, 7, 6, 5, 4); const int IR_IN = 2; // IR мэдрэгч INPUT гарын үсэг зураагүй урт prevmicros; // Цагийг гарын үсэг зураагүй урт хугацаанд хадгалахын тулд; // Цагийн зөрүүг хадгалахын тулд гарын үсэг зураагүй урт lcdrefresh; // int rpm -ийг шинэчлэх lcd -д цаг хадгалахын тулд; // RPM утга boolean currentstate; // IR оролтын одоогийн төлөв boolean prevstate; // Өмнөх скан хоосон тохиргоонд IR мэдрэгчийн төлөв () {pinMode (IR_IN, INPUT); lcd.begin (16, 2); prevmicros = 0; өмнөх төлөв = LOW; } хүчингүй гогцоо () {/////////////////////////////////////////////////////////////////////////// /////////////////////////////////////////////////////////////////// RPM Measurement currentstate = digitalRead (IR_IN); // IR мэдрэгчийн төлөвийг уншина уу (prevstate! = Currentstate) // Хэрэв оролтод өөрчлөлт орсон бол {if (currentstate == LOW) // Хэрэв оролт нь зөвхөн HIGH -аас LOW болж өөрчлөгдвөл {duration = (micros () - prevmicros); // Микросекунд rpm дахь хувьсгалын хоорондох хугацааны ялгаа = ((60000000/үргэлжлэх хугацаа)/3); // rpm = (1/ цаг миллис)*1000*1000*60; prevmicros = micros (); // зангилааны хувьсгалыг тооцоолох цаг}} prevstate = currentstate; // энэ скан (өмнөх скан) өгөгдлийг дараагийн скан хийх зорилгоор хадгалах ////////////////////////////////////// /////////////////////////////////////////////////////////////////////////// LCD дэлгэц ((millis ()-lcdrefresh)> = 100) {lcd.clear (); lcd.setCursor (0, 0); lcd.print ("Моторын хурд"); lcd.setCursor (0, 1); lcd.print ("RPM ="); lcd хэвлэх (rpm); lcdrefresh = millis (); }}
Алхам 4: Proteus ашиглан симуляци хийх
Би үүнийг протеусын тусламжтайгаар дуурайхыг оролдоход энэ төсөл маш сайн ажилласан.
Хэт улаан туяаны мэдрэгчийг ашиглахын оронд би DC импульс үүсгэгчийг ашигласан.
Та ашиглаж буй мэдрэгчийнхээ дагуу програмдаа өөрчлөлт оруулах ёстой
LM358 бүхий IR мэдрэгч энэ тушаалыг ашиглах ёстой.
if (currentstate == HIGH) // Хэрэв оролт нь зөвхөн LOW -с HIGH болж өөрчлөгдвөл
LM359 бүхий IR мэдрэгч энэ тушаалыг ашиглах ёстой.
if (currentstate == LOW) // Хэрэв оролт зөвхөн HIGH -аас LOW болж өөрчлөгдвөл
Алхам 5: Тоног төхөөрөмжийн гүйцэтгэл
Схемийн хувьд симуляцийн зургуудыг ашиглана уу эсвэл програмын кодыг лавлаж, үүний дагуу холболт хий. Програмын кодыг Arduino -д байршуулж, ямар ч моторын эргэлтийг хэмжинэ. Миний дараагийн бичлэгийг хүлээж байгаарай, миний YouTube сувгийг үзээрэй.
Зөвлөмж болгож буй:
Dc моторын хурдыг хянах хэлхээ: 5 алхам
Dc моторын хурдыг хянах хэлхээ: Энэхүү богино өгүүллээр бид DC моторын хурдны сөрөг санал хүсэлтийн хэлхээг хэрхэн бүрдүүлэх талаар олж мэдэх болно. Голчлон бид хэлхээ хэрхэн ажилладаг, ХОУХД -ийн дохио юу болохыг олж мэдэх болно. мөн ХОУХ -ны дохиог хэрхэн зохицуулахыг ашигладаг арга
Салхины хурдыг микро: бит ба гэнэтийн хэлхээгээр хэмжих: 10 алхам
Салхины хурдыг бичил: бит ба гэнэтийн хэлхээгээр хэмжинэ: Өгөгдөл Охин бид хоёр цаг агаарын төслийн анемометр дээр ажиллаж байсан тул програмчлах замаар зугаа цэнгэлийг нэмэгдүүлэхээр шийдсэн. Анемометр гэж юу вэ? Магадгүй та " анемометр " юм. Энэ бол салхины хүчийг хэмжих төхөөрөмж юм
Хэрхэн: Моторын хурдыг хянах? 5 алхам (зурагтай)
Хэрхэн: Моторын хурдыг хянах вэ?: Хэрэв танд хэд хэдэн тогтмол гүйдлийн мотор байгаа бол эхний ээлжинд эдгээр хөдөлгүүрийн хурдыг хэрхэн хянах вэ гэсэн асуулт гарч ирнэ. Тиймээс үүнийг хийх нь хэр амархан болохыг би энэ зааварт тайлбарлах болно. Та залхуурч байна, та миний суваг дээрх видеог үзэх боломжтой
Arduino болон Bluetooth модулийг ашиглан сойзгүй DC моторын хурдыг хянах (HC-05): 4 алхам
Arduino болон Bluetooth модулийг ашиглан сойзгүй тогтмол гүйдлийн моторын хурдыг хянах (HC-05): Танилцуулга Энэхүү гарын авлагад бид Arduino UNO, Bluetooth Module (HC-05) болон Android програмыг ашиглан Brushless DC моторын хурдыг хянах болно. Arduino Bluetooth хянагч)
PID алгоритмыг ашиглан DC моторын хурдыг хянах (STM32F4): 8 алхам (зурагтай)
PID алгоритмыг ашиглан DC моторын хурдны хяналт (STM32F4): бүгдээрээ сайн байна уу, энэ бол өөр төсөлтэй холбоотой юм. Энэ удаад STM32F407 гэж MC байна. Энэ бол семестрийн дунд төслийн төгсгөл юм. Танд таалагдсан гэж найдаж байна. Энэ нь маш олон ойлголт, онол шаарддаг тул бид эхлээд үүнд хамрагдах болно. Компьютер гарч ирснээр