Заказчик
Общество с ограниченной ответственностью "Сибэкс"
Проект
Разрабатываемый комплекс представляет собой связку "Электронное устройство + Прикладное ПО". Комплекс предназначен для задания положения позиционера SRD991 в ручном режиме, а также измерения и отображения его фактического положения, которое, очевидно, может отличаться от уставки. Данный функционал может быть полезен во время проведения пусконаладочных работ на новых только смонтированных системах "позиционер+клапан" или же на существующих объектах во время проведения обслуживающих мероприятий.
Цели и задачи
Прикладное ПО, будучи запущенным на ПК под управлением ОС семейства Windows или Linux, должно обеспечивать следующий функционал:
- обнаруживать и автоматически устанавливать связь с подключенным к ПК устройством посредством USB HID;
- создавать/сохранять/загружать из файла ранее сохранённые диаграммы управления позиционером SRD991;
- непосредственно исполнять ранее созданное/загруженное задание по управлению позиционером, последовательно отправляя команды устройству;
- формировать отчёт по результатам выполнения задания в формате PDF;
- уведомлять пользователя в случае внештатных ситуаций:
- обрыв какой-либо из токовых петель;
- короткое замыкание на какой-либо из токовых петель;
- перегрев оборудования;
- иметь возможность выполнить калибровку измерительного тракта устройства;
Электронное устройство должно удовлетворять следующим требованиям:
- Источник питания - USB-подсистема ПК с параметрами: 5 В / 500 мА (max);
- Полная гальваническая развязка интерфейсной, формирующей и измерительной подсистем между собой;
- Обмен данными с ПК - посредством USB HID;
- Ошибка при установке тока-команды - не более 0.2%;
- Ошибка измерения тока в петле обратной связи - не более 0.5%;
Устройство, последовательно выполняя команды, полученные с ПК, должно обеспечивать:
- формирование тока уставки;
- измерение тока в петле обратной связи;
- отправку собранных данных назад на ПК;
- фоновую (само-)диагностику своих узлов с быстрой реакцией при внештатной ситуации
Решение
Структурную схему проектируемого устройства можно представить в следующем виде:

Вся схемотехника и топология печатной платы будущего устройства разрабатывалась с использованием свободно доступного Kicad.
Разработка встраиваемого ПО для микроконтроллера семейства STM32F0 выполнялась с использованием Eclipse + GDB + OpenOCD.
ПО для ПК разрабатывалось с использованием инструментария Qt5 + Qwt + hidapi. Особенностью ПО в конечном итоге явилась возможность запускать его на ПК под управлением ОС, отличных от MS Windows, в т.ч. Linux. Внешний вид главного окна приложения в Linux-окружении:

Пример работы с графиком, а точнее её увеличение с целью анализа переходных процессов, возникающих при ПИД-управлении положением позиционера/клапана, показан далее:

Пример PDF-отчёта, формируемого приложением, можно наблюдать по ссылке.