Ім'я файлу: лаб2.docx
Розширення: docx
Розмір: 169кб.
Дата: 04.11.2023
скачати
Пов'язані файли:
ПВНЗ Київський медичний університет.docx




МІНІСТЕРСТВО ОСВІТИ ТА НАУКИ УКРАЇНИ

ДЕРЖАВНИЙ УНІВЕРСИТЕТ «ЖИТОМИРСЬКА ПОЛІТЕХНІКА»


ФІКТ

Кафедра комп’ютерних технологій в медицині та телекомунікаціях


Лабораторна робота №2

«АЦП. СТВОРЕННЯ ВОЛЬТМЕТРА ТА ТЕРМОМЕТРА НА БАЗІ

ARDUINO»

Виконала: Шевчук М.В.

Перевірив: Корніюк А.В.

Житомир 2023

Тема: АЦП. СТВОРЕННЯ ВОЛЬТМЕТРА ТА ТЕРМОМЕТРА НА БАЗІ

ARDUINO.

Мета:
1. Практичне ознайомлення з АЦП.

2. Створення на базі Arduino вольтметра з використанням АЦП

мікроконтролера.

3. Створення на базі Arduino термометра з використанням

спеціалізованої мікросхеми TMP36 та АЦП мікроконтролера.
Короткі теоретичні відомості.

Аналого-цифровий перетворювач (АЦП) - це електронний пристрій, який перетворює аналоговий сигнал (наприклад, електричний струм або напругу) у цифровий формат, який можна обробляти за допомогою цифрового обладнання, такого як мікроконтролери, комп'ютери або цифрові сигнальні процесори. АЦП грає важливу роль у багатьох сферах, таких як електроніка, медицина, комунікації, автомобільна промисловість та інші.
Основні параметри АЦП включають такі характеристики:
1. Частота дискретизації (Sampling Rate):

Ця характеристика визначає, скільки разів на секунду АЦП вимірює значення аналогового сигналу. Вимірюється в герцах (Гц). Вища частота дискретизації дозволяє зберігати більше деталей аналогового сигналу, але вимагає більше обчислювальних ресурсів для обробки цифрових даних.
2. Квантування (Quantization):

Квантування визначає кількість можливих рівнів значень, на які поділяється діапазон аналогового сигналу. Зазвичай вимірюється в бітах. Наприклад, для 8-бітного АЦП кількість можливих рівнів дорівнює 2^8, або 256 рівнів.
3. Кодування (Encoding):

Кодування визначає, як значення аналогового сигналу представлені у вигляді цифрового коду. Найпоширеніші методи кодування включають двійковий код (Binary), двійковий доповнюваний код (Two's Complement) та знаково-модульний код (Sign-Magnitude).
4. Алгоритм квантування:

Алгоритм квантування визначає, як значення аналогового сигналу округлюються до ближчого можливого рівня квантування. Популярні алгоритми включають равномірне квантування, диференційне квантування та усереднене квантування. Вибір алгоритму може впливати на якість отриманих даних.
Загалом, АЦП є ключовим елементом в системах, де необхідно вимірювати аналогові сигнали та обробляти їх у цифровому вигляді. Розуміння основних параметрів АЦП допомагає інженерам і розробникам вибирати підходящі пристрої для конкретних застосувань і забезпечувати точність та якість обробки сигналів.
Хід роботи
Складаємо схему №1. Для цього нам потрібно: плата Arduino UNO, мультиметр, потенціометр.


Рис.1 – Схема №1


Рис.2 – Вигляд зібраної схеми №1 в симуляторі TinkerCad

Розрахунок напруги одного відліку

За формулою


Пишемо першу програму, яка буде виводити в монітор послідовного порту кількість отриманих відліків та напругу у вольтах.
Код програми:
#define analogin A2

void setup()

{

pinMode(analogin, INPUT);

Serial.begin(9600);

}
void loop()

{

int value;

value = analogRead(analogin);

float voltage = value * 0.0048828125;

Serial.print("ADC count:");

Serial.println(value);

Serial.print("Voltage in V:");

Serial.println(voltage);

delay(1000);

}


Рис.3 – Результат роботи програми



п/п

Кількість
відліків

Напруга на
вольтметрі, В

Розрахункова
напруга, В

1

61

0.3

0.3

2

225

1.1

1.1

3

471

2.3

2.3

4

614

3

3

5

921

4.5

4.5

6

1023

5

5

Таб.1 – Порівняння значень напруги

Складаємо схему №2 Для цього нам потрібно: плата Arduino UNO і температурний сенсор [TMP36].



Рис.4 – Схема №2

Знаходимо в технічній документації на мікросхему TMP36 співвідношення напруги на виході мікросхеми до температури, виводимо формулу



Рис.5 – Технічна документація на TMP36
Формула для температури в градусах Цельсія



Формула для температури в градусах Фаренгейта




Рис.6 – Вигляд зібраної схеми №2 в симуляторі TinkerCad

Код програми:
#define analogin A0

void setup()

{

pinMode(analogin, INPUT);

Serial.begin(9600);

}
void loop()

{

int value;

value = analogRead(analogin);

float voltage = value * 0.0048828125;

float temp = (voltage-0.5)* 100;

Serial.print("Temperature in C:");

Serial.println(temp);

float tempF = ((temp*9)/5)+32;

Serial.print("Temperature in F:");

Serial.println(tempF);

Serial.println("---------------------");

delay(1000);

}


Рис.7 – Результат роботи програми



п/п

Задана
температура, C

Розрахункова
температура, C

1

25

24.71

2

0

0.2

3

-20

-20.21

4

-40

-40.42

5

100

99.9

6

125

124.8

Таб.2 – Порівняння значень температури

Висновок:
Під час виконання цієї роботи було досягнуто наступні цілі:
Було проведено практичне ознайомлення з аналого-цифровим перетворювачем (АЦП) та його роботою.
Було створено вольтметр на базі платформи Arduino з використанням АЦП мікроконтролера. Програма на Arduino виводила кількість отриманих відліків та виміряну напругу в вольтах.
Також було створено термометр на базі Arduino з використанням спеціалізованої мікросхеми TMP36 та АЦП мікроконтролера. Використовуючи технічну документацію, була знайдена формула для перетворення напруги на виході мікросхеми TMP36 в температуру в градусах Цельсія.
У ході виконання роботи було проведено вимірювання, змінюючи положення повзунка змінного резистора для вольтметра та отримано таблицю з виміряними значеннями напруги.
Також була реалізована програма на Arduino для термометра, яка виводила значення температури в градусах Цельсія та Фаренгейта в монітор послідовного порту.
У результаті виконання роботи отримано практичний досвід роботи з АЦП, розроблено та налаштовано вольтметр та термометр на базі Arduino, що можуть бути використані для вимірювання напруги та температури в різних додатках і експериментах.
скачати

© Усі права захищені
написати до нас