Розроблення тахометра на базі MK-duino

  • Вид работы:
    Курсовая работа (т)
  • Предмет:
    Информатика, ВТ, телекоммуникации
  • Язык:
    Украинский
    ,
    Формат файла:
    MS Word
    1,84 Мб
  • Опубликовано:
    2015-01-12
Вы можете узнать стоимость помощи в написании студенческой работы.
Помощь в написании работы, которую точно примут!

Розроблення тахометра на базі MK-duino

Зміст

Вступ

. Опис актуальності завдання та область використання

.2 Дослідження, проектування і розробка схем

.3. Конструкція MK-duino

.4 Перелік елементів

. Проектування і розробка схеми.

.1 Функції основних елементів.

.2 Зборка схеми

.3 Програмна частина

Висновок

Перелік літератури

Вступ

Підвищення технічного рівня та ефективності електронного обладнання на основі новітніх досягнень електроніки - одна з найважливіших завдань розвитку суспільства . Створення мікропроцесорів обумовлено досягненнями в області технології виробництва великих інтегральних схем ( ВІС) . Слідом за появою мікропроцесорів розробляється і одержує широкий розвиток спеціальна багатофункціональна апаратура, яка використовується при вирішенні великого числа завдань сучасної техніки. Мікропроцесори дозволяють на єдиній технологічній схемо-технічної базі за рахунок програмування створювати різні типи приладів. Так і в своїй роботі я вирішив реалізувати прилад на основі мікропроцесора. В якості мікросхеми була обрана Arduino UNO.

У цій курсовій роботі був розроблений пристрій на мікроконтролері, написана програма. Даним пристроєм є тахометр на базі MK-duino (Arduino UNO ).

1. Опис актуальності завдання та область використання


У цій роботі на основі мікросхеми Arduino UNO було спроектовано і реалізовано пристрій - Тахометр.

Тахометр - прилад для вимірювання частоти обертання валів машин і механізмів . Переважно застосовуються відцентрові механічні , магнітні та електричні тахометри , рідше використовуються пневматичні і гідравлічні. В механічному відцентровому тахометрі на валу встановлена ковзаюча муфта з шарнірними важелями , несучими на собі розбіжні при обертанні вала вантажі , які переміщують муфту по валу , долаючи дію пружини, що врівноважує положення муфти на валу відповідає частоті обертання валу і передається системою важеля на стрілку покажчика - відлікового пристрою , шкала якого відградуйована в об / хв . Вал може отримувати обертання безпосередньо від контрольованого об'єкта або через гнучкий вал. У магнітному тахометрі взаємодіють магнітні поля , створювані постійним магнітом і обертовим ротором , частота обертання якого пропорційна виникаючим вихровим струмам , що прагнуть відхилити на певний кут диск , встановлений на валу ротора і утримуваний пружиною. Відхилення диска , жорстко пов'язаного зі стрілкою , реєструються на шкалі . Електричні Т. можуть бути електромашинними або електронними . У електромашинному тахометрі ЕРС генератора постійного або змінного струму пропорційна кутовий швидкості , вимірявши яку можна визначити частоту обертання валу; показання передаються дистанційно на шкалу вимірювального приладу . Принцип дії електронного Т. заснований на перетворенні імпульсів струму , що виникають в первинному ланцюзі системи запалювання при розмиканні контактів переривника , в ток , що направляється до магнітоелектричного вказівного приладу. Частота імпульсів в первинному ланцюзі пропорційна частоті обертання вала двигуна.

Тахометр - це корисний інструмент для підрахунку RPM (оборотів на хвилину) колеса або всього, що крутиться. Найпростіший спосіб зробити тахометр - це використовувати ІК передавач і приймач. Коли зв'язок між ними переривається, ви знаєте, що щось обертається і можете застосовувати код для обчислення RPM, орієнтуючись на частоту переривання зв'язку

1.2 Дослідження, проектування і розробка схем

duino це просте, програмоване ядро для самостійної розробки пристроїв на базі: мікропроцесора ATmega;

вільно-поширюваної програмної оболонки Arduino #"805560.files/image001.gif">

Таблиця комутації виводів роз'ємів та виводів мікропроцесора

Digital

μPC


Analog

μPC


ISP

μPC


Power

μPC

0 -Rx

2 -PD0


5 -SCL

28-PC5


MISO

18-MISO


Gnd

Gnd

1 -Tx

3 -PD1


4 -SDA

27-PC4


SCK

19-SCK


NC


2

4 -PD2


3

26-PC3


Reset

1 -Reset


Vcc

7 -Vcc

3

5 -PD3


2

25-PC2




Reset

1 -Reset

4

6 -PD4


1

24-PC1


Vcc

7 -Vcc



5

11-PD5


0

23-PC0


MOSI



6

12-PD6




Gnd

Gnd


RS-232

μPC

7

13-PD7








8

14-PB0


USB-Bridge

μPC






9

15-PB1





Power Bat

μPC




10

16-PB2








Gnd

Gnd

11

17-PB3










12

18-PB4


Tx-PC

200Ω -Rx





RX-RS

От Tx через инвертор

13

19-PB5


Rx-PC

200Ω -Tx







Gnd

Gnd


Gnd



+4.5V

Diode-Vcc


TX-RS

На Rx через инвертор

Ref

21-Aref


+5V USB

Diode-Vcc


Gnd

Gnd





Схема розміщення елементів на платі:

Принципіальна схема:


Конструкція Duino - подібних пристроїв надзвичайно проста.

Схема MK-duino:

Лінії Rx_PC, Tx_PC підключаються до мікросхеми USB-моста та мають інверсну полярність відносно відповідних сигналів на RS-232.

Деякі моделі процесорів ATmega “шумлять” по лінії прийому при “підвішаному” виводі процесора 2-RXD. Тому може знадобитись установка резистора 100KΩ між цим виводом та заземленням.

Перетворювач інтерфейсу RS-232 для MK-duino.

Перетворювач монтується на плату лише за відсутності кабеля-перехідника USB-моста від мобільного телефону, і реальної необхідності використання інтерфейсу RS-232.

Перетворювач здійснює інверсію і перетворення рівнів сигналів послідовного інтерфейсу: 0/5V - +12 V/-12V.

Схема перетворювача рівнів

Передавач на транзисторі Q1 живиться негативною напругою паузи передачі Tx-RS 232 від зовнішнього пристрою (комп'ютера або іншого пристрою)

1.4 Перелік елементів

Элемент

Назва

Номінальне значення допуск)

Примітка

IC1

Мікропроцесор

ATmega8-16, ATmega8L-8, ATmega8A-PU, ATmega168-20PU

Робоча частота не меньша 16MHz

Q1

кварцовий резонатор

Низько-профільний корпус

L1

Індуктивність

100μH (70μH - 150μH)


C1, C2

Конденсатор

22pF (18pF - 24pF)

SMD

C3, C4, C6

Конденсатор

100nF (70nF -200nF)

SMD

C5

Конденсатор электролітичний

100μF (100μF-220μF)

Низько-профільний корпус

U1

Діод здвоєний із загальним катодом

Діод Шотки на ток не менш 50mA

SMD

LED13, LED14

Світло діод

Будь-який світло діод з невеликим падінням напруги (червоний, жовтий, зелений), але не синій, і не білий, і не понад-яскравий.

Діаметр не більший 3mm

R1, R2

Резистор

200Ω (100Ω - 250Ω)

SMD

R3, R4

Резистор

1KΩ (0.8KΩ - 1.5KΩ)

SMD

R11

Резистор

10KΩ (8KΩ - 15KΩ)

SMD

R12

Резистор

100KΩ (80KΩ - 150KΩ)

SMD


Перелік елементів адаптера інтерфейсу RS-232

Елемент

Назва

Номінальні значення (допуск)

Примітка

Q01

PNP-транзистор

Любий PNP-транзистор з колектором посередині

SMD

Q02

NPN-транзистор

Любий NPN-транзистор с колектором посередині

SMD

D01, D02

Діод

Любий кремневий діод невеликкого розміру

дротові виводи

C01

Конденсатор

1μF (0.8μF - 2μF) неполярний

SMD

R01, R02, R03, R04, R05

Резистор

5KΩ (4KΩ - 7KΩ)

SMD

R06

Резистор

500Ω (300Ω - 1.2KΩ)

SMD


2. Проектування і розробка схеми

Для зв'язку ми будемо використовувати ІЧ-промінь від ІК- світлодіода, включеного через низько-омний резистор так, щоб світитвся яскраво. Як приймач ми будемо використовувати фототранзистор, який за відсутності світла ІЧ-світлодіода "закривається". Комп'ютерний вентилятор буде розміщений між ІЧ-передавачем і приймачем і включений. ІЧ-приймач включений через транзисторну схему, буде генерувати переривання. Для виведення результату буде використовуватися Arduino LCD інтерфейс, буде виводитись остаточне значення RPM на РК-дисплей.

Елементи: UNO

x2 LCD

макетна плата

Регулюючий резистор 5 кОм

перемички роз'єми

x 2N2222 NPN транзистор

інфрачервоний світлодіод

фототранзистор

Резистор 10 Ом

Резистор 100 кОм

Резистор 15 кОм або 16 кОм

Комп'ютерний вентилятор

2.1 Функції основних елементів

UNO -це плата Arduino, яка використовується для обробки імпульсів від переривання ІЧ-променя, які повідомляють про знаходження лопасті комп'ютерного вентилятора між приймачем і датчиком. Arduino використовує ці імпульси поряд з таймером, щоб обчислити RPM вентилятора.

РК-дисплей 16x2

Після того, як Arduino вичислило RPM, це значення відобразиться на дисплеї в зрозумілому для користувача вигляді.

Регулюючий резистор 5 кОм:

Цей резистор використовується для регулювання контрастності РК- дисплея 16x2. Він дає аналогову напругу в діапазоні від 0 до +5 В, дозволяючи налаштувати яскравість РК -дисплея.

Інфрачервоний світлодіод та Фототранзистор:

Фототранзистор відкривається , коли потужний ІЧ- світло падає на нього. Тому , коли інфрачервоний світлодіод горить , він тримає фототранзистор відкритим , але якщо інфрачервоний світлодіод закривається наприклад , лопаттю вентилятора , то фототранзистор закривається.

N3904 та 2N3906:

Ці транзистори використовуються для перетворення рівня сигналу , з метою забезпечення вихідних імпульсів з фототранзистора для Arduino , в яких немає ніяких напруг крім +0 і +5 В.

У схемі, інтерфейс зв'язку з РК-дисплеєм спрощений і має тільки 2 лінії управління і 4 лінії передачі даних.

Особливості схеми:

Інтерфейс РК-дисплея 16x2

2 керуючих контакта та 4 для передачі даних підключені від Arduino до РК-дисплею. Це те, що вказує ЖК-дисплею, що і коли робити.

Принципова схема


Схема обриву ІЧ-променя:

Сигнал обриву ІЧ-променя йде на 2-ий цифровий контакт Arduino. Це перериває Arduino, що дозволяє йому зарахувати імпульс і дозволяє тахометру отримувати дані.LCD бібліотека:

Для цього проекту використовувалась Arduino LCD бібліотека. В основному буде просто оновлення значення RPM на другому рядку на нове.

В якості підготовки, подивіться на код наведений нижче, в якому за допомогою цієї бібліотеки на РК-дисплей виводитися "Hello, World!" У тахометрі будло використано схожий код, особливо: "lcd.print (millis () / 1000);".

Підрахунок RPM за допомогою Arduino:

Так як буде підрахуватись RPM комп'ютерного вентилятора , ви повинні розуміти, що для підрахунку використовується переривання ІЧ- променя. Це дуже зручно , але потрібно враховувати , що у комп'ютерного вентилятора 7 лопатей, що означає , 7 переривань за 1 оберт.

Якщо відстежувати переривання , то потрібно враховувати , що кожне сьоме переривання означає , що тільки що стався 1 повний оберт. Якщо відстежити час, необхідний для повного обороту , то можна легко обчислити RPM .


Для розрахунку RPM використовуємо формулу наведену вище. Формула точна , і точність залежить від того , наскільки добре Arduino зможе відстежувати час між перериваннями та підраховувати кількість повних обертів .

2.2 Зборка схеми

На фотографії (Рис.1) нижче ви можете побачити всі необхідні деталі і перемички як на схемі. мікросхема тахометр адаптер інтерфейс

Рис.1

Для початку підключається +5 В і лінії даних / управління РК-дисплея. Потім РК-дисплей, потенціометр контрастності таі світлодіод живлення (Рис.2).

Рис.2

Схема обриву ІЧ-променя зібрана. Необхідно, щоб між ІЧ- світлодіодом та фототранзистором була відстань. На цій фотографії (Рис.3) видно відстань між ІЧ-світлодіодом та фототранзистором, де буде розміщуватись комп'ютерний вентилятор.

2.3 Програмна частина

#include <LiquidCrystal.h>lcd(3, 5, 9, 10, 11, 12);float time = 0;float time_last = 0;int rpm_array[5] = {0,0,0,0,0};setup()

{

//Digital Pin 2 Set As An Interrupt(0, fan_interrupt, FALLING);

// set up the LCD's number of columns and rows:.begin(16, 2);

// Print a message to the LCD..print("Current RPM:");

}loop()

{rpm = 0;(1){

//Slow Down The LCD Display Updates(400);

//Clear The Bottom Row.setCursor(0, 1);.print(" ");

//Update The Rpm Count.setCursor(0, 1);.print(rpm);

////lcd.setCursor(4, 1);

////lcd.print(time);

//Update The RPM(time > 0)

{

//5 Sample Moving Average To Smooth Out The Data_array[0] = rpm_array[1];_array[1] = rpm_array[2];_array[2] = rpm_array[3];_array[3] = rpm_array[4];_array[4] = 60*(1000000/(time*7));

//Last 5 Average RPM Counts Eqauls....= (rpm_array[0] + rpm_array[1] + rpm_array[2] + rpm_array[3] + rpm_array[4]) / 5;

}

}

}fan_interrupt()

{= (micros() - time_last);_last = micros();

}

Пам'ятаємо, що комп'ютерний вентилятор має 7 лопатей, так що це тахометр призначений для роботи тільки з такими вентиляторами. Якщо ваш вентилятор або інший пристрій дає тільки 4 імпульси за одне обертання, змініть в коді "(time * 4)".

Висновок


Системи на основі обриву променя корисні не тільки при вимірі RPM, але і в якості інших датчиків. Наприклад якщо хочеться знати відкриті двері а бо закриті. Можливо, ви захочете дізнатись, чи не проходив хто повз. Є багато застосувань обриву променя, а схема використана тут настільки проста, що є багато шляхів для поліпшення і збірки інших дивних пристроїв.

Вентилятор працює нашвидкості приблизно 3000 оборотів в хвилину, з похибкою близько + / -100 оборотів в хвилину.

Вентилятор генерує імпульси переривання, а на виході бачимо RPM. Хоча точність не 100%, а приблизно 95%, при вартості елементів всього у10 $ є сенс побудови такого тахометра на Arduino.

Перелік літератури


1. Рюмик С.М. Микроконтроллеры Duino. Цикл статей. Журнал "Радiоаматор", 2010 г., №2-6.

. Рюмик С. Микроконтроллерный модуль InterDuino. Журнал "Радио", 2010 г., №10.

. http://cxem.net/

. http://mk-duino.narod.ru/

Похожие работы на - Розроблення тахометра на базі MK-duino

 

Не нашли материал для своей работы?
Поможем написать уникальную работу
Без плагиата!