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

Опис актуальності завдання та область використання мікросхеми Arduino UNO. Особливості дослідження, проектування і розробки схем. Тахометр як прилад для вимірювання частоти обертання валів машин і механізмів. Перелік елементів адаптера інтерфейсу RS-232.

Рубрика Коммуникации, связь, цифровые приборы и радиоэлектроника
Вид курсовая работа
Язык украинский
Дата добавления 19.07.2014
Размер файла 2,9 M

Отправить свою хорошую работу в базу знаний просто. Используйте форму, расположенную ниже

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

Размещено на http://www.allbest.ru

Зміст

  • Вступ
  • 1. Опис актуальності завдання та область використання
  • 1.2 Дослідження, проектування і розробка схем
  • 1.3. Конструкція MK-duino
  • 1.4 Перелік елементів
  • 2. Проектування і розробка схеми.
  • 2.1 Функції основних елементів.
  • 2.2 Зборка схеми
  • 2.3 Програмна частина
  • Висновок
  • Перелік літератури
  • Вступ
  • Підвищення технічного рівня та ефективності електронного обладнання на основі новітніх досягнень електроніки - одна з найважливіших завдань розвитку суспільства . Створення мікропроцесорів обумовлено досягненнями в області технології виробництва великих інтегральних схем ( ВІС) . Слідом за появою мікропроцесорів розробляється і одержує широкий розвиток спеціальна багатофункціональна апаратура, яка використовується при вирішенні великого числа завдань сучасної техніки. Мікропроцесори дозволяють на єдиній технологічній схемо-технічної базі за рахунок програмування створювати різні типи приладів. Так і в своїй роботі я вирішив реалізувати прилад на основі мікропроцесора. В якості мікросхеми була обрана Arduino UNO.
  • У цій курсовій роботі був розроблений пристрій на мікроконтролері, написана програма. Даним пристроєм є тахометр на базі MK-duino (Arduino UNO ).

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

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

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

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

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

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

вільно-поширюваної програмної оболонки Arduino http://arduino.cc/, та величезного ресурсу готових прикладів.

В тому числі: управління двигунами, управління світлодіодами, управління РКІ, управління звуком, цифрових осцилографів, генераторів сигналів, роботів, маніпуляторів, ЧПУ, і багатьох інших прикладів.

Чому Arduino , а не більш професійні інструменти для програмування мікропроцесорних пристроїв ?

Робота в середовищі програмування Arduino доступна всім, хто має доступ до персонального комп'ютера , і не вимагає знань тонкощів програмування.

Як то : за особливостями роботи компіляторів , лінковщік , завантажувачів ; особливостям планування адресного простору пам'яті , портів введення -виведеня, переривань , та багатьох інших , малозрозумілих для початківця речей. Оболонка ховає від новичка всю складність внутрішнього устрою кухні програмування мікропроцесорів.

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

Це невелика плата з мікропроцесором , кварцовим резонатором і гніздами для підключення: живлення , інтерфейсу з персональним комп'ютером і зовнішніх пристроїв. Фактично - це голий процесор із зручними гніздами для підключення розширень.

Відповідно, вартість конструкції дуже низька - близько 5 $ плата процесора, і ще приблизно 5 $ інтерфейсний кабель на USB -порт комп'ютера (якщо на комп'ютері немає порту RS- 232).

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

Чому саме MK - duino ?

Arduino має безліч клонів які об'єднані в загальне Duino - сімейство.

Як правило , нові плати Arduino виготовляються за найсучаснішими технологіями з SMD - елементів , процесора з планарними виводами з кроком виводів близько 1 міліметра , та плати з двостороннім монтажем .

Виготовити і розпаяти такий пристрій в домашніх умовах досить важко, особливо початківцю .

На платі більшості Arduino встановлена ??мікросхема USB - моста , перетворювача інтерфейсу USB персонального комп'ютера в послідовний інтерфейс RS- 232 . Цей міст має ще більш дрібний крок виводів і розпаяти його без мікроскопа практично неможливо.

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

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

Ну , а якщо вам не пощастило знайти USB - кабель для старого мобільного телефону з драйвером , прийдеться спаяти перетворювач рівнів сигналу RS- 232 ( він передбачений на платі MK - duino ) .

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

На платі Arduino , як правило встановлюється стабілізатор живлення на 5V з струмом до 1.5A для живлення периферійних пристроїв. При тому , що сам процесор споживає струм близько 20mA , і успішно працює від трьох пальчикових батарей на 1.5V ( сумарна напруга 4.5V і менше) . Для самого процесора такий потужний стабілізатор не потрібен , а для периферії потужності такого стабілізатора , як правило, не достатньо.

Отже, MK-duino це констукція для самостійної розробки в домашніх умовах, з використанням доступних елементів: мікропроцесора в dip-корпусі, і обрамлення, переважно, з SMD-елементів, без стабілізатора живлення на самій платі процесора, але з додатковим USB-кабелем для мобільного телефону.

1.3 Констукція MK-duino

Схема цокольовки раз'ємів та процесора:

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

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

17-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

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

16.000MHz

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

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. Проектування і розробка схеми

Метою даного проекту є створення системи з одним входом і одним виходом. На вході пристрою присутній сигнал, що змінюється з високого (+5 В) на низький (+0 В) рівень при порушенні зв'язку. Згідно цьому сигналу, Arduino збільшуватиме значення внутрішнього лічильника. Потім проводитися додаткова обробка і розрахунок, і по перериванню тригера на РК-дисплей виводитиметься розраховане RPM.

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

Елементи:

Arduino UNO

16x2 LCD

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

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

перемички

SIP роз'єми

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

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

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

Резистор 10 Ом

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

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

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

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

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

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

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

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

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

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

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

2N3904 та 2N3906:

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

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

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

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

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

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

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

Сигнал обриву ІЧ-променя йде на 2-ий цифровий контакт Arduino. Це перериває 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>

LiquidCrystal lcd(3, 5, 9, 10, 11, 12);

volatile float time = 0;

volatile float time_last = 0;

volatile int rpm_array[5] = {0,0,0,0,0};

void setup()

{

//Digital Pin 2 Set As An Interrupt

attachInterrupt(0, fan_interrupt, FALLING);

// set up the LCD's number of columns and rows:

lcd.begin(16, 2);

// Print a message to the LCD.

lcd.print("Current RPM:");

}

void loop()

{

int rpm = 0;

while(1){

//Slow Down The LCD Display Updates

delay(400);

//Clear The Bottom Row

lcd.setCursor(0, 1);

lcd.print(" ");

//Update The Rpm Count

lcd.setCursor(0, 1);

lcd.print(rpm);

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

////lcd.print(time);

//Update The RPM

if(time > 0)

{

//5 Sample Moving Average To Smooth Out The Data

rpm_array[0] = rpm_array[1];

rpm_array[1] = rpm_array[2];

rpm_array[2] = rpm_array[3];

rpm_array[3] = rpm_array[4];

rpm_array[4] = 60*(1000000/(time*7));

//Last 5 Average RPM Counts Eqauls....

rpm = (rpm_array[0] + rpm_array[1] + rpm_array[2] + rpm_array[3] + rpm_array[4]) / 5;

}

}

}

void fan_interrupt()

{

time = (micros() - time_last);

time_last = micros();

}

В основному циклі підраховуються обороти та поновлення РК-дисплея. Оскільки основний цикл це гігантський while (1) цикл, то він працюватиме завжди, RPM підраховується, а РК-дисплей оновлюється кілька разів на секунду. Функція у перериванні підраховує час між перериваннями ІК, тому рахувати RPM можна в основному циклі.

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

Висновок

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

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

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

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

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

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

3. http://cxem.net/

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

Размещено на Allbest.ru


Подобные документы

  • Разработка структурной и принципиальной схем микропроцессорного тахометра. Микроконтроллер PIC16F886 и устройство индикации тахометра. Основные температурные и электрические характеристики микроконтроллера. Разработка алгоритма управляющей программы.

    курсовая работа [527,0 K], добавлен 07.07.2013

  • Розробка цифрового приладу відеоспостереження з автономним живленням від аккумуляторних батарей на базі некольорового ПЗС-сенсору з накопиченням даних на флеш-пам’ять. Опис структурних, функціональних та принципових схем пристрою та його елементів.

    курсовая работа [146,4 K], добавлен 23.12.2011

  • Аналіз функціонування ЗЕМ на базі інформаційних технологій схемотехнічного проектування. Проектування конструкторської реалізації ЗЕМ у формі ГІС. Проектування плівкових пасивних елементів і конструкції. Визначення параметрів паразитних елементів.

    курсовая работа [2,6 M], добавлен 19.10.2010

  • Разработка структурной и принципиальной схем электронного тахометра. Изучение принципа работы датчика магнитного поля. Выбор микроконтроллера. Проектирование управляющей программы для микроконтроллера. Адаптация устройства к промышленному применению.

    курсовая работа [1,1 M], добавлен 22.01.2015

  • Разработка структурной, функциональной и принципиальной схемы тахометра. Выбор генератора тактовых импульсов, индикаторов и микросхем для счетного устройства. Принцип действия индикатора. Описание работы тахометра. Расчет потребляемой тахометром мощности.

    курсовая работа [322,3 K], добавлен 30.03.2012

  • Опис використаної елементної бази для розробки електронного годинника. Структурна схема та будова годинника. Аналіз і налагодження інтегральної мікросхеми з використанням програми Electronics Workbench. Забезпечення вимірювання та індикації часу.

    курсовая работа [217,2 K], добавлен 23.11.2014

  • Діагностика електрообладнання автомобіля, вимірювання напруги в різних точках електричних кіл. Класифікація вольтметрів. Використання вимірювальних генераторів і вимірювання частоти сигналу. Функціональна схема електронно-рахункового частотоміра.

    реферат [62,1 K], добавлен 26.09.2010

  • Цифрові частотоміри, магнітоелектричні вольтметри: загальна характеристика та функціональні особливості. Складання структурної схеми приладу, розрахунок її параметрів. Визначення наказів таймера, адаптера і вихідних кодів лічильників. Аналіз похибки.

    курсовая работа [806,1 K], добавлен 08.07.2012

  • Разработка электронной принципиальной схемы цифрового тахометра. Характеристика его особенностей, принципа работы и основных компонентов. Изучение порядка построения, изложения и оформления конструкторской документации. Составление маршрутной карты.

    курсовая работа [415,9 K], добавлен 03.11.2014

  • Етапи та стадії проектування на прикладi розробки ультразвукового сканера: характеристики приладу, технічне завдання, труднощі традиційного проектування. Суть блочно-ієрархічний підходу при технічному проектуванні. Структура проектування схеми вузла.

    реферат [52,9 K], добавлен 08.01.2011

Работы в архивах красиво оформлены согласно требованиям ВУЗов и содержат рисунки, диаграммы, формулы и т.д.
PPT, PPTX и PDF-файлы представлены только в архивах.
Рекомендуем скачать работу.