Тёмный

Энкодер 🕹️ и STM32 подключение (на CMSIS и HAL) 

Cxemka Com
Подписаться 2,4 тыс.
Просмотров 11 тыс.
50% 1

📝 Статья: cxemka.com/71-...
🏷️ KY-040 360 Degrees EC11 (0.71💲): ali.ski/H-gY0_
🏷️ 360 Degrees Rotary Encoder (0.46💲): ali.ski/NrPIM
🏷️ USB Logic Analyze 24M 8CH (4.69💲): ali.ski/RFBZY
🏷️ Logic Analyzer 24M 8CH (5.30💲): ali.ski/pRABTt
🏷️ STM32F030F4P6 Board (1.20💲): ali.ski/jiIOj2
🏷️ 0.91 inch OLED (1.42💲): ali.ski/8JgXx
🏷️ SG90 Servo 9g (0.77💲): ali.ski/Z3Qe_
🛒 Мой мультиметр T21D RM113D (13.81💲): ali.ski/ED0syl
↪️ GitHub: github.com/Ego...
#stm32 #cmsis #hal #stm32cubeide
✒️ Благодаря возможности работы некоторых таймеров с накопительным (инкрементальным) энкодером его можно подключать аппаратно. Таким образом после настройки и подключения изменения в счетчике будет происходить независимо. Но кроме обычной настройки рассмотрен способ определять вращение путем настройки прерывания по триггеру .

Опубликовано:

 

28 сен 2024

Поделиться:

Ссылка:

Скачать:

Готовим ссылку...

Добавить в:

Мой плейлист
Посмотреть позже
Комментарии : 56   
@andreiefimov9666
@andreiefimov9666 3 года назад
Спасибо за детальное пояснение. У Вас хорошо получается: по делу и коротко. Продолжайте в том же духе!
@ivangolubov4931
@ivangolubov4931 9 месяцев назад
Тоже начинал c CMSIS. Новичку конечно сложновато, но зато один раз разобравшись дальше всё идёт по накатанной.
@world_conspiracy
@world_conspiracy 3 года назад
Хотел посмотреть пример работы с энкодером на CMSIS, но ещё и гуглить правильно научился))
@OhrimenkoDI
@OhrimenkoDI 3 года назад
Отличное видео! Без воды, все по делу!
@slavaglow6933
@slavaglow6933 3 года назад
Спасибо, очень полезно. Продолжайте, лайк и подписка.
@CanchezAK
@CanchezAK 3 года назад
Внезапно, очень толково... Мужик, продолжай, прямо вот всё идеально показано и рассказано.
@sebastianangelo2054
@sebastianangelo2054 3 года назад
i guess it's kinda randomly asking but do anybody know a good site to watch new series online ?
@xavierkoda9531
@xavierkoda9531 3 года назад
@Sebastian Angelo i dunno atm I've been using Flixportal. just search on google after it :D -xavier
@sebastianangelo2054
@sebastianangelo2054 3 года назад
@Xavier Koda thank you, I went there and it seems to work :) I really appreciate it !
@xavierkoda9531
@xavierkoda9531 3 года назад
@Sebastian Angelo You are welcome :)
@Chettuser
@Chettuser 3 года назад
Благодарю! Особенно за CMSIS.
@SmNikolay
@SmNikolay 3 года назад
Хорошее видео. Не подскажите как работать с энкодером(hal timer) который дает полный импульс за 2 щелчка?
@sskdll
@sskdll 3 года назад
Спасибо за видео! Мне не понятно зачем нужна приставка UL. то что это unsigned long понятно, но вот в чем разница между ( 0x1
@dinvinchester3353
@dinvinchester3353 Год назад
В том что ul ансигнед Лонг а 0x1 скорее всего инт или int8_t короче это уточнение для компилятора какого типа будет переменная
@ivanrusev2270
@ivanrusev2270 3 года назад
В режиме Энкодера прерывания не включают.И при включеня шим вывода также не включают
@micromaster4405
@micromaster4405 Год назад
Почему же?
@ivanrusev2270
@ivanrusev2270 Год назад
@@micromaster4405 Есть примеры.Но я их не прописывал.По крайне мере в AVR .Ну хоорошо а прерывание по таймеру и ДМА по таймеру совместимы?
@micromaster4405
@micromaster4405 Год назад
@@ivanrusev2270 думаю да, так как по идее дма и прерывания разные блоки, и коллизий быть не должно
@МихаилКононенко-ж3ю
Никогда небыло и вот опять!! Попался видос как прикрутить энкодер к стм32. И мне сразбегу в лоб начинают объяснять что это и для чего😡😡. Пойду на дром ёмобиль искать.
@LMTS100
@LMTS100 3 года назад
Давно ничего толкового по CMSIS не видел. Спасибо + Like
@sledleo
@sledleo 3 года назад
Вот это заход по CMSIS, шикарно! Ждем еще!
@dobroliub1908
@dobroliub1908 3 года назад
Как же хорошо что о CMSISe с её регистрами не забываете, плюс еще и HALL ...Моё почтение!) и дальше так держать!! всё очень толково изложено. Всегда предпочитаю понимать что и где у меня в коде происходит, а не тонуть в куче библиотек..Возможно на HALL и перейду, но пока об этом рано говорить)) Спасибо Вам за моё сэкономленное время!
@IvanIvanov-ny4nz
@IvanIvanov-ny4nz 3 года назад
Спасибо. Интересное видео. Продолжайте снимать про STM32.
@serggorod7916
@serggorod7916 3 года назад
Mustech MS8220R Лучший тестер! но и в описании совсем хорош,единственное что не УДОБНО КНОПКА ВКЛЮЧЕНИЯ. ТЕХНИЧЕСКИЕ ХАРАКТЕРИСТИКИ Выбор пределов измерений автоматический/ручной Максимальное значение индикатора 5999 Диапазоны измерения постоянного напряжения 6/60/600В ±0.5%, 1000В ±0.8% Диапазоны измерения переменного напряжения 6/60/600В ±0.8%, 1000В ±1.0% Диапазоны измерения постоянного тока 600/6000 мкА/60/600 мА ±1.2%, 10A ±1.5% Диапазоны измерения переменного тока 600/6000 мкА/60/600 мА ±1.5%, 10A ±2.0% Диапазоны измерения частоты 6000Гц - 60Мгц Диапазоны измерения сопротивления 600 Ом/6/60/600 кОм/6 MОм ±1.0%,60Ом ±1.5% Диапазоны измерения температуры t°C -40°C ~ 1000°C±2.9% Диапазоны измерения емкости 6 нФ - 6000 мкФ Прозвонка цепей на проводимость есть Tест диодов, транзисторов есть Автоматическое отключение питания есть (Cо звуковым сигналом!) Удержание данных на дисплее (Data Hold) есть Источник питания 6F22(9В) Габариты 195 x 92 x 43 мм ИК КОМ ПОРТ. реальные значения (тру РМС)
@42Only-b1z
@42Only-b1z 3 месяца назад
почему у меня имя константы (тип uint8_t) подчеркивается красным? при наведении на имя отображается вот такое предупреждение warning: no previous extern declaration for non-static variable 'name'
@masterkit9517
@masterkit9517 3 года назад
Хочу сделать отправку в USB через дескриптор из примера джойстика миди сообщение, подключил миди устройство отлично на STM32 103 определили fruity loops и любые муз. редакторы, а вот упаковать не могу сообщение и отправить, нашел потом пример джойстика очень хороший, там есть упаковка байта или двух, но все равно не сообразил, новичку трудно очень, вы явно разобрались бы, слушал ваше видео с открытым ртом, кому не задавал вопрос только мямлили что-то невнятное, даже самые крупные каналы оказывались мыльными пузырями. На вашем канале нашёл больше чем на самых "громких" каналах по STM32 где даже не ответят на комментарий, а тем более как миди 2 байта отправить уже известному дескриптору, подключенному в муз.редактор, никто не помог, отпинали ногами только всюду( у вас хоть приятно послушать уроки, нигде не было того что есть у вас. Ни по сдвиговым регистрам ни по serial. Уверен миди тема вам легко бы далась, я смеюсь с предыдущих "гуру" которые 2 байта даже не подсказали как послать и куда. А как реклама на их каналах, так профессоры все.
@masterkit9517
@masterkit9517 3 года назад
CDC_Transmit_FS((uint8_t*)"0x90",strlen("0x90")); передает как строку данные в ком порт, а как передать в виде HEX ? в ардуино было SERIAL.WRITE (0x90); отлично работало, а как в STM32, пишу вам вопрос, так как вы практически единственный кто может ответить, остальные пустое место
@TDMLab
@TDMLab 3 года назад
Огонь👍
@cxemkacom3623
@cxemkacom3623 3 года назад
о, какие люди я подписан на вас)
@TDMLab
@TDMLab 3 года назад
@@cxemkacom3623 а я на вас) сейчас смотрю про дребезг. Подача мне нравится, желаю успехов в развитии канала.
@masterkit9517
@masterkit9517 3 года назад
Умница!
@Diamond8822
@Diamond8822 3 года назад
Очень обстоятельно и без воды! лайк и подиписка
@MrSergej72
@MrSergej72 3 года назад
Такого ещё не видел на Ютубе, Лайк !!!
@Argonec
@Argonec 3 года назад
Если не оскорбит , подскажите пожалуйста как изменить " направление вращения " энкодера при аппаратной реализации на HAL . Спасибо . P.S. Искал , гуглил , не получилось .
@cxemkacom3623
@cxemkacom3623 3 года назад
поменять местами выводы DT и CLK физически
@bogdanzayatsastronomyandna4722
@bogdanzayatsastronomyandna4722 3 года назад
@@cxemkacom3623 а програмно в мк?
@cxemkacom3623
@cxemkacom3623 3 года назад
@@bogdanzayatsastronomyandna4722 только средствами мк походу нельзя: The count direction correspond to the rotation direction of the connected sensor. Можно попробовать в прерывании свою переменную увеличивать/уменьшать проверкой в регистре TIM3->CR1 бита направления DIR. Depending on the sequence the counter counts up or down, the DIR bit in the TIMx_CR1 register is modified by hardware accordingly. The DIR bit is calculated at each transition on any input (TI1 or TI2), whatever the counter is counting on TI1 only, TI2 only or both TI1 and TI2.
@masterkit9517
@masterkit9517 3 года назад
@@bogdanzayatsastronomyandna4722 А если там поставить ! знак инверсии?
@olegp.3012
@olegp.3012 2 года назад
Направление вращения програмно меняется изменением Polarity c Rising Edge на Falling Edge в CubeMX. Polarity это немного не то, что автор озвучил. Сам же счетчик будет считать любое изменение сигнала на ножке мк, т.е. за один щелчек CNT будет увеличиваться на 2.
@clora1136
@clora1136 3 года назад
Вроде как вы при подтяжке забыли отрицание маски сделать. Я на гите оставил задачу с пояснением.
@ebjikkolu4757
@ebjikkolu4757 2 года назад
Когда речь зашла о сравнении занимаемой программой памяти я закрыл глаза и заткнул уши
@statstopfinish
@statstopfinish 3 года назад
Хорошо подана информация. Так держать.
@lsdlsd6036
@lsdlsd6036 2 года назад
Я обескуражен данным видео
@artvk8294
@artvk8294 3 года назад
Круто. Спасибо!
@statstopfinish
@statstopfinish 3 года назад
Все хорош, работает, но какого фига он считает по два значения за один щелчок энкодера . Ведь режим энкодера стоит TI1
@olegp.3012
@olegp.3012 2 года назад
Так и должно быть, значение счетчика изменяется при любом изменении сигнала на ножке мк, посмотрите рисунки в referens manual. Обрабатывайте значение счетчика програмно.
@ИванВасильев-т4ш
@ИванВасильев-т4ш 2 года назад
@@olegp.3012 А в ролике видно, шо переменная изменяется на один, как- так-то?
@olegp.3012
@olegp.3012 2 года назад
@@ИванВасильев-т4ш за один "щелчек" сигнал на ножке мк меняется дважды - с высокого на низкий и опять с низкого на высокий. Оба эти события изменяют регистр CNT счетчика в одну сторону. Никто не запрещает зафиксировать промежуточное значение счетчика для красивого видео. Если вести счет по двум ножкам, счетчик будет изменяться на 4 единицы.
@ИванВасильев-т4ш
@ИванВасильев-т4ш 2 года назад
@@olegp.3012 Тобиш чтобы переменная менялась на один, надо TIM->CNT делить на 4 (при счете с двух выходов), окай, а в ролике нет этого и переменная меняется на один, как так?
@olegp.3012
@olegp.3012 2 года назад
@@ИванВасильев-т4ш думаю, автор ролика крутит энкодер плавно и ловит промежуточные значения счетчика между щелчками. Весь код есть в видео, вы уже повторили его в железе? На сколько изменяется значение?
@АлександрШниперсон-г5м
Вот это ДА!!! Вот это подача! Никакого жевания соплей! Всё чётко , развёрнуто и информативно. Подписываюсь однозначно.
Далее
Se las dejo ahí.
00:10
Просмотров 2,2 млн
Редакция. News: 136-я неделя
45:09
Просмотров 984 тыс.
STM32: PWM шаг за шагом на STM32CubeIDE
10:51
Уроки Arduino. Работа с энкодером
10:55