Исследования программного дополнения Waijung пакета Matlab
Waijung библиотека, является Simulink библиотекой, которая может быть использована для легкой и автоматической генерации C кода из имитационных моделей MATLAB/Simulink для многих видов микроконтроллеров.
В настоящее время Waijung был разработан специально для поддержки семейства STM32F4 микроконтроллеров (STM32F4 Target), которые являются Hi‑Performance & DSP MCU от STMicroelectronics.
Waijung Blockset поддерживает 32‑битные и 64‑битные операционные системы.
На рисунке 1 показано содержимое библиотеки Waijung
Библиотека Waijung обладает большим функционалом:
- Робота с цифровыми входами/выходами (позволяет работать с различными датчиками, управлять светодиодами);
- Робота с аналоговыми сигналами (позволяет регистрировать и передавать значения напряжения или тока);
- Работа с таймерами (позволяет при помощи ШИМ управлять двигателями, а также снимать значения с энкодера);
- Работа с интерфейсом UART (позволяет налаживать связь между микроконтроллером и ПК в режиме реального времени);
- Работа с интерфейсами I2C и SPI (позволяет работать с различными датчиками, например MPU6050 и MPU9250);
- Работа с SD картами (позволяет записывать данные на SD карту).
Разработка любой программы начинается с добавления блока инициализации (Target Setup), в данном блоке выбирается тип компилятора, микроконтроллера, программатор, а также конфигурация часов и период дискретности.
На рисунке 2 показан внешний вид блока Target Setup, а на рисунке 3 окно настройки данного блока.
Затем добавляются более специальные компоненты, которые и реализуют программу.
На рисунке 4 приведен пример программы разработанной при помощи библиотеки Waijung.
Программа представленная выше предназначена для робота, реализующего алгоритм перемещения по черной линии. Блоки Digital Input являются приемниками сигналов от инфракрасных датчиков отражения, при помощи которых и определяется наличие черной линии.Так как датчики являются цифровыми, то сигнал представляется в виде логического 0 или 1, в зависимости от цвета: 0 – черный, 1 – не черный. Подсистема Subsystem необходима для одновременного считывания сигналов с трех датчиков и последующей их обработки. С помощью блока Combinatorial Logic происходит преобразование трех входных сигналов в соответствии с правилами, определяемыми таблицей истинности. При срабатывании определенной комбинации входных сигналов осуществляется программно‑заданная команда на управление. Перед блоками Combinatorial Logic стоит блок DataTypeConvertion для преобразования входных сигналов в формат данных Boolean. Подсистема CODE101 выполнена в виде двух постоянных сигналов. Сигналы предназначены для задания скорости и направления вращения электроприводов. Первый сигнал задает скорость движения первого двигателя и второго, второй сигнал – третьего и четвертого двигателей. Подсистема CODE001 предназначенная для движения робота вправо. На первый и второй двигатель подается задание на скорость, а на третий и четвертый нет. Таким образом одна сторона робота не движется и осуществляется поворот. Подсистемы CODE100, CODE011, CODE110 имеют такой же вид.
В заключении можно сказать, что библиотека Waijung позволяет ускорить разработку программы, так как не требует знаний языков программирования, но также имеет недостаток, при создании сложной программы могут возникать проблемы для решения которых требуется более гибкая настройка параметров, а так как нет доступа к коду загружаемому на контроллер и нет возможности ее провести.
Cсылки
1. Сайт с описанием библиотеки Waijung. 2. Сайт с продукцией которую поддерживает библиотека Waijung. 3. Youtube канал с уроками по роботе в библиотеке Waijung.