Разработка подсистемы мониторинга и анализа процессов тензоизмерений в SCADA
Изучение технологий тензоизмерений и разработка аппаратно-программного комплекса по тензометриям на базе Arduino. Теория измерений, схема подключения тензорезисторов. Выбор программируемого логического контроллера. Выбор датчика веса и модуль усиления.
Рубрика | Программирование, компьютеры и кибернетика |
Вид | курсовая работа |
Язык | русский |
Дата добавления | 13.04.2022 |
Размер файла | 5,6 M |
Отправить свою хорошую работу в базу знаний просто. Используйте форму, расположенную ниже
Студенты, аспиранты, молодые ученые, использующие базу знаний в своей учебе и работе, будут вам очень благодарны.
Рис. 2.9 ЖК дисплей Arduino LCD 1602
Жидкокристаллический дисплей (Liquid Crystal Display) LCD 1602 является хорошим выбором для вывода строк символов в различных проектах. Он стоит недорого, есть различные модификации с разными цветами подсветки, вы можете легко скачать готовые библиотеки для скетчей Ардуино. Но самым главным недостатком этого экрана является тот факт, что дисплей имеет 16 цифровых выводов, из которых обязательными являются минимум 6. Поэтому использование этого LCD экрана без i2c добавляет серьезные ограничения для плат Arduino Uno или Nano. Если контактов не хватает, то вам придется покупать плату Arduino Mega или же сэкономить контакты, в том числе за счет подключения дисплея через i2c.
Краткое описание пинов LCD 1602
Давайте посмотрим на выводы LCD1602 повнимательней:
Рис. 2.10 Выводы LCD1602
Каждый из выводов имеет свое назначение:
· Земля GND;
· Питание 5 В;
· Установка контрастности монитора;
· Команда, данные;
· Записывание и чтение данных;
· Enable;
· 7-14. Линии данных;
· Плюс подсветки;
· Минус подсветки.
Технические характеристики дисплея
· Символьный тип отображения, есть возможность загрузки символов;
· Светодиодная подсветка;
· Контроллер HD44780;
· Напряжение питания 5В;
· Формат 16х2 символов;
· Диапазон рабочих температур от -20С до +70С, диапазон температур хранения от -30С до +80 С;
· Угол обзора 180 градусов.
Принципиальная схема
2.3.4 Выбор WI-FIмодуль ESP-01
ESP-01 - плата-модуль WiFi на базе популярного чипсета ESP8266EX. На борту платы находится микросхема Flash-памяти объёмом 2 МБ, чип ESP8266EX, кварцевый резонатор, два индикаторных светодиода и миниатюрная антенна из дорожки на верхнем слое печатной платы в виде змейки. Flash-память необходима для хранения программного обеспечения. При каждом включении питания, ПО автоматически загружается в чип ESP8266EX.
Рис. 2.11 WI-FI модуль ESP-01
По умолчанию модуль настроен на работу через «AT-команды». Управляющая плата посылает команды - Wi-Fi модуль выполняет соответствующую операцию.
Но внутри чипа ESP8266 прячется целый микроконтроллер, который является самодостаточным устройством. Прошивать модуль можно на разных языках программирования.
Технические характеристики модуля
· Wi-Fi 802.11 b/g/n
· Режимы WiFi: клиент, точка доступа
· Выходная мощность - 19,5 дБ
· Напряжение питания - 1.8 -3.6 В
· Ток потребления - 220 мА
· Портов GPIO: 4
· Тактовая частота процессора - 80 МГц
· Объём памяти для кода
· Оперативная память - 96 КБ
· Размеры - 13Ч21 мм
Назначениевыводовмодуля:
· VCC - +3.3 В
· GND - земля
· RX, TX - выводы UART
· ВыводCH_PD - Chip enable
· GPIO0, GPIO2 - цифровые контакты
Модулю требуется внешнее питание 3.3 В.
2.4 Программная часть мониторинга тензорезистора
Демонстрационная версия программной части осуществлялась на платформе Arduino IDE. Программирование микроконтроллера Arduino осуществляется на языке программирования C. На рисунке 2.10 показан листинг программы, написанный на базе микроконтроллера Arduino UNO.
Рис. 2.12 Листинг программы для АСР на базе Arduino UNO
3. Технологический раздел
3.1 Новые возможности - бортовые весы, устанавливаемые в самосвалы
В последнее время появилась потребность во взвешивании насыпных грузов на борту самосвалов. Облик таких бортовых весов и технические требования к ним находятся в стадии обсуждения. Мы предлагаем бортовые весы для контроля перевозок самосвалами на основе освоенных в серийном производстве датчиков веса в виде осей.
Рис. 3.1 Схема размещения бортовых весов на самосвале
Бортовые весы самосвала состоят из датчиков веса, монтируемых под кузовом, и электронного индикатора в кабине водителя (рис. 3.1). Сигнал бортовых весов совместим с применяемыми бортовыми системами контроля координат автомобиля.
Бортовые автомобильные весы позволяют владельцам и арендаторам самосвала предотвращать поломки, либо объективно устанавливать их причины ? перегрузка, плохая дорога, слабая конструкция рамы и других узлов, неправильный выбор скорости (совместно с системой определения координат автомобиля). Также становится возможным контролировать работу водителей, экономить на текущих и капитальных ремонтах за счет эксплуатации самосвала в оптимальном режиме, уменьшить износ покрышек, особенно на Севере, где дороги хуже и климатические условия жестче, объективно учитывать массу перевезенного груза, сократить километраж перевозок (исключается взвешивание на стационарных автомобильных весах, требующее отклонений от основного маршрута).
3.2 Реализация аппаратно-программного комплекса
Комплектующие проекта:
· Arduino UNO
· Тензодатчик
· Wi-Fi модуль
· ЖК дисплей 16 х 2 с последовательным интерфейсом
Рассмотрим подключение компонентов к Arduino. Проект состоит из двух частей:
· в первом, Arduinoбудет получать информацию от тензодатчика, обрабатывать и отправлять данные по Wi-Fiканалу, с помощью Wi-Fiмодуля.
· во втором Arduinoбудет принимать данные, также с помощью Wi-Fiмодуля, и будет выводить их на ЖК дисплей.
Рис. 3.2 Схема подключение компонентов
Датчик нагрузки соединяется с модулем усиления HX711 с помощью 4 проводов: красного, черного, белого и зеленого/синего цвета. Возможны некоторые изменения цветовой гаммы этих проводов в зависимости от производителя модуля. Для соединения этих двух компонентов нашего устройства необходимо будет сделать следующие подключения как показано на ниже приведенном рисунках:
Рис. 3.3 Схема подключение тензорного датчика, кплате HX711
· красный провод - к E+;
· черный провод - к E-;
· белый провод - к A-;
· зеленый провод - к A+.
Датчик веса также должен быть точно подключен к HX711, чтобы гарантировать, что соответствующие провода тензодатчика используются для приближения веса, заданного датчиком веса.
Для дальнейшей обработки и передачи информации осуществляется подключение НХ711 к Ардуино UNO. Для этого контакты питания GND и VCC HX711 подключаются к точкам GND и 5V разъёма POWER модуля Arduino UNO, а контакты DT и SCK подключаются к точкам A1 и A0 разъёма ANALOG IN. Тензодатчик НХ711 через контроллер Arduino UNO можно подключить к жидкокристаллическому дисплею LCD 1602 или компьютеру, используя USB порт и стандартные библиотеки для Ардуино.
Поскольку на выходе измерительного моста изменяется напряжение, то именно оно преобразуется в бинарный код. Диапазон контролируемых напряжений зависит от выбранного коэффициента усиления. Если коэффициент равен 128, диапазон измеряемых напряжений варьируется от - 20 mV до + 20 mV, выбор коэффициента усиления 64 определяет пределы измерения от - 40 mV до + 40 mV и при коэффициенте равном 32 пределы измерения определяются величинами - 80 mV и + 80 mV. Эти данные будут корректными только при напряжении питания +5 V. Если входное напряжение выйдет за нижнюю границу диапазона, АЦП выдаст код 800000h, а если за верхнюю, то код будет 7FFFFFh.
Тензодатчик (в нашем случае тензорезистор) - это резистор, сопротивление которого изменяется в зависимости от его деформации. Тензорезистор располагается под слоем белого защитного полимера (см. рис. 3.4).
Рис. 3.4 Тензодатчик до 1 кг
С этим понятно - есть некий резистор (обычно это гибкая пластинка - пленочный тензорезистор, на который напылены проводящие элементы), который при изгибе, растяжении и прочих деформациях изменяет свое сопротивление. На датчике массы тензорезистор располагается под слоем белого защитного полимера. Основание датчика - алюминиевый брусок с отверстиями для крепления и большим отверстием для задания модуля упругости бруска таким образом, чтобы тензорезистор улавливал упругую деформацию этого бруска в заданном диапазоне измерения массы. Итак, собирая воедино способность тензорезистора изменять свое сопротивление при его деформации и способность металла бруска при упругой деформации растягиваться или сжиматься (деформироваться) при воздействии силы, получаем датчик, который измеряет деформацию при приложенной силе к этому датчику. А так как модуль упругости в самом распространенном варианте имеет линейный характер (закон Гука), получаем вполне точный датчик, с помощью которого можно измерять усилие, приложенное к датчику в заданной плоскости, и, следовательно, вес тела (и массу), прикладывая груз перпендикулярно датчика.
Схема измерителя на этом датчике является полумостовой - один тензорезистор сверху (на растяжение), второй снизу (на сжатие). Один конец тензодатчика необходимо жестко зафиксировать (рис. 3.11).
После сборки весов на Ардуино, необходимо откалибровать тензорезистивный датчик. Подключите датчик к модулю HX711, согласно схеме размещенной выше, а сам модуль необходимо подключить к плате Ардуино. Порты DT и SCK можно подключить к любым цифровым портам микроконтроллера (в примере кода мы использовали 2 и 3 порт). После сборки схемы загрузите скетч для калибровки датчика в плату Arduino.
Счетч для калибровки тензодатчика HX711
#include <HX711.h>
HX711 scale(2, 3); // портыDT, CLK
floatcalibration_factor = -3.7; // калибровкадатчика
floatunits;
floatounces;
voidsetup() {
Serial.begin(9600);
Serial.println("HX711 calibration sketch");
Serial.println("Remove all weight from scale");
Serial.println("Press + or a to increase calibration factor");
Serial.println("Press - or z to decrease calibration factor");
scale.set_scale();
scale.tare(); // сбрасываемдатчикна 0
long zero_factor = scale.read_average();
Serial.print("Zero factor: ");
Serial.println(zero_factor);
}
void loop() {
scale.set_scale(calibration_factor); // применяемкалибровку
Serial.print("Reading: ");
units = scale.get_units(), 10; // выполняемзамеры 10 раз
if (units < 0)
{
units = 0.00;
}
ounces = units * 0.035274; // переводим усредненные значения в граммы
Serial.print(ounces);
Serial.print(" grams");
Serial.print(" calibration_factor: ");
Serial.print(calibration_factor);
Serial.println();
if (Serial.available())
{
char temp = Serial.read();
if (temp == '+' || temp == 'a')
calibration_factor += 1;
else if (temp == '-' || temp == 'z')
calibration_factor -= 1;
}
}
Поясненияккоду:
· на монитор порта будет выведен поправочный коэффициент, который следует использовать далее в работе с датчиком для весов;
· при необходимости корректировки коэффициента, через монитор порта следует отправлять «+» или «-» на плату Ардуино.
Счетч для тензодатчика (hx711) Ардуино
#include <HX711.h>
HX711 scale(2, 3); // порты DT, CLK
float calibration_factor = -3.7; // калибровкадатчика
float units;
float ounces;
void setup() {
Serial.begin(9600);
scale.set_scale();
scale.tare(); // сбрасываемдатчикна 0
scale.set_scale(calibration_factor); // применяемкалибровку
}
void loop() {
Serial.print("Reading: ");
for(int i=0; i<10; i++) units =+ scale.get_units(), 10; // выполняемзамеры 10 раз
units / 10; // делим значения на 10
ounces = units * 0.035274; // переводим значения в граммы
Serial.print(ounces);
Serial.print(" grams");
Serial.println();
}
Вывод
Используя поправочный коэффициент из первой программы, ваши весы должны показывать довольно точные показания в граммах.
Рис. 3.2 Демонстрация собранного макета
В результате выполнения данного раздела были освоены следующие компетенции:
· способность проводить техническое оснащение рабочих мест и размещение технологического оборудования
Заключение
В курсовой работе были представлены датчики веса и тензодатчики для приблизительного определения массы с использованием линейности тензодатчиков и гравитации Земли.
В данной работе была представлена актуальная идея, виде бортовых весов для самосвала. Благодаря чему, не доставит труда узнать вес содержимого груза в реальном времени.
Также курсовой работе, был собран макет весов, и были проведены проверки точности измерения тензодатчика.
Подводя итоги, можно сказать, что тензодатчик - это важный элемент, составляющий основу механизма любого электронного весоизмерительного оборудования. Электронная система с применением тензодатчиков позволила перейти на качественно новый уровень работы и полностью автоматизировать контрольно-измерительные процессы.
В результате выполнения данного раздела были освоены следующие компетенции:
· готовность участвовать в разработке и изготовлении стендов для комплексной отладки и испытаний программно-аппаратных управляющих комплексов
· готовность к участию в работах по изготовлению, отладке и сдаче в эксплуатацию систем и средств автоматизации и управления
· способность участвовать в монтаже, наладке, настройке, проверке и сдаче опытных образцов программно-аппаратных средств и комплексов автоматизации и управления
· готовность к внедрению результатов разработок средств и систем автоматизации и управления в производство
· способность использовать нормативные документы в своей деятельности
· способность использовать навыки работы с компьютером, владеть методами информационных технологий, соблюдать основные требования информационной безопасности
Список использованных источников
1. Клокова Надежда Павловна.Тензорезисторы: Теория, методики расчета, разработки. М.: Машиностроение, 1990, - 224с.
2. Немец И. Практическое применение тензорезисторов. Пер. счешск. М.: «Энергия», 1970. 144 с.
3. Karl Hoffman. An Introduction to Stress Analysis and Transducer Design using Strain Gauges.
4. Видытензорезистивных датчиков.[Электронный ресурс]. Режим доступа:https://electrosam.ru/glavnaja/jelektrooborudovanie/ustrojstva/tenzometricheskie-datchiki-tenzodatchik/- Загл. с экрана.
5. ArduinoIDE.[Электронный ресурс]. Режим доступа: https://robohobby.by/lessons/arduino_ide_tutorial/свободный. Загл. с экрана.
6. Теория тензоизмерений.[Электронный ресурс]. Режим доступа: https://zetlab.com/podderzhka/tenzometriya/spravochnaya-informatsiya/teoriya-tenzoizmereniy-shemyi-podklyucheniya-tenzorezistorov/- Загл. с экрана.
7. Схема электрической цепи тензодатчика с описанием.[Электронный ресурс]. Режим доступа: https://mashintertorg.ru/blog-ru/shema-elektricheskoj-cepi-tenzodatchikaсвободный. Загл. с экрана.
8. Датчика веса и модуль усиления.[Электронный ресурс]. Режим доступа: https://microkontroller.ru/arduino-projects/izmerenie-vesa-s-pomoshhyu-arduino-datchika-nagruzki-i-modulya-hx711/свободный. Загл. с экрана.
9. Тензодатчики и библиотека.[Электронный ресурс]. Режим доступа: https://makersportal.com/blog/2019/5/12/smartphone-arduino-weighing-scale-with-load-cell-and-hx711свободный. Загл. с экрана.
10. Подключение тензодатчика. [Электронный ресурс]. Режим доступа: https://arduinomaster.ru/datchiki-arduino/tenzodatchiki-i-vesy-na-arduino-i-nh711/ свободный. Загл. с экрана.
11. Дайчик М. Л., Пригоровский Н. И., Хуршу-дов Г. X. Методы и средства натурной тензометрии. М.: Машиностроение, 1989. 240 с.
12. Принцип работы тензодатчика веса и давления [Электронный ресурс]. URL: https://www.asutpp.ru/ datchiki/tenzodatchik.html.
13. Тензометрические датчики. [Электронный ресурс]. URL: http://fb.ru/article/235654/tenzometriches-kie-datchiki-opisanie-instruktsiya-po-primeneniyu-harak-teristiki-i-otzyivyi.
Приложение 1 (Листинг программы на ArduinoIDE)
Счетч для калибровки тензодатчика HX711
#include <HX711.h>
HX711 scale(2, 3); // порты DT, CLK
float calibration_factor = -3.7; // калибровкадатчика
float units;
float ounces;
void setup() {
Serial.begin(9600);
Serial.println("HX711 calibration sketch");
Serial.println("Remove all weight from scale");
Serial.println("Press + or a to increase calibration factor");
Serial.println("Press - or z to decrease calibration factor");
scale.set_scale();
scale.tare(); // сбрасываемдатчикна 0
long zero_factor = scale.read_average();
Serial.print("Zero factor: ");
Serial.println(zero_factor);
}
void loop() {
scale.set_scale(calibration_factor); // применяемкалибровку
Serial.print("Reading: ");
units = scale.get_units(), 10; // выполняемзамеры 10 раз
if (units < 0)
{
units = 0.00;
}
ounces = units * 0.035274; // переводим усредненные значения в граммы
Serial.print(ounces);
Serial.print(" grams");
Serial.print(" calibration_factor: ");
Serial.print(calibration_factor);
Serial.println();
if (Serial.available())
{
char temp = Serial.read();
if (temp == '+' || temp == 'a')
calibration_factor += 1;
else if (temp == '-' || temp == 'z')
calibration_factor -= 1;
}
}
Счетчдлятензодатчика (hx711) Ардуино
#include <HX711.h>
HX711 scale(2, 3); // порты DT, CLK
float calibration_factor = -3.7; // калибровкадатчика
float units;
float ounces;
void setup() {
Serial.begin(9600);
scale.set_scale();
scale.tare(); // сбрасываемдатчикна 0
scale.set_scale(calibration_factor); // применяемкалибровку
}
void loop() {
Serial.print("Reading: ");
for(int i=0; i<10; i++) units =+ scale.get_units(), 10; // выполняемзамеры 10 раз
units / 10; // делим значения на 10
ounces = units * 0.035274; // переводим значения в граммы
Serial.print(ounces);
Serial.print(" grams");
Serial.println();
}
Размещено на Allbest.ru
...Подобные документы
Компоновка роботизированного комплекса. Разработка циклограммы работы объектов. Построение релейно-контактной, логической бесконтактной схем по циклограмме и сети Петри. Выбор программируемого контроллера. Разработка и написание программы управления.
курсовая работа [922,9 K], добавлен 26.01.2012Особенности работы с последовательным портом в среде Visual Studio. Тестирование работы протокола Modbus RTU в режиме Slave. Описание и технические характеристики программируемого логического контроллера Овен 100. Построение диаграммы передачи фреймов.
отчет по практике [2,1 M], добавлен 19.07.2015Выбор SCADA-системы как средства управления технологическими процессами. Языки программирования в TRACE MODE, эксплуатационные характеристики системы. Разработка мониторинга и управления процессом подготовки бумажной массы на базе данной системы.
курсовая работа [5,1 M], добавлен 14.03.2012Контроллер управления двигателями. Назначение, краткая характеристика, перспективы внедрения робота-дозиметриста. Обзор основных способов беспроводной передачи данных на большие расстояния. Проектирование принципиальной схемы бортового контроллера.
дипломная работа [2,4 M], добавлен 05.01.2013Проблема автоматизации нахождения ошибок подключения к корпоративной сети клиентских рабочих мест в ОАО "Сбербанк России". Требования к структуре и функционированию системы. Описание информационной модели. Выбор программного обеспечения для реализации.
дипломная работа [3,6 M], добавлен 25.07.2015Аналитический обзор видеосистем с элементами интеллектуальной обработки видеоконтента: FaceInspector, VideoInspector Xpress. Разработка алгоритма организации вычислительных средств комплекса, в структуру поэтапного решения задачи анализа видеообъекта.
дипломная работа [3,4 M], добавлен 14.06.2012Разработка автоматизированной системы управления технологическими процессами очистки, компримирования и осушки нефтяного газа на базе программируемого логического контроллера SLC-500 фирмы Allen Bradley. Расчёт системы автоматического регулирования.
дипломная работа [309,0 K], добавлен 06.05.2015Характеристика современных зарубежных и отечественных SCADA-систем. Описания программного комплекса для визуализации и диспетчеризации технологических процессов. Обработка, отображение и архивирование информации об объекте мониторинга или управления.
реферат [600,8 K], добавлен 26.10.2014Выбор манипулятора-указателя, микропроцессора, интерфейса подключения к ПК. Обзор используемых команд. Проектирование функциональной и электрической принципиальной схемы контроллера трекбола. Разработка алгоритма и программы функционирования системы.
курсовая работа [453,3 K], добавлен 22.10.2012Представление о системе Arduino. Структура платформы Android. Выбор средств разработки. Разработка структур данных и алгоритмов. Характеристика Bluetooth модуля, блок реле, резисторов, диодов. Графический интерфейс приложения. Написание кода программы.
дипломная работа [4,0 M], добавлен 19.01.2017Технико-экономическое обоснование создания автоматизированной системы. Выбор программируемого логического контроллера. Выбор модулей ввода-вывода. Средства разработки человеко-машинного интерфейса. Контроль обрыва датчиков. Контроль исправности насосов.
дипломная работа [2,4 M], добавлен 14.11.2017Современное планирование и управление информационными ресурсами предприятия. Интеграция организаций на базе информационных технологий. Разработка программного комплекса "ФОЛИО-КУПЕЦ". Задачи, решаемые применением корпоративной информационной системы.
курсовая работа [93,2 K], добавлен 12.10.2013Определение комплекса задач для автоматизации бизнес-процессов отдела по работе с клиентами и склада ООО "ЖилРемСтрой". Выбор стратегии автоматизации и формализация программной задачи. Разработка программного модуля в среде 1C, его тестирование, отладка.
дипломная работа [3,2 M], добавлен 28.01.2013Разработка цифрового измерительного устройства на базе ПЛИС QUARTUS II 9.1SP2 WEB EDITION. Схема подключения МК ATMEGA8515. Схема включения буфера RS-485. Расчёт потребляемой мощности. Разработка программного кода для микроконтроллера ATmega8515.
курсовая работа [491,5 K], добавлен 03.06.2015Общая характеристика гидроэлектростанций Республики Беларусь. Разработка автоматизированной системы управления каскадом малых и микро гидроэлектростанций. Программирование логического контроллера датчиков температуры и оборотов турбин электростанции.
дипломная работа [4,1 M], добавлен 14.07.2014Анализ технических средств, разработка структуры подсистемы. Создание программного приложения в среде InduSoft Web Studio. Информационный расчет аналогового ввода сигналов. Адресация каналов модулей. Экспериментальная проверка подсистемы в составе стенда.
дипломная работа [1,7 M], добавлен 16.05.2017Функционально-модульная структура программного обеспечения контроллера домофона. Электронная схема электронного замка, модуля микрофона и динамика. Выбор комбинированного источника питания. Разработка программного модуля. Программа управления домофоном.
курсовая работа [484,7 K], добавлен 29.03.2017Выбор элементной базы. Разработка системы управления отопительного котла на основе семейства восьмибитных микроконтроллеров фирмы Atmel с архитектурой AVR на языке Assembler. Усилитель сигнала датчика температур. Схема подключения шагового двигателя.
курсовая работа [2,5 M], добавлен 26.11.2012Исследование принципов объектно-ориентированного программирования на базе языка программирования С++. Разработка программного комплекса для ведения учёта памятников города. Описание процессов сортировки, поиска, формирования статистики по памятникам.
курсовая работа [782,4 K], добавлен 26.05.2014Разработка аппаратно-программного комплекса для осуществления идентификации объектов управления на основе вещественного интерполяционного метода. Анализ работоспособности аппаратно-программного комплекса, пример идентификации объекта управления.
магистерская работа [2,2 M], добавлен 11.11.2013