как преобразовать
как преобразовать
у меня на АЦП подведено напряжение до 14 вольт. через делитель естетственно. задача мерять. пик 16ф1827. но вот какие я советы только не выслушал как только не пытался,нормальный рещультат преобразования так и не получил. и вот это на картинке пробовал - вообще результат в минусы улетал. подскажите как из ацп в вольты перевести наиболее точно.

- Реклама
- Gudd-Head
- Друг Кота
- Сообщения: 20092
- Зарегистрирован: Чт сен 18, 2008 12:27:21
- Откуда: Столица Мира Санкт-Петербург
Re: как преобразовать
Если АЦП 10 бит, то...
Vref*ADC/1024 — это напряжение, которое приходит на АЦП (Vref опорное напряжение, ADC — слово АЦП (результат преобразования)).
Если у вас ещё стоит делитель с к-том деления К, то входное напряжение будет
К*Vref*ADC/1024
Vref*ADC/1024 — это напряжение, которое приходит на АЦП (Vref опорное напряжение, ADC — слово АЦП (результат преобразования)).
Если у вас ещё стоит делитель с к-том деления К, то входное напряжение будет
К*Vref*ADC/1024
[ Всё дело не столько в вашей глупости, сколько в моей гениальности ] [ Правильно заданный вопрос содержит в себе половину ответа ]
Re: как преобразовать
Опорное напряжение какое? И младшие два бита ADRESL лучше отбрасывать, там шум чаще всего.
- Gudd-Head
- Друг Кота
- Сообщения: 20092
- Зарегистрирован: Чт сен 18, 2008 12:27:21
- Откуда: Столица Мира Санкт-Петербург
Re: как преобразовать
А ещё проще чтобы избавиться от деления, заранее вычислить
К*Vref/1024
и умножать на это результат преобразования.
Для экономии памяти и тактов можно всё это делять в целых числах: умножать на
К*Vref/1024*10 или К*Vref/1024*100,
а при выводе на дисплей просто перед одним или двумя последними цифрами ставить точку.
К*Vref/1024
и умножать на это результат преобразования.
Для экономии памяти и тактов можно всё это делять в целых числах: умножать на
К*Vref/1024*10 или К*Vref/1024*100,
а при выводе на дисплей просто перед одним или двумя последними цифрами ставить точку.
[ Всё дело не столько в вашей глупости, сколько в моей гениальности ] [ Правильно заданный вопрос содержит в себе половину ответа ]
Re: как преобразовать
А ещё проще, если хватает памяти, как уже говорил откинуть два младших бита и рассчитать заранее таблицу. А если есть время, то можно и на все 1024 элемента просчитать таблицу и записать её во внешнюю EEPROM.
- Реклама
- КРАМ
- Друг Кота
- Сообщения: 25261
- Зарегистрирован: Чт янв 10, 2008 22:01:02
- Откуда: Московская область, Фрязино
Re: как преобразовать
Это зависит от кривизны рук разработчика схемы и кривизны мозгов писателя кода...shindax писал(а):И младшие два бита ADRESL лучше отбрасывать, там шум чаще всего.
Прежде всего нужно уложить полный диапазон измерений в шкалу 10 разрядного АЦП "пиксель в пиксель".rakka писал(а):подскажите как из ацп в вольты перевести наиболее точно.
Иначе будет размываться младший разряд.
То есть максимальный предел может быть кратен 1024: 0,1024 , 1,024 , 10,24.
Приведение к шкале осуществляют обычным делителем либо масштабирующим ОУ
Вычислять нужно БЕЗ УЧЕТА ЗАПЯТОЙ. То есть целое число. А запятую просто зажигать в необходимом разряде.
Re: как преобразовать
Опорное напряжение лучше брать кратно 1024(ну или 512 смотря сколько разрядов вам важны и сколько планируете использовать) считать проще и путаницы в голове меньше, например если питание пика 5 вольт, опорное напряжение я беру 1024*4=4096 => 4.1 вольт, это позволит измерять напряжение до милливольта, а результат будет равен АЦП/1000. Если у вас стоит делитель, наверно 1/3 то результат останется домножить на 3 


