Заглавная страница Избранные статьи Случайная статья Познавательные статьи Новые добавления Обратная связь КАТЕГОРИИ: АрхеологияБиология Генетика География Информатика История Логика Маркетинг Математика Менеджмент Механика Педагогика Религия Социология Технологии Физика Философия Финансы Химия Экология ТОП 10 на сайте Приготовление дезинфицирующих растворов различной концентрацииТехника нижней прямой подачи мяча. Франко-прусская война (причины и последствия) Организация работы процедурного кабинета Смысловое и механическое запоминание, их место и роль в усвоении знаний Коммуникативные барьеры и пути их преодоления Обработка изделий медицинского назначения многократного применения Образцы текста публицистического стиля Четыре типа изменения баланса Задачи с ответами для Всероссийской олимпиады по праву Мы поможем в написании ваших работ! ЗНАЕТЕ ЛИ ВЫ?
Влияние общества на человека
Приготовление дезинфицирующих растворов различной концентрации Практические работы по географии для 6 класса Организация работы процедурного кабинета Изменения в неживой природе осенью Уборка процедурного кабинета Сольфеджио. Все правила по сольфеджио Балочные системы. Определение реакций опор и моментов защемления |
Разработка электрических схем микропроцессорной системы ⇐ ПредыдущаяСтр 6 из 6
При разработке аппаратного обеспечения устройства необходимо разработать все электрические схемы: структурную, функциональную и принципиальные, а также выполнить расчет используемых в них дискретных электрорадиоэлементов. Для разработки электрических схем, прежде всего, выбирается элементная база для построения устройства: основная и интерфейсная. Основная элементная база используется для построения всей вычислительной среды устройства и практически полностью определяется типом МП. Поскольку тип МП указан, то здесь остается лишь сказать, что в качестве основной элементной базы будет использована плата ArduinoUNOR3 на основе микроконтроллераATmega32. Основная элементная база используется и для построения стандартной части интерфейса, т. е. портов ввода/вывода. Интерфейсная элементная база применяется для реализации нестандартной части интерфейса.
Разработка структурной электрической схемы Для того чтобы выполнить демонстрационный вариант, демонстрирующий работу системы, в качестве основы системы мы будем использовать микроконтроллер, резистор, термистор сподключённый к персональному компьютеру.
Рисунок 3 – Структурная схема для задания 1,2
Таким образом, задействованы 3 порта микроконтроллера. Назначение выводов: · GND – земля. · +5V – питание. · A0 – аналоговый пин.
Разработка функциональной электрической схемы
Рисунок 4 – Функциональная схема для задания 1,2 На рисунке 4 представлена функциональная схема устройства. Термистор подключается к микроконтроллеру. На плату загружается скетч и передаются данные об измерениях температуры на персональный компьютер. Расчет дискретных электрорадиоэлементов Для реализации системы будут использованы следующие радиодетали: · Термистор. · Резистор 10 кОм.
Характеристики Термистора: Ø Цвет символов: черный T8M. Ø Рабочий ток постоянный: 0,5 мА. Ø Максимальный ток (импульсный): 2 мА. Ø Падение напряжения: 1.6...3 В. Ø Интенсивность света на сегмент: 100...200. Ø Размеры: 12.5х19х8 мм. Ø Рабочая температура: -200°C..+350°C.
Характеристики Резистора: Ø Мощность: 10 кОм
Ø Точность: ±5 % Ø Максимальное рабочее напряжение: 350 В
2.4 Создание программы на языке С++ для микропроцессорной системы Задание 1 include<math.h> int minute = 1; intmil;
// Параметр конкретного типа термистора (из datasheet): #define TERMIST_B 4300
#define VIN 5.0
voidsetup() { // мы хотим передавать информацию на компьютер через USB, а // точнее через последовательный (англ. serial) порт. // Для этого необходимо начать (англ. begin) передачу, указав // скорость. 9600 бит в секунду — традиционная скорость. // Функция «begin» не является глобальной, она принадлежит // объекту с именем «Serial». Объекты — это «продвинутые» // переменные, которые обладают собственными функциями, // к которым обращаются через символ точки. Serial.begin(9600); // передаём заголовок нашей таблицы в текстовом виде, иначе // говоря печатаем строку (англ. printline). Символы «\t» — // это специальная последовательность, которая заменяется на // знак табуляции (англ. tab): 8-кратный выровненный пробел Serial.println("Minute\tMeteostantion\tTemperature\tMillis"); }
voidloop() { // вычисляем температуру в °Сс помощью магической формулы. // Используем при этом не целые числа, а вещественные. Их ещё // называют числами с плавающей (англ. float) точкой. В // выражениях с вещественными числами обязательно нужно явно // указывать дробную часть у всех констант. Иначе дробная // часть результата будет отброшена mil=millis(); float voltage = analogRead(A0) * VIN / 1024.0; float r1 = voltage / (VIN - voltage);
float temperature = 1./(1./(TERMIST_B)*log(r1)+1./(25. + 273.)) - 273; // печатаем текущую минуту и температуру, разделяя их табом. // println переводит курсор на новую строку, а print — нет Serial.print(minute); Serial.print("\t"); Serial.print("\t"); Serial.print("\t"); Serial.print(temperature); Serial.print("\t"); Serial.print("\t"); Serial.println(mil);
delay(5000); // засыпаем на минуту ++minute; // увеличиваем значение минуты на 1
// откройте окно SerialMonitor в среде Arduino, оставьте на // сутки, скопируйте данные в Excel, чтобы построить графики }
Задание 2 include<math.h> int minute = 1; intmil;
// Параметр конкретного типа термистора (из datasheet): #define TERMIST_B 4300
#define VIN 5.0
voidsetup() { // мы хотим передавать информацию на компьютер через USB, а
// точнее через последовательный (англ. serial) порт. // Для этого необходимо начать (англ. begin) передачу, указав // скорость. 9600 бит в секунду — традиционная скорость. // Функция «begin» не является глобальной, она принадлежит // объекту с именем «Serial». Объекты — это «продвинутые» // переменные, которые обладают собственными функциями, // к которым обращаются через символ точки. Serial.begin(9600); // передаём заголовок нашей таблицы в текстовом виде, иначе // говоря печатаем строку (англ. printline). Символы «\t» — // это специальная последовательность, которая заменяется на // знак табуляции (англ. tab): 8-кратный выровненный пробел Serial.println("Minute\tMeteostantion\tTemperature\tMillis"); }
voidloop() { // вычисляем температуру в °Сс помощью магической формулы. // Используем при этом не целые числа, а вещественные. Их ещё // называют числами с плавающей (англ. float) точкой. В // выражениях с вещественными числами обязательно нужно явно // указывать дробную часть у всех констант. Иначе дробная // часть результата будет отброшена mil=millis(); float voltage = analogRead(A0) * VIN / 1024.0; float r1 = voltage / (VIN - voltage);
float temperature = 1./(1./(TERMIST_B)*log(r1)+1./(25. + 273.)) - 273; // печатаем текущую минуту и температуру, разделяя их табом. // println переводит курсор на новую строку, а print — нет Serial.print(minute); Serial.print("\t"); Serial.print("\t"); Serial.print("\t"); Serial.print(temperature); Serial.print("\t"); Serial.print("\t"); Serial.println(mil);
delay(5000); // засыпаем на минуту ++minute; // увеличиваем значение минуты на 1
// откройте окно SerialMonitor в среде Arduino, оставьте на // сутки, скопируйте данные в Excel, чтобы построить график}
Объявлениепттап
Рисунок 5 - Алгоритм работы программы для задания 1,2
|
|||||||||||||||||
Последнее изменение этой страницы: 2017-02-17; просмотров: 176; Нарушение авторского права страницы; Мы поможем в написании вашей работы! infopedia.su Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав. Обратная связь - 3.142.174.55 (0.021 с.) |