Библиотекой SoftwareSerial возможно создать последовательную передачу данных через любой из цифровых выводов Mega2560.поддерживает интерфейсы I2C (TWI) и SPI. В Arduino включена библиотека Wire для удобства использования шины I2C. Более подробная информация находится на сайте Wiring. Для связи по SPI, используется библиотека SPI.
Платформа программируется посредством среды разработки Arduino. Подробная информация находится в справочнике и инструкциях.
Микроконтроллер ATmega2560 поставляется с записанным загрузчиком, облегчающим запись новых программ без использования внешних программаторов. Связь осуществляется оригинальным протоколом STK500.
Имеется возможность не использовать загрузчик и запрограммировать микроконтроллер через выводы блока ICSP (внутрисхемное программирование). Подробная информация находится в данной инструкции.
Код прошивки для контроллера ATmega8U2 доступен для свободного скачивания. Контроллер ATmega8U2 имеет собственный DFU загрузчик, который может быть активирован замыканием джампера на обратной стороне платы (рядом с картой Италии) и перезагрузкой контроллера. Для записи новой прошивки возможно использовать Atmel's FLIP (под Windows) или DFU программатор (на Mac OSX или Linux). Также можно переписать прошивку внешним программатором, используя ISP вход.разработана таким образом, чтобы перед записью нового кода перезагрузка осуществлялась самой программой, а не нажатием кнопки на платформе. Одна из линий ATmega8U2, управляющих потоком данных (DTR), подключена к выводу перезагрузки микроконтроллера ATmega2560 через конденсатор 100 нФ. Активация данной линии, т.е. подача сигнала низкого уровня, перезагружает микроконтроллер. Программа Arduino, используя данную функцию, загружает код одним нажатием кнопки Upload в самой среде программирования. Подача сигнала низкого уровня по линии DTR скоординирована с началом записи кода, что сокращает таймаут загрузчика.
Функция имеет еще одно применение. Перезагрузка Mega2560 происходит каждый раз при подключении к программе Arduino на компьютере с ОС Mac X или Linux (через USB). Следующие полсекунды после перезагрузки работает загрузчик. Во время программирования происходит задержка нескольких первых байтов кода во избежание получения платформой некорректных данных (всех, кроме кода новой программы). Если производится разовая отладка скетча, записанного в платформу, или ввод каких-либо других данных при первом запуске, необходимо убедиться, что программа на компьютере ожидает в течение секунды перед передачей данных.
На Mega2560 имеется возможность отключить линию автоматической перезагрузки разрывом соответствующей линии. Контакты микросхем с обоих концов линии затем могут быть соединены с целью восстановления. Линия маркирована «RESET-EN». Отключить автоматическую перезагрузку также возможно подключив резистор 110Ом между источником 5В и данной линией.
В Arduino Mega2560 встроена перезагружаемая плавкая вставка, защищающая порт USB компьютера от токов короткого замыкания и сверхтоков. Хотя практически все компьютеры имеют подобную защиту, тем не менее, данный предохранитель обеспечивает дополнительный барьер. Предохранитель автоматически прерывает обмен данных при прохождении тока более 500 мА через USB порт.
Длинна и ширина печатной платы
Mega2560 составляют 10,2 и 5.3 см соответственно. Разъем USB и силовой разъем
выходят за границы данных размеров. Три отверстия в плате позволяют закрепить
ее на поверхности. Расстояние между цифровыми выводами 7 и 8 равняется 0,4 см,
хотя между другими выводами оно составляет 0,25 см.Mega2560 совместима со всеми
платами расширения, разработанными для платформ Uno, Duemilanove или Diecimila.
Расположение выводов 0 - 13 (и примыкающих AREF и GND), аналоговых входов 0 -
5, силового разъема, блока ICSP, порта последовательной передачи UART (выводы 0
и 1) и внешнего прерывания 0 и 1 (выводы 2 и 3) на Mega соответствует
расположению на вышеприведенных платформах. Связь SPI может осуществляться
через блок ICSP, как на платформах Duemilanove / Diecimila, так и на Mega2560.
Однако расположение выводов (20 и 21) связи I2C на платформе Mega не
соответствуют расположению тех же выводов (аналоговые входы 4 и 5) на
Duemilanove / Diecimila.
.6 Описание принципиальной схемы
автоматического терморегулятора тёплого пола
Принципиальная схема устройства (см. Приложение «Электронные часы» Схема принципиальная 220301.51Э3) раскрывает основные особенности схемотехнического построения разрабатываемого устройства. Принципиальная электрическая схема автоматизации- это проектный документ, определяющий полный состав электрической части и связей между ее элементами, а также дающий детальное представление о принципах работы системы.
Принципиальные схемы служат основанием для разработки других чертежей, а также используются при наладке и эксплуатации систем автоматизации. Они разрабатываются в соответствии с техническим заданием и на основании решений, принятых в функциональной схеме автоматизации. На чертежах принципиальных электрических схем должны изображаться элементные схемы управления.
Устройство выполнено на микроконтроллере Arduino Mega. Применение микроконтроллера позволяет создать терморегулятор для контроля и управления автоматической системы «Тёплый пол». Микроконтроллер позволяет сократить набор применяемых элементов и упростить задачу сборки и монтажа устройства, обеспечивая надёжный запуск контроллера и достигая необходимых результатов. Микроконтроллер повышает вероятность отсутствия сбоев и ошибок в работе[6].
Управление электронными часами производит микроконтроллер, согласно загруженной в него микропрограмме. Применение микроконтроллера позволило существенно сократить количество элементов, используемых при создании электрической принципиальной схемы, так же большая часть функций выполняется программно при помощи микроконтроллера. Также использование микроконтроллера позволяет легко модернизировать устройство, добавить в него новых функций, «обучить» новому алгоритму работы. Все это становится возможным при изменении управляющей микропрограммы, находящейся в памяти микроконтроллера.
В схеме устройства присутствует переменный резистор R4, при помощи которого пользователь может изменять температуры нагрева пола в большую или меньшую сторону.
Резисторы R1-R3 - ограничивают ток, протекающий по данному участку цепи, таким образом, предотвращая перегрузку портов микроконтроллера, которые не способны выдавать большой выходной ток.
Напряжение питания микроконтроллера составляет 12 В. Микроконтроллер может работать с напряжением до 20 В, но для стабильной работы и во избежание перебоев и сгорания элементов был выбран оптимальный вариант питания 12 В.
Диод VD2 - выполняет функцию защиты системы от подачи обратного напряжения.
Датчик температуры DS18B20, на схеме указанный DA1 -является чувствительным элементом, измеряющим температуру пола.
Светодиод VD1 - служит для визуального слежения о состоянии работы устройства (включено или отключено).
Реле К1 - служит для замыкания или размыкания отдельных участков цепей, в данной схеме для включения или отключения нагревательного элемента.дисплей - служит для визуального слежения заданной и реальной температуры и контроля температуры пользователем.
Транзистор VT1 - в данной схеме
служит ключом для пропускания 12В на реле К1, а управление базой производиться
через Arduino.
.7 Инструкция пользователю
Электронные часы, должны оповещать пользователя о настоящем времени и обеспечивать визуальное оповещение реального времени.
В связи с этим для обеспечения корректной работы макета необходимо выполнить ряд предписаний:
. Работа часов должна производиться в помещениях, отвечающих следующим требованиям:
с низким уровнем запылённости;
с низким уровнем влажности воздуха.
. Электрическое питание модели датчика осуществляется постоянным напряжением величиной от 5 до 12В.
. Устройство работает в режиме с постоянным питанием от электросети.
. Настройка часов производиться автоматически с помощью задаваемой программы.
. При работе с моделью необходимо аккуратное и бережное отношение и недопущение его механических повреждений.
электронный часы микроконтроллер
1.8 Листинг программы
#include<LiquidCrystal.h>
#include <OneWire.h>(10); // Подключаем датчик к 8 цифровому пину(12, 11, 5, 4, 3, 2); //Подключаем LCDsetup(void)
{(A0,INPUT);(7, OUTPUT);.begin(9600);// Связь с ПК.begin(16, 2); //16 знаков, 2 строки.print("Temperature:"); //Печатаем верхнюю строку LCD
}loop(void)
{;_s;data[12];[8];, fahrenheit;_r;
// Ищем адрес датчика(!ds.search(addr))
{.println("No more addresses.");.println();.reset_search();(250);;
}
// Проверяем не было ли помех при передаче(OneWire::crc8(addr, 7)!= addr[7])
{.println("CRC is not valid!");;
}.println();
// Определяем серию датчика(addr[0])
{0x10:.println(" Chip = DS18S20"); _s = 1;;0x28:.println(" Chip = DS18B20");_s = 0;;0x22:.println(" Chip = DS1822");_s = 0;;:.println("Device is not a DS18x20 family device.");;
}.reset(); .select(addr); // Выбираем адрес.write(0x44, 1); // Производим замер, в режиме паразитного питания(1000); .reset();.select(addr); .write(0xBE); // Считываем оперативную память датчика(i = 0; i < 9; i++)
{ [i] = ds.read(); // Заполняем массив считанными данными
} // Данные о температуре содержатся в первых двух байтах, переведем их в одно значение и преобразуем в шестнадцатиразрядное число_t raw = (data[1] << 8) | data[0]; // Переводим температуру в шкалы по Цельсию и Фаренгейту (type_s)
{= raw << 3;
}(data[7] == 0x10)
{= (raw & 0xFFF0) + 12 - data[6];
} else {= (data[4] & 0x60);(cfg == 0x00) = raw << 3; if (cfg == 0x20) = raw << 2; if (cfg == 0x40) \= raw << 1;
} = (float)raw / 16.0;_r = analogRead(A0) / 51+20;(celsius>temp_r)
{(7, HIGH);
}
{(7, LOW);
}.print("Temp = "); //ПишемвПКинформацию.print(celsius);.print(" C, ");.print(fahrenheit);.println(" Т");.setCursor(0, 1); //Пишем в LCD на 2 строке.print("C:"); .setCursor(2, 1); .print(celsius); //Цельсии.setCursor(8, 1);.print("Т:");.setCursor(10, 1); .print(temp_r); // Задаваемаятемпература
}
2. ЭКОНОМИЧЕСКАЯ ЧАСТЬ
.1 Расчёт затрат на проектирование и
внедрение продукта
Исчисление себестоимости единицы продукции по элементам называется калькуляцией. В основе калькуляции себестоимости лежит учет эксплуатационных расходов предприятия по элементам и статьям затрат. Планирование, учет и калькуляция себестоимости продукции на предприятиях радиотехнической промышленности осуществляется в соответствии с отраслевыми нормативами, которые устанавливают признаки классификации и состав затрат, включаемых в себестоимость радиотехнической продукции, производиться[3]:
по природе затрат;
по видам продукции, работ и услуг;
по видам расходов
по месту возникновения затрат;
по способу отнесения затрат на единицу продукции.
Все затраты, включаемые в себестоимость, делятся на следующие группы:
затраты промыслового труда (сырья, материал и т.д.)
затраты живого труда (заработная плата)
Группировка затрат по видам продукции, работ и услуг важно для определения фактической себестоимости изделия. По видам расходов различают статьи калькуляции.
К статьям калькуляции относятся затраты на:
сырье и материалы;
покупные комплектующие и полуфабрикаты;
основную з/п производственных рабочих;
содержание и эксплуатацию оборудования.
При единичном производстве меняется метод нормативной калькуляции, как системы техноэкономических норм и нормативов материальной, трудовых и денежных ресурсов. Основными показателями являются нормирование расхода комплектующих, основных материалов на единицу продукции.
В структуре капитальных вложений,
связанных с автоматизацией управления, выделяют капитальные вложения на
разработку проекта автоматизации (затраты на проектирование) и капитальные
вложения на реализацию проекта (затраты на внедрение), по формуле
К= Кп + Кр, (1)
где
Кп- капитальные вложения на проектирование;
Кр- капитальные вложения на
реализацию проекта.
.2 Расчёт капитальных вложений на
проектирование
Капитальные вложения на
проектирование аппаратных средств определяются путем составления смет расходов
и включают следующие элементы: стоимость материалов, заработную плату основную
и дополнительную с отчислениями в соцстрахование инженерно-технического персонала,
непосредственно занятого разработкой проекта; оплату услуг сторонним
организациям, если проектирование производится с привлечением сторонних
организаций; накладные расходы отдела проектирования. Таким образом,
капитальные вложения на проектирование определяются по формуле:
Кп = Км + Кпр + Кс + Кн, (2)
где
Кп - капитальные вложения на проектирование,
Км - стоимость материалов,
Кпр- заработная плата инженерно-технического персонала,
Кс - оплатауслуг сторонним организациям,
Кн - накладные расходы отдела
проектирования.
.3 Затраты на материалы
Определим смету затрат и рассчитаем
стоимость материалов Км, пошедших на разработку аппаратных средств. В них
входят: носители информации (бумага, Flash - накопитель) и быстроизнашивающиеся
предметы труда (ручка, картридж для принтера, клей, резинка). Смета затрат на
материалы представлена в таблице 1.
Таблица 1.Смета затрат на материалы
|
Материал |
Цена за единицу, руб. |
Количество, шт. |
Сумма, Руб. |
|
Flash-накопитель |
85 |
1 |
85 |
|
Бумага |
0.3 |
85 |
25.5 |
|
Услуги печати |
0.5 |
85 |
42.5 |
|
Ручка |
3 |
1 |
3 |
|
|
|
Итого |
156 |
к = 1,1 - коэффициент, учитывающий
транспортные расходы, которые составляют 10 % стоимости материалов; Стоимость
материалов с учетом транспортных расходов составляет Рм.т. = 1.1 ∙ 156 =
171.6
.4 Расчёт эксплуатационных затрат
Затраты на реализацию. Определим капитальные затраты на реализацию электронного датчика микроклимата. Затраты на покупку комплектующих изделий сведем в таблице 2
Таблица 2. Затраты на покупку комплектующих изделий
|
Материал |
Цена за единицу, руб. |
Количество, шт. |
Сумма, руб. |
|
Семисегментный индикатор с общим анодом |
50 |
4 |
200 |
|
Резистор 230 кОм |
0.3 |
4 |
1.2 |
|
Резистор 4.7 кОм |
0.3 |
12 |
3.6 |
|
Светоизлучающий диод |
2 |
1 |
2 |
|
Транзистор ВС547 |
2 |
4 |
8 |
|
МикроконтроллерArduino Mega |
135 |
1 |
135 |
|
Плата Breadboard |
85 |
2 |
170 |
|
Блок питания на 12В |
100 |
1 |
100 |
|
|
|
Итого |
619.8 |