Jump to content

Скорость вращения энкодера


Recommended Posts

Всем привет. Работаю с stm32 менее недели. Есть задание - оформить ПИД регулятор для мотора, но для этого сначала требуется найти скорость вращения энкодера. Он магнитный, идет в комплекте с мотором. Настроил прерывания по таймеру (TIM2 - каждые 30 мс вызывается прерывание) и EncoderMode.

В теле прерываний EncoderMode есть только count++, который просто считает количество тиков, которые произошли при повороте энкодера. В прерывании по таймеру я хотел бы определять разность между прошлым значением count и текущим, но не могу понять, как реализовать такое.

encCount = __HAL_TIM_GET_COUNTER(&htim1);

oldCount = encCount;
мне нужна задержка или что-то подобное между этими строками, поскольку нужна разность между значениями. Кто-нибудь может помочь?
 

Link to comment
Share on other sites

Что-то вы написали - трудное для понимания. 

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

Link to comment
Share on other sites

Вот в этом и дело - "считать импульсы от энкодера за единицу времени". Для нахождения того, сколько импульсов энкодера проходит за опр. время, нужно ведь считать разность между текущим значением и предыдущим, так? Но в прерывании старое значение сразу затирается и принимает новое -разность между ними уже будет равна нулю, и так каждый раз.

Link to comment
Share on other sites

MORNSUN – это не только модули. Собственные микросхемы известного производителя ИП
Производитель популярных модулей электропитания MORNSUN помимо них предлагает также микросхемы ШИМ-контроллеров для AC/DC и DC/DC, микросхемы запуска (стартеры) для этих ШИМ-контроллеров, драйверы интерфейсов RS-485 и CAN и микросхемы изоляторов для гальванической развязки интерфейсов и цифровых сигнальных линий. В некоторых случаях эти изделия превосходят по характеристикам изделия европейских и американских производителей.

Читать статью >>
 

Posted (edited)

Завести ещё одну переменную и класть в не разницу (ваше искомое количество). Либо класть в не значение счётчика, а счётчик обнулять.

Edited by korsaj
Link to comment
Share on other sites

POWER FLASH – новая продукция в линейке поставок Компэл

Компэл стал дистрибьютором компании POWER FLASH, производящей широкий спектр популярных батареек. POWER FLASH производит солевые и щелочные (алкалиновые) цилиндрические батарейки, а также серию литий-диоксидмарганцевых батареек. POWER FLASH выступает OEM-производителем для крупных японских и европейских производителей батареек.

Батарейки POWER FLASH предназначены для самого широкого спектра применений – от бытового до промышленного.

Подробнее>>

17 часов назад, Владимир Манзаров сказал:

encCount = __HAL_TIM_GET_COUNTER(&htim1);

oldCount = encCount;
мне нужна задержка или что-то подобное между этими строками, поскольку нужна разность между значениями. Кто-нибудь может помочь?

Между строчками нужно:

result = encCount - oldCount;

Link to comment
Share on other sites

Экономичность и универсальность: новые DC/DC-преобразователи MORNSUN для ответственных применений
Высокое качество при конкурентной стоимости позволяет DC/DC-преобразователям MORNSUN конкурировать с аналогами ведущих мировых производителей. Продукция данного бренда, такая как семейство UWTH1D, может с успехом применяться в железнодорожных приложениях. Для телекоммуникационного оборудования подходят DC/DC-преобразователи семейств VCB и VCF, для систем распределенного электропитания – малогабаритные импульсные PoL-стабилизаторы напряжения семейства K78, а для автоматизированных системах производства и робототехники, незаменима серия KUB. Есть и уникальные решения, например, миниатюрный DC/DC-конвертер B0505ST16-W5 в корпусе микросхемы, предназначенный для медицинских приборов.

Читать статью>>

Join the conversation

You are posting as a guest. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Guest
Unfortunately, your content contains terms that we do not allow. Please edit your content to remove the highlighted words below.
Reply to this topic...

×   Pasted as rich text.   Restore formatting

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Loading...
 Share

  • Recently Browsing   0 members

    • No registered users viewing this page.
  • Сообщения

    • Измерительный механизм здесь безусловно уже заменён. Поэтому завышены показания переменного напряжения (Я предполагаю , что автор замеряет сетевое 220 вольт  , хотя об этом не сообщает) . В авометре должен быть установлен механизм ИТ с током полного отклонения 150 мкА и длинной стрелкой на ВСЕ шкалы. Начинать нужно с проверки верности показаний на пределе 0,2 мА. Тем более , что в этом случае в измерениях  не будет принимать участия купроксный выпрямитель-весьма ненадёжный элемент , если , конечно, он тоже уже не заменён .Если  заменять купрокс напрямую на диоды Д2  или Д9  может не совпадать шкала переменных напряжений.
    • Самая простая "возможность" - применить зарядку для телефона.
    • Плата из первого поста, отпилена половина, где дроссель и выходной фильтр. Все заводские защиты Урала сохранены.  Шунтирующие кондëры есть, керамика 0,47мк смд и плëнка 0,22мк рыжая, еë видно. В чëм халтура? Все силовые цепи разведены правильно. Собрано конечно не очень красиво. Но вот только не надо начинать песню, что надо было отпилить блок питания и собрать заново весь усилитель.  Покажите фото своих суперских усей, которые вы собирали на 1, 2 кВт и так далее.  Этот усилитель сейчас работает лучше, чем в завоздском исполнении. 
    • После дросселя 60 мкГн конденсаторы есть?
    • Интересно бы увидеть, какое напряжение дает источник тока в вашем применении? А также его разброс в разных режимах (при включенном реле, при отключенном...) А при прикосновении щупов или пальца работает - так это вы внесли в схему дополнительную емкость которая и позволила заработать схеме "как надо" Чтобы работало по уму - рекомендую перевести led-драйвер в режим стабилизации напряжения, а не тока, если есть такая возможность
    • Это правильно. Это верно. Но изначально он является источником напряжения, который ограничивает ток по достижению порога тока. Ток он ограничивает напряжением? Ну если так, по-сермяжному? Конечно всё сложнее, но как влияет работоспособность от пальца?)
    • Если откроете даташит, вопрос отпадёт сразу. Есть ещё ir2153D уже со встроенным диодом. 
×
×
  • Create New...