RSS лента

Последние записи

  1. Возвращение в хобби, новый проект, понимай как хочешь...

    26.11.2018 в 19:21 (Напоминалка)
    В общем, после некоторого забвения, решил поиграться с F4BY и сделать проект с нуля - очень простой (можно сказать для чайников), который в принципе мог бы быть уроком для самого простого вхождения в STM32, но к сожалению не получилось

    Если кому интересен сам процесс могу рассказать с картинками и видео, но позже - когда решу проблему...
    И так: взят STM32CUBE MX (генератор кода для STM - пока без ссылок - всё можно взять у них на сайте ST), там же System Workbench for STM32 ( бесплатная среда, требуется регистрация для скачивания, ссыль так же есть на сайте ST) собственно F4BY (хотя неважно - любой ...

    Обновлено 26.11.2018 в 20:28 [ARG:5 UNDEFINED]

    Метки: stm32, stm32cube mx
    Категории
    Без категории
  2. Еще немного математики по калибровке

    27.08.2018 в 02:27 (Тарахтелка)
    https://github.com/speedcontrols/ac_...ree/master/doc

    Обновил подробности про калибровке параметров моторов. Сейчас калибруется все, кроме ПИД-а. С ним надеюсь что на неделе тоже закончим. А пока резюме по той практике, которая фигово вписывается в теорию.

    Сопротивление и индуктивность мотора

    Во-первых, когда мотор остановлен, можно легко насытить железки тестовым импульсом. В итоге мы подаем только 10% от полупериода синусоиды.

    Во-вторых, вычисляемые R и L зависят от длины поданного импульса (смотрите по выложенным файлам с выборками). Сопротивление на минимальном импульсе в полтора раза больше чем на максимальном. Придумать правдоподобную модель сходу не получилось (одному аллаху известно, что там со щетками). В итоге просто используем результаты с 10% импульса.

    Нормализация скорости

    Значение скорости ОЧЕНЬ шумное.
    • Есть шумы в пределах одного периода. Давятся
    ...
    Категории
    Железо
  3. Еще раз про управление мотором через симистор

    24.08.2018 в 20:16 (Тарахтелка)
    Как обычно, новые кровавые подробности . Сегодня отладили новый медианный фильтр, эмулятор EEPROM и стали ковырять калибраторы.

    Выплыл досадный косяк в управлялке триаком. Изначально симистором рулили короткими импульсами (через оптрон), откладывая нужный кусок синусоиды. И все было бы хорошо, если бы нагрузкой была простая лампочка. Но там же ж блин моторчик, у которого смещен ток.

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

    Обновлено 24.08.2018 в 20:45 [ARG:5 UNDEFINED]

    Категории
    Железо
  4. Немного математики по AC-коллекторникам

    19.08.2018 в 19:27 (Тарахтелка)
    https://github.com/speedcontrols/ac_sc_grinder

    В папку с документацией добавились аналитические формулы и модели для scilab. К понедельнику дочистим код и можно будет переходить к автокалибровке. Обратите внимание, подобной инфы в понятном виде в интернетах нет. Люди лепят алгоритмы "по наитию" и с "магическими коэффициентами", а такое прокатывает только до первой производной. Хотелось бы внести окончательную ясность по данному вопросу. И для себя лично, и чтобы следующие падаваны не собирали слухи из мутных источников, а юзали готовую и годную математику. ...

    Обновлено 21.08.2018 в 22:26 [ARG:5 UNDEFINED]

    Категории
    Сайтомания
  5. Регуль, прогресс...

    14.08.2018 в 19:53 (Тарахтелка)
    Прогресс пока в основном на макетке, но хорош. Комрад переписал формулу вычисления скорости, заменив стрёмную свертку на более полноценное выражение с производной. Сообщил, что теперь обороты держатся намного стабильнее во всем диапазоне (для одних и тех же коэффициентов ПИД-а). Был скользкий момент с насыщением магнитного потока (если поток не линейный, то формулы просто так не сократить), но, хвала всем богам, его либо нет, либо им можно пренебречь без последствий.

    То есть теперь, чтобы определить скорость, достаточно двух соседних отсчетов (два - чтобы производную тока определить). Единственный нюанс - во время включения симистора производная слишком большая, и стоит игнорировать данные. Теперь осталось внимательно перепроверить на реальном моторе, вписываемся ли в нужную точность, и будем "отливать в граните". Проверять надо на минимальной скорости, 3000rpm (~10% от макимума):
    • Сколько нужно выпилить отсчетов в начале
    ...
    Категории
    Железо
  6. "Клавиатура" для регулятора бормашинки

    10.08.2018 в 15:47 (Тарахтелка)
    Ну что ж, регулятор с новой платой и прошивкой ожил, но надо уточнять математику. Если выставить ПИД на большой скорости, то там стоит как влитой, но на малых не хватает (просадка, потом восстановление за 2 сек). Если выставлять ПИД на малой скорости - то на малой держит железно, а на большой уже начинает дергаться.

    Я не хочу пока фантазировать о причинах такого поведения, т.к. придерживаюсь простого принципа - если есть явно кривой код, то надо его сначала выпрямить, а потом разбираться с остальным. Потому что когда кривых мест несколько, то они накладываются, и разбираться в причинах - не рациональная трата времени. А исправлять еще есть что:
    • Грубовато сократили формулу вычисления скорости.
    • Есть накладки с точностью на математике с фиксированной точкой, и погрешность не поддается нормальной оценке.
    • Остались "магические константы" (зависят от параметров двигателя).
    Что можно на эту тему предпринять?
    • Напарник пообещал за выходные
    ...
    Категории
    Железо
  7. Исправления в регуляторе

    09.08.2018 в 18:03 (Тарахтелка)
    https://easyeda.com/speed/AC-speed-control-for-grinder

    В прошлый раз писал, что в регуляторе концы с концами слегка не сошлись. Бывает. Для тех кто не занимается профессиональным проектированием приводов, ниже подробности. Возможно кому-то они будут полезны.

    АЦП

    Не учел импеданс цепочки, через которую меряется входная синусоида. В итоге измерялку слегка перекосило. Выпилил резистор между делителем и входом АЦП, не нужен он. Заодно, на всякий случай, поставил защитную сборку из диодов шодки. В основном от отрицательного напряжения, чтобы не юзать внутренние защитные диоды микросхемы (меньше шансов, что отрицательной напругой перекосит мультиплексор ...

    Обновлено 10.08.2018 в 14:23 [ARG:5 UNDEFINED]

    Категории
    Железо
  8. Новости отладки регулятора скорости

    06.08.2018 в 19:29 (Тарахтелка)
    Жизнь не перестает удивлять. Помимо всяких рабочих моментов в регуляторе вылезли вещи которые сложновато вообразить:
    • Симистор иногда сам открывается на весь полупериод. Хотя он понтовый 3Q snubberless (bta16-cwrg).
    • Прерывания ADC (после каждой выборки из 4 каналов), несмотря на передачу данных через DMA, съедают подозрительно много ресурсов. На остальное уже не хватает.
    Это немного неожиданно, но не фатально. Будем лечить.
    • К симистору временно привернули снаббер (и он сразу заработал как надо). Дальше будем заменять управляющую опторазвязку MOC3023 на MOC3052. Натыкался в интернетах на такой странный рецепт.
    • Логику выборки из АЦП переделаем. Будем выгребать по DMA в цикле сразу 16х4 отсчетов, с прерыванием на середине и конце. А вместо таймера - поллинг внутри main (кривовато конечно, но в данных обстоятельствах приемлимо).
    Победа всё ближе
    Метки: stm32
    Категории
    Железо
  9. Продолжение квеста с регулем бормашинки и PlatformIO

    28.07.2018 в 05:02 (Тарахтелка)
    Переписали математику в регуле на фиксированную точку. В принципе неплохо вышло. "Сложных" делений осталось 3 штуки на итерацию. Это когда F16 (sign + 15 bits + 16 bits) делим на F16. Если надо делить на целое число - это обычное целочисленное деление. Умножение F16 на F16 и так быстрое. При условии, что процессор поддерживает аппаратное умножение и деление, операции с фиксированной точкой сводятся к ним довольно эффективно. Кому интересно - смотрите исходники https://github.com/PetteriAimonen/libfixmath. Еще надо было считать арккосинус, чтобы "линейно" откусывать "напряжение" от синусоиды, это просто забил в таблицу, сразу с нужным смещением и масштабом.

    Проца на глаз жрется около 25-40%. Это при частоте квантования 40 килогерц. Есть подозрение, что ...
    Метки: stm32
    Категории
    Железо
  10. stm32

    08.11.2011 в 14:27 (leprud's Blog: Mini-X)
    Что-то я совсем забыл уже, как работать с кортексами, решил освежить, заказал (и уже получил) занятную платку с stm32 с различной памятью на борту.

    Как выяснилось, забыл я почти все, а тут еще и новые фичи появились.
    В "новой" ревизии Y встроенный бутлоадер (BOOT0=1) запускает скачивание не только по уартам/канам, но еще и по юсб!
    Значит можно забыть про написание своего бутлоадера второго уровня и не помнить о смене адресов ROM и NVIC.
    Как плюс, если на плате есть юсб - не нужен никакой программатор или переходник, все и так получится запрограммировать.

    Познавание воспоминаний наверно разобью на несколько этапов:
    1. Банальный blinky
    2. blinky, управляемый по виртуальному ком-порту
    3. fat16 mass storage с хранилищами в sram (встроенная и внешняя) и в nand flash
    4. обновление встроенного флеша из файла в хранилищах
    5. DCMI (от ...

    Обновлено 09.11.2011 в 01:18 [ARG:5 UNDEFINED]

    Метки: stm32
    Категории
    Без категории