Тахометр на основе ардуино и датчика холла своими руками

Типы современных тахометров

Важным параметром, который учитывают при выборе устройства, является рабочий диапазон скорости. Он устанавливает границу измерения, который способен контролировать прибор. Ещё один параметр — точность, которая задаётся в единицах, таких как ± RPM. Используемая технология датчиков: контактные, фотоэлектрические, индуктивные и с эффектом Холла.

В приборе контактного типа он входит в контакт с вращающейся частью. В фотоэлектрическом устройстве для измерения скорости используются световые лучи, видимые или инфракрасные. Частота разрыва, которого применяется для расчёта скорости. Индуктивные инструменты используют магнитные элементы для индукции магнитных полей, а частота активации — для измерения скорости. Конструктивные особенности:

  • счётчики;
  • таймеры;
  • стробоскоп.

Конфигурации дисплея включают аналоговые визуальные индикаторы, цифровые или графические видеодисплеи. Пользовательские интерфейсы и типы управления имеют аналоговые лицевые или цифровые панели и компьютерные программируемые интерфейсы. Современные тахометры оснащаются программным обеспечением для работы на ПК. У многих есть сетевые или коммуникационные интерфейсы. Доступные электрические выходы:

  • аналоговое напряжение;
  • аналоговый ток;
  • аналоговая модулированная частота;
  • переключатель или сигнализация;
  • светодиодный экран.

Тахометры классифицируются на основе технологии сбора данных. Типы применяемых устройств:

  1. Аналоговые. Состоят из измерителя и интерфейса набора номера. Они не имеют возможности хранить базу данных, а также не вычисляют средние показания и их отклонения. Скорость движения преобразовывается в напряжение с использованием внешнего преобразователя частоты. Затем это измерение отображается аналоговым вольтметром.
  2. Цифровые — состоят из ЖК-дисплея или светодиодного индикатора и памяти для хранения информации. Они осуществляют статистические операции и подходят для точного измерения и мониторинга любых видов времени. Цифровые тахометры чаще встречаются в наши дни, они дают числовые показания вместо использования циферблатов.
  3. Контактный тип, контактируют с вращающимся валом, прикрепляется к дизелю или электродвигателю. Например, оптический кодер или магнитный датчик измеряет обороты. Они способны измерять скорость вращения в пределах от 0, 5 об / мин до 10 тыс. об / мин, имеют ЖК-дисплей, работает с диапазоном рабочих температур от 0 до + 40 C.
  4. Бесконтактный тип не нуждается в физическом контакте с вращающимся элементом. В этом типе лазерный или оптический диск соединён с валом, результат считывается инфракрасным лучом или лазером. Этот тип замеряет скорость от 1 до 99,999 об/мин (токарный станок), угол обмера составляет меньше 120 градусов. Оборудованы ЖК-дисплеем, эффективны, долговечны, точны и компактны, а также видны с большого расстояния.
  5. Временной, который вычисляет скорость по интервалу между входящими импульсами. Разрешение этого тахометра не ограничено, поэтому он более точен при измерениях низкой скорости.
  6. Частотный, который вычисляет скорость по частоте импульсов. Этот тип работает с использованием красного светодиода, а оборот его зависит от вращающегося элемента. Он используется для высокоскоростных измерений. На рынке продаётся недорогой и высокоэффективный китайский вариант.

Датчик Холла

Датчик Холла OH137 Модуль KY-003 Модуль KY-024 Модуль KY-035

Датчик Холла OH137

Униполярный датчик Холла OH137 — датчик, работающий на эффекте Холла — при помещении в магнитное поле некоторого проводника с постоянным током, в этом проводнике возникает поперечная разность потенциалов.

  • Тип: Униполярный
  • Рабочий ток источника питания: 5 mA
  • Максимальный выходной ток: 25 mA
  • Рабочая точка, макс.: 18 mT
  • Точка сброса мин.: 2 mT
  • Рабочая температура: -40…85 C
  • Рабочее напряжение питания: 24 V
  • Тип корпуса: TO-92
  • Тип выхода: open-collector
  • Напряжение питания: 4.5 V — 24 V

Подключение показано на рисунке.

Показания сигнала зависят от полюса магнита (поэтому он называется униполярным).

При подключении к плате используйте резистор на 820 Ohm и конденсатор на 20 pF.

int hallPin = 2; // Use Pin 0 as our Input
int hallVal = HIGH; // This is where we record the OH137 Input
boolean isMagneticField = false;

unsigned long lastDetectTime; // Record the time that we measured a Magnetic Field
int magFieldHoldTime = 500; // How long to hold the magnetic field detection on.

void setup ()
{
Serial.begin(9600);
pinMode (hallPin, INPUT);
}

void loop ()
{
hallVal = digitalRead (hallPin);

if (hallVal == LOW) // means magnetic field detected
{
lastDetectTime = millis(); // record the last time mag field was detected
if (!isMagneticField)
{
Serial.println(«MAGNETIC SOUTH POLE DETECTED»);
isMagneticField = true;
}
}
else
{
if( (millis()-lastDetectTime) > magFieldHoldTime && isMagneticField)
{
Serial.println(«no magnetic field»);
isMagneticField = false;
}
}
}

Модуль KY-003

Датчик Холла (модуль KY-003) выполнен на базе элемента «44E» и позволяет обнаруживать магнитное поле. Если рядом с датчиком нет магнитного поля, то на сигнальном выходе датчика имеется высокий уровень и наоборот если поле присутствует, то на выходе низкий уровень напряжения, таким образом датчик имеет цифровой выход.

На плате модуля есть светодиод, который горит когда есть магнитное воздействие. Существуют также аналоговый (KY-035) и комбинированный датчик Холла (KY-024).

Имеет три вывода: сигнальный вывод S подключается к цифровому выводу платы, средний к питанию, а крайний левый к земле.

KY-003 | Arduino
—————-
S | D
+ | 5V
— | GND

При появлении магнитного поля будет включаться светодиод на выводе 13.

int ledPin = 13;
int hallPin = 3;
int val;

void setup()
{
pinMode(ledPin, OUTPUT);
pinMode(hallPin, INPUT);
}

void loop()
{
val = digitalRead(hallPin);
if (val == LOW) //when magnetic field is detected, turn led on
{
digitalWrite(ledPin, HIGH);
}
else
{
digitalWrite(ledPin, LOW);
}
}

Входит в состав набора Набор из 37 датчиков

Модуль KY-024

Модуль KY-024 является линейным датчиком Холла (датчик магнитного поля), способный обрабатывать цифровой и аналоговые сигналы.

Цифровой выход выдаёт логический 0 если магнита рядом нет и логическую 1, если магнит в поле чувствительности датчика. А на аналоговом выходе можно отслеживать изменение напряжения, когда магнитное поле есть и когда его нет.

Также на модуле расположены два красных светодиода, один сигнализирует о наличии питания, другой загорается при срабатывании датчика. Для настройки датчика на плате модуля имеется подстроечный резистор для регулировки чувствительности датчика — можно менять расстояние до магнита, при котором датчик сработает.

Модуль определяет присутствие поля постоянного магнита или магнитного поля катушки проволоки, подключённой к постоянному току. Часто применяется для определения скорости вращения различных деталей механизмов.

Имеет четыре вывода: На + подаём 5В, на G – землю (GND), A0 – аналоговый выход, D0 – цифровой выход.

KY-024 | Arduino
—————-
A0 | A0
G | GND
+ | 5V
D0 | D

Скетч.

const int digital = 2; // Цифровой пин 2
const int analog = A0; // Аналоговый пин A0

void setup()
{
pinMode(digital, INPUT);
Serial.begin(9600);
}

void loop()
{
Serial.print(«Digital: «);
Serial.print(digitalRead(digital)); // Цифровой сигнал с датчика
Serial.print(«, Analog: «);
Serial.println(analogRead(analog)); // Аналоговый сигнал с датчика
delay(500);
}

Входит в состав набора Набор из 37 датчиков

Модуль KY-035

Аналоговый датчик Холла KY-035 внешне практически не отличается от датчика KY-003, только у него нет встроенного светодиода (стоит пустая заглушка).

Других отличий нет — схема соединений и код остаётся без изменений.

Входит в состав набора Набор из 37 датчиков

Использование датчика холла с arduino

В этой статье мы рассмотрим, как использовать модуль датчик холла совместно с Arduino. Датчик холла — это датчик, который меняет свой выходной потенциал (напряжение) в зависимости от присутствии или отсутствии магнитного поля.

Это означает, что выходной сигнал датчика Холла является функцией плотности магнитного поля вокруг него.

Когда плотность магнитного потока вокруг него превышает некоторое заранее выставленное пороговое значение, датчик обнаруживает его и меняет напряжение тока выхода для того чтобы показать присутствие магнитного поля.

Одним из мест популярных использований датчиков холла — в автомобильных схемах, где они используются для определения положения, измерения расстояния и скорости.

Они также установлены в смартфоны и компьютеры, в разных переключателях где присутсвие магнитного поля использовано для того чтобы включить или выключить цепь питания.

По виду они обычно выглядят как плата с 3 контактами: один контакт сигнал и другие 2 для питания датчика. Это существенно упрощает подключение модуля к любому микроконтроллеру или исполнительной схеме.

В сегодняшнем материале Elwo.ru покажет, как работает датчик холла, подключив его вместе со светодиодом к Arduino блоку. Arduino будет запрограммирован таким образом, что, когда магнит приближается к датчику холла — светодиод включается, а когда магнит удаляется — он гаснет.

Схема принципиальная

Схема для этого проекта проста, так как все, что нам нужно сделать, это подключить 3 контакта датчика холла и светодиод к платформе Arduino. Соедините компоненты, как показано на схеме.

Датчик Холла — Ардуино

  • VCC — 5V
  • GND — GND
  • SIG — D2

LED можно подсоединить сразу в Arduino с положительной ногой в pin 13 Arduino и другой ногой в земляной штырь без резистора, потому что arduino имеет внутренний резистор прикрепленный к pin 13.

Требуемые компоненты для схемы

Для построения этого проекта требуются следующие компоненты.

  • Датчик холла
  • Arduino Uno
  • LED
  • Магнит
  • Провода

Теперь можем перейти к коду для этого проекта.

Код прошивки МК

Код для этого проекта очень прост, так как все, что нужно сделать это проверить, ощущается ли магнитное поле, и если да — включается ли от него светодиод.

В функции настройки void мы объявляем pinmode для контактов Arduino, к которому подключены светодиод и датчик Холла.

Далее идет функция void loop, задача здесь как если бы надо было использовать кнопку для управления светодиодом с Arduino между ними. Читаем выход датчика холла и храним в переменной с именем state.

Полный код для этого проекта показан далее:

  • int hallSensorPin = 2;     
    int ledPin =  13;    
  • int state = 0;          
  • void setup() {
      pinMode(ledPin, OUTPUT);      
      pinMode(hallSensorPin, INPUT);     
  • }
  • void loop(){
      
  •   state = digitalRead(hallSensorPin);
  •   if (state == LOW) {        
        digitalWrite(ledPin, HIGH);  
      } 
      else {
        digitalWrite(ledPin, LOW); 
      }
  • }

Скопируйте код и загрузите его на плату Arduino. Вы должны увидеть переключение светодиода, когда магнит поднесен близко к датчику, показанному на фото.

Для управления работой Ардуино необходимо разработать управляющую программу.

Для начала подключаем необходимые библиотеки:

#include <TimerOne.h>   —  библиотека таймера

#include <LiquidCrystal_I2C.h>  — библиотека работы с дисплеем по шине i2c

LiquidCrystal_I2C lcd(0x27,16,2);  — указываем i2c адрес (наиболее распространенное значение), а также параметры экрана

Объявляем переменные и константы:

const int RPM_PIN=3; — константа определяющая номер цифрового входа для подключения датчика Холла

volatile int rpm                = 0;   — частота импульсов (сразу обнуляем)

volatile int rpm_k            = 0;   — счетчик импульсов входного сигнала (обнуляем)

volatile boolean kontrol;

volatile int rpm_array = {0,0,0};    — массив промежуточных значений частоты вращения (не менее трёх значений) для усреднения (сразу обнуляем)

volatile int rpm_result         = 0;    — расчётная частота вращения вала (обнуляем)

 void rpm_count(){

  rpm_k++;       —

  digitalWrite(13, HIGH); — на долю секунды выводим сигнал на красный сетодиод при каждом поступившем импульсе входного сигнала (для контроля работы схемы и датчика)

  delayMicroseconds(500);  — длительность свечения красного светодиода

  digitalWrite(13, LOW);  — выключение красного светодиода

}

void SensorData(){

  rpm = rpm_k;  rpm_k = 0; записываем подсчитанное число импульсов с датчика Холла в переменную частоты вращения, а счетчик обнуляем

  digitalWrite(10, HIGH); — на долю секунды выводим сигнал на зеленый сетодиод при каждом отсчете образцового сигнала (для контроля работы)

  delayMicroseconds(500);  digitalWrite(10, LOW);

}

Объявляем основную процедуру Ардуино

void setup(){

   lcd.begin();    — инициализируем дисплей

   pinMode(RPM_PIN,INPUT);    — устанавливаем режим работы входной линии ардуино на ввод

   attachInterrupt(digitalPinToInterrupt(RPM_PIN),  rpm_count,  RISING);  — настраиваем функцию прерывания, срабатывание по переднему фронту

   Timer1.attachInterrupt(SensorData);  — настраиваем срабатывание прерывания по таймеру

   Timer1.initialize(1000000);  — указываем период работы таймера – 1 с.

   pinMode(10, OUTPUT); — устанавливаем режим работы цифрового выхода 10 и 13 на вывод

   pinMode(13, OUTPUT);

}

Объявляем основной цикл программы

void loop(){

    rpm_result = 0;    — обнуляем итоговый результат

    for (int i=0; i<=1; i++)    { — цикл буферизации предыдущих значений измеренного сигнала в массив

      rpm_array=rpm_array;     }   

    rpm_array = 60*rpm/2;   — вычисляем текущее значение частоты вращения вала и записываем в последний элемент массива

    for (int i=0; i<=2; i++)    {       — вычисляем сумму элементов массива для усреднения

      rpm_result = rpm_result+rpm_array;     }

    rpm_result = rpm_result/3;    — вычисляем среднее значение частоты вращения

    lcd.setCursor(0, 0);     — указываем положение курсора на экране дисплея

    lcd.print(»                «);   — очищаем 1 строку дисплея от предыдущего результата

    lcd.setCursor(0, 0);  — указываем положение курсора на экране дисплея

    lcd.print(«N(ob/min): «);lcd.print(rpm_result);   — выводим частоту вращения в об/мин

    delay(500); — делаем паузу между обновлениями экрана, чтобы он не мигал

}

Разработанную программу загружаем в память Ардуино. Подключив Ардуино к шине USB ПК, не забываем выбрать правильный порт в меню Системы программирования Ардуино, а также правильно указываем модель платы Ардуино.

https://youtube.com/watch?v=qilXenglHKE

Arduino RPM тахометр ИК-датчик измеритель 3D-печати

В этом проекте мы будем использовать основы инфракрасного сенсора для измерения скорости вращения вала. Идея состоит в том, чтобы отбрасывать инфракрасный свет. Имея какой-то отражающий материал на вращающемся валу, мы обнаруживаем пик воспринимаемого света и измеряем время между этими пиками. Измеренное время — это время, за которое вал совершает один полный оборот.

Материал

Этот проект прост.Общая стоимость до 10 долларов. Если у вас нет 3D-принтера, вам следует создать какой-нибудь небольшой футляр и установить все на место. Итак, давайте посмотрим, что нам нужно.

ИК-светодиод и сенсор: LINK eBay Arduino NANO: LINK eBay Усилитель LM324: LINK eBay Кнопка: LINK eBay Кнопка скольжения: LINK eBay OLED-экран: LINK eBay Провод 30AWG: LINK eBay Дешевый диод LINK eBay: LINK eBay Разъем аккумулятора 9 В: LINK eBay Аккумулятор 9 В: LINK eBay Печатная плата с отверстиями: LINK eBay

Теория

Итак, как работает этот счетчик оборотов. Что ж, у нас есть ИК-светодиод, который будет излучать свет.Свет будет отражаться от поверхности движущейся части. Отраженный свет затем коснется чувствительной основы ИК-датчика.

Этот ИК-датчик работает точно так же, как обычный BJT-транзистор, но вместо того, чтобы контролировать ток от коллектора к эмиттеру, подавая небольшой ток на базу, мы контролируем ток, применяя инфракрасный свет. База этого транзистора подвергается воздействию света, и когда инфракрасная волна касается базы, цепь разомкнута, и ток через транзистор не течет.Но когда нет света, ток может течь. По сути, это выключатель, активируемый светом. Итак, схема обнаружения примерно такая.

Выход будет эмиттером транзистора. Добавляем к выходу понижающий резистор. Таким образом, когда цепь разомкнута, выход будет заземлен, а когда цепь замкнута, выход имеет высокое значение, в данном случае 5 вольт, потому что это базовое напряжение Arduino. Фактически, выход представляет собой делитель напряжения между сопротивлением транзистора и понижающим сопротивлением.Таким образом, понижающее напряжение должно иметь высокое значение, в данном случае 4,7 кОм, поэтому, когда транзистор является проводящим, падение напряжения между коллектором и эмиттером должно быть очень небольшим, и все напряжение должно падать на понижающем резисторе. Затем мы должны добавить небольшой резистор примерно 100 Ом к положительному выводу инфракрасного светодиода, чтобы ограничить ток и не сжечь его.

Вот так мы и обнаружили ИК-свет. Итак, теперь, если я поставлю что-то белое перед ИК-светодиодом и датчиком, свет будет отражаться, цепь будет разомкнута, и на выходе будет 0.Когда я убираю белый объект, свет больше не будет касаться датчика, и снова на выходе будет 5 вольт. Точно так же мы могли бы получить прямоугольную волну, если бы перед датчиком поместили вращающийся объект с белой полосой.

Исходный код программы

Код программы достаточно простой, надеюсь, он не вызовет у вас затруднений. Дополнительные пояснения к нему даны выше в статье.

Arduino

const byte ledPin = 13;
const byte interruptPin = 2;
volatile byte state = LOW;
int val=0;
void setup() {
pinMode(ledPin, OUTPUT);
pinMode(interruptPin, INPUT_PULLUP);
attachInterrupt(digitalPinToInterrupt(interruptPin), test, CHANGE);
Serial.begin(9600);
}
void loop() {
digitalWrite(ledPin, state);
Serial.println(val/2);
}
void test() {
state = !state;
val++;
}

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18

constbyteledPin=13;

constbyteinterruptPin=2;

volatilebytestate=LOW;

intval=;

voidsetup(){

pinMode(ledPin,OUTPUT);

pinMode(interruptPin,INPUT_PULLUP);

attachInterrupt(digitalPinToInterrupt(interruptPin),test,CHANGE);

Serial.begin(9600);

}

voidloop(){

digitalWrite(ledPin,state);

Serial.println(val2);

}

voidtest(){

state=!state;

val++;

}

Объяснение программы для Arduino

Полный код программы приведен в конце статьи, здесь же мы рассмотрим его наиболее важные фрагменты.

Мы задействуем в плате Arduino один контакт для ввода данных (к нему подключен датчик Холла) и один для вывода данных (к нему подключен светодиод). На контакте, к которому подключен датчик Холла, мы будем использовать прерывание. Поэтому внутри функции setup нам необходимо инициализировать эти контакты и сконфигурировать контакт 2 таким образом, чтобы на нем можно было использовать прерывания.

Arduino

void setup() {
pinMode(LED, OUTPUT); //контакт, к которому подключен светодиод, в режим вывода данных
pinMode(Hall_sensor, INPUT_PULLUP); //контакт, к которому подключен датчик Холла, в режим ввода данных с внутренним подтягивающим резистором
attachInterrupt(digitalPinToInterrupt(Hall_sensor), toggle, CHANGE); //контакт 2 будет контактом прерывания, при возникновении прерывания будет вызываться функция toggle
}

1
2
3
4
5

voidsetup(){

pinMode(LED,OUTPUT);//контакт, к которому подключен светодиод, в режим вывода данных

pinMode(Hall_sensor,INPUT_PULLUP);//контакт, к которому подключен датчик Холла, в режим ввода данных с внутренним подтягивающим резистором

attachInterrupt(digitalPinToInterrupt(Hall_sensor),toggle,CHANGE);//контакт 2 будет контактом прерывания, при возникновении прерывания будет вызываться функция toggle

}

При обработке прерывания могут использоваться много параметров: Toggle (переключение), Change (изменение), Rise (высокий уровень), Fall (низкий уровень) и т.д. Мы в нашем проекте будем использовать изменение сигнала на выходе сигнального контакта датчика Холла.

Поэтому внутри функции toggle мы будем использовать переменную “state” которое будет изменять свое состояние на 0 если ее текущее состояние 1, и на 1 если ее текущее состояние 0. В дальнейшем значение этой переменной можно, соответственно, использовать для включения и выключения светодиода.

Arduino

void toggle() {
state = !state;
}

1
2
3

voidtoggle(){

state=!state;

}

Наконец, внутри функции loop нам необходимо просто управлять состоянием светодиода. Как мы уже обсудили, состояние переменной state будет изменяться каждый раз когда датчик Холла будет обнаруживать рядом с собой магнит, поэтому состояние этой переменной мы будем использовать для управления состоянием светодиода.

Arduino

void loop() {
digitalWrite(LED, state);
}

1
2
3

voidloop(){

digitalWrite(LED,state);

}

Ремонт датчика

А вот теперь самое интересное. Теория подсказывает, что надо просто заказать и купить другой аналогичный, но практика дала понять — номер не проходит. Простые пути только в сказках. Фирм производителей стиралок — десяток. И у каждой есть ещё пару десятков моделей (а может и все 100). И у каждой возможен свой тип мотора, а значит таходатчика. В продаже что-то было, но всё не то. Как сказал мне по телефону специалист из крупного магазина по торговле запчастями к ремонту СМА: «очень сложно подобрать таходатчик именно по размерам, так как будет или болтаться, или не влезет, или импульсы будут идти такие, что электроника их не воспримет как положено».

Короче взял я, да и разобрал тот что имелся. Просто разломал плоскогубцами внешнее пластиковое кольцо, открыв катушку на оправке. И сразу заметил обрыв — всего 20 витков пришлось смотать на верхнем слое.

Доматывать даже не стал — припаял, зачистив, проводок 0,1 мм к контактному лепестку, и кое-как прилепив обломки корпуса на место залил их термоклеем. Получилась вот такая корявщина, но отчего бы не испытать?

Даже не стал прикручивать электромотор на место и цеплять пассик — да что же это такое, шкив конечно! Воткнул разъём и стартанул программу отжимания. и всё заработало как надо!

Невероятно довольный экономией денег на новую машинку, и гордый перед своими за очередной раз подтверждённые знания и умения, собрал всё на место и поставил СМА в угол. Тестовый прогон с парой футболок — никаких проблем. Всё, можно идти мыть руки!

Форум по обсуждению материала РЕМОНТ СТИРАЛКИ — ПРОБЛЕМА С ТАХОДАТЧИКОМ

Источник

Тахометр на мототехнику

Как поставить электронный тахометр на мотоцикл? Здесь у владельцев мототранспорта есть выбор: или приобрести готовое оборудование, либо изготовить самостоятельно. Предположим, что есть мотоцикл, есть прибор для контроля оборотов. Но как подключить электронный тахометр? Аппарат ТХ-193 от шестерки для этих целей подходит лучше всего для монтажа на отечественные марки мотоциклов.

Если мотоцикл не отечественный и имеется все тот же электронный тахометр, схема подключения немного изменится. В этом случае запитывать придется через замок зажигания. Там есть специальные контакты для этих целей. Если на мотоцикле нет стартера, тогда аккумулятор следует подключать к выходу выпрямителя. А от аккумулятора уже можно через выключатель подать питание непосредственно на тахометр. Если выпрямителя нет, нужно купить. Если нет аккумулятора, можно его поставить. Самый простой вариант – это источник питания от ИБП или старого фонаря. Если подключать измерительный прибор прямо к катушке генератора, тогда он сгорит. Во избежание этого можно попросить соседа-радиолюбителя сделать регулятор напряжения на тиристорах.

Если двигатель имеет три цилиндра, тогда здесь на вход подаются сигналы от двух катушек. Также существуют технические возможности для установки тахометра и на шестицилиндровые мотоциклы, но для этого уже требуется приобрести фирменное оборудование.

Комплектующие для сборки тахометра

Итак, тебе понадобятся:

  • датчик Холла из стартового набора ардуинщика KY-003
  • отладочная плата Arduino Nano v3
  • семи сегментный индикатор на драйвере ТМ1637
  • соединительные провода XH2.54 4pin и 3pin
  • 2-ух жильный экранированный провод
  • набор «Все для паяния»
  • набор «Всё для изготовления печатных плат»
  • установленная на компьютере Arduino IDE желательно версии 1.6.5

И установи библиотеку tm1637 в свою Arduino IDE. Как это сделать? Просто добавь папку из архива в папку куда установлена Arduino. Например С > Program Files (x86) > Arduino > Libraries

Схема подключения тахометра на Ардуино

Сборка тахометра не представляет особых трудностей. Просто собирай по схеме, заливай скетч и проверяй работоспособность. После включения на индикаторе должен появится 0, а при мелькании магнитом перед одной из сторон датчика должен загораться светодиод и на индикаторе изменяться показания. Если что-то не так — пиши в х — разберемся.

Индикатор

При изготовлении тахометра мне хотелось, чтобы индикатор был аккуратно и красиво установлен в корпус блока управления станком. В качестве корпуса я использовал корпус-рамку от вышедшего из строя вольт/ампер метра.

Плата индикатора TM1637 практически идеально подходила в этот корпус. Только нужно было обработать напильником — снять по 1 мм с каждой стороны.Также заменил стандартные пины на разъем XH2.54 4 pin.

Получилось практически как заводское изделие.

Плата датчика Холла

Для аккуратного крепления датчика Холла на шпиндель пришлось сделать новую печатную плату. Кому интересно как я делаю печатные платы читай в этой статье.

После изготовления платы, я перенес все детали с KY-003, а так же добавил разъем XH2.54 3 pin.

И еще вырезал изоляционную прокладку из какого-то пластика толщиной 3 мм и просверлил в ней небольшие отверстия, чтобы плата ложилась на прокладку всей плоскостью.

Также на плате предусмотрено место под SMD конденсатор, для устранения помех от шпинделя. Но пока он мне не понадобился — экранированный кабель справляется со своей задачей.

Установка платы датчика Холла

Во-первых, для реализации тахометра, мне нужен был небольшой неодимовый магнит, который нужно было прикрепить на вал шпинделя. Перерыл все ящики — я ничего подходящего не нашел. Зато нашел старый, нерабочий cd-rom от ноутбука. Вот в нем, в катушке электромагнита открывания, как раз и нашел, то, что нужно — небольшой, прямоугольный неодимовый магнит!

Определив высоту и полярность, я приклеил магнит к валу на «суперклей» и обтянул вал с магнитом термоусадкой. На копус шпинделя приклеил прокладку, а уже на прокладку — плату. Как видите — получилось довольно аккуратно. Защитный колпачек в процессе обдумывания, так что, пока без него ????

Датчик Холла 3144 реагирует каждой своей стороной либо на северный, либо на южный полюс магнита, так что перед установкой магнита — определи его положение!

Как протянуть провода от датчика, я расскажу в статье посвященной прокладке кабелей, а пока небольшое видео о работе тахометра на Arduino Nano и индикаторе TM1637

Вывод данных на LCD дисплей HD44780 с помощью arduino

Для работы с дисплеем HD44780 очень удобно использовать модуль I2C интерфейса. Бывают модули и LCD дисплеи продаются по отдельности, но зачастую и сразу в комплекте, спаянные. Я рекомендую, использовать уже собранные вместе, поскольку если подключать без I2C то придется подключать дисплей с помощью 16 проводов, когда через I2C их количество снижется до 4, два из которых это питание. А два других провода подключаются к пинам ардуино A4 и A5.
Чтобы управление выводом данных на дисплей, было более удобным и комфортным можно воспользоваться библиотекой LiquidCrystal_I2C.
Ниже приведена схема подключение дисплея, а также светодиода с фоторезистором к arduino.

Рейтинг
( 1 оценка, среднее 5 из 5 )
Editor
Editor/ автор статьи

Давно интересуюсь темой. Мне нравится писать о том, в чём разбираюсь.

Понравилась статья? Поделиться с друзьями:
Делай как я
Добавить комментарий

;-) :| :x :twisted: :smile: :shock: :sad: :roll: :razz: :oops: :o :mrgreen: :lol: :idea: :grin: :evil: :cry: :cool: :arrow: :???: :?: :!: