Съдържание:
- Стъпка 1: Стъпка: 1 Осигурете работно състояние на сензорите и устройствата
- Стъпка 2: Как работи?
- Стъпка 3: Програмирайте вашия Arduino с помощта на Arduino IDE
- Стъпка 4: Симулация с помощта на Proteus
- Стъпка 5: Изпълнение на хардуера
Видео: Измерване на скоростта на двигателя с помощта на Arduino: 6 стъпки
2024 Автор: John Day | [email protected]. Последно модифициран: 2024-01-30 07:49
Трудно ли е да се измери оборотите на двигателя ??? Не мисля така. Ето едно просто решение.
Само един IR сензор и Arduino във вашия комплект могат да го направят.
В този пост ще дам прост урок, обясняващ как да се измерват оборотите на всеки двигател с помощта на IR сензор и Arduino UNO/nano
Консумативи:
1. Arduion uno (Amazon) / Arduion nano (Amazon)
2. IR сензор (Amazon)
3. DC мотор всякакъв (Amazon)
4. LCD 16*2 (Amazon)
Използвани инструменти
1. Поялник (Amazon)
2. Машина за сваляне на тел (Amazon)
Стъпка 1: Стъпка: 1 Осигурете работно състояние на сензорите и устройствата
Какво е IR сензор? IR сензорът е електронно устройство, което излъчва светлината, за да усети някакъв обект от околността. IR сензор може да измерва топлината на обект, както и да открива движението. Обикновено в инфрачервения спектър всички обекти излъчват някаква форма на топлинно излъчване. Тези видове излъчвания са невидими за очите ни, но инфрачервеният сензор може да открие тези излъчвания.
Двигател с постоянен ток (DC) е вид електрическа машина, която преобразува електрическата енергия в механична. Двигателите с постоянен ток приемат електрическа енергия чрез постоянен ток и преобразуват тази енергия в механично въртене.
Двигателите с постоянен ток използват магнитни полета, които възникват от генерираните електрически токове, които захранват движението на ротор, фиксиран в изходния вал. Изходният въртящ момент и скоростта зависят както от електрическия вход, така и от конструкцията на двигателя.
Какво е Arduino?
Arduino е електронна платформа с отворен код, базирана на лесен за използване хардуер и софтуер. Платките Arduino могат да четат входове - светлина върху сензор, пръст върху бутон или съобщение в Twitter - и да го превърнат в изход - активиране на мотор, включване на светодиод, публикуване на нещо онлайн. Можете да кажете на дъската си какво да прави, като изпратите набор от инструкции към микроконтролера на дъската. За целта използвате езика за програмиране Arduino (базиран на Wiring) и софтуера Arduino (IDE), базиран на Processing.
Изтеглете ARDUINO IDE
Стъпка 2: Как работи?
Каква е логиката зад това ??
Работи много подобно на енкодера. Енкодерите са трудно разбираеми за начинаещи. Всичко, което трябва да знаете, е, че IR сензорът генерира импулс и ние откриваме интервала от време между всеки импулс.
В този случай инфрачервеният сензор ще изпрати импулс към Arduino, когато инфрачервеният му лъч бъде засечен с витла на двигатели. Обикновено използваме витла с две лопатки, но аз съм използвал витло с три лопатки, както е показано на фигурата. в зависимост от броя на лопатките на витлото трябва да променим някои стойности, докато изчисляваме оборотите.
нека помислим, че имаме витло, което има две лопатки. За всеки оборотен мотор острието ще прихваща IR лъча два пъти. По този начин IR сензорът ще генерира импулси при всяко прехващане.
Сега трябва да напишем програма, която може да измери броя импулси, произведени от IR сензора в определен интервал от време.
Има повече от един начин за решаване на проблем, но трябва да изберем кой е най -добрият в тези кодове Измерил съм продължителността между прекъсванията (IR сензор) Използвах функции micros () за измерване на продължителността на импулсите в микро секунди.
можете да използвате тази формула за измерване на RPMRPM = ((1/продължителност)*1000*1000*60)/лопатки
където, продължителност - интервал от време между импулсите.
60 - секунди до минути
1000 - мелница за сек
1000 - микро до мелница
остриета - няма крила в перката.
LCD дисплей - Arduino актуализира регистрите за команди и данни на LCD дисплея. Което показва ASCII символите на LCD дисплея.
Стъпка 3: Програмирайте вашия Arduino с помощта на Arduino IDE
#включва
LiquidCrystal lcd (9, 8, 7, 6, 5, 4); const int IR_IN = 2; // IR сензор INPUT неподписан дълъг prevmicros; // За съхранение на време без знак без продължителност; // За съхраняване на времева разлика unsigned long lcdrefresh; // За съхранение на време за lcd за опресняване на int rpm; // RPM стойност boolean currentstate; // Текущо състояние на булево сканиране на сканиране на IR вход; // Състояние на IR сензора в предишната настройка за пусто сканиране () {pinMode (IR_IN, INPUT); lcd.begin (16, 2); prevmicros = 0; prevstate = LOW; } void loop () {//////////////////////////////////////////////// //////////////////////////////////////// RPM Измерване currentstate = digitalRead (IR_IN); // Прочетете състоянието на IR сензора if (prevstate! = Currentstate) // Ако има промяна във входа {if (currentstate == LOW) // Ако входът се променя само от HIGH на LOW {duration = (micros () - prevmicros); // Времева разлика между оборотите в микросекунди rpm = ((60000000/продължителност)/3); // об/ мин = (1/ мили мили)*1000*1000*60; prevmicros = micros (); // запаметяване на времето за изчисляване на оборота на nect}} prevstate = currentstate; // съхранява тези данни за сканиране (предишно сканиране) за следващо сканиране /////////////////////////////////////// /////////////////////////////////////////////////// LCD дисплей, ако ((millis ()-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 импулси, който ще симулира IR импулса, подобен на генерирания, когато инфрачервените лъчи ударят лопатките на витлата.
трябва да направите промени в програмата си в зависимост от сензора, който използвате
IR сензорът с LM358 трябва да използва тази команда.
if (currentstate == HIGH) // Ако входът се променя само от LOW на HIGH
IR сензорът с LM359 трябва да използва тази команда.
if (currentstate == LOW) // Ако входът се променя само от HIGH на LOW
Стъпка 5: Изпълнение на хардуера
За схематично използване на симулационните снимки или направете справка с програмните кодове и направете съответните връзки. Качете програмния код в Arduino и измерете оборотите на всеки двигател. Очаквайте следващата ми публикация и гледайте канала ми в YouTube.
Препоръчано:
Променлив регулатор на скоростта на двигателя: 8 стъпки
Променлив контролер на скоростта на двигателя: В този проект ще ви покажа начина, по който направих контролера на скоростта на двигателя & Ще покажа също колко лесно може да бъде изграждането на контролер с променлива скорост на двигателя с помощта на IC 555. Нека започнем
RC автомобил с Bluetooth контрол с контрол на скоростта и измерване на разстоянието: 8 стъпки
RC автомобил с Bluetooth контрол с контрол на скоростта и измерване на разстоянието: Като дете винаги съм бил очарован от RC колите. В днешно време можете да намерите много уроци, за да направите сами евтини RC автомобили с Bluetooth, с помощта на Arduino. Нека направим още една крачка напред и използваме нашите практически познания по кинематика, за да изчислим
Как да стартирате Drone Quadcopter безчетков постоянен двигател с помощта на HW30A безчеткови контролер на скоростта на двигателя и серво тестер: 3 стъпки
Как да стартирате Drone Quadcopter безчетков постоянен двигател с помощта на HW30A безчетков двигател за контрол на скоростта и серво тестер: Описание: Това устройство се нарича Servo Motor Tester, което може да се използва за управление на серво мотора чрез просто включване на серво мотор и захранване към него. Устройството може да се използва и като генератор на сигнали за електрически регулатор на скоростта (ESC), след което можете да
Как да: Контролирайте скоростта на двигателя?: 5 стъпки (със снимки)
Как да: Контролирайте скоростта на двигателя ?: Ако имате няколко DC двигателя, които се намират наоколо, първият въпрос, който идва на ум, е как ще контролирам скоростта на тези двигатели! Така че в тази инструкция ще покажа колко лесно е да направите това! Ако чувстваш се мързелив, можеш да гледаш видео в моя канал Also Huge Tha
Измерване на скоростта на потока: 7 стъпки (със снимки)
Измерване на скоростта на потока: С това устройство можете да измервате скоростта на свободно течащ поток. Единственото нещо, което е необходимо, са Arduino и някои основни умения за изработка и, разбира се, свободно течащ поток. Това не е най -практичният начин за измерване на скоростите