Мазмуну:
- 1 -кадам: Кадам: 1 Сенсорлордун жана түзмөктөрдүн иштөө шарттарын камсыз кылуу
- 2 -кадам: Бул кантип иштейт?
- 3 -кадам: Arduino IDE аркылуу Arduino программаңыз
- 4 -кадам: Proteus колдонулган симуляция
- 5 -кадам: Аппараттык аткаруу
Video: Ардуинонун жардамы менен мотор ылдамдыгын өлчөө: 6 кадам
2024 Автор: John Day | [email protected]. Акыркы өзгөртүү: 2024-01-30 10:36
Мотордун айлануусун өлчөө кыйынбы ??? Мен андай деп ойлобойм. Бул жерде бир жөнөкөй чечим бар.
Сиздин комплектеги бир гана IR сенсор жана Arduino муну кыла алат.
Бул постто мен IR сенсорунун жана Arduino UNO/нанонун жардамы менен ар кандай мотордун RPMин кантип өлчөө керектигин түшүндүргөн жөнөкөй окуу куралын берем.
Берилиштер:
1. Arduion uno (Amazon) / Arduion nano (Amazon)
2. IR сенсор (Amazon)
3. DC мотору каалаган (Amazon)
4. ЖК 16*2 (Amazon)
Колдонулган куралдар
1. Паяльник (Амазонка)
2. Wire Stripper (Amazon)
1 -кадам: Кадам: 1 Сенсорлордун жана түзмөктөрдүн иштөө шарттарын камсыз кылуу
IR сенсор - бул айланадагы нерселерди сезүү үчүн жарык чыгаруучу электрондук түзүлүш. IR сенсор объекттин жылуулугун өлчөй алат, ошондой эле кыймылды аныктайт. Адатта, инфракызыл спектрде бардык объекттер кандайдыр бир жылуулук нурлануусун таркатышат. Мындай нурлануу түрлөрү биздин көзүбүзгө көрүнбөйт, бирок инфракызыл сенсор бул нурланууну аныктай алат.
Туруктуу ток (DC) мотору - электр энергиясын механикалык энергияга айландыруучу электр машинасынын бир түрү. DC кыймылдаткычтары электр энергиясын түз ток аркылуу алышат жана бул энергияны механикалык айланууга айландырышат.
DC кыймылдаткычтары чыгаруучу валдын ичинде бекитилген ротордун кыймылын камсыз кылган электрдик токтон пайда болгон магнит талааларын колдонушат. Чыгуу моменти жана ылдамдыгы электрдик кирүүгө да, мотордун дизайнына да байланыштуу.
Arduino деген эмне?
Arduino-ачык булак электроника платформасы, колдонууга оңой аппараттык жана программалык камсыздоого негизделген. Arduino такталары кирүүлөрдү окуй алат - сенсордогу жарык, баскычтын манжасы же Twitter билдирүүсү - жана аны чыгууга айландыруу - моторду иштетүү, LEDди күйгүзүү, интернетте бир нерсе жарыялоо. Тактадагы микроконтроллерге көрсөтмөлөрдүн топтомун жөнөтүү менен тактаңызга эмне кылуу керек экенин айта аласыз. Бул үчүн сиз Arduino программалоо тилин (зымга негизделген) жана кайра иштетүүгө негизделген Arduino программасын (IDE) колдоносуз.
ARDUINO IDE жүктөп алыңыз
2 -кадам: Бул кантип иштейт?
Демек мунун артында кандай логика жатат ???
Бул коддогучка абдан окшош иштейт. Жаңыдан баштагандар үчүн коддогучтарды түшүнүү кыйын. Сиз билишиңиз керек болгон нерсе IR сенсору импульсту түзөт жана биз ар бир импульстун ортосундагы убакыт аралыгын билип жатабыз.
Бул учурда, IR сенсору Ардуиного импульсту жиберет, качандыр бир убакта анын IR нуру мотордун винттери менен кармалып турат. Адатта биз эки пышак менен винт колдонобуз, бирок мен сүрөттө көрсөтүлгөндөй үч пышак менен винтти колдонгом. винт пышактарынын санына жараша RPMди эсептөөдө кээ бир баалуулуктарды өзгөртүүбүз керек.
Келгиле, бизде эки пышагы бар винт бар экенин карап көрөлү. Ар бир революция мотору үчүн бычак IR нурун эки жолу кармайт. Ошентип, IR сенсору ар дайым кармап турганда импульстарды чыгарат.
Эми биз белгилүү бир убакыт аралыгында IR сенсорунун өндүргөн импульсун өлчөй турган программа жазышыбыз керек.
Маселени чечүүнүн бир нече жолу бар, бирок биз бул коддордун кайсынысы мыкты экенин тандап алышыбыз керек, мен үзгүлтүктөрдүн ортосундагы узактыкты өлчөдүм (IR сенсору) Мен микро секунддарда импульстун узактыгын өлчөө үчүн micros () функцияларын колдондум.
Сиз бул формуланы 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 мааниси логикалык Currentstate; // IR киргизүү сканеринин учурдагы абалы логикалык prevstate; // Мурунку сканер жараксыздыгындагы IR сенсорунун абалы () {pinMode (IR_IN, INPUT); lcd.begin (16, 2); prevmicros = 0; prevstate = LOW; } void loop () {///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// RPM Measurement currentstate = digitalRead (IR_IN); // IR сенсорунун абалын окуңуз, эгер (prevstate! = Currentstate) // Киргизүүдө өзгөрүү болсо {if (currentstate == LOW) // Киргизүү HIGHдон LOWга чейин өзгөрсө {Duration = (micros () - prevmicros); // Микросекунддук айлануудагы революциянын ортосундагы убакыт айырмасы = ((60000000/узактыгы)/3); // rpm = (1/ millis)*1000*1000*60; prevmicros = micros (); // nect революциясын эсептөө үчүн убакыт сактоо}} prevstate = currentstate; // кийинки сканерлөө үчүн бул сканерлөө (алдын ала сканерлөө) маалыматтарын сактоо //////////////////////////////////// ///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// ((миллис ()-lcdrefresh)> = 100) {lcd.clear (); lcd.setCursor (0, 0); lcd.print ("Мотордун ылдамдыгы"); lcd.setCursor (0, 1); lcd.print ("RPM ="); lcd.print (rpm); lcdrefresh = millis (); }}
4 -кадам: Proteus колдонулган симуляция
Мен муну proteusдун жардамы менен окшоштурууга аракет кылганымда, бул долбоор абдан жакшы иштеди.
IR сенсорун колдонуунун ордуна мен DC импульс генераторун колдондум.
сиз колдонгон сенсорго жараша программаңызга өзгөртүүлөрдү киргизишиңиз керек
LM358 менен IR сенсор бул буйрукту колдонушу керек.
if (currentstate == HIGH) // Эгерде киргизүү LOW ден HIGH чейин гана өзгөрсө
LM359 менен IR сенсор бул буйрукту колдонушу керек.
if (currentstate == LOW) // Эгерде киргизүү гана HIGHдон LOWга өзгөрсө
5 -кадам: Аппараттык аткаруу
Схемалык түрдө симуляциялык сүрөттөрдү колдонуңуз же программанын коддоруна кайрылыңыз жана ошого жараша байланыштарды түзүңүз. Программанын кодун Arduinoго жүктөңүз жана каалаган мотордун RPM ченегиле. Кийинки постумду күтүп туруңуз жана менин YouTube каналымды көрүңүз.
Сунушталууда:
Ардуинонун жардамы менен электр менен камсыздоо жыштыгын жана чыңалуусун өлчөө: 6 кадам
Ардуинонун жардамы менен электр менен камсыздоо жыштыгын жана чыңалуусун өлчөө: Киришүү: Бул долбоордун максаты - бул жерде Индияда 220-240 Вольт жана 50Гц ортосунда болгон берүү жыштыгын жана чыңалуусун өлчөө. Мен сигналды кармап, жыштыкты жана чыңалууну эсептөө үчүн Arduino колдондум, сиз башка микроконтту колдонсоңуз болот
Шамалдын ылдамдыгын микро менен өлчөө: бит жана Snap схемалары: 10 кадам
Шамалдын ылдамдыгын микро менен өлчөө: бит жана Snap Circuits: StoryКызым экөөбүз аба ырайы долбоорунун анемометринде иштеп жаткандыктан, биз программалоо менен көңүл ачууну узартууну чечтик. Анемометр деген эмне? Балким сиз " анемометр " деп сурап жатасыз. болуп саналат. Ооба, бул шамалдын өлчөмүн өлчөөчү аппарат
HW30A щеткасыз мотор ылдамдыгын көзөмөлдөөчү жана сервистик тестерди колдонуу менен учкучсуз квадрокоптердин щеткасыз DC моторун кантип иштетүү керек: 3 кадам
HW30A щеткасыз мотор ылдамдыгын көзөмөлдөөчү жана серво тести аркылуу Drone Quadcopter Brushless DC моторун кантип иштетүү керек: Сүрөттөмө: Бул түзмөк серво моторун серво моторун жөнөкөй плагин менен иштетүү үчүн колдонула турган Servo Motor Tester деп аталат. Түзмөктү электр ылдамдыгын жөнгө салуучу сигналдын генератору катары да колдонсо болот (ESC), анда сиз
Flow ылдамдыгын өлчөө: 7 кадам (Сүрөттөр менен)
Flow ылдамдыгын өлчөө: Бул аппараттын жардамы менен сиз эркин агып жаткан агымдын ылдамдыгын өлчөй аласыз. Керектүү нерсе - бул Arduino жана кээ бир негизги усталык чеберчиликтери жана, албетте, бекер агып жаткан агым. Бул ылдамдыкты өлчөөнүн эң практикалык жолу эмес
Ардуинонун жардамы менен музыкага жаңы жылдык чырактар: 9 кадам (сүрөттөр менен)
Ардуинонун жардамы менен музыкага Рождество чырактары: Жубайым экөөбүз акыркы бир нече эс алуу мезгилинде музыканы өзүбүздүн жарыгыбыз менен көрсөтүүнү кааладык. Төмөндөгү эки Instructablesдан шыктангандыктан, биз акыры ушул жылы баштоону жана RVбизди кооздоону чечтик. Баары бир болууну кааладык