Технический форум по робототехнике.
verlaty » 09 сен 2016, 16:37
Столкнулся с проблемой описанной в этой теме. И что бы не создавать новую, повторюсь и освежу общение здесь.
Как и писалось выше, заметил влияние значения ADC одного канала на следующий канал. Автор темы решил вопрос использованием ОУ, но для меня это не совсем удобно и приемлемо. Может кто то нашел другое решение этой проблемы.
Немного о проекте: использую STM32F3, всю периферию настраивал через Cube. Используют 5 регулярных каналов ADC в режиме DMA (normal).
Помогите советом.
verlaty » 09 сен 2016, 22:23
Проблему решил увеличением SamplingTime при инициализации ADC.
Может кому то пригодится для работы.
Вот здесь взял инфу для размышления
http://leoniv.livejournal.com/194681.html
linvinus » 09 сен 2016, 22:44
спасибо!
Dmitry__ » 10 сен 2016, 16:03
verlaty писал(а):Вот здесь взял инфу для размышления
Ничоссе прикол, интересно, в контроллерах других производителей есть такой глюк?
Angel71 » 10 сен 2016, 17:07
это не глюк, а особенности применяемой схемы. для дешевых мк в них периферия и ацп в том числе, более чем на уровне.
Dmitry__ » 10 сен 2016, 17:50
Ну если в других дешевых контроллерах нет уплывания на 14 единиц из-за зависимости каналов, то наводит на нехорошие мысли. Щаз проверю на пикине
Добавлено спустя 24 минуты 2 секунды:Хочу передать ПРЕВЕД манагерам стм
pic12f1840, 2 переменных резистора на входах ацп, 47к и 5к:
- Код: Выделить всё • Развернуть
U1: 09B U2: 16F CalibConst: 02A529 011DFE
U1: 09B U2: 16F CalibConst: 02A529 011DFE
U1: 09B U2: 16F CalibConst: 02A529 011DFE
U1: 09B U2: 16F CalibConst: 02A529 011DFE
U1: 09B U2: 16F CalibConst: 02A529 011DFE
U1: 09B U2: 16F CalibConst: 02A529 011DFE
U1: 09B U2: 16F CalibConst: 02A529 011DFE
U1: 09B U2: 16F CalibConst: 02A529 011DFE
U1: 09B U2: 16F CalibConst: 02A529 011DFE
U1: 09B U2: 16F CalibConst: 02A529 011DFE
U1: 09B U2: 16F CalibConst: 02A529 011DFE
U1: 09B U2: 16F CalibConst: 02A529 011DFE
U1: 09B U2: 16F CalibConst: 02A529 011DFE
U1: 09B U2: 16F CalibConst: 02A529 011DFE
Повесил 10 мкф. на U2
U1: 09B U2: 16F CalibConst: 02A529 011DFE
U1: 09B U2: 16F CalibConst: 02A529 011DFE
U1: 09B U2: 16F CalibConst: 02A529 011DFE
U1: 09B U2: 16F CalibConst: 02A529 011DFE
U1: 09B U2: 16F CalibConst: 02A529 011DFE
U1: 09B U2: 16F CalibConst: 02A529 011DFE
U1: 09B U2: 16F CalibConst: 02A529 011DFE
U1: 09B U2: 16F CalibConst: 02A529 011DFE
U1: 09B U2: 16F CalibConst: 02A529 011DFE
U1: 09B U2: 16F CalibConst: 02A529 011DFE
U1: 09B U2: 16F CalibConst: 02A529 011DFE
Кручу U2
U1: 09B U2: 19B CalibConst: 02A529 00FF60
U1: 09B U2: 3D7 CalibConst: 02A529 006AC6
U1: 09B U2: 3E9 CalibConst: 02A529 0068DA
U1: 09B U2: 3EE CalibConst: 02A529 006855
U1: 09B U2: 3EE CalibConst: 02A529 006855
U1: 09B U2: 3EE CalibConst: 02A529 006855
U1: 09B U2: 3EE CalibConst: 02A529 006855
U1: 09B U2: 3ED CalibConst: 02A529 006870
U1: 09B U2: 3EE CalibConst: 02A529 006855
U1: 09B U2: 3EE CalibConst: 02A529 006855
U1: 09B U2: 3EE CalibConst: 02A529 006855
U1: 09B U2: 37E CalibConst: 02A529 007567
U1: 09B U2: 37E CalibConst: 02A529 007567
U1: 09B U2: 379 CalibConst: 02A529 007610
U1: 09B U2: 32D CalibConst: 02A529 00811A
U1: 09B U2: 315 CalibConst: 02A529 008507
U1: 09B U2: 2E7 CalibConst: 02A529 008D43
U1: 09B U2: 207 CalibConst: 02A529 00CA3C
U1: 09B U2: 15D CalibConst: 02A529 012CBE
U1: 09B U2: 0D4 CalibConst: 02A529 01EF18
U1: 09B U2: 014 CalibConst: 02A529 148000
U1: 09B U2: 014 CalibConst: 02A529 148000
U1: 09B U2: 014 CalibConst: 02A529 148000
U1: 09B U2: 014 CalibConst: 02A529 148000
U1: 09B U2: 014 CalibConst: 02A529 148000
Кручу U1
U1: 001 U2: 133 CalibConst: 9A0000 0155E3
U1: 001 U2: 133 CalibConst: 9A0000 0155E3
U1: 001 U2: 133 CalibConst: 9A0000 0155E3
U1: 001 U2: 133 CalibConst: 9A0000 0155E3
U1: 001 U2: 133 CalibConst: 9A0000 0155E3
U1: 001 U2: 133 CalibConst: 9A0000 0155E3
U1: 001 U2: 133 CalibConst: 9A0000 0155E3
U1: 001 U2: 133 CalibConst: 9A0000 0155E3
U1: 001 U2: 133 CalibConst: 9A0000 0155E3
U1: 001 U2: 133 CalibConst: 9A0000 0155E3
U1: 152 U2: 133 CalibConst: 013688 0155E3
U1: 26A U2: 133 CalibConst: 00A9D6 0155E3
U1: 273 U2: 133 CalibConst: 00A766 0155E3
U1: 34F U2: 133 CalibConst: 007BEB 0155E3
U1: 3FF U2: 133 CalibConst: 006699 0155E3
U1: 3FF U2: 133 CalibConst: 006699 0155E3
U1: 3FF U2: 133 CalibConst: 006699 0155E3
U1: 3FF U2: 133 CalibConst: 006699 0155E3
U1: 3FF U2: 133 CalibConst: 006699 0155E3
U1: 3FF U2: 133 CalibConst: 006699 0155E3
U1: 3FF U2: 133 CalibConst: 006699 0155E3
U1: 2FD U2: 133 CalibConst: 008933 0155E3
U1: 2FC U2: 133 CalibConst: 008961 0155E3
U1: 244 U2: 133 CalibConst: 00B4F7 0155E3
U1: 0D0 U2: 133 CalibConst: 01F89D 0155E3
U1: 045 U2: 133 CalibConst: 05F128 0155E3
U1: 001 U2: 133 CalibConst: 9A0000 0155E3
U1: 001 U2: 133 CalibConst: 9A0000 0155E3
U1: 001 U2: 133 CalibConst: 9A0000 0155E3
U1: 001 U2: 133 CalibConst: 9A0000 0155E3
U1: 001 U2: 133 CalibConst: 9A0000 0155E3
U1: 001 U2: 133 CalibConst: 9A0000 0155E3
linvinus » 10 сен 2016, 19:35
Дмитрий это на какой частоте проца и каком делителе частоты ADC?
выше написано что в STM проблема решается путём повышения времени оцифровки .
у меня проблема была на максимальной частоте оцифровки.
Dmitry__ » 10 сен 2016, 19:55
Да это я злорадствую, забей
![Smile :)](http://roboforum.ru/images/smilies/smile.gif)
- Код: Выделить всё • Развернуть
;ANALOG-TO-DIGITAL CONVERTER (ADC) MODULE
;правое выравнивание данных, V опорное на Vdd., вкл. АЦП
;Fosc = 32 MHz, Fosc/32, ADCS<2:0> = 010 (T AD = 1.0 mks)
Т.е. для 10 бит получается 12 тактов T AD = 83кгц.
Вообще почитал про ацп stm32 - ацтой полный, на ножку ацп прилетают стробы из контроллера, не rail to rail, да еще и датчик температуры в нем с Voffset от -20..+40
http://caxapa.ru/248055.html?todo=fullвстроенный датчик температуры там дерьмо редкостное, и в документации об этом чётко написано
Ничего там не уплывает, просто начальный ноль у него (в переводе на градусы) может находиться где-то в пределах -20..+40 или даже хуже. Да и наклон характеристики заметный разброс имеет. В общем, это разве что для определения изменения температуры кристалла в процессе работы, да и то как-то сомнительно, потому что калибровать его всё равно неудобно. Ну разве что по одной точке
ага, только эти сигналы вблизи нуля. А вблизи нуля АЦП не работает. Смещать ты не хочешь. Что делать будем?
Вот тут чел сам накосячил, но ацп stm32 умиляет
http://electronix.ru/forum/index.php?showtopic=119183&st=0
Angel71 » 10 сен 2016, 20:10
далеко не всех других, так что не нуна. достаточно немного учитывать все +- чипа для конкретной задачи, вникать в принцип работы, прорабатывать схему и будет всё пучком, а будет решаема конкретная задача с помощью выбранного чипа или для этого лучше подойдёт другой, уже другой момент. а когда нет желания ни вникать, ни по феншую делать, да ещё и что бы сразу всё идеально подходящее для любых применений и за 5 копеек, тогда удачи - это лучший вариант сразу за тиай и ст заминусовать абсолютно всё.
Dmitry__ » 10 сен 2016, 20:45
Да ну тя нафиг! Я на пинах контроллера и программы сделаю лучше ацп, да еще будет от нуля работать
![Very Happy :D](http://roboforum.ru/images/smilies/biggrin.gif)
, а не как ацп stm32...
Angel71 » 10 сен 2016, 20:58
![Very Happy :D](http://roboforum.ru/images/smilies/biggrin.gif)
ты просто не умеешь его готовить.
![Smile :)](http://roboforum.ru/images/smilies/smile.gif)
спору нет, есть у ст и по линии ацп свои особенности, но если не что-то эдакое, так вполне годные ацпшки. а когда под задачку не годные...
![Laughing :lol:](http://roboforum.ru/images/smilies/lol.gif)
так есть как минимум внешние аналог девицы.
Dmitry__ » 10 сен 2016, 21:07
Панимаш в чем дело, хочется ноль деталей на контроллере. Вот я сейчас дописываю балансир на pic, так там для замера напряжения даже не используются пины микроконтроллера
![Very Happy :D](http://roboforum.ru/images/smilies/biggrin.gif)
Просто сравнивается напряжение питания (питание микроконтроллера напрямую от li-ion банки) и Vref.
А если надо ОУ городить для глючного ацп микроконтроллера, да ну наф.
Angel71 » 10 сен 2016, 21:48
понимаю, что для каждой задачи свой камушек и что "0 деталей в обвесе" это очень микроскопическая доля из всех проектов. мегосэмплы, 1-2 lsb с последовательным опросом каналов или без, с внешним доп феншуем или без, на stm32 не всегда (сюда же, что не на всех чипах, т.к. vref не везде выведен), но выжимаются. а так если взяв камушек и тужится его применить под задачу, когда он не очень хорошо или совсем не подходит, так это уже не очень хорошая затея.
так же любой чип обгадить можно, хочешь помогу? в 334х стмках есть таймер с разрешением примерно 217пс, очень даже как минимум для преобразователей. у стм такого даже близко нет. а у микрочиповский есть настраиваемая матрица выводов? а есть модели, в которых в дополнение к основному ядру есть дополнительно 1-2 периферийных?
![Pardon :pardon:](http://roboforum.ru/images/smilies/pardon.gif)
пинать можно долго.
Dmitry__ » 11 сен 2016, 00:37
Но ацп-то ацтойный
![Rolling Eyes :roll:](http://roboforum.ru/images/smilies/rolleyes.gif)
, вот в чем дело...
Angel71 писал(а):а у микрочиповский есть настраиваемая матрица выводов?
Нет, и очень этого не хватает, есть альтернативные пины для периферии, но вот чтоб настроить любой пин на любую функцию - нет
В этом плане потрясен cc430. Там можно, например, переключать аппаратный I2C на любые пины на ходу. И таким образом обслуживать несколько i2c устройств одним аппаратным i2c. Я так делал для подключения кучи нунчаков к контроллеру. А в pic32 пришлось программно симулировать i2c для такой же задачи, ибо нет мультиплексора пинов
![Sad :(](http://roboforum.ru/images/smilies/sad.gif)
Angel71 » 11 сен 2016, 01:55
*"у стм такого даже близко нет" - "у микрочипа такого даже близко нет".
ацп с некоторыми особенностями, их просто нужно знать и учитывать при выборе камушка под задачу. всё под любые задачи ни в дешевом, ни в супер-пупер модно-дорогущем пока не замечено и нет даже намёка на такие камушки. хотя круто для некоторых задач иногда помечтать о том, что не нужно феншуить с разводкой платы, силовую от аналоговой части отделять, пихать кучу фильтров и стабов на разные напряжения, всякие усилители (логарифмические, повторители,...), защиты, изоляции и т.д.
![Crazy :crazy:](http://roboforum.ru/images/smilies/crazy.gif)
иногда всё это по цене, занимаемому месту, выносу мозга при расчётах и разводке платы немножко печалит, делая некоторые особенности камушков слегка даже не второстепенными.
![Friends :friends:](http://roboforum.ru/images/smilies/friends.gif)
и вообще, поменьше отвлекаемся и почаще грызём ликбезы аналогового феншуя, начиная хоть с сайта аналог девиц.
Последний раз редактировалось
Angel71 11 сен 2016, 02:44, всего редактировалось 1 раз.