Заглавная страница Избранные статьи Случайная статья Познавательные статьи Новые добавления Обратная связь FAQ Написать работу КАТЕГОРИИ: ТОП 10 на сайте Приготовление дезинфицирующих растворов различной концентрацииТехника нижней прямой подачи мяча. Франко-прусская война (причины и последствия) Организация работы процедурного кабинета Смысловое и механическое запоминание, их место и роль в усвоении знаний Коммуникативные барьеры и пути их преодоления Обработка изделий медицинского назначения многократного применения Образцы текста публицистического стиля Четыре типа изменения баланса Задачи с ответами для Всероссийской олимпиады по праву
Мы поможем в написании ваших работ! ЗНАЕТЕ ЛИ ВЫ?
Влияние общества на человека
Приготовление дезинфицирующих растворов различной концентрации Практические работы по географии для 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; просмотров: 276; Нарушение авторского права страницы; Мы поможем в написании вашей работы! infopedia.su Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав. Обратная связь - 216.73.216.196 (0.006 с.) |