Оглавление:
- Шаг 1: Шаг: 1 Убедитесь, что датчики и устройства работают в рабочем состоянии
- Шаг 2: как это работает?
- Шаг 3: запрограммируйте свой Arduino с помощью Arduino IDE
- Шаг 4: Моделирование с использованием Proteus
- Шаг 5: аппаратное выполнение
Видео: Измерение скорости двигателя с помощью Arduino: 6 шагов
2024 Автор: John Day | [email protected]. Последнее изменение: 2024-01-30 11:47
Сложно ли измерить обороты мотора ??? Я так не думаю. Вот одно простое решение.
Только один ИК-датчик и Arduino в вашем комплекте могут это сделать.
В этом посте я дам простое руководство, объясняющее, как измерять обороты любого двигателя с помощью ИК-датчика и Arduino UNO / nano.
Запасы:
1. Arduion uno (Amazon) / Arduion nano (Amazon)
2. ИК-датчик (Amazon)
3. Двигатель постоянного тока любой (Amazon)
4. LCD 16 * 2 (Amazon)
Используемые инструменты
1. Паяльник (Amazon)
2. Инструмент для зачистки проводов (Amazon)
Шаг 1: Шаг: 1 Убедитесь, что датчики и устройства работают в рабочем состоянии
Что такое ИК-датчик? ИК-датчик - это электронное устройство, которое излучает свет, чтобы ощущать какой-либо объект в окружающей среде. Инфракрасный датчик может измерять температуру объекта, а также обнаруживать движение. Обычно в инфракрасном спектре все объекты излучают тепловое излучение в той или иной форме. Эти типы излучения невидимы для наших глаз, но инфракрасный датчик может их обнаружить.
Что такое двигатель постоянного тока? Двигатель постоянного тока (DC) - это тип электрической машины, которая преобразует электрическую энергию в механическую. Двигатели постоянного тока получают электроэнергию через постоянный ток и преобразуют эту энергию в механическое вращение.
В двигателях постоянного тока используются магнитные поля, которые возникают из-за генерируемых электрических токов, которые приводят в движение ротор, закрепленный на выходном валу. Выходной крутящий момент и скорость зависят как от входной электрической мощности, так и от конструкции двигателя.
Что такое Ардуино?
Arduino - это электронная платформа с открытым исходным кодом, основанная на простом в использовании аппаратном и программном обеспечении. Платы Arduino могут считывать входные данные - свет на датчике, палец на кнопке или сообщение Twitter - и превращать его в выход - активировать двигатель, включать светодиод, публиковать что-то в Интернете. Вы можете указать своей плате, что делать, отправив набор инструкций микроконтроллеру на плате. Для этого вы используете язык программирования Arduino (на основе проводки) и программное обеспечение Arduino (IDE), основанное на обработке.
Скачать ARDUINO IDE
Шаг 2: как это работает?
Так в чем же логика этого ??
Он работает очень похоже на кодировщик. Энкодеры сложно понять новичкам. Все, что вам нужно знать, это то, что ИК-датчик генерирует импульс, и мы выясняем временной интервал между каждым импульсом.
В этом случае ИК-датчик отправит импульс на Arduino, когда его ИК-луч будет перехвачен пропеллерами двигателей. Обычно мы используем гребные винты с двумя лопастями, но я использовал гребной винт с тремя лопастями, как показано на рисунке. в зависимости от количества лопастей гребного винта нам необходимо изменить некоторые значения при расчете оборотов.
давайте рассмотрим, что у нас есть пропеллер с двумя лопастями. За каждый оборот двигателя лезвие дважды перехватывает ИК-лучи. Таким образом, ИК-датчик будет генерировать импульсы при каждом перехвате.
Теперь нам нужно написать программу, которая могла бы измерять количество импульсов, производимых ИК-датчиком за определенный промежуток времени.
Существует несколько способов решения проблемы, но мы должны выбрать, какой из них лучше всего в этих кодах. Я измерил продолжительность между прерываниями (ИК-датчик). Я использовал функции micros () для измерения длительности импульсов в микросекундах.
вы можете использовать эту формулу для измерения RPMRPM = ((1 / продолжительность) * 1000 * 1000 * 60) / лезвия
где, длительность - временной интервал между импульсами.
60 - секунд в минуты
1000 - мельница в сек
1000 - микроволны в мельницу
лопасти - нет крыльев в винте.
ЖК-дисплей - Arduino обновляет регистры команд и данных ЖК-дисплея. Которая отображает символы ASCII на ЖК-дисплее.
Шаг 3: запрограммируйте свой Arduino с помощью Arduino IDE
#включают
ЖК-дисплей LiquidCrystal (9, 8, 7, 6, 5, 4); const int IR_IN = 2; // ИК-датчик INPUT unsigned long prevmicros; // Для хранения времени unsigned long duration; // Для сохранения разницы во времени unsigned long lcdrefresh; // Для сохранения времени обновления ЖК-дисплея int rpm; // значение RPM boolean currentstate; // Текущее состояние сканирования ИК-входа boolean prevstate; // Состояние ИК-датчика при предыдущем сканировании void setup () {pinMode (IR_IN, INPUT); lcd.begin (16, 2); prevmicros = 0; prevstate = LOW; } void loop () {//////////////////////////////////////////// ///////////////////////////////////// Измерение оборотов currentstate = digitalRead (IR_IN); // Считываем состояние ИК-датчика if (prevstate! = Currentstate) // Если есть изменение на входе {if (currentstate == LOW) // Если только вход меняется с HIGH на LOW {duration = (micros () - prevmicros); // Разница во времени между оборотами в микросекундах rpm = ((60000000 / duration) / 3); // об / мин = (1 / время миллис) * 1000 * 1000 * 60; prevmicros = micros (); // запоминаем время для вычисления числа оборотов}} prevstate = currentstate; // сохраняем данные этого сканирования (предыдущего сканирования) для следующего сканирования ///////////////////////////////////// /////////////////////////////////////////////// ЖК-дисплей, если ((millis () - lcdrefresh)> = 100) {lcd.clear (); lcd.setCursor (0, 0); lcd.print («Скорость мотора»); lcd.setCursor (0, 1); lcd.print ("RPM ="); lcd.print (об / мин); lcdrefresh = миллис (); }}
Шаг 4: Моделирование с использованием Proteus
Этот проект работал отлично, когда я пытался смоделировать его с помощью proteus.
Вместо использования ИК-датчика я использовал генератор импульсов постоянного тока, который имитировал ИК-импульс, подобный тому, который генерируется, когда ИК-лучи попадают на лопасти гребного винта.
вам необходимо внести изменения в свою программу в зависимости от используемого вами датчика
ИК-датчик с LM358 должен использовать эту команду.
if (currentstate == HIGH) // Если ввод меняется только с LOW на HIGH
ИК-датчик с LM359 должен использовать эту команду.
if (currentstate == LOW) // Если только ввод меняется с ВЫСОКОГО на НИЗКИЙ
Шаг 5: аппаратное выполнение
Для схемы используйте изображения моделирования или обратитесь к программным кодам и выполните соответствующие соединения. Загрузите программный код в Arduino и измерьте обороты любого двигателя. Следите за моей следующей публикацией и смотрите мой канал на YouTube.
Рекомендуемые:
Измерение скорости ветра с помощью микросхем Micro: Bit и Snap: 10 шагов
Измерение скорости ветра с помощью Micro: Bit and Snap Circuits: Story Поскольку мы с дочерью работали над анемометром для погодного проекта, мы решили расширить веселье, включив программирование. Что такое анемометр? Возможно, вы спрашиваете, что такое «анемометр»? является. Ну, это прибор, который измеряет ветер
Как запустить бесщеточный двигатель постоянного тока с квадрокоптером для дрона с помощью контроллера скорости бесщеточного двигателя HW30A и серво-тестера: 3 шага
Как запустить бесщеточный двигатель постоянного тока квадрокоптера Drone Quadcopter с помощью контроллера скорости бесщеточного двигателя HW30A и тестера сервомотора: Описание: Это устройство называется тестером серводвигателя, который можно использовать для запуска серводвигателя путем простого подключения серводвигателя и источника питания к нему. Устройство также можно использовать в качестве генератора сигналов для электрического регулятора скорости (ESC), тогда вы можете
Использование приводного двигателя постоянного тока беговой дорожки и ШИМ-регулятора скорости для электроинструментов: 13 шагов (с изображениями)
Используйте приводной двигатель постоянного тока беговой дорожки и ШИМ-контроллер скорости для электроинструментов: для электроинструментов, таких как металлорежущие станки и токарные станки, сверлильные станки, ленточные пилы, шлифовальные машины и многое другое, могут потребоваться двигатели мощностью от 5 до 2 л.с. с возможностью точной настройки скорости при сохранении крутящего момента. По совпадению, в большинстве беговых дорожек используется двигатель 80-260 В постоянного тока с
Как управлять бесщеточным двигателем постоянного тока квадрокоптера Drone (тип 3 провода) с помощью контроллера скорости двигателя HW30A и Arduino UNO: 5 шагов
Как управлять бесщеточным двигателем постоянного тока квадрокоптера Drone (трехпроводного типа) с помощью контроллера скорости двигателя HW30A и Arduino UNO: Описание: контроллер скорости двигателя HW30A можно использовать с 4-10 NiMH / NiCd или 2-3-элементными LiPo батареями. BEC может работать с 3 ячейками LiPo. Его можно использовать для управления скоростью бесщеточного двигателя постоянного тока (3 провода) с максимальным напряжением до 12 В постоянного тока
Измерение скорости потока: 7 шагов (с изображениями)
Измерение скорости потока: с помощью этого устройства вы можете измерить скорость свободно текущего потока. Единственное, что необходимо, - это Arduino и некоторые базовые навыки крафтинга и, конечно же, свободный поток. Это не самый практичный способ измерения скорости