Емельянов Эдуард Владимирович (eddy_em) wrote,
Емельянов Эдуард Владимирович
eddy_em

О мазохизме

Весь день провел в попытках заставить стабильно работать шаговый двигатель, управляемый "малинкой" непосредственно через ее GPIO (а GPIO пинал в свою очередь драйвер на основе TB6560, купленный мной на ибее еще 2-3 года назад).
Двигатель униполярный, на 1А. От 12В питался крайне неохотно (тарахтел и явно пропускал шаги), подключил БП на 24В. Замучился дергать туда-сюда регулировки torque и decay: то, что на малых скоростях работало тихо и вроде как стабильно, на больших тарахтело; и наоборот. ОК, нам нужны крайне малые скорости (это будет деротатор поля Н2), поэтому успокоился, выбрав деление шага 1/8, decay 0% и torque 100%.
Дальше долго писал элементарный регулятор, который бы позволил на не-realtime машине более-менее стабилизировать ход двигателя. С точностью до десятых долей половины микрошага это вроде бы получилось, и двигатель на звук работал вполне стабильно. Но вот с низкими скоростями просто беда: на любых делениях шага греется двигатель прилично, уменьшить torque для уменьшения нагрева нельзя — тогда вал начинает дергаться как припадочный. В общем, похоже, нужно будет либо ставить редуктор (сейчас оправу призмы Глена двигатель крутит через ременную передачу 1/8), либо придумывать что-то иное вместо шагового двигателя.
Однако, при текущей раскладке одному шагу двигателя соответствует поворот аж на 13.5'!!! Кажется, что это очень много, но вспомним масштаб в Н2: ~1''/мм! На радиусе 1см это даст меньше 0.1'' погрешности, что весьма значительно превышает не то, что сиинг, но даже паспортное качество зеркала.
Но со схемой надо что-то решать: не дело, что движок так греется...
Tags: железяки, рукожопие
Subscribe

  • А что, в С так нельзя?

    Пытаюсь передать в функцию цвет как массив. Функция такая: void Pattern_draw3(Img3 *img, Pattern *p, int xul, int yul, uint8_t colr[3]); И…

  • Ох уж эти ардуинщики!

    Пытался найти, где бы спереть готовый сниппет для работы с датчиками влажности/температуры DHT11/DHT22 под STM32 (на таймере с DMA или хотя бы UART с…

  • Ардуиноподход

    Вот как ни гляну, большинство народу для считывания данных калибровки в BMP/BME280 использует типичный ардуиноподход, как, например, здесь: зачем-то…

promo eddy_em august 17, 2019 12:33 3
Buy for 10 tokens
Юра намедни напечатал корпус для хронометра. Для первого блина получилось неплохо: И еще немного фотографий:
  • Post a new comment

    Error

    Anonymous comments are disabled in this journal

    default userpic

    Your reply will be screened

  • 14 comments

  • А что, в С так нельзя?

    Пытаюсь передать в функцию цвет как массив. Функция такая: void Pattern_draw3(Img3 *img, Pattern *p, int xul, int yul, uint8_t colr[3]); И…

  • Ох уж эти ардуинщики!

    Пытался найти, где бы спереть готовый сниппет для работы с датчиками влажности/температуры DHT11/DHT22 под STM32 (на таймере с DMA или хотя бы UART с…

  • Ардуиноподход

    Вот как ни гляну, большинство народу для считывания данных калибровки в BMP/BME280 использует типичный ардуиноподход, как, например, здесь: зачем-то…