Отчет о первом тесте контроллера BLDC

Этим летом у меня наверно будет мало времени заниматься контроллером, поэтому показываю, что есть сейчас. Значительные изменения произойдут нескоро, есть много проблем которые быстро не решатся.


Читать дальше

Производительность FPU Cortex-M4

Нигде не нашел информации о количество мегафлопсов у Cortex-M4 c аппаратной плавающей точкой. Сделал свой тест используя stm32f4discovery и кусочек кода фильтра Калмана для двигателя.


Читать дальше

Сигма-точечный фильтр Калмана

Если кому-то нужен протестированный код Unscented Kalman Filter (UKF) то предлагаю попробовать мою реализацию. Проверял на нескольких задачах, и сегодня проверил на модели BLDC, для которого никак не могу отладить EKF. На двигателе фильтр показывает себя хорошо, EKF так работать заставить не могу. Хотя он должен быть не на много хуже. Проблема только в поиске ошибок.


Читать дальше

Очередная плата контроллера BLDC

9 фото
image
Работы по контроллеру идут все так же медленно. От фильтра Калмана отказался, нашлись более простые методы которые может быть даже удастся реализовать в целых числах. А пока собираюсь прототипировать на F4Discovery и вот этой силовой части. Как обычно работа встает как только нужно придумать название новой переменной :)

Показать все 9 фото →

Кросс шланг для cortex-m*

Уже давно как clang умеет делать код для arm. Сегодня ковырялся с целочисленными операциями, смотрел на выход gcc, и вспомнил про шланг читая stackoverflow.


Читать дальше

Проект по летающим роботам и машинному зрению топик-ссылка

Иногда начинаю искать и почитывать информацию по машинному зрению, доступным подходящим камерам и вычислителям. На этот раз попалось похоже нечто интересное.

Солнечный баллун

Недавно узнал про такой простой способ поднятия в небо как тепловой аэростат на солнечной энергии. Все, что понадобится это пакеты от мусора, ножницы и лента для склейки. Попробовал проверить, действительно ли полетит.


Читать дальше

Моделирование BLDC

Как обычно разработка идет медленнее чем я от себя ожидаю. С сервами наигрался, основная задача была и остается — контроллер bldc. С предыдущего поста про bldc произошло одно важное изменения, отказ от работы по ЭДС в пользу измерения токов фаз. Именно токов фаз (любых двух из трех) а не один шунт по питанию. Все работы пока ведутся численно, на модели.


Читать дальше

Ещё по поводу генерации синусов

Сначала казалось, что решение хранить вектор в качестве положения и поворачивать его при интегрировании хорошая идея. Это избавляет от необходимости вычисления косинусов от угла поворота при переходе между системами координат. Проблемы появляются от методической неточности интегрирования, начинает копится ошибка величина которой зависит от скорости. Ошибка не очень большая (~1%) но неприятно, она же методическая. Да и значение угла может понадобится, для оценки формы ЭДС и компенсации пульсаций момента, например.

И пришлось написать табличную реализацию sincosf. Под катом код и возможно описание.



Читать дальше
  • +4
  • 04 ноября 2013, 21:41
  • amaora

Тестирование и отладка кода для МК

Прочитал на лоре недавно как человек тестирует свое устройство на AVR даже не имея самого устройства. Использует simulavr для моделирования самого МК и собственную модель внешней периферии (двигатели, светодиоды, датчики, последовательные интерфейсы и т.п.). Собирается делать автоматические тесты. После этого захотелось улучшить свои методы тестирования и отладки.

У меня все несколько хуже. Тестируется только управляющий код, он включается в состав модели внешних устройств (у меня только двигатели), собирается под x86. Получаю программу которая из входных сигналов и каких-то заданных констант выдает много телеметрии, которую можно смотреть на графиках или пытаться делать автоматический анализ. Но остается много кода который не покрыт тестами, например все обработчики команд CLI. Их приходится отлаживать на живом МК.



Читать дальше