Увеличение разрядности АЦП
- Войдите на сайт для отправки комментариев
Втр, 06/09/2011 - 11:14
Добрый день.
Как известно Arduino Nano имеет 6 аналоговых входов с разрядностью 10бит.
Мне в моем проекте требутся 2 входа по 16 разрядов (можно смириться если будет только 12 разрядов).
На ум приходит только повесить дополнительно микросхему АЦП и подключить ее к дискретным входам.
Однако пока не "наломал дров" хочу уточнить - нет ли возможности соеденить 2 аналоговых входа Arduino с небольшой обвязкой для увеличения разрядности (точности) АЦП преобразования?
Яндекс не дал ответа на мой вопрос.
Спасибо.
из математики: 6*2^10(т.е. может принимать 6144 различных значения) < 2^16(т.е. может принимать 6536различных значения). То есть если даже было бы возможно обьеденить 6 выходов это почти в 10 раз было бы хуже чем вам надо.
В принципе можно сделать если у ВАС не быстро изменяющийся сигнал - сделать 2х каскадную схему типа конвеерного ацп:
Пример условно: на входе напряжение 2.5467 В
1 канал меряет грубо 2.54 В и формирует на цапе 2.54В
на ОУ из входного напряжения вычитается 2.54В и умножается на 100
2 канал меряет 0.67В - затем результат складывается и получается результат более высокой разрядности
Как известно Arduino Nano имеет 6 аналоговых входов с разрядностью 10бит.
8 аналоговых входов.
Как известно Arduino Nano имеет 6 аналоговых входов с разрядностью 10бит.
8 аналоговых входов.
Из даташита на ATMega328:
"– 8-channel 10-bit ADC in TQFP and QFN/MLF package
– 6-channel 10-bit ADC in PDIP Package"
Из спецификации на Arduino UNO:
"Аналоговые входы 6"
Из спецификации на Arduino Duemilanove:
"На платформе Duemilanove установлены 6 аналоговых входов, каждый разрешением 10 бит (т.е. может принимать 1024 различных значения)."
Arduino Mini:
"Аналоговые входы 8 (4 из которых имеют выводы)"
Nano:
"Аналоговые входы 8"
Arduino Mega 2560:
"Аналоговые входы 16"
и т.д.
Думаю, таки надо конкретизировать - какая из моделей имеется в виду.
Quazar же написал, что Arduino Nano:
Добрый день.
Как известно Arduino Nano имеет 6 аналоговых входов с разрядностью 10бит.
.......................
Как известно Arduino Nano имеет 6 аналоговых входов с разрядностью 10бит.
8 аналоговых входов.
Из даташита на ATMega328:
"– 8-channel 10-bit ADC in TQFP and QFN/MLF package
– 6-channel 10-bit ADC in PDIP Package"
Из спецификации на Arduino UNO:
"Аналоговые входы 6"
Из спецификации на Arduino Duemilanove:
"На платформе Duemilanove установлены 6 аналоговых входов, каждый разрешением 10 бит (т.е. может принимать 1024 различных значения)."
Arduino Mini:
"Аналоговые входы 8 (4 из которых имеют выводы)"
Nano:
"Аналоговые входы 8"
Arduino Mega 2560:
"Аналоговые входы 16"
и т.д.
Думаю, таки надо конкретизировать - какая из моделей имеется в виду.
Непонятно для чего нужно было повторятся?
maksim вроде написал раньше об этом
step962 просто не затил наверное...
собрать эталонный усилитель на 10 с АРУ по выходу чтобы за 5в не выходило
подать сигнал на 2 вход
уровень от 0 до 0,5 в смотреть по 2 выходу
а большой уровень смотреть первым выходом и умножать на 10 для сложения
Если нужна точность и в диапазоне выше 0,5 то сотварить такоеже преобразование но в последствии уменьшив амплитуду на константу.
ps я тупой , догадывайтесь сами что я написал.
Quazar же написал, что Arduino Nano:
Упс... Невольно вспоминается дедушка Иван Андреевич:
"А видел ли слона? Каков собой на взгляд!
Я чай, подумал ты, что гору встретил?" -
"Да разве там он?" - "Там".- "Ну, братец, виноват:
Слона-то я и не приметил".
Но, тем неменее, сводка, думаю, не помешает.
Если у Вас медленно меняющийся сигнал, то разрядность можно увеличить сглаживанием (усреднением) выборок. Теоретически усреднив 2^6 выборок увеличим на 6 бит разрядность. Реально можно получить 12 бит из 10 усреднив 8 выборок, или даже 16 (т.е. с запасом на 1 или 2 бита). Практически работает только при наличии шума или фона по входу больше минимального разряда (заодно и он убирается), иначе будет точно "местами" - около смены последнего разряда
Но если нужно мерять точно и быстро, то без внешнего АЦП - никак. Разве что организовать 16 битный цап и компаратор (метод последовательного приближения).
Еще можно поставить преобразователь напряжение/частота (с необходимым качеством, т.е не менее 16 бит) и измерять ардуиной частоту или период - здесь получить 16 бит нетрудно.
Если у Вас медленно меняющийся сигнал, то разрядность можно увеличить сглаживанием (усреднением) выборок. Теоретически усреднив 2^6 выборок увеличим на 6 бит разрядность. Реально можно получить 12 бит из 10 усреднив 8 выборок, или даже 16 (т.е. с запасом на 1 или 2 бита). Практически работает только при наличии шума или фона по входу больше минимального разряда (заодно и он убирается), иначе будет точно "местами" - около смены последнего разряда
Как это сделать в виде кода на Си? Или поскажите пожалуйста ссылочку в инете!