Энкодер 🕹️ и STM32 подключение (на CMSIS и HAL)
Ғылым және технология
📝 Статья: cxemka.com/71-podklyuchenie-e...
🏷️ 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/Egoruch/Incrementa...
#stm32 #cmsis #hal #stm32cubeide
✒️ Благодаря возможности работы некоторых таймеров с накопительным (инкрементальным) энкодером его можно подключать аппаратно. Таким образом после настройки и подключения изменения в счетчике будет происходить независимо. Но кроме обычной настройки рассмотрен способ определять вращение путем настройки прерывания по триггеру .
Пікірлер: 55
Внезапно, очень толково... Мужик, продолжай, прямо вот всё идеально показано и рассказано.
@sebastianangelo2054
2 жыл бұрын
i guess it's kinda randomly asking but do anybody know a good site to watch new series online ?
@xavierkoda9531
2 жыл бұрын
@Sebastian Angelo i dunno atm I've been using Flixportal. just search on google after it :D -xavier
@sebastianangelo2054
2 жыл бұрын
@Xavier Koda thank you, I went there and it seems to work :) I really appreciate it !
@xavierkoda9531
2 жыл бұрын
@Sebastian Angelo You are welcome :)
Давно ничего толкового по CMSIS не видел. Спасибо + Like
Спасибо за детальное пояснение. У Вас хорошо получается: по делу и коротко. Продолжайте в том же духе!
Как же хорошо что о CMSISe с её регистрами не забываете, плюс еще и HALL ...Моё почтение!) и дальше так держать!! всё очень толково изложено. Всегда предпочитаю понимать что и где у меня в коде происходит, а не тонуть в куче библиотек..Возможно на HALL и перейду, но пока об этом рано говорить)) Спасибо Вам за моё сэкономленное время!
Вот это заход по CMSIS, шикарно! Ждем еще!
Хотел посмотреть пример работы с энкодером на CMSIS, но ещё и гуглить правильно научился))
Огонь👍
@cxemkacom3623
3 жыл бұрын
о, какие люди я подписан на вас)
@TDMLab
3 жыл бұрын
@@cxemkacom3623 а я на вас) сейчас смотрю про дребезг. Подача мне нравится, желаю успехов в развитии канала.
Спасибо. Интересное видео. Продолжайте снимать про STM32.
Тоже начинал c CMSIS. Новичку конечно сложновато, но зато один раз разобравшись дальше всё идёт по накатанной.
Такого ещё не видел на Ютубе, Лайк !!!
Очень обстоятельно и без воды! лайк и подиписка
Отличное видео! Без воды, все по делу!
Вот это ДА!!! Вот это подача! Никакого жевания соплей! Всё чётко , развёрнуто и информативно. Подписываюсь однозначно.
Благодарю! Особенно за CMSIS.
Спасибо, очень полезно. Продолжайте, лайк и подписка.
Умница!
Хорошо подана информация. Так держать.
Круто. Спасибо!
Я обескуражен данным видео
Когда речь зашла о сравнении занимаемой программой памяти я закрыл глаза и заткнул уши
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 мм ИК КОМ ПОРТ. реальные значения (тру РМС)
Хорошее видео. Не подскажите как работать с энкодером(hal timer) который дает полный импульс за 2 щелчка?
Вроде как вы при подтяжке забыли отрицание маски сделать. Я на гите оставил задачу с пояснением.
CDC_Transmit_FS((uint8_t*)"0x90",strlen("0x90")); передает как строку данные в ком порт, а как передать в виде HEX ? в ардуино было SERIAL.WRITE (0x90); отлично работало, а как в STM32, пишу вам вопрос, так как вы практически единственный кто может ответить, остальные пустое место
Спасибо за видео! Мне не понятно зачем нужна приставка UL. то что это unsigned long понятно, но вот в чем разница между ( 0x1
@dinvinchester3353
Жыл бұрын
В том что ul ансигнед Лонг а 0x1 скорее всего инт или int8_t короче это уточнение для компилятора какого типа будет переменная
почему у меня имя константы (тип uint8_t) подчеркивается красным? при наведении на имя отображается вот такое предупреждение warning: no previous extern declaration for non-static variable 'name'
Хочу сделать отправку в USB через дескриптор из примера джойстика миди сообщение, подключил миди устройство отлично на STM32 103 определили fruity loops и любые муз. редакторы, а вот упаковать не могу сообщение и отправить, нашел потом пример джойстика очень хороший, там есть упаковка байта или двух, но все равно не сообразил, новичку трудно очень, вы явно разобрались бы, слушал ваше видео с открытым ртом, кому не задавал вопрос только мямлили что-то невнятное, даже самые крупные каналы оказывались мыльными пузырями. На вашем канале нашёл больше чем на самых "громких" каналах по STM32 где даже не ответят на комментарий, а тем более как миди 2 байта отправить уже известному дескриптору, подключенному в муз.редактор, никто не помог, отпинали ногами только всюду( у вас хоть приятно послушать уроки, нигде не было того что есть у вас. Ни по сдвиговым регистрам ни по serial. Уверен миди тема вам легко бы далась, я смеюсь с предыдущих "гуру" которые 2 байта даже не подсказали как послать и куда. А как реклама на их каналах, так профессоры все.
Если не оскорбит , подскажите пожалуйста как изменить " направление вращения " энкодера при аппаратной реализации на HAL . Спасибо . P.S. Искал , гуглил , не получилось .
@cxemkacom3623
3 жыл бұрын
поменять местами выводы DT и CLK физически
@bogdanzayatsastronomyandna4722
3 жыл бұрын
@@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
3 жыл бұрын
@@bogdanzayatsastronomyandna4722 А если там поставить ! знак инверсии?
@olegp.3012
2 жыл бұрын
Направление вращения програмно меняется изменением Polarity c Rising Edge на Falling Edge в CubeMX. Polarity это немного не то, что автор озвучил. Сам же счетчик будет считать любое изменение сигнала на ножке мк, т.е. за один щелчек CNT будет увеличиваться на 2.
В режиме Энкодера прерывания не включают.И при включеня шим вывода также не включают
@micromaster4405
Жыл бұрын
Почему же?
@ivanrusev2270
Жыл бұрын
@@micromaster4405 Есть примеры.Но я их не прописывал.По крайне мере в AVR .Ну хоорошо а прерывание по таймеру и ДМА по таймеру совместимы?
@micromaster4405
Жыл бұрын
@@ivanrusev2270 думаю да, так как по идее дма и прерывания разные блоки, и коллизий быть не должно
Все хорош, работает, но какого фига он считает по два значения за один щелчок энкодера . Ведь режим энкодера стоит TI1
@olegp.3012
2 жыл бұрын
Так и должно быть, значение счетчика изменяется при любом изменении сигнала на ножке мк, посмотрите рисунки в referens manual. Обрабатывайте значение счетчика програмно.
@user-cn9sh9md5e
Жыл бұрын
@@olegp.3012 А в ролике видно, шо переменная изменяется на один, как- так-то?
@olegp.3012
Жыл бұрын
@@user-cn9sh9md5e за один "щелчек" сигнал на ножке мк меняется дважды - с высокого на низкий и опять с низкого на высокий. Оба эти события изменяют регистр CNT счетчика в одну сторону. Никто не запрещает зафиксировать промежуточное значение счетчика для красивого видео. Если вести счет по двум ножкам, счетчик будет изменяться на 4 единицы.
@user-cn9sh9md5e
Жыл бұрын
@@olegp.3012 Тобиш чтобы переменная менялась на один, надо TIM->CNT делить на 4 (при счете с двух выходов), окай, а в ролике нет этого и переменная меняется на один, как так?
@olegp.3012
Жыл бұрын
@@user-cn9sh9md5e думаю, автор ролика крутит энкодер плавно и ловит промежуточные значения счетчика между щелчками. Весь код есть в видео, вы уже повторили его в железе? На сколько изменяется значение?