Выбор АЦП и микроконтроллера для измерения малых U,r ?

Вопросы настройки, программирования, прошивки микроконтроллеров и микросхем программируемой логики
FUZZY_
Потрогал лапой паяльник
Сообщения: 390
Зарегистрирован: Чт сен 24, 2009 17:22:51
Откуда: UK

Выбор АЦП и микроконтроллера для измерения малых U,r ?

Сообщение FUZZY_ »

Надо определять внутреннее сопротивление аккумуляторов по формуле

r=((E/U)-1)*R , где E - ЕДС аккум { 1... 1.7 В} , напряжение на акумуляторе при подключеной нагрузке R[Om] {75... 25}
r - искомое внутренее сопротивление

Пример Е=1.392 В, U=1.388 В, R=56 Ом r=0.161383 Ом - искомое

Вопрос первый - разрядность АЦП для выполнения измерений до тысячных долей вольта ?

Вопрос второй выбор микроконтролера для расчетов с плавающей точкой приемлемой точности - четвертый знак после запятой
Реклама
qwerky
Мучитель микросхем
Сообщения: 487
Зарегистрирован: Пт июн 12, 2009 19:17:35
Контактная информация:

Re: Выбор АЦП и микроконтроллера для измерения малых U,r ?

Сообщение qwerky »

Вопрос первый - разрядность АЦП для выполнения измерений до тысячных долей вольта ?
Вопрос второй выбор микроконтролера для расчетов с плавающей точкой приемлемой точности
рискну ответить сразу на оба вопроса: C8051F350. За небольшую цену получите 24-битный АЦП, PGA 1х..128х, точную опору, 2 ЦАПа, датчик температуры, 50 MIPs. ИМХО для измериловки оптимальный вариант без близких конкурентов
Реклама
FUZZY_
Потрогал лапой паяльник
Сообщения: 390
Зарегистрирован: Чт сен 24, 2009 17:22:51
Откуда: UK

Re: Выбор АЦП и микроконтроллера для измерения малых U,r ?

Сообщение FUZZY_ »

У меня такого нет А вот 8051с518 - в старых EBU куча
Аватара пользователя
Satyr
Друг Кота
Сообщения: 7439
Зарегистрирован: Чт ноя 04, 2010 01:56:36
Откуда: г. Москва

Re: Выбор АЦП и микроконтроллера для измерения малых U,r ?

Сообщение Satyr »

qwerky писал(а):ИМХО для измериловки оптимальный вариант без близких конкурентов
А как же ADUCи ? -))

http://www.analog.com/en/processors-dsp ... index.html
Реклама
Эиком - электронные компоненты и радиодетали
Аватара пользователя
Satyr
Друг Кота
Сообщения: 7439
Зарегистрирован: Чт ноя 04, 2010 01:56:36
Откуда: г. Москва

Re: Выбор АЦП и микроконтроллера для измерения малых U,r ?

Сообщение Satyr »

FUZZY_ писал(а): Вопрос первый - разрядность АЦП для выполнения измерений до тысячных долей вольта ?
разрядность зависит не от самих величин, а от требуемого динамического диапазона. Остальное согласовывается соответствующей аналоговой частью.
Вопрос второй выбор микроконтролера для расчетов с плавающей точкой приемлемой точности - четвертый знак после запятой
лучше не 8 битные -))
Реклама
qwerky
Мучитель микросхем
Сообщения: 487
Зарегистрирован: Пт июн 12, 2009 19:17:35
Контактная информация:

Re: Выбор АЦП и микроконтроллера для измерения малых U,r ?

Сообщение qwerky »

Satyr писал(а):А как же ADUCи ? -))
которые стоят в 3..4 раза дороже
Реклама
Аватара пользователя
Satyr
Друг Кота
Сообщения: 7439
Зарегистрирован: Чт ноя 04, 2010 01:56:36
Откуда: г. Москва

Re: Выбор АЦП и микроконтроллера для измерения малых U,r ?

Сообщение Satyr »

qwerky писал(а):
Satyr писал(а):А как же ADUCи ? -))
которые стоят в 3..4 раза дороже
Смотря где и сколько покупать. Если за катушку - то практически одинаково -))
Аватара пользователя
Ser60
Друг Кота
Сообщения: 3784
Зарегистрирован: Ср дек 24, 2008 09:58:58

Re: Выбор АЦП и микроконтроллера для измерения малых U,r ?

Сообщение Ser60 »

FUZZY_ писал(а):Вопрос первый - разрядность АЦП для выполнения измерений до тысячных долей вольта ?
При напряжении аккума до 1700 мВ с точностью 1 мВ нужно распознать 1700 уровней напряжения. Берем ближайшую степень двойки сверху 2048, т.е. АЦП должен иметь как минимум 11 бит (2048 = 2^11). Если АЦП имеет дифференциальный вход, то половина его кодов используется для представления отрицательных величин, и в этом случае АЦП должен быть 12-разрядным. С простым МК советую применить внешний АЦП MCP3425. Это 16-битный АЦП, проверен, показал отличные результаты. В нем имеется встроенный источник опорного напряжения 2.048 В и встроенный генератор. Связь с МК по I2C.
FUZZY_ писал(а):Вопрос второй выбор микроконтролера для расчетов с плавающей точкой приемлемой точности - четвертый знак после запятой
Контроллер любой, даже 8-битный. Ему всего-то надо будет провести 3 операции с числами из формулы и это ему как раку ногу оторвать. Если будете писать программу на С, то компилятор должен поддерживать 32-битный формат чисел с плавающей точкой. В этом случае на представление мантиссы будет использоваться 23 бита формата, чего в Вашем случае (оперирование с небольшими числами) достаточно для проведения вычислений с точностью до 6-7 десятичных знаков.

Не могу удержаться чтобы не отметить, что для программирования данных формул рассчета даже не нужны вычисления с плавающей точкой. Вполне достаточно фиксированной точки, т.к. величины E и скорее всего U уже нормализованные, и вычислить отношение E/U запросто можно вычитанием. Компилятор все-равно будет делать это именно так (если, конечно, МК не имеет встроенного делителя в железе). Так как всегда имеем E/U > 1, to Е/U = 1. + десятичные знаки, т.е. результат деления - число тоже нормализованное, поэтому вычитать единицу из него тривиально. Наконец, для умножения на R возьмите R=64 или 32 ома (Вам все-равно нужно будет точное сопротивление, так не все-ли равно какое), тогда умножение сведется к переносу двоичной точки на 6 или 5 разрядов вправо. Еще нужно будет запрограммировать простую программку перевода дробей из двоичного формата в десятичный для индикации, но это тоже не проблема. Короче, все тривиально пишется и на АСМе. Если решите идти по этому пути и нужна будет помощь - пишите в ЛС.
Аватара пользователя
Ser60
Друг Кота
Сообщения: 3784
Зарегистрирован: Ср дек 24, 2008 09:58:58

Re: Выбор АЦП и микроконтроллера для измерения малых U,r ?

Сообщение Ser60 »

И еще вдогон отмечу следующее. Так как измеряемые напряжения находятся в пределах 1В ... 1.7В, то для измерения их с точностью до 3 десятичных знаков (т.е. до 1 мВ) теоретически достаточно распознать 700 уровней между 1000мВ и 1700мВ. Некоторые АЦП (в том числе и встроенные в МК) позволяют работать в двумя уровнями опорных напряжений V0 и V1. Так что выбрав 2 внешних источника опорных напряжений V0 = 1024мВ и V1 = 2048мВ достаточно было-бы и 10-битного АЦП. В этом случае измеряемое напряжение E = V0 + N_E*(V1 - V0)/(2^N - 1), где N_E - код АЦП, а N - его разрядность. Аналогичная формула имеет место и для измерения U. Для отношения E / U получаем:
E / U = (V0*(2^N - 1) + N_E*(V1 - V0)) / (V0*(2^N - 1) + N_U*(V1 - V0)). Таким образом, точность вычисления E / U засисит от точности и стабильности напряжений V0 и разности V1-V0. Напряжения опорных источников никогда не равны в точности V1 и V0 и зависят от температуры.

Однако, если использовать АЦП с большей разрядностью и только одним источником опорного напряжения V1 = V (здесь V0 = 0), то получим E = N_E*V / (2^N - 1) и U = N_U*V / (2^N - 1), так что отношение E / U = N_E / N_U и не зависит от опорного напряжения V. Важно только чтобы V было больше 1.7В. Если интервал времени между измерениями E и U мал, то можно пренебречь нестабильностью V и принять ее одинаковой для обоих измерений. Кроне того, вычисление E / U в этом случае сводится к операциям с целыми числами.
FUZZY_
Потрогал лапой паяльник
Сообщения: 390
Зарегистрирован: Чт сен 24, 2009 17:22:51
Откуда: UK

Re: Выбор АЦП и микроконтроллера для измерения малых U,r ?

Сообщение FUZZY_ »

Спасибо за теорию , буду смотреть что есть из АЦП. Насколько помню на старых SC были 16 р АЦП
Аватара пользователя
ploop
Модератор
Сообщения: 13490
Зарегистрирован: Ср ноя 26, 2008 16:34:25
Откуда: Тамбовская обл.

Re: Выбор АЦП и микроконтроллера для измерения малых U,r ?

Сообщение ploop »

А почему-бы не подогнать входной сигнал для АЦП с помощью ОУ?
Аватара пользователя
Ser60
Друг Кота
Сообщения: 3784
Зарегистрирован: Ср дек 24, 2008 09:58:58

Re: Выбор АЦП и микроконтроллера для измерения малых U,r ?

Сообщение Ser60 »

Можно, конечно опустить измеряемое напряжение на 1В вниз и тем самым сместить диапазон измеряемых напряжений до, скажем [0 - 0.7В] и применить 10-битный АЦП в МК. Но тогда к измеряемому напряжению добавится нестабильность резисторов операционника (нужен будет прецезионный подстроечнк), дрейф нуля ОУ (качественные ОУ имеют, правда, авто-компенсацию дрейфа), и может быть стабильность напряжения смещения уровня. Я не говорю, что эти проблемы неразрешимы, многие так и делают чтобы использовать штатный АЦП в МК. Но зачем зачем придумывать себе проблемы, чтобы их успешно преодолеть? Куда проще купить "нормальный" АЦП и решить с ним все проблемы сразу.
Аватара пользователя
КРАМ
Друг Кота
Сообщения: 25367
Зарегистрирован: Чт янв 10, 2008 22:01:02
Откуда: Московская область, Фрязино

Re: Выбор АЦП и микроконтроллера для измерения малых U,r ?

Сообщение КРАМ »

С метрологией у автора темы некоторые проблемы наблюдаются...
Сам метод измерения внутреннего сопротивления подразумевает подключение-отключение нагрузок. А это ключ с довольно произвольным внутренним сопротивлением. Даже мосфет с low Rds_on имеет лишь МАКСИМАЛЬНО ВОЗМОЖНОЕ значение этого параметра, а какое оно на самом деле..., да и от напряжения затвор-исток оно зависит.
Другой момент. Измерение хим источников - очень инерционный процесс. Таким образом получить точное значение искомой величины не получится.
Для реализации задуманного и упрощения требований к аппаратной части необходимо сделать процесс ИМПУЛЬСНЫМ. Тогда легко усилить перепад не на УПТ, а на закрытом по входу-выходу ОУ, что уберет влияние дрейфов и нач. смещений.
Ну и по МК.
PIC24HJ12GP201. 12-разрядный АЦП 500 ксемплов/сек. 16-разрядная архитектура. 40 МИПС. Аппаратное деление. Знаковые операции. Цена 90 рублей.
Аватара пользователя
Ser60
Друг Кота
Сообщения: 3784
Зарегистрирован: Ср дек 24, 2008 09:58:58

Re: Выбор АЦП и микроконтроллера для измерения малых U,r ?

Сообщение Ser60 »

Если взять мосфет с сопротивлением открытого канала 60 миллиом, то это будет
1/1000 от нагрузочного резистора 64 ом и на точность измерения сопротивления
повлияет незначительно. Конечно, на его затвор нужно будет подать
напряжение повыше, как в даташите упомянуто, но это дело техники.

С 12-битным АЦП ничего и усиливать не нужно. В PIC24 аппаратный делитель
поддрживает только 16-битное делимое, а надо 24-битное. Проще поставить любой
PIC16 или AVR8 и написать деление самому. Впрочем, кому что проще дело
сугубо индивидуальное.

А по поводу инерционности, я не специалист, если можно объясните подробнее.
clawham
Поставщик валерьянки для Кота
Сообщения: 1957
Зарегистрирован: Пт окт 31, 2008 09:38:55
Откуда: Одесса
Контактная информация:

Re: Выбор АЦП и микроконтроллера для измерения малых U,r ?

Сообщение clawham »

Я такое устройство делал!
1) без операционников никуда
2) ключи от нагрева плывут
3) 32 омма нагрузки? вы смеетесь? это для аккумов 100-200 миллиамперчасов чтоли?

импульсный режим это ерунда
вам надо на инструментальном операционнике сделать усилитель в раз 5 например
потом взять cd4051 и её единственный выход подать на любую АЦП
тоесть разбить диапазон на измерение больших напряжений и маленьких...конечно в идеале ещё и вычесть 1 вольт из аккума надобы...можно взять ещё один инструменьтальник и играться с 4051 или 4052 выбирая наиболее точные диапазоны измерений
нагрузочный ток нужно поддерживать....тоесть давать аккумулятору нагрузку не от фонаря а 1С и при этой нагрузке и смотреть проседает или нет - следовательно Вам надо будет шунт-измеритель тока и транзистором нужно будет управлять ШИМ модулацией

само собой экран
само собой кнопочки .. процедура калибровки и т.д.
само собой подойдёт и атмега 8 запросто....квавр имеет 32битный флоат....для небольших чисел вполне хватит...но и вправду можно и целочисленной арифметикой обойтись - цифры маленькие...

если надо 64-битный флоат то вам в сторону кейла или иара смотреть надо...они посерьёзнее в плане математики

вот и все дела:)
если что - обращайтесь
Что нас не убило сделало нас осторожней
Не доверяйте русским лужам - это может быть вход в метро.
Аватара пользователя
МитяРа
Модератор
Сообщения: 11492
Зарегистрирован: Чт дек 11, 2008 14:52:26
Откуда: град Нижний

Re: Выбор АЦП и микроконтроллера для измерения малых U,r ?

Сообщение МитяРа »

clawham писал(а):1) без операционников никуда
Не всегда..
У того-же SiLabs-а например, есть на входе АЦП усилитель с программируемым коэффициентом усиления..
[img]http://radiokot.ru/forum/download/file.php?id=93376[/img][i][color=#000080][size=85]Между людьми возникает напряжение, если у них разный потенциал...[/size][/color][/i]
Аватара пользователя
КРАМ
Друг Кота
Сообщения: 25367
Зарегистрирован: Чт янв 10, 2008 22:01:02
Откуда: Московская область, Фрязино

Re: Выбор АЦП и микроконтроллера для измерения малых U,r ?

Сообщение КРАМ »

Ser60 писал(а):Если взять мосфет с сопротивлением открытого канала 60 миллиом, то это будет
1/1000 от нагрузочного резистора 64 ом и на точность измерения сопротивления
повлияет незначительно. Конечно, на его затвор нужно будет подать
напряжение повыше, как в даташите упомянуто, но это дело техники.

С 12-битным АЦП ничего и усиливать не нужно. В PIC24 аппаратный делитель
поддрживает только 16-битное делимое, а надо 24-битное. Проще поставить любой
PIC16 или AVR8 и написать деление самому. Впрочем, кому что проще дело
сугубо индивидуальное.

А по поводу инерционности, я не специалист, если можно объясните подробнее.
1. Блок деления 24-ых поддерживает 32/16 (и знаковое и беззнаковое). Делимое - 32 разряда, делитель - 16 разрядов.
Увеличить разрядность делителя не представляет НИКАКОГО труда - совершенно тривиальная задача. разрядность результата неограничена ничем - достаточно взять остаток и снова его поделить на делитель. Но главное - 12 разрядов АЦП. Т.е. менее 1мв разрешения. При оверсемплинге можно получить стабильный младший разряд.
2. При определении внутреннего сопротивления в сотни миллиом, ключ с 20...60 миллиомами внесет погрешность явно не на 16 разрядов... И дело тут не в нагрузке, хотя и с нагрузкой будут проблемы при заданной автором точности.
3. Электрохимия инерционна, поэтому внутреннее сопротивление БУДЕТ ПЛЫТЬ во времени. Быстро меряем - одно значение, медленно - другое. И нафига козе баян? Зачем такая точность для величины, которая не может быть стабильной по природе.
clawham
Поставщик валерьянки для Кота
Сообщения: 1957
Зарегистрирован: Пт окт 31, 2008 09:38:55
Откуда: Одесса
Контактная информация:

Re: Выбор АЦП и микроконтроллера для измерения малых U,r ?

Сообщение clawham »

полностью согласен с КРАМ
совершенно нестабильное дело эти аккумы...надо подавать нагрузку и с минуту ждать пока переходные процессы в хим элементе устаканятся и выйдут на номинальный режим...иначе получается полная хрень

а по поводу встроенного умножителя...эмм..а разве это не операционником реализовано и притом хреновым операционником как многие уже успели заметить(кто пытался использовать) и...например в той же меге 32 умножение тащит за собой уменьшение разрядности увеличение времени и ещё мешок ненужных проблем...
Что нас не убило сделало нас осторожней
Не доверяйте русским лужам - это может быть вход в метро.
Аватара пользователя
Ser60
Друг Кота
Сообщения: 3784
Зарегистрирован: Ср дек 24, 2008 09:58:58

Re: Выбор АЦП и микроконтроллера для измерения малых U,r ?

Сообщение Ser60 »

Я не спорю, что можно реализовать деление 24/24 бит с использованием 32/16 бит делителя. Я только писал, что даже с таким аппаратным делителем за 1 операцию это сделать не удастся, и что в данном конкретном случае для вычисления одного отношения можно запросто обойтись и без делителя. Согласен, что PIC24 на голову превосходит PIC16 и AVR8, о кот. я писал в качестве примера, не утверждая что делать надо именно на них.

Расхождение в мнениях по поводу точности можно разрешить тоько на конкретных примерах. Предположим, что ЭДС аккума 1.7В и его внутреннее сопротивление 0.1 ом (близко к примеру автора). Предположим также, что мы нагружаем аккум на резистор 64 ом и предположим что хим. процессы устаканились (мы сейчас обсуждаем только вычислительную точность). Тогда напряжение на нагрузке 64 ом будет равно (64/64.1) * 1.7 = 1.697347В. Теперь примем во внимание сопротивление полевика 60 миллиом (= 0.06 ом), подключенное впослед с нагрузочным резистором. При этом напряжение на соединенных впослед нагрузке в 64 ом и канале полевика составит (64.06/64.16) * 1.7 = 1.697350. Как видно, напряжения совпадают в 4 десятичных знаках, т.е. канал полевика не будет вносить заметной погрешности в измерения. Как я понял, автор проекта только спрашивал как минимизировать вычислительную погрешность.

А вопрос "на хрена козе баян" действительно заслуживает внимания. Конечно, при подключении низкоомной нагрузки ЭДС аккума будет постоянно уменьшаться (как, впрочем и без нее за счет саморазряда). Измеренное по методу автора внутреннее сопротивление тоже может изменяться по времени. Однако, измерение напряжения на нагрузке занимает микросекунды, и насколько упадет за это время напряжение на аккуме мы без конкретных цифр не решим. Нужен эксперимент с ожиданием устаканивания в течении секунды, минуты, и пр. Было-бы небезынтересно, если автор предоставит данные экспериментов. Я не удивлюсь, если внутреннее сопротивление аккума зависит не только от времени разряда но и от тока нагрузки. Тогда зачем мерять его сопротивление при каком-то отвлеченном токе - вопрос опять к автору. Возможно, сопротивление аккумов нормируется при определенном токе нагрузки (в зависимости от емкости) и после определенного времени разряда. Опять-же, я в электрохимии не специалист и только предполагаю.
Аватара пользователя
КРАМ
Друг Кота
Сообщения: 25367
Зарегистрирован: Чт янв 10, 2008 22:01:02
Откуда: Московская область, Фрязино

Re: Выбор АЦП и микроконтроллера для измерения малых U,r ?

Сообщение КРАМ »

Ээээ...
Мой спич был о том, что "козе" не нужен 16 разрядный баян (АЦП). Потому как пять определенных Вами разрядов - это только мосфет и уже 14 двоичных разрядов. А еще есть ТКС и точность резистора нагрузки...
"Козе" хватит и 12 популярных разрядов резидентно торчащих на кристалле МК.
И смысла обсуждать вычислительную точность ессно нет.
Но о точности тем не менее мною был дан совет.
Оффтоп.
Об одной операции деления.
Вы наверное про машциклы говорили? По любому деление в 24-х (33-их) выполняется за 18 машциклов. А деление на 24 разряда будет выполено приблизительно за 3,5 обычных деления. Т.е. за менее, чем 70 м.ц. (1,7 мкс).
Но опять же коза не в этом, а в его цене - 86 рублей. Т.е. практически как у его восьмиразрядных сотоварищей.
Закрыто

Вернуться в «Микроконтроллеры и ПЛИС»