fmdost 0 May 31 Posted May 31 · Report post Добр. Надо неспешно измерять токи 4-20 в количестве 16 штук с точностью 0.1% Использую MCP3208 с 2.5 вольта образец и токовые резисторы 120 ом. MCP3208 надо две. Жалко! Может можно на STM32Gxx хотя бы 11 бит реальные? Или про MSP430 говорили будто там с 12 бит всё честно. Или может китайца какого? Архитектура ядра неважна. Спасибо. Quote Share this post Link to post Share on other sites More sharing options...
jcxz 307 May 31 Posted May 31 · Report post 3 часа назад, fmdost сказал: Надо неспешно измерять токи 4-20 в количестве 16 штук с точностью 0.1% Использую MCP3208 с 2.5 вольта образец и токовые резисторы 120 ом. MCP3208 надо две. Жалко! Может можно на STM32Gxx хотя бы 11 бит реальные? Или про MSP430 говорили будто там с 12 бит всё честно. Если важна высокая точность, то можно взять ADuCM360 или ADuCM361. Правда там всего 11 каналов. Внешний коммутатор потребуется. Но зато разрешения - выше крыши! И почему не устраивают обычные МК с 12-битными АЦП? У Infineon-овских XMC4xxx АЦП вполне приличные. А если нужно бОльшую точность, так делайте больше измерений и фильтруйте. Тем паче, что скорость вам не важна. Если сильно боитесь каких-то помех, то можно периферии в МК задействовать по минимуму, и PLL не включать. Quote Share this post Link to post Share on other sites More sharing options...
Plain 313 May 31 Posted May 31 · Report post Любой МК годится, если правильно развести, измерять и усреднять. В крайнем случае, собрать каскадом сравнивающий АЦП, т.е. добавить к сигналам пилу 120% МЗР. Quote Share this post Link to post Share on other sites More sharing options...
_pv 101 May 31 Posted May 31 · Report post 4 hours ago, fmdost said: Надо неспешно измерять токи 4-20 в количестве 16 штук с точностью 0.1% Использую MCP3208 с 2.5 вольта образец и токовые резисторы 120 ом. MCP3208 надо две. Жалко! Может можно на STM32Gxx хотя бы 11 бит реальные? Или про MSP430 говорили будто там с 12 бит всё честно. Или может китайца какого? Архитектура ядра неважна. Разрядность поднимается оверсэмплингом, а чтобы у 12битного АЦП нелинейности хуже 0.1% были это постараться надо. Применял как-то раз "не по назначению" msp430i2040, просто потому что четыре simultaneous sampling ацп с МК внутри оказались доступнее чем отдельные АЦП без МК. а у TI там помимо msp430 теперь ещё и кортексыM0 есть, с 16ти канальным АЦП за 50 американских копеек https://www.ti.com/microcontrollers-mcus-processors/arm-based-microcontrollers/arm-cortex-m0-mcus/products.html#1020=27%3B26%3B21%3B19%3B16%3B17&sort=1130;asc& Quote Share this post Link to post Share on other sites More sharing options...
fmdost 0 May 31 Posted May 31 · Report post 8 hours ago, jcxz said: Если важна высокая точность, то можно взять ADuCM360 или ADuCM361. Правда там всего 11 каналов. Внешний коммутатор потребуется. Но зато разрешения - выше крыши! И почему не устраивают обычные МК с 12-битными АЦП? У Infineon-овских XMC4xxx АЦП вполне приличные. А если нужно бОльшую точность, так делайте больше измерений и фильтруйте. Тем паче, что скорость вам не важна. Если сильно боитесь каких-то помех, то можно периферии в МК задействовать по минимуму, и PLL не включать. Так их вон сколько с АЦП! Поди поищи! Инфинеон изучу, спасибо. По поводу 12 бит: При оверсемплинге разве можно вытащить абсолютную точность? 7 hours ago, Plain said: Любой МК годится, если правильно развести, измерять и усреднять. В крайнем случае, собрать каскадом сравнивающий АЦП, т.е. добавить к сигналам пилу 120% МЗР. Что-то мну подсказывает что stm32 и 10 бит с трудом. Они сами об этом писали что 10.6 бита реальная точность. 6 hours ago, _pv said: Разрядность поднимается оверсэмплингом, а чтобы у 12битного АЦП нелинейности хуже 0.1% были это постараться надо. Применял как-то раз "не по назначению" msp430i2040, просто потому что четыре simultaneous sampling ацп с МК внутри оказались доступнее чем отдельные АЦП без МК. а у TI там помимо msp430 теперь ещё и кортексыM0 есть, с 16ти канальным АЦП за 50 американских копеек https://www.ti.com/microcontrollers-mcus-processors/arm-based-microcontrollers/arm-cortex-m0-mcus/products.html#1020=27%3B26%3B21%3B19%3B16%3B17&sort=1130;asc& Пользовался как-то 430 в середине 0-х. Только положительные впечатления! Там точно будет 12 бит? Не как у STM32? Никакие костыли с пустыми преобразованиями ненужны? UPD: mcpm0 плоходоставабельные в малых количествах. Или знаете тайные тропы? Quote Share this post Link to post Share on other sites More sharing options...
Plain 313 June 1 Posted June 1 · Report post В 31.05.2025 в 15:44, fmdost сказал: stm32 и 10 бит с трудом. Они сами об этом писали Очевидно, про штатную однократную выборку, а Вам предлагают иное — использовать АЦП в качестве компаратора, на второй вход которого подан сигнал развёртки, для этого нужен МК с квазидифференциальными входами, т.е. у которого доступен снаружи их общий минус, у STM32 в качестве такого годится VSSA, т.е. между ним и VSS подаёте пилу амплитудой 120% МЗР, например, с ЦАП или аналогового интегратора, после чего усредняете сделанные за период её прямого хода выборки. Quote Share this post Link to post Share on other sites More sharing options...
fmdost 0 June 1 Posted June 1 · Report post 6 hours ago, Plain said: Очевидно, про штатную однократную выборку, а Вам предлагают иное — использовать АЦП в качестве компаратора, на второй вход которого подан сигнал развёртки, для этого нужен МК с квазидифференциальными входами, т.е. у которого доступен снаружи их общий минус, у STM32 в качестве такого годится VSSA, т.е. между ним и VSS подаёте пилу амплитудой 120% МЗР, например, с ЦАП или аналогового интегратора, после чего усредняете сделанные за период её прямого хода выборки. Разве с предложенным Вами способом можно увеличить абсолютную точность? Вопрос по прежнему актуален! Quote Share this post Link to post Share on other sites More sharing options...
_pv 101 June 1 Posted June 1 · Report post 1 hour ago, fmdost said: Разве с предложенным Вами способом можно увеличить абсолютную точность? Абсолютная ошибка много из чего складывается, и приведённые выше 10.6бит скорее всего лишь относятся к уровеню шума на максимальной частоте, который убирается оверсэмплингом. А вот всё остальное: нелинейности, смещения, масштаб, дрейфы, кросстолк - нет. Если надо совсем небыстро - возьмите любой сигма-дельта АЦП с запасом (есть и встроенные в МК, и даже в некоторые stm32, ну или msp430i2020, msp430f2013) и неспешно (время установления у этих АЦП небыстрый) переключайте ему каналы каким-нибудь 4067 мультиплексором. Quote Share this post Link to post Share on other sites More sharing options...
fmdost 0 June 1 Posted June 1 · Report post 22 minutes ago, _pv said: Абсолютная ошибка много из чего складывается, и приведённые выше 10.6бит скорее всего лишь относятся к уровеню шума на максимальной частоте, который убирается оверсэмплингом. А вот всё остальное: нелинейности, смещения, масштаб, дрейфы, кросстолк - нет. Если надо совсем небыстро - возьмите любой сигма-дельта АЦП с запасом (есть и встроенные в МК, и даже в некоторые stm32, ну или msp430i2020, msp430f2013) и неспешно (время установления у этих АЦП небыстрый) переключайте ему каналы каким-нибудь 4067 мультиплексором. Сейчас использую mcp3208 Честные 12 бит и 8 каналов. Хотелось бы вообще без лишних компонентов. Увидел в STM 12 бит. Может кто реально проверял? А то Я заманался стенды делать! Результат тестов stm32g030 несколько удручил(правильно рисовать умею). Да и инторнет ввёрг в сомнения. И ненравится он как-то. Какой вольтмерт посоветуете? А, то у меня китаец. Тоже под сомнением. Quote Share this post Link to post Share on other sites More sharing options...
Plain 313 June 2 Posted June 2 · Report post 6 часов назад, fmdost сказал: предложенным Вами способом можно увеличить абсолютную точность? Да — к опорным входам АЦП подключаете без разницы что-нибудь локально стабильное, TL431 например, а эталонный ИОН подключаете к 17-му каналу и измеряете его стереотипно с другими, а если терзают смутные сомнения и требуется калибровать линейность АЦП, то эталонный ИОН подключаете к 17-му входу АЦП посредством ШИМ делителя на RC фильтре и любом аналоговом переключателе, 74LVC1G3157 например, после чего в рабочем цикле периодически прогоняете Кзап полную шкалу. Quote Share this post Link to post Share on other sites More sharing options...
iiv 43 June 6 Posted June 6 · Report post On 5/31/2025 at 3:00 AM, fmdost said: Надо неспешно измерять токи 4-20 в количестве 16 штук с точностью 0.1% mspm0g150* в жирном корпусе умеет 16 ног на 12 бит, причем у вас каждый канал одновременно будет 500кс/с семплиться (там два по 4Мс/с), то есть вы еще до 16 бит оверсемплитгом (они сами в даташите рекомендуют) на скорости примерно 2кс/с сможете получить. В розницу и не в РФ стоит бакс. Разводится просто, среда программирования дибильная, но пройти можно. Если по-дороже (за 8 бакс) и сразу из коробки 16 бит, можно и stm32h7b0, но он очень чувствителен как к разводке, так и к тому, чтобы правильный кварц, опорник были. Quote Share this post Link to post Share on other sites More sharing options...
jcxz 307 June 6 Posted June 6 · Report post 45 минут назад, iiv сказал: Если по-дороже (за 8 бакс) и сразу из коробки 16 бит, можно и stm32h7b0, но он очень чувствителен как к разводке, так и к тому, чтобы правильный кварц, опорник были. За такую цену можно уже прецизионный 24-битный ADuCM360 купить: https://www.aliexpress.com/item/1005007640822278.html Со встроенным же прецизионным опорником. Ну или 24-битный ADuCM361 с одним АЦП там же за ~5.5 евро. Да и кварц - зачем? Если нужно поменьше помех, то лучше работать от внутреннего RC-генератора с выключенным PLL. И всю ненужную периферию вырубить. Думаю - ADuCM36x переплюнет по точности с запасом всех здесь предлагавшихся претендентов. Quote Share this post Link to post Share on other sites More sharing options...
amaora 29 June 6 Posted June 6 · Report post Даже на старом stm32f4xx при правильной трассировке получается 11-12 разрядов с одиночной выборки несмотря на завышенную частоту тактирования АЦП. Quote Share this post Link to post Share on other sites More sharing options...
iiv 43 June 6 Posted June 6 · Report post 7 minutes ago, jcxz said: Да и кварц - зачем? если нужно поменьше помех, то лучше работать от внутреннего RC-генератора с выключенным PLL. хз, без кварца он у меня безбожно врет с 13-го до 16-ого битах. 8 minutes ago, jcxz said: За такую цену можно уже прецизионный 24-битный ADuCM360 купить: https://www.aliexpress.com/item/1005007640822278.html согласен Quote Share this post Link to post Share on other sites More sharing options...
_pv 101 June 6 Posted June 6 · Report post 31 minutes ago, jcxz said: За такую цену можно уже прецизионный 24-битный ADuCM360 купить: https://www.aliexpress.com/item/1005007640822278.html У него каналов всё равно не хватит придётся мультиплексор снаружи городить. Да и отдельно тот же АЦП что там внутри (очень похож на ad719х) ведет себя лучше когда отдельно. Тогда уж любой МК и какой-нибудь LTC2494 если измерять действительно надо неспешно или ADS1158 если не на столько неспешно. Quote Share this post Link to post Share on other sites More sharing options...