roboforum.ru

Технический форум по робототехнике.

STM32F103 ADC

ARM7, ARM9, ARM11 etc.

Re: STM32F103 ADC

Сообщение verlaty » 09 сен 2016, 16:37

Столкнулся с проблемой описанной в этой теме. И что бы не создавать новую, повторюсь и освежу общение здесь.
Как и писалось выше, заметил влияние значения ADC одного канала на следующий канал. Автор темы решил вопрос использованием ОУ, но для меня это не совсем удобно и приемлемо. Может кто то нашел другое решение этой проблемы.
Немного о проекте: использую STM32F3, всю периферию настраивал через Cube. Используют 5 регулярных каналов ADC в режиме DMA (normal).
Помогите советом.
verlaty
 
Сообщения: 2
Зарегистрирован: 09 сен 2016, 16:29

Re: STM32F103 ADC

Сообщение verlaty » 09 сен 2016, 22:23

Проблему решил увеличением SamplingTime при инициализации ADC.
Может кому то пригодится для работы.
Вот здесь взял инфу для размышления http://leoniv.livejournal.com/194681.html
verlaty
 
Сообщения: 2
Зарегистрирован: 09 сен 2016, 16:29

Re: STM32F103 ADC

Сообщение linvinus » 09 сен 2016, 22:44

спасибо!
R3 forum87/topic15337.html
R2 roboforum.ru/forum102/topic13980.html
R4 roboforum.ru/post336339.html#p336339
Делать надо хорошо - плохо получится само!
Аватара пользователя
linvinus
 
Сообщения: 1672
Зарегистрирован: 29 апр 2011, 12:37
Откуда: Москва
прог. языки: С

Re: STM32F103 ADC

Сообщение Dmitry__ » 10 сен 2016, 16:03

verlaty писал(а):Вот здесь взял инфу для размышления

Ничоссе прикол, интересно, в контроллерах других производителей есть такой глюк?
Аватара пользователя
Dmitry__
 
Сообщения: 8033
Зарегистрирован: 13 янв 2011, 15:25
Откуда: Санкт-Петербург

Re: STM32F103 ADC

Сообщение Angel71 » 10 сен 2016, 17:07

это не глюк, а особенности применяемой схемы. для дешевых мк в них периферия и ацп в том числе, более чем на уровне.
Аватара пользователя
Angel71
 
Сообщения: 10668
Зарегистрирован: 18 апр 2009, 22:18
Предупреждения: -1

Re: STM32F103 ADC

Сообщение Dmitry__ » 10 сен 2016, 17:50

Ну если в других дешевых контроллерах нет уплывания на 14 единиц из-за зависимости каналов, то наводит на нехорошие мысли. Щаз проверю на пикине :)

Добавлено спустя 24 минуты 2 секунды:
Хочу передать ПРЕВЕД манагерам стм :D

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
Аватара пользователя
Dmitry__
 
Сообщения: 8033
Зарегистрирован: 13 янв 2011, 15:25
Откуда: Санкт-Петербург

Re: STM32F103 ADC

Сообщение linvinus » 10 сен 2016, 19:35

Дмитрий это на какой частоте проца и каком делителе частоты ADC?

выше написано что в STM проблема решается путём повышения времени оцифровки .
у меня проблема была на максимальной частоте оцифровки.
R3 forum87/topic15337.html
R2 roboforum.ru/forum102/topic13980.html
R4 roboforum.ru/post336339.html#p336339
Делать надо хорошо - плохо получится само!
Аватара пользователя
linvinus
 
Сообщения: 1672
Зарегистрирован: 29 апр 2011, 12:37
Откуда: Москва
прог. языки: С

Re: STM32F103 ADC

Сообщение Dmitry__ » 10 сен 2016, 19:55

Да это я злорадствую, забей :)

Код: Выделить всёРазвернуть
;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 :D

http://caxapa.ru/248055.html?todo=full

встроенный датчик температуры там дерьмо редкостное, и в документации об этом чётко написано
Ничего там не уплывает, просто начальный ноль у него (в переводе на градусы) может находиться где-то в пределах -20..+40 или даже хуже. Да и наклон характеристики заметный разброс имеет. В общем, это разве что для определения изменения температуры кристалла в процессе работы, да и то как-то сомнительно, потому что калибровать его всё равно неудобно. Ну разве что по одной точке

ага, только эти сигналы вблизи нуля. А вблизи нуля АЦП не работает. Смещать ты не хочешь. Что делать будем?


Вот тут чел сам накосячил, но ацп stm32 умиляет :bad:
http://electronix.ru/forum/index.php?showtopic=119183&st=0
Аватара пользователя
Dmitry__
 
Сообщения: 8033
Зарегистрирован: 13 янв 2011, 15:25
Откуда: Санкт-Петербург

Re: STM32F103 ADC

Сообщение Angel71 » 10 сен 2016, 20:10

далеко не всех других, так что не нуна. достаточно немного учитывать все +- чипа для конкретной задачи, вникать в принцип работы, прорабатывать схему и будет всё пучком, а будет решаема конкретная задача с помощью выбранного чипа или для этого лучше подойдёт другой, уже другой момент. а когда нет желания ни вникать, ни по феншую делать, да ещё и что бы сразу всё идеально подходящее для любых применений и за 5 копеек, тогда удачи - это лучший вариант сразу за тиай и ст заминусовать абсолютно всё.
Аватара пользователя
Angel71
 
Сообщения: 10668
Зарегистрирован: 18 апр 2009, 22:18
Предупреждения: -1

Re: STM32F103 ADC

Сообщение Dmitry__ » 10 сен 2016, 20:45

Да ну тя нафиг! Я на пинах контроллера и программы сделаю лучше ацп, да еще будет от нуля работать :D , а не как ацп stm32...
Аватара пользователя
Dmitry__
 
Сообщения: 8033
Зарегистрирован: 13 янв 2011, 15:25
Откуда: Санкт-Петербург

Re: STM32F103 ADC

Сообщение Angel71 » 10 сен 2016, 20:58

:D ты просто не умеешь его готовить. :) спору нет, есть у ст и по линии ацп свои особенности, но если не что-то эдакое, так вполне годные ацпшки. а когда под задачку не годные... :pardon: :lol: так есть как минимум внешние аналог девицы.
Аватара пользователя
Angel71
 
Сообщения: 10668
Зарегистрирован: 18 апр 2009, 22:18
Предупреждения: -1

Re: STM32F103 ADC

Сообщение Dmitry__ » 10 сен 2016, 21:07

Панимаш в чем дело, хочется ноль деталей на контроллере. Вот я сейчас дописываю балансир на pic, так там для замера напряжения даже не используются пины микроконтроллера :D
Просто сравнивается напряжение питания (питание микроконтроллера напрямую от li-ion банки) и Vref.
А если надо ОУ городить для глючного ацп микроконтроллера, да ну наф.
Аватара пользователя
Dmitry__
 
Сообщения: 8033
Зарегистрирован: 13 янв 2011, 15:25
Откуда: Санкт-Петербург

Re: STM32F103 ADC

Сообщение Angel71 » 10 сен 2016, 21:48

понимаю, что для каждой задачи свой камушек и что "0 деталей в обвесе" это очень микроскопическая доля из всех проектов. мегосэмплы, 1-2 lsb с последовательным опросом каналов или без, с внешним доп феншуем или без, на stm32 не всегда (сюда же, что не на всех чипах, т.к. vref не везде выведен), но выжимаются. а так если взяв камушек и тужится его применить под задачу, когда он не очень хорошо или совсем не подходит, так это уже не очень хорошая затея.
так же любой чип обгадить можно, хочешь помогу? в 334х стмках есть таймер с разрешением примерно 217пс, очень даже как минимум для преобразователей. у стм такого даже близко нет. а у микрочиповский есть настраиваемая матрица выводов? а есть модели, в которых в дополнение к основному ядру есть дополнительно 1-2 периферийных? :pardon: пинать можно долго.
Аватара пользователя
Angel71
 
Сообщения: 10668
Зарегистрирован: 18 апр 2009, 22:18
Предупреждения: -1

Re: STM32F103 ADC

Сообщение Dmitry__ » 11 сен 2016, 00:37

Но ацп-то ацтойный :roll: , вот в чем дело...
Angel71 писал(а):а у микрочиповский есть настраиваемая матрица выводов?

Нет, и очень этого не хватает, есть альтернативные пины для периферии, но вот чтоб настроить любой пин на любую функцию - нет :cry:
В этом плане потрясен cc430. Там можно, например, переключать аппаратный I2C на любые пины на ходу. И таким образом обслуживать несколько i2c устройств одним аппаратным i2c. Я так делал для подключения кучи нунчаков к контроллеру. А в pic32 пришлось программно симулировать i2c для такой же задачи, ибо нет мультиплексора пинов :(
Аватара пользователя
Dmitry__
 
Сообщения: 8033
Зарегистрирован: 13 янв 2011, 15:25
Откуда: Санкт-Петербург

Re: STM32F103 ADC

Сообщение Angel71 » 11 сен 2016, 01:55

*"у стм такого даже близко нет" - "у микрочипа такого даже близко нет".
ацп с некоторыми особенностями, их просто нужно знать и учитывать при выборе камушка под задачу. всё под любые задачи ни в дешевом, ни в супер-пупер модно-дорогущем пока не замечено и нет даже намёка на такие камушки. хотя круто для некоторых задач иногда помечтать о том, что не нужно феншуить с разводкой платы, силовую от аналоговой части отделять, пихать кучу фильтров и стабов на разные напряжения, всякие усилители (логарифмические, повторители,...), защиты, изоляции и т.д. :crazy: иногда всё это по цене, занимаемому месту, выносу мозга при расчётах и разводке платы немножко печалит, делая некоторые особенности камушков слегка даже не второстепенными. :friends: и вообще, поменьше отвлекаемся и почаще грызём ликбезы аналогового феншуя, начиная хоть с сайта аналог девиц.
Последний раз редактировалось Angel71 11 сен 2016, 02:44, всего редактировалось 1 раз.
Аватара пользователя
Angel71
 
Сообщения: 10668
Зарегистрирован: 18 апр 2009, 22:18
Предупреждения: -1

Пред.След.

Вернуться в ARM

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 5