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.
  • Сообщения

    • Интересно бы увидеть, какое напряжение дает источник тока в вашем применении? А также его разброс в разных режимах (при включенном реле, при отключенном...) А при прикосновении щупов или пальца работает - так это вы внесли в схему дополнительную емкость которая и позволила заработать схеме "как надо" Чтобы работало по уму - рекомендую перевести led-драйвер в режим стабилизации напряжения, а не тока, если есть такая возможность
    • Это правильно. Это верно. Но изначально он является источником напряжения, который ограничивает ток по достижению порога тока. Ток он ограничивает напряжением? Ну если так, по-сермяжному? Конечно всё сложнее, но как влияет работоспособность от пальца?)
    • Если откроете даташит, вопрос отпадёт сразу. Есть ещё ir2153D уже со встроенным диодом. 
    • Что, если взглянуть на проблему с другой стороны? Как вариант - нет неисправности в адаптере, а все дело в неправильно работающем ПО, тем более за 4 года вы могли не раз обновлять ПО своего смартфона, устанавливать разные приложения и т. д... PS почитал тему, такой вариант, похоже, отпадает Или нет... Вряд ли поможет, но попробуйте установить дату в смартфоне, например, 2017 г.
    • Сигнал не симетричный. По входу. У вас плата, разводка кривая. Шунтирующие конденсаторы по питанию.Должны стоять возле транзисторов. У вас их нет. Это серьезный косяк в этом усилителе. Вообщем, с пиаом потянет. А если серьезно. Это халтура чистой воды. Удивительно что еще работает. Вам крупно повезло. Я их никогда не ставил не на одной схеме. Могут влиять. Расчитайте правильно затворные резисторы, диоды убрать.
    • LED-драйвер является стабилизатором ТОКА. А Вам нужен стабилизатор НАПРЯжЕНИЯ.
    • так они и не обязаны это делать. Вы же не заказчик партии чипов, а манагеру розничного ларька абсолютно ровно, что там в памяти.
×
×
  • Create New...