roboforum.ruТехнический форум по робототехнике. |
|
|
Nesenin писал(а):-> Вот тут у тебя 1650 байт только. Нахрена это?
ну дык данные копятся, потом передаются.
->У меня atmega168(5v, 16MHz)
ну вот объем данных нам важен. больше лучше. по крайней мере 550 лучше 300
holomrn писал(а):Очевидно - если на старой версии проблем не было, то и собирать нужно старой версией.
Ссылки на комплектуху есть в описании к видео.
Качаем архив тут https://yadi.sk/d/AsvwOnThV3siT Two Plane Balancing.rar
Сперва прошиваем плату с stm32 по статье https://geektimes.ru/post/277928/
Заливаем код из папки arduino.
Датчики цепляем на аналоговые входы A0, A1.
Датчик оборотов либо из прошлой статьи либо тахометр (цена меньше 600руб) на PB9.
Модернизированная програмка имеет название "Two Planes Balancing — копия".
Для запуска нужны 2013 LabVIEW+VISA+Sound and Vibration модули.
Получаем результат.
Немного про тонкости реализации.
Акселерометры аналоговые. При отсутсвии ускорения они выдают половину питающего напряжения.
То есть при 5в будет 2.5в. К этому надо стремиться при расположении датчиков.
АЦП у STM 12 битный. То есть максимальные цифры 4095. При 0 будет 2048, а для програмки надо плюсовые и отрицательные значения.
Посему в коде есть коррекция. см. код https://fotki.yandex.ru/next/users/emil ... iew/878099
Отнимаем от значений эти числа. Еще тут константой 1300 задается колличество точек. Если в коде arduino
поменять, то и в коде программы надо менять.
Еще тут данные идут сплошным потоком в результате чего может быть потеря порядка. Происходит не часто, посему я не стал делать маркеров для синхронизации. Кому надо изменит, благо весь код открыт.
Если вы балансируете раздельные детали, все будет зависеть от точности последующих установок.
Любые изменения в системе влияют. Смещение деталек на микрометры влияют. Нельзя просто снять пропеллер и поставить его обратно что б балансировку не увело. Нельзя где то что то подклеить или соскоблить без последствий. Счет идет на сотые грамма. Весы для замеров грузиков нужны с точностью 0.01гр и ниже.
PS. В сети есть векторные калькуляторы http://oookin.ru/soft.html Туда можно подставлять значения магнитуды и углов и считать всякие полезные вещи. Ссылка на оригинальный проект http://www.ni.com/example/12500/en/
Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 4