Аналого-цифровое преобразование в контроллерах STM32F1 CubeIDE

  Переглядів 39,639

TDM Lab

TDM Lab

3 роки тому

Привет! Занялся я тут изучением такой интересной штуки как аналого-цифровые преобразователь в STM32.
Интересные сайты: Паяльник cxem.net
ST реализовали эту периферию с крайне богатым разнообраpием вариантов настроек, режимов и установок. Я если честно хотел для себя быстренько пробежаться, но походу этого влип в целую исследовательскую работу, о которой расскажу в этом видео.
***************************************
Для прямой помощи каналу, перевод с банковских карт:
yoomoney.ru/to/4100116712276152
Модули производства TDM Lab: vk.link/tdm_lab
Группа ВК: tdm_lab
Рекомендованная литература:
***************************************
STM32 «Работа с АЦП - независимый режим» zen.yandex.ru/media/id/5eb675...
STM32 ч.1 «Первые шаги» zen.yandex.ru/media/id/5eb675...
Статья про АЦП в моей группе ВК, там код программ в более человеческом виде представлен @tdm_lab-stm32-i-cube-...
***************************************
Учебный проект из видео:
drive.google.com/drive/folder...
***************************************
Алиэкспресс:
**************STM32**************
STM32F103C8T6 Black ali.pub/579d2l
STM32F401CCU6 ali.pub/56s1yb
STM32F411CEU6 ali.pub/56s1yb
STM32F103C8T6 Blue ali.pub/4s0k7j
Программатор ST-Link V2 ali.pub/56weqg
***************************************
3,5" TFT LCD ali.pub/56w5gl
1,8" TFT SPI LCD ali.pub/56w4oe
1,3" OLED I2C LCD ali.pub/56w8vh
ЖК-экран с клавиатурой, 1602 для Arduino Uno ali.pub/56wau2
MAX7219 модуль 8-сегментный ali.pub/56waa1
TM1637 Модуль ali.pub/579dmt
Arduino Mega Atmega2560 ali.pub/56w5jb
Arduino Uno Atmega328p ali.pub/56s0bz
Arduino Leonardo ATmega32u4 ali.pub/56weg5
ESP-12E WeMos D1 WiFi ESP8266 ali.pub/56whd5
Arduino Nano ATmega328 ali.pub/56weyt
Модуль клавиатуры 3 x 4 ali.pub/56w9sx
TTP229L сенсорная клавиатура ali.pub/579pie
Фотоэлектрический модуль ali.pub/56wh5r
ADS1115 АЦП 16 бит ali.pub/56s0mv
MCP4725 ЦАП 12 бит ali.pub/56s2f8
MCP3421 АЦП 18 бит I2C ali.pub/56s17o
MCP23017 12864 128*64 LCD I2C адаптера ali.pub/56w58f
PCF8574 адаптер I2C для LCD ali.pub/56waqd
ACS712 Датчик тока ali.pub/56s27u
nRF24L01+ беспроводной радиомодуль ali.pub/56wgx7
AD9850 DDS генератор ali.pub/56s0yq
SI5351 генератор сигналов 8KHz-160MHz ali.pub/56s3dg
KY-008 лазерный модуль для Arduino ali.pub/56whg9
Реле электромагнитное 5В ali.pub/56wh2u
XL6009 DC-DC Вход: 5-32В Выход: 5-55В в ali.pub/56w5m8
Повышающе-понижающий DC-DC 5A/80 Вт ali.pub/579qeh
AC-DC 12V 1.5A 5V 2A ali.pub/56w9xs
AC-DC 5В/12В/100мА/500мА ali.pub/56w9zx

КОМЕНТАРІ: 191
@user-tj8cd5ym9q
@user-tj8cd5ym9q 3 роки тому
Я люблю и ненавижу алгоритмы ютуба одновременно. Спасибо им за то что рекомендуют такие каналы (хоть и всегда в случайное время). Но когда я спецом искал инфу по стм, поиск выдавал всякую дичь от "обзорщиков" посылок с али. Даже на английском толком ничего не было. "Электроника в объективе" разве что, единственное. И тут ты) Сжато, по делу, без отсебятины, видно что проделан большой анализ, примеры, юмор. Подписка однозначно, спасибо за проделанную работу, и то что делишся этим.
@TDMLab
@TDMLab 3 роки тому
Спасибо за отзыв!
@kalobyte
@kalobyte 2 роки тому
тоже искал, как измерять пульсации компутерных бп на стм32 и сможет ли она ничего не мог найти и вот сейчас случайно нашел, но еще не досмотрел до конца самое интересное, что в гугле вообще нет проектов для тестирования компутерных бп с нагрузкой, замером времени сигнала пг и пульсациями по 3м напряжениям вот решил сделать такой тестер, если осилю
@artvk8294
@artvk8294 3 роки тому
Спасибо. Самое лучшее изложение сложного материала.
@AErS_LIFE
@AErS_LIFE 2 роки тому
Спасибо! Побольше бы подобных видео с практическим кодом и примером. Лайк в две руки)
@ileyka
@ileyka 2 роки тому
Редко показывают процесс отладки так подробно, спасибо!)
@maraul.
@maraul. Рік тому
Местами неструктурированная подача, но в целом очень полезная информация. Спасибо большое.
@user-mn9qb6jt5m
@user-mn9qb6jt5m 3 роки тому
Огонь материал! И подача тоже👍
@ROMANMENCHISH
@ROMANMENCHISH 2 роки тому
СПАСИБО ЗА ВАШ ТРУД! НЕ ВСЕ ПОНЯТНО, НО ОЧЕНЬ ИНФОРМАТИВНО)))
@Evgen-Evgen-Evgen
@Evgen-Evgen-Evgen 3 роки тому
Круто! Хоть кто-то про STM рассказывает, спасибо.
@andrewdronsson9028
@andrewdronsson9028 3 роки тому
Владимир Мединцев много рассказывает.
@Evgen-Evgen-Evgen
@Evgen-Evgen-Evgen 3 роки тому
@@andrewdronsson9028 Подписался, спасибо
@stels7776
@stels7776 3 роки тому
NR.electronics (STM32. CMSIS #0. Основные команды)
@user-en9sm7ed9g
@user-en9sm7ed9g 2 роки тому
@@andrewdronsson9028 Сорри, но по сравнению с этим спикером его видео много слабее, особенно последние. Такое впечатление что он уже темы выдавливает из себя через силу и с большой неохотой.
@andrewdronsson9028
@andrewdronsson9028 2 роки тому
@@user-en9sm7ed9g А чего "сорри"? Я ведь не Мединцев. :-)
@itsm1448
@itsm1448 3 роки тому
Спасибо за видео! Очень круто!
@eugenevladoff2758
@eugenevladoff2758 Рік тому
Очень круто! Много информации полезной для меня.
@Diamond8822
@Diamond8822 3 роки тому
Просто великолепно!
@user-qn3ui5eq1r
@user-qn3ui5eq1r 3 роки тому
Классная работа.. Спасибо..
@user-en9sm7ed9g
@user-en9sm7ed9g 2 роки тому
Весьма полезное видео как для новичков, так и для осваивающих CubeIDE. Честно говоря, я всегда считал что Халовская стандартная инициализация производит калибровку АЦП по умолчанию! Надо будет проверить!
@antonGoldinov
@antonGoldinov 3 роки тому
Очень круто, лайк!
@decardk4903
@decardk4903 3 роки тому
Развивай проект !!! Жду следующих серий ))
@oops1vc
@oops1vc 3 роки тому
Отлично рассказал, подпишусь пожалуй
@user-ou2ez3bp4d
@user-ou2ez3bp4d 2 роки тому
Шикарно, как придет блэк пилл надо будет попробовать. Но не сразу...
@user-hi5fy6wv5j
@user-hi5fy6wv5j Місяць тому
Точно, лайк. Как то пропустил это видео. Зато сегодны было что посмотреть под чаёк. Страдания с экселем и переделка ст-линк это самое то, что нужно увидеть за завтраком, а хорошее переваривание пищи гарантируют кадры в конце, на которых нормальный осциллограф. Спасибо за видео!
@andrewdronsson9028
@andrewdronsson9028 3 роки тому
Лайк заслуженный. Аж захотелось повторить. Только не на синей пилюле, а на STM32F4DISCOVERY, которая у меня есть. Есть DISCOVERY и с дисплейчиком, но она уже не моя, с работы.
@vladimirivanov6837
@vladimirivanov6837 3 роки тому
ждём продолжения
@leoned1797
@leoned1797 3 роки тому
Однозначно подписываюсь
@mslq
@mslq 3 роки тому
Синхронизация это вообще большая тема, сейчас занимаюсь синхронизацией между двумя одинаковыми платами которые на расстоянии 10 метров, и ещё через скользящий контакт, точность синхронизации должна быть не хуже джиттера програмо-аппарата.
@zcbesaba
@zcbesaba 3 роки тому
да, сильно, и концовка тоже
@user-xw4nh5dv6h
@user-xw4nh5dv6h 3 роки тому
Krasava!
@EvgenMo1111
@EvgenMo1111 2 роки тому
спасибо!
@taburyak
@taburyak 3 роки тому
Супер! Молодец!
@user-pz1cf2ck9w
@user-pz1cf2ck9w 2 роки тому
Очень полезное видео.
@ALCohol-qu7ib
@ALCohol-qu7ib 3 роки тому
Не.. Ну это просто шедеврально! Не зря подписался))) Ну и букАфф поболее в коммент, а то говорят, что если меньше восьми слов, то Ютуб такой коммент тупо игнорит... А этот видос в топ продвигать нужно! )))
@TDMLab
@TDMLab 3 роки тому
Спасибо за поддержку!
@user-ou2ez3bp4d
@user-ou2ez3bp4d 2 роки тому
@@TDMLab А вы можете рассказать о качественной хороших комплектующих, которые стоит взять на али начинающему? С нюансами, т.с. Что стоит брать, а что не стоит.
@DjSasMaster
@DjSasMaster 3 роки тому
Очень Интересно... Подписался...
@kirillurvancev2116
@kirillurvancev2116 3 роки тому
Я, который впервые вижу стм,ничего пока не понял.Но понимаю,что материал,который сделал автор нигде так просто не получить.Спасибо.Надо начинать будет изучать данного покемона
@dkmcdk724
@dkmcdk724 2 роки тому
Даташит, анпоут? Не, не слыхал !
@user-wq4ft4gy2l
@user-wq4ft4gy2l 2 роки тому
классный видос)) будут еще по cube уроки? по осциллографу хотелось бы увидеть подробное видео
@vasiliyt9827
@vasiliyt9827 Рік тому
однозначно лайк, даже с каждого АЦП по лайку, а в STM4xx их вроде даже три и все можно запускать последовательно... )))))
@dmitrynuzhdin
@dmitrynuzhdin 2 роки тому
Блин, очень круто. Я думал разрешение у такого осциллографа будет намного ниже! У меня пока нет осциллографа, зато валяется blue pill, - попробую себе запилить такой, есть одна задачка в проекте где хотелось-бы посмотреть осциллографом как у меня ключик открывается в boost конвертере.
@user-ct8jy3pn3g
@user-ct8jy3pn3g 2 роки тому
ХА! Я себе пилил. Так ниче не запилил:) Только делал различный код по просьбам форумчан...
@aleksandrzakutnyy4450
@aleksandrzakutnyy4450 3 роки тому
о многозадачности хотелось бы услышать ваши мысли... конкретно например для привода и без ОС
@goiiia3774
@goiiia3774 3 роки тому
Достойно, лайк ! Можно ещё применить стробирование, можно будет детальнее рассмотреть повторяющиеся сигналы на высокой частоте. Ну а если совсем по взрослому, то можно припаять к СТМке AD9288BSTZ
@mslq
@mslq 3 роки тому
А смысл? 12 бит менять на 8 бит это нафига, любой бюджетный осциллограф на этом сидит.
@goiiia3774
@goiiia3774 3 роки тому
@@mslq , у осциллов не в битах счастье, а в их скорости )
@Ais_Hunt
@Ais_Hunt 9 місяців тому
Вау, точки остановки, дебаг с заглядыванием в голову мк, и всё это на довольно большой скорости с удобной настройкой, AVR нервно курит в сторонке))
@lionlinux
@lionlinux 3 роки тому
как вариант сделать прошивку выдающую данные похожие на что-то что поддерижвает sigrok можно было бы и для мобильного pulsview и для компьютера использовать простой осцилл
@andrejv____5051
@andrejv____5051 2 роки тому
👍👍👍👍
@user-ct8jy3pn3g
@user-ct8jy3pn3g 2 роки тому
Отличный видос! Хотелось бы увидеть такое же, но на примере Atmega. А то в сети ходит инфа, что АЦП у Атмеги работает быстрее, чем в СТМ. Или они может просто не умеют их готовить?
@freeshooter3163
@freeshooter3163 3 роки тому
Да ладно, лайк :) Уболтал
@td_44
@td_44 12 днів тому
СУПЕРМЕГАЛАЙК.😂👍
@ciklomat
@ciklomat 3 роки тому
Ну ты суперМЭН , я думал что не существует таких настойчивых и глубоко капнувших спецов.Все привыкли что есть библиотека воткнул в нее данные и всё. Но все же было бы прикольней ,если не используя библиотеку HALL проделать все то же самое!
@TDMLab
@TDMLab 3 роки тому
А так итог то будет один, что HAL, что без. Максимум 1MSPS и 2MSPS, если не говорить о разгоне. На CMSIS имеет смысл если по какой-то причине нужно АЦП в прерывании обрабатывать.
@nikitoss1108
@nikitoss1108 3 роки тому
Посмотри проект HScope, можешь даже в принципе повторить его и посмотреть на производительность, ну и видос о нем снять)
@CJRimshot
@CJRimshot 3 роки тому
Hscope - это приложение на андроид. причём тут проект, что повторять?)
@nikitoss1108
@nikitoss1108 3 роки тому
@@CJRimshot изначально автор делал это приложение для своих самодельных осциллографов на stm32, например hs102, hs401, вся информация о которых есть на том же сайте, где и информация о приложении. Если бы получше погуглили, может и не задавали бы такие вопросы)
@CJRimshot
@CJRimshot 3 роки тому
@@nikitoss1108 на данный момент это просто достаточно мощное приложение, которое докупают в пару к instrustar или hantek. поддержка этих самодельных пробников (осциллографом не назвать всё-ж) ещё осталась, конечно, но приложение это переросло. и само приложение не является проектом, который можно повторить. Пробник - да, повторить можно, но это не hscope
@nikitoss1108
@nikitoss1108 3 роки тому
@@CJRimshot посмотрите на схему ваших хантеков, и на схему того же hs102, она в разы проще. И мы обсуждаем тут не крутость осциллографов, а именно осциллографы на стм32, так как видео об этом. Ну и я уже объяснил вам все, а вы все равно придираетесь к словам. И с чего вы взяли что приложение уже не для этих самодельных осциллографов? Автор активно делает новые версии плат и добавляет разные функции, так что вы не правы)
@CJRimshot
@CJRimshot 3 роки тому
@@nikitoss1108 видео не про осциллографы вообще. автор это даже отдельно подчеркнул. видео про изучение стм32. повтор же чужого проекта - это просто повторение схемы и заливка уже готовой прошивки без вникания в нюансы. кстати не сказал бы что схема instrustar 205 сложна. она на первый взгляд пугает, но если количество используемых элементов посчитать то станет ясно, что их немного вообще мне начинает казаться что наш диалог лишен смысла
@bull2044
@bull2044 2 роки тому
В Кеиле можно выводить информацию сразу ввиде графиков онлайн во время отладки, сам использую очень удобно. В кубиде не знаю, но скорей всего, тоже можно
@TDMLab
@TDMLab 2 роки тому
Да, можно, но в данном случае это мне не годилось.
@ninodor26
@ninodor26 3 роки тому
есть готовая удобная программа stmstudio. строит графики переменных загружая их через stlink а так еще uart пользуюсь для отладки. есть прога serialplotter через uart тоже можно отсылать значения и строить графики.
@TDMLab
@TDMLab 3 роки тому
Да, спасибо! Даже в самом cubeIDE есть построение графиков, но что-то мне там не понравилось в реализации, эксель надежнее:) stmstudio посмотрю
@KARMAElectronics
@KARMAElectronics 3 роки тому
@@TDMLab и ему совершенно не обязателен вывод SWO
@Southenwind
@Southenwind 2 роки тому
А как поставить два лайка? Это просто чудесно...
@anatoliinavrockiy8607
@anatoliinavrockiy8607 3 роки тому
Неплохо. Но точки на экране нужно было соединить линиями. Отрисовку все равно же делаешь после преобразования а не во время. Я бы еще посмотрел на возможности АЦП дорогой STM-ки.
@TDMLab
@TDMLab 3 роки тому
Это уже как минимум ru.wikipedia.org/wiki/Алгоритм_Брезенхэма Данная работа не предполагала полноценный осциллограф, а так баловство.
@anatoliinavrockiy8607
@anatoliinavrockiy8607 3 роки тому
@@TDMLab Да, именно этот алгоритм я и имел в виду. Просто смотреть на такое было бы куда приятнее. Тем не менее спасибо за видео. Было интересно.
@alexvmw
@alexvmw 3 роки тому
Круто! А вы не могли бы разобраться с "карманными" осциллографами на STMке? Чую, что уже можно собрать осциллограф размером с мобильный телефон с приличными характеристиками и всего за пару-тройку тысяч рублей. С открытой схемой и прошивкой. Но не могу понять куда копать. Какие проекты смотреть, какие характеристики наиболее важны...
@TDMLab
@TDMLab 3 роки тому
Что-то в сторону STM32 + AD9288 нужно смотреть, как тут в комментариях уже писали. Есть канал GFX там человек по взрослому такое разрабатывает)
@user-kv3lh1ic1t
@user-kv3lh1ic1t 2 роки тому
Институт правды
@vitgo
@vitgo 2 роки тому
кстати, одно время я прикидывал схему осциллографа на stm32f407 с использованием dcmi.. на mco выводил частоту с внешнего ацп брал при помощи dcmi+dma данные (такт mco).. быстродействие dcmi около 40 мгц !!!! но зачем то я полез в аналоговые дебри, а с аналоговыми входными цепями у меня всегда все было очень плохо... и проект заглох... :-( посмотрите, может быть вам понравится ! там правда недостаток в небольшой разрядности если надо 2 канала... на dcmi всего 14 бит данных отведено :-( то есть на два канала только по 7 бит получается...
@44Nemo44
@44Nemo44 2 роки тому
Где посмотреть?
@vitgo
@vitgo 2 роки тому
@@44Nemo44 наверное в даташите.. сам проект не сохранился, это проект где то 2012го года...
@gogaserg
@gogaserg 3 роки тому
Прости, но тут только лайком не обойдется, тут целая подписка с коментами нужна. Спасибо отличная работа!
@albertziatdinov1373
@albertziatdinov1373 3 роки тому
Прямо с языка сняли. Подписался сразу же... 👍👍👍
@zhmekatok
@zhmekatok 3 роки тому
Класс) А синхру как пытался сделать? Ещё что то на сонове этого проэкта делать будешь? ну или этот допилишь?
@TDMLab
@TDMLab 3 роки тому
Вечером скопирую кодик сюда Вообще не хотел продолжать, это просто игрушка:) Для обучения скорее.
@user-en9sm7ed9g
@user-en9sm7ed9g 2 роки тому
STM вас ещё не спонсирует? Думаю стоит послать им предложение, от которого я бы на их месте не смог отказаться. Вы отличный популяризатор, на голову выше аналогичных русскоязычных каналов!
@TDMLab
@TDMLab 2 роки тому
Спасибо на добром слове. У STM есть свои ребята в России, Компел например, так что у меня все на добровольных началах:)
@user-en9sm7ed9g
@user-en9sm7ed9g 2 роки тому
@@TDMLab Компел больше по продажам. Они правда ведут некоторую просветительскую деятельность тоже, но для них это сильно побочная ветка - в основном переводят англоязычные документы и видео от производителей, кстати насколько мне известно не своим силами, а привлекая независимых авторов за гонорары. Мне в своё время тоже предлагали.
@OpenFrimeTVcom
@OpenFrimeTVcom 3 роки тому
полезная инфа) планируешь переходить на LL, или на cmsis. ?
@TDMLab
@TDMLab 3 роки тому
Спасибо за отзыв! Моя концепция написания кода это использовать наивысший уровень абстракции пока в нем возможно выполнить поставленную задачу, для некоторых задач, например работа внутри прерывания, HAL очевидно не оптимальный метод и я использую прямое обращение к регистрам. Я имею ввиду, что можно в одной программе гармонично применять и HAL и CMSIS (с промежуточным LL честно говоря еще не баловался). Вкратце об этом говорил когда рассказывал про прерывания в генераторе ukposts.info/have/v-deo/a4qXZaGrbYdkyGg.html
@olegp.3012
@olegp.3012 3 роки тому
А есть ли смысл изучать LL? Ведь для его эффективного использования все равно нужно знать регистры и вместо изучения одного документа - reference manual, нужно будет дополнительно изучать и user manual с описанием функций драйвера LL.
@olegp.3012
@olegp.3012 3 роки тому
Но от LL не намерен отказываться, ведь все равно приходится делать самописные функции для каких-либо базовых действий (установка высокого или низкого уровня на ножке мк, передача данных в линию или что-то другое), так почему не использовать уже готовые функции LL, быстродействие которых не уступает коду на CMSIS.
@sergnova528
@sergnova528 2 роки тому
а ещё есть программные решения сглаживания данных , чтобы графики были красивее , расскажите об этом ?
@vladimirlevchenko1470
@vladimirlevchenko1470 3 роки тому
🤣👍 Hi, но все выкину свои кирпичи, для калибровки фемтосекундных лазеров , все заменит плата с ALI. ! Как ни как -FEMTOSCOP! Шучу , достойное видео
@TDMLab
@TDMLab 3 роки тому
Ха-ха:))
@Dmitrii82
@Dmitrii82 2 роки тому
Лайк? Да тут лайкище.
@odissey2
@odissey2 2 роки тому
Хотелось бы узнать, каким видеоредактором вы пользуетесь?
@TDMLab
@TDMLab 2 роки тому
Movavi
@remainsmemories626
@remainsmemories626 2 роки тому
ЗВУК КЛИКА МЫШКИ 😫😫 ЗА ЧТО (Но само видео очень классное, всё чётко и понятно, лайк)
@nikmanmar4601
@nikmanmar4601 3 роки тому
Лайк однозначно. У меня вопрос, не могу поменять множитель на ads1115, это глюк библиотеки. Такое впечатление, что выдает постоянную разрядность что по умолчанию.
@TDMLab
@TDMLab 3 роки тому
Какой контроллер, какая библиотека, среда разработки. Не можете поменять множитель pga? Это с разрядностью не связано. Я обычно просто ищу самую популярную библиотеку на github-е, если нужно по быстрому.
@nikmanmar4601
@nikmanmar4601 3 роки тому
@@TDMLab спасибо что ответили, Ардуино, среда Ардуино ide или как то так она называется. Проблема в том, что первый без проблем меняет множитель, а вот второй ни в какую. Какой бы не прописывал все равно х4 (тот что по умолчанию в микросхеме), и у меня ещё вопрос, множитель сохраняется или сбрасывается при отключении питания на default?
@TDMLab
@TDMLab 3 роки тому
@@nikmanmar4601 да не за что. Библиотека из менеджера библиотек или какая-то сторонняя? Как называется? При сбросе питания все регистры идут в default.
@nikmanmar4601
@nikmanmar4601 3 роки тому
@@TDMLab из менеджера, скачал последнюю версию. Но что то все одинаково работает, такое впечатление что привязка по умолчанию к адресу идёт.
@TDMLab
@TDMLab 3 роки тому
@@nikmanmar4601 Библиотека называется Adafruit ADS1X15 ?
@liliansirbu840
@liliansirbu840 2 роки тому
why to not use the integrated USB interface, with CDC(I did not got the 12MBit speed), winUSB or libusb drivers?
@TDMLab
@TDMLab 2 роки тому
This shows the operation of the ADC, not USB. USB is in debug mode.
@user-xg8vs9qv8j
@user-xg8vs9qv8j 3 роки тому
Огонь, но шо там с частотником?)
@TDMLab
@TDMLab 3 роки тому
Будет видео, код и т.д., надеюсь скоро.
@user-xg8vs9qv8j
@user-xg8vs9qv8j 3 роки тому
@@TDMLab очень ждём!
@denisyegorov5109
@denisyegorov5109 3 роки тому
Поддерживаю частотник на STM32
@TDMLab
@TDMLab 3 роки тому
@@kokotmkokot4926 В точку! Сейчас мечусь между STM32F413RG и STM32G474RE, скорее всего буду брать оба:) у первого понравилось наличие аппаратных фильтров для ΣΔ модуляторов. www.st.com/resource/en/data_brief/evalstpm-3phiso.pdf На G4 тоже аппаратные фильтры только я не совсем уверен, что получиться создать 6 аппаратных каналов. НО, независимо от моих планов будет еще окончание с atmega32u4, где всё объясню максимально просто на самом простом контроллере.
@TDMLab
@TDMLab 3 роки тому
@@kokotmkokot4926 По крайней мере 2 фазных тока + 2 фазных напряжения, напряжение шины DC, ток шины DC.
@user-mf6mm7rg5r
@user-mf6mm7rg5r 3 роки тому
Чем и почему лучше управлять выходным напряжением преобразователя, r2r цап, не r2r цап, или цифровым потенциометром?
@TDMLab
@TDMLab 3 роки тому
На этот вопрос нет однозначного ответа, смотря что нужно получить в итоге, какую точность/дискретность установки, что за преобразователь, схема и т.д.
@user-mf6mm7rg5r
@user-mf6mm7rg5r 3 роки тому
@@TDMLab насчёт точности и дискретности думал, что наверное можно отталкиваться от пульсаций на выходе схемы преобразователя, если обычно это значение в хорошем случае 1%, то особо нет смысла в дискретности кратной больше чем 100-200, этого просто не будет заметно. Как раз есть 256 разрядные, насколько понимаю, и цифровые потенциометры и цап. Но кроме разрядности наверное нужно ещё учесть точность выставляемоых цап/патенциометром на его выходе значений и уровень шумов этого выставленного значения. Микросхема преобразователя(дс-дс, дроссельная) и схема для неё стандартная-напряжения с выхода через делитель напряжения подаётся на пин обратной связи микросхемы, напряжение регулируется изменением резисторов в делителе напряжения
@user-ec2jr6pv1s
@user-ec2jr6pv1s 3 роки тому
А работу зная єто все можно найти?
@user-pn6lb1xu3g
@user-pn6lb1xu3g 3 роки тому
Хорошо получилось. Экранчик с большим разрешением наверно уже не потянет?
@TDMLab
@TDMLab 3 роки тому
Все возможно, разница лишь во времени которое потребуется для прорисовки бОльшего разрешения. В DSO138 экранчик побольше и все работает)
@shlemkin
@shlemkin 3 роки тому
даже *ардуино нано с TFT 320х240 вместе со спектром на 128 полос тянет 40+ кадров/сек* ukposts.info/have/v-deo/iKOLmmmuhn6ZyYU.html счетчик ФПС снизу справа, внимайте)) а про stm32 я уже молчу... дма собирает данные с ацп, и все процессорное время наше, рисуй сколько душе угодно)) и 480х320 потянет, и больше потянет, если все правильно делать) особенно, если параллельный интерфейс, а не SPI... это на ардуинке пришлось крепко повозиться, чтоб добиться такой скорости.... особенно с XY-осциллографом... это при одном-то ацп)) ничего, попеременно читаю каналы)) 40 тысяч 2х2 баров/сек... может больше, но уже ацп не дает... TDM Lab - делитель тактового для АЦП ставьте 2, самый маленький. не надо никого слушать, что ацп всего 1мспс может. в фаст интерлив моде с делителем 2 на 72МГц даст около 5 МегаСемплов. при разгоне камня до 128МГц (множитель 16) выдаст 9 MSPS - уже достойно. при этом фронты будут очень крутые, ацп неплох. только очень желателен операционник, но это уже выходит за пределы тестовой безделушки) удач)
@TDMLab
@TDMLab 3 роки тому
@@shlemkin Спасибо! Как синхронизация сделана если данные чисто по дма идут? Алгоритм Брезенхема для происовки? Про экранчик не сомневался, stm зверь) Да, пока готовил видео смотрел статьи и видео о том, что вполне разгоняют и частоту ядра и ацп. Хотя видел и иной подход, покупают на али stm32H750 рублей за 400 и имеют просто мощь))) да еще 3×ADCs with 16-bit 3.6 MSPS
@shlemkin
@shlemkin 3 роки тому
​@@TDMLab нужно буфер с запасом накапливать, например 1024 точки, и уже в готовом буфере перед выводом искать пересечение нужного порога. можно с усреднением ближайших пары точек, чтоб стабильнее работало, а то бывает легкий шумок - и происходит срыв синхры. я на стм для дисплея 480*320 брал 1024 точки, потом в цикле - если начало синхронизации поймали до (длина буфера) минус 480 точек, то выводим с момента синхры, если так и не нашли синхру - ну так и вываливаем как есть... на ардуино в приведенном мною видосе я не использовал никаких алго, ибо ардуино)) на стм - сейчас оторвался шлейф от дисплея, и всё заглохло) жду ф407 (фнирси на ф407 есть типа 500мспс, но реально 250, дальше алгоримы... обманулово), ад9288 и 3,97" 800*480 ips дисплей) тогда заживем)) да и глядя на алгоритмы в китайских осликах я еще больше укрепился, что это зло. можно на частотомер приклеить бумажку с синусоидой - результат тот-же))
@TDMLab
@TDMLab 3 роки тому
@@shlemkin Не сообразил даже сразу, что это на 328p ukposts.info/have/v-deo/iKOLmmmuhn6ZyYU.html Вообще круто!
@clora1136
@clora1136 3 роки тому
Нравится. Интересно что у F4 семейства 3 ацп и можно делать 3 выборки со сдвигом в 1/3 3×12-bit, 2.4 MSPS A/D converters: up to 24 channels and 7.2 MSPS in triple interleaved mode Отладка и без доработки программатора отлично по swd работает и показывает переменные в реальном времени. SWO совсем не обязателен как и RST. Ну это так к слову. О ну хоть кто-то скинул ссылку на инфу по входной емкости АЦП и вытекающему току, а то повесят 10к 0,1uf и удивляются потом. Зачем есть картошку когда есть мясо? Это к моменту с printf дебагом, есть же отладчик. Рядом же вкладка для "живых переменных", имея такой инструмент, swo не нужен в 99,9% случаев, а в остальных все равно не поможет.
@TDMLab
@TDMLab 3 роки тому
Да, согласен, у старших F4 есть 3 АЦП и они могут чередование, прикольная штука:) У младших F401CCU6 или F411CEU6 только 1 АЦП 2.4 MSPS Минусы такой отладки без SWO есть? Еще не разбирался. Кстати с доступом к flash чуть разобрался, не все так просто, латентность зависит от частоты ядра и получается задержка 2 такта flash memory access time при fHCLK > 48MHz (из datasheet на 103/x), то есть в оперативу перекидывать "быстрые" данные смысл есть.
@clora1136
@clora1136 3 роки тому
@@TDMLab это на запись задержка как я понял. Минусы отладки без swo, даже не знаю. Просто вы можете без swo любой объект из объектного .elf смотреть отладчиком в реальном времени. А если участки кода критичны по времени, так и swo не поможет. В целом я обычно использую usb com так что логи в него отправляю. Там несколько аппаратных очередей доступа к памяти, хоть адресное пространство и единое шина допускает несколько параллельных операций доступа к разным адресам. Вы же сами это опробовали с DMA. Так что используйте const и компилятор сам сделает как надо.
@TDMLab
@TDMLab 3 роки тому
@@clora1136 Спасибо, посмотрю эту отладку. А вот с чтением из флеша я подзавис если честно. Понятно, что если поставить const компилятор все организует, но меня не покидает чувство, что чтение из flash медленнее чем из ОЗУ. Полистал вот это PM0075 Programming Manual - STM32F10xxx Есть регистр FLASH_ACR Он определяет Latency These bits represent the ratio of the SYSCLK (system clock) period to the Flash access time. 000 Zero wait state, if 0 < SYSCLK≤ 24 MHz 001 One wait state, if 24 MHz < SYSCLK ≤ 48 MHz 010 Two wait states, if 48 MHz < SYSCLK ≤ 72 MHz Нигде не написано точно, что это задержка на запись или на чтение или и то и то, НО Есть документ PM0059 Programming manual STM32F205/215, STM32F207/217 Flash programming manual а в нем уже четко сказано, что есть задержка на Read: Relation between CPU clock frequency and Flash memory read time Через все тот же регистр FLASH_ACR Просто, как я думаю, IDE этот регистр конфигурирует исходя из той HCLK что я выбрал в MX, и все, а дальше собственно получаешь задержку и знать не знаешь.
@clora1136
@clora1136 3 роки тому
@@TDMLab там вроде как буферизация есть. Сейчас ради интереса посмотрел ACR у cебя 010 т.е 2 Надо бы заставить dma в dac писать из flash и осликом глянуть чего получится. У меня как раз есть 32f100c8
@TDMLab
@TDMLab 3 роки тому
@@kokotmkokot4926 Спасибо, посмотрю
@lyderiscom
@lyderiscom 2 роки тому
#STM32F1 #осциллограф
@user-mm3ly5yk3o
@user-mm3ly5yk3o 3 роки тому
А дотскольки мегагерц этот контролеер может брать сигнал на вход ?
@TDMLab
@TDMLab 3 роки тому
Вопрос не понял, интересует полоса АЦП или максимальная частота GPIO на вход или что?
@vlad2103
@vlad2103 3 роки тому
С парой аналоговых сигналов все более менее ясно, а что делать когда их штук 8? Есть способ быстро читать состояния аналоговых сигналов сразу со всех 8? С частотой выборки хотя бы 100кГц?
@TDMLab
@TDMLab 3 роки тому
Можно читать последовательно до 12 каналов, минимальное время на каждый канал 1us. Используя два АЦП можно читать паралельно-последовательно, 4 канала один АЦП, 4 канала другой. Итого минимальное время для опроса 8 каналов можно сделать 4uS, это 250кГц. В описании есть статья, там описаны режимы АЦП.
@vlad2103
@vlad2103 3 роки тому
Спасибо за Ваш труд! Ждём новых видео
@sergeybalandin6917
@sergeybalandin6917 3 роки тому
Эх, а я обрадовался, прочитал stm32 и решил что про улучшение хантека 2с42 разговор пойдёт.
@TDMLab
@TDMLab 3 роки тому
Ну, уж извините:)
@sergeybalandin6917
@sergeybalandin6917 3 роки тому
@@TDMLab а не пробовали изменить прошивку на ослик 2с42, там столько глюков, а прибор для радиолюбителей очень хороший.
@TDMLab
@TDMLab 3 роки тому
@@sergeybalandin6917 У меня его нет)
@valbob8144
@valbob8144 Рік тому
@@sergeybalandin6917 какие у вас глюки? Пользуюсь прибором года 3 - все отлично.
@RenatRkrkaft
@RenatRkrkaft 3 роки тому
интересно, а есть ли возможность считывать аналоговый сигнал чередуя 3,4,5... каналов АЦП?
@TDMLab
@TDMLab 3 роки тому
В режиме чередования могут работать сами АЦП не каналы, у данной микросхемы 2 физических блока АЦП поэтому можно сделать чередование из 2-х. Существуют контроллеры STM32 c 3-мя и, кажется, даже 4-мя физическими АЦП, поэтому на них есть функции чередования 3-х и 4-х. Каналов АЦП у микроконтроллеров очень много в этой микросхеме 12, в старших до 16-ти. Каналы мультиплицированы, это значит, что там есть внутренний переключатель который соединяет внешнюю ножку МК и вход блока АЦП, но в один момент времени для одного физического АЦП может быть только одно состояние мультиплексора.
@RenatRkrkaft
@RenatRkrkaft 3 роки тому
@@TDMLab ясно, это отлично
@user-tj8cd5ym9q
@user-tj8cd5ym9q 3 роки тому
Cтоит также учитывать analog banwidth самих АЦП, иначе выборок будет много, а на высоких частотах сигнал будет затухать
@RenatRkrkaft
@RenatRkrkaft 3 роки тому
@@user-tj8cd5ym9q заметил у атмеги ацп просаживает измеряемый сигнал тем сильнее чем выше частота опроса АЦП. Заметил на десятках герц
@mslq
@mslq 3 роки тому
В осциллографах делают хитрее, там через микросхему выборка/хранение фотографируют сигнал, при следующем периоде уже сдвинутый и так далее, частота тогда измеряемого периодического сигнала может быть гигагерцы, при довольно медленном ADC.
@lionlinux
@lionlinux 3 роки тому
вот сделать бы драйвер для HSCOPE для Sigrok вот это было бы дело ...
@TDMLab
@TDMLab 3 роки тому
Честно скажу, что считаю промышленные решения в портативных скопах лучшем выходом нежели самоделка. Даже то-же DSO-138 очень хорош за свои деньги, а на написание его прошивки уверен ушла уйма времени.
@lionlinux
@lionlinux 3 роки тому
@@TDMLab :-) у меня С-72 и С-91 ... "портативные" ... на прошивку вообще времени не шло ...
@lionlinux
@lionlinux 3 роки тому
@@TDMLab я считаю, что лучше чем сделать осциллограф не придумать, для объяснения всех принципов работы электроники ...
@lionlinux
@lionlinux 3 роки тому
а на ESP ацп не лучше?
@TDMLab
@TDMLab 3 роки тому
Такой же 12-битный последовательного приближения, на борту два, но использовать можно только один, второй всегда используется совместно с wi-fi. Соответственно нет режимов чередования каналов.
@shlemkin
@shlemkin 3 роки тому
на есп он какой-то неровный и гуляет куда хочет) люди бросают проекты после мучений с ацп...
@user-il7ub4jq8q
@user-il7ub4jq8q 3 роки тому
На Esp32 это гиблое дело. Работает только в одном канале максимум до 200 mhz.
@stels7776
@stels7776 3 роки тому
Была бы возможность я и 1000 лайков поставил, Попал мне в руки nucleo f446re и нашёл на нём очень хороший проект, Повторил но даёт ошибку. В общем я не силён в программировании Keil_v5
@dmitriibannikovasx
@dmitriibannikovasx 3 роки тому
Спрошу не по теме ролика, не пинайте сильно. Вот драйверы шаговых двигателей типа A4988 и прочие подобные не имеют же обратной связи от мотора? Поэтому у меня назрел такой вопрос: что если повесить на каждый из 4 выходов драйвера (те, что к мотору) по паре комплементарных транзисторов? Прокатит ли этот трюк и увеличится ли общая мощность схемы? Или я потеряю как минимум микрошаг, или вовсе это не заработает?
@TDMLab
@TDMLab 3 роки тому
Не имеют обратной связи. Не, так не получится. Там 2 H-моста, то есть 8 линий управления, а наружу выходит только 4 см. "Functional Block Diagram" www.pololu.com/file/0J450/a4988_DMOS_microstepping_driver_with_translator.pdf Может быть полношаг и заработает, но микрошаг точно нет.
@dmitriibannikovasx
@dmitriibannikovasx 3 роки тому
@@TDMLab Большое спасибо) всегда мучил этот вопрос)
@td_44
@td_44 12 днів тому
Мдааа, а сейчас в CUBE IDE , в библиотеке HAL нету калибровки, и CUBE IDE не принимает эту калибровку HAL_ADCEx_Calibration_Start(&hadc1);
@TDMLab
@TDMLab 12 днів тому
Ее не стало начиная я ядер Cortex M4
@yaroslavhordiienko9242
@yaroslavhordiienko9242 3 роки тому
Ем... Зачем понижать частоту ядра, когда можно изменить предделитель на частоту АЦП... Не до конца Вы разобрались
@TDMLab
@TDMLab 3 роки тому
Почитайте статью, там подробнее. Если вкратце, то варианты предделителя /2/4/6/8 не позволяют установить 14МГц АЦП при 72МГц частоты ядра, ну никак:)
@denisyegorov5109
@denisyegorov5109 3 роки тому
Мощно мощно, у тебя там институт целый с профессорами в голове )
@TDMLab
@TDMLab 3 роки тому
Да, не, всего лишь один инженер, которому в детстве давали играть с транзисторами:)
@stels7776
@stels7776 3 роки тому
446RE.axf Error: L6218E: Undefined symbol MainInit (referred from main.o). 446RE.axf Error: L6218E: Undefined symbol MainTask (referred from main.o). Finished 2 information, 0 warning and 2 error messages. Написал автору этого проекта, не ответил. Могу оставить ссылку на этот проект, может сможешь мне помочь.
@TDMLab
@TDMLab 3 роки тому
Посмотреть могу, но чужой код потемки:)
@stels7776
@stels7776 3 роки тому
​@@TDMLab ukposts.info/have/v-deo/bJmSgqecapyHqYU.html
@clora1136
@clora1136 3 роки тому
Ну линковщик не видит 2 функции. они описаны в github.com/foldvarid93/JBC_SolderingStation/blob/master/Software/ATTOLIC_TRUESTUDIO_WS/Core/Inc/Application.h вот тут читали ФОРУМ? electronix.ru/forum/index.php?app=forums&module=forums&controller=topic&id=104702 Вероятно пути не указаны.
@TDMLab
@TDMLab 3 роки тому
@@stels7776 По аттолик не подскажу, но автор так же выложил проект в кубеИДЕ, его пробовали? Кстати, классный проект и описание подробное.
@stels7776
@stels7776 3 роки тому
@@TDMLab Я открываю проект в Keil_v5, А кубеИДЕ нету.
@electricbase1930
@electricbase1930 3 роки тому
Шиза, возможно удастся даже захватывать Analog Video сигнал
@user-kw2fs5im4r
@user-kw2fs5im4r 3 роки тому
Нуууу а кто процессоры интересно проектирует мне так пичально что ни чего не понимаю в этом
@TDMLab
@TDMLab 3 роки тому
Есть и такие кто проектирует сами процессоры, об этих людях ходят легенды:)
@mslq
@mslq 3 роки тому
Меня они все разочаровали, они пошли в тупиковую ветвь и почему то дружно. Я надеялся что они будут наращивать количество основных наборов регистров, чтобы между задачами переключаться без задержек, но как всегда от хорошего к плохому всё идёт. Для меня идеал это процессор Z80, он первый это сделал, но никто не подхватил.
@odissey2
@odissey2 2 роки тому
@@mslq Навороченный микропроцессоры не выживают экономически, их вытесняют с рынка более простые братья. Пример - PSoC5 серия от Cypress, все их планы по наращиванию периферии свёрнуты, и компания движется к дешёвой линейке с традиционной архитектурой.
Помилка,  яку зробило військове керівництво 🙄
01:00
Радіо Байрактар
Переглядів 404 тис.
STM32G4 Аппаратный цифровой фильтр FMAC
17:17
Свой контроллер для мотор-колеса
25:33
STM32G4 ЦАП Скорость, буферизация
8:23
TDM Lab
Переглядів 6 тис.
The power button can never be pressed!!
0:57
Maker Y
Переглядів 7 млн
Phone repairs are getting ridiculous - Here's why.
22:24
Mrwhosetheboss
Переглядів 2,2 млн
Which Phone Unlock Code Will You Choose? 🤔️
0:12
Game9bit
Переглядів 6 млн