Запуск моделей Simulink на Arduino

Михаил
29.01.2013 13:43:55

Запуск моделей Simulink на Arduino

В этом небольшом посте я бы хотел рассказать о возможностях по работе с платформой Arduino из Simulink.

Содержание

Использование Simulink Run on Target Hardware

В одном из предыдущих постов я рассказывал, что такое Simulink Run on Target Hardware и как этот функционал позволяет работать с бюджетными аппаратными платформами.

Для того, чтобы начать использовать этот функционал, достаточно выполнить команду

targetinstaller

Запустится установщик, который позволит вам выбрать целевую платформу, которую вы хотите использовать и автоматически загрузит и установит все необходимые файлы.

В результате, вы получите следующее:

  • Библиотеку блоков Simulink для работы с периферией Arduino:
- Digital Input/Output
- Analog Input
- Servo Read/Write (Continous)
- Serial Transmit/Receive
- PWM
  • Примеры и документацию для работы с Arduino

Заметьте, что для того, чтобы начать использовать этот функционал, вам нужен только Simulink. Вы можете начать с базовых примеров и расширять их своими алгоритмами и функционалом. Чтобы запустить модель Simulink на Arduino, достаточно выбрать Run on Target Hardware > Prepare to Run (или Run) из меню Tools . Дополнительная информация содержится в документации.

Функционал Simulink Run on Target Hardware доступен любому пользователю Simulink, но эта доступность и простота использования несут определенные ограничения. Например, Simulink Run on Target Hardware поддерживает только Arduino Uno и Arduino Mega 2560. Кроме того, процесс запуска модели на целевой платформе прозрачен для пользователя - т.е. вы не получаете доступа к исходному коду, который генерируется и не имеете возможности тонкого управления различными аспектами генерации кода.

В случае, если вы хотите работать с любым клоном Arduino или вам важно управлять процессом генерации кода и его сборкой, то вам требуется Embedded Coder.

Использование Embedded Coder

Embedded Coder® генерирует удобочитаемый, компактный и быстрый C и C++ код для использования во встраиваемых процессорах, отладочных платах и микропроцессорах, используемых для серийного производства. Embedded Coder активирует дополнительные настройки конфигурации для MATLAB Coder™ и Simulink Coder™, а также включает продвинутые оптимизации для тончайшей настройки функций, файлов и данных в сгенерированном коде. Эти оптимизации улучшают эффективность кода и облегчают интеграцию с существующим кодом, типами данных и калибровочными параметрами, используемыми в производстве. Вы можете подключить стороннюю среду разработки к процессу сборки, чтобы получить исполняемый файл "под ключ" для развертывания на вашей встраиваемой системе.

Поддержка Arduino в Embedded Coder реализована при помощи Target Support Package, который вы можете скачать с File Exchange: Embedded Coder Support Package for Arduino.

В дополнение к упомянутым настройкам, и возможностью работать с любым Arduino, вы также получаете возможность верифицировать ваши алгоритмы в режиме Processor-in-the-Loop (больше информации о PIL тестировании в этом посте).

Я записал небольшое видео , где вы можете увидеть некоторые возможности, упомянутые в этом посте.

Если у вас есть вопросы, задавайте их нам, мы попробуем помочь.

Просмотров: 11559
Комментариев: 2
Добавить комментарий
  • Denis Zhegalin
    30.01.2013 18:08:37

    Design News рекомендует проводить подготовку специалистов по технологии Model Based Design

    Статья в тему
  • Станислав
    20.01.2014 14:24:13
    Добрый день! Пользуюсь контроллером Ардуино Уно. Возникла проблема. При снятии сигнала с аналогового входа или дискретного входа, в симулинке на скоуп выдает постоянно 0. Подскажите в чем может быть проблема!?
Добавить комментарий