Как повысить точность вычисления напряжения

Обсуждаем контроллеры компании Atmel.
vovik15
Опытный кот
Сообщения: 768
Зарегистрирован: Сб ноя 08, 2008 18:32:36
Контактная информация:

Как повысить точность вычисления напряжения

Сообщение vovik15 »

Здравствуйте,такой вопрос: использую mega168 для измерения напряжения. Диапазон 0-4.5 вольта. Опорное напряжение взял со стабилизатора 2.5 вольта, расчитал делитель напряжения. Данные снимаю с регистра ADCH левое выравнивание. 8бит Формулу расчитал так: при Umax = 4.5v ADC = 255. Дальше 4500 мв/255 = 17.6 мв на одну единицу ацп.(ADC*176)/10. В результате получается более менее точные вычисления, но мне это не нравится. Есть ли другие формулы расчета,более точные? Float использовать не буду, он отнимает много ресурсов. За ранее спасибо.
Реклама
Аватара пользователя
ARV
Ум, честь и совесть. И скромность.
Сообщения: 18544
Зарегистрирован: Чт дек 28, 2006 08:19:56
Откуда: Новочеркасск
Контактная информация:

Re: Как повысить точность вычисления напряжения

Сообщение ARV »

используйте все 10 бит АЦП: 4500/1024=4,4 мв
P.S. для вашего МК float не такая уж и большая проблема
если рассматривать человека снизу, покажется, что мозг у него глубоко в жопе
при взгляде на многих сверху ничего не меняется...

Мой уютный бложик... заходите!
Реклама
vovik15
Опытный кот
Сообщения: 768
Зарегистрирован: Сб ноя 08, 2008 18:32:36
Контактная информация:

Re: Как повысить точность вычисления напряжения

Сообщение vovik15 »

Ну как сказать, код занимал 10 процентов, после деления на дробное число,код стал занимать 30% почему то
Аватара пользователя
ARV
Ум, честь и совесть. И скромность.
Сообщения: 18544
Зарегистрирован: Чт дек 28, 2006 08:19:56
Откуда: Новочеркасск
Контактная информация:

Re: Как повысить точность вычисления напряжения

Сообщение ARV »

даже если и так - что вы там собираетесь пихать в остальные 70%? это ведь 11 килобайт!
если рассматривать человека снизу, покажется, что мозг у него глубоко в жопе
при взгляде на многих сверху ничего не меняется...

Мой уютный бложик... заходите!
Реклама
Эиком - электронные компоненты и радиодетали
vovik15
Опытный кот
Сообщения: 768
Зарегистрирован: Сб ноя 08, 2008 18:32:36
Контактная информация:

Re: Как повысить точность вычисления напряжения

Сообщение vovik15 »

Ну да впринципе места много. А вам приходилось забивать память до отказа?
Реклама
Аватара пользователя
ARV
Ум, честь и совесть. И скромность.
Сообщения: 18544
Зарегистрирован: Чт дек 28, 2006 08:19:56
Откуда: Новочеркасск
Контактная информация:

Re: Как повысить точность вычисления напряжения

Сообщение ARV »

да. в одном проекте atmega8 у меня заполнена на 99,8%
если рассматривать человека снизу, покажется, что мозг у него глубоко в жопе
при взгляде на многих сверху ничего не меняется...

Мой уютный бложик... заходите!
Реклама
vovik15
Опытный кот
Сообщения: 768
Зарегистрирован: Сб ноя 08, 2008 18:32:36
Контактная информация:

Re: Как повысить точность вычисления напряжения

Сообщение vovik15 »

Наверное коммерческий проект
Аватара пользователя
ARV
Ум, честь и совесть. И скромность.
Сообщения: 18544
Зарегистрирован: Чт дек 28, 2006 08:19:56
Откуда: Новочеркасск
Контактная информация:

Re: Как повысить точность вычисления напряжения

Сообщение ARV »

нет, не коммерческий
если рассматривать человека снизу, покажется, что мозг у него глубоко в жопе
при взгляде на многих сверху ничего не меняется...

Мой уютный бложик... заходите!
Аватара пользователя
afz
Опытный кот
Сообщения: 744
Зарегистрирован: Сб дек 22, 2012 08:17:42
Откуда: Караганда, Казахстан

Re: Как повысить точность вычисления напряжения

Сообщение afz »

vovik15 писал(а):ADC*176)/10. В результате получается более менее точные вычисления, но мне это не нравится. Есть ли другие формулы расчета,более точные?
А зачем делить на 10? Считай в десятых долях мВ, и все. Потом, в процессе выдачи, поставишь точку перед последней цифрой, будет в милливольтах.
Кто мешает тебе выдумать порох непромокаемый? (К. Прутков, мысль № 133)
Аватара пользователя
AndTer
Поставщик валерьянки для Кота
Сообщения: 2406
Зарегистрирован: Ср фев 23, 2011 12:12:31

Re: Как повысить точность вычисления напряжения

Сообщение AndTer »

А зачем флоат? Используй лонги.
Для повышения точности, сделай сразу 10-20-30 да хоть 100 измерений, просуммируй все показания, а потом раздели на собственно сколько раз измерял. В итоге получишь куда более точное значение.
А если нужны десятые доли, то значение АЦП суммируй, умножай на 10, а потом дели. Умножай на значение напряжения на единицу АЦП и выводи поставив точку в нужном месте.
Глупый не задает вопросы. Глупый и так все знает.
_abk_
Грызет канифоль
Сообщения: 264
Зарегистрирован: Сб мар 05, 2011 09:19:01

Re: Как повысить точность вычисления напряжения

Сообщение _abk_ »

[uquote="AndTer",url="/forum/viewtopic.php?p=3456810#p3456810"]А зачем флоат? Используй лонги.
... сделай сразу 10-20-30 да хоть 100 измерений, просуммируй все показания, а потом раздели на собственно сколько раз измерял.[/uquote]Плохому учите? :)))
2 в степени n измерений, потом n раз сдвинуть вправо.
Аватара пользователя
AndTer
Поставщик валерьянки для Кота
Сообщения: 2406
Зарегистрирован: Ср фев 23, 2011 12:12:31

Re: Как повысить точность вычисления напряжения

Сообщение AndTer »

Вполне нейтральному. Задротствовать с ассемблером времена прошли вместе с z80.
А про сдвиг нынешние студенты если слышали, то сразу забыли и пользоваться не умеют. Да и показывает практика нафиг надо. Хватает и процессорного времени и ресурсов чтобы просто делить. И в коде потом разобраться проще и самому писателю и всем всем всем.
Глупый не задает вопросы. Глупый и так все знает.
_abk_
Грызет канифоль
Сообщения: 264
Зарегистрирован: Сб мар 05, 2011 09:19:01

Re: Как повысить точность вычисления напряжения

Сообщение _abk_ »

[uquote="AndTer",url="/forum/viewtopic.php?p=3456896#p3456896"]Вполне нейтральному[/uquote] Отнюдь. Даже вредному. Это бессмысленная трата ресурсов и времени. И причем тут ассемблер?
Аватара пользователя
AndTer
Поставщик валерьянки для Кота
Сообщения: 2406
Зарегистрирован: Ср фев 23, 2011 12:12:31

Re: Как повысить точность вычисления напряжения

Сообщение AndTer »

А тебе что, солить эти ресурсы и время? Пусть тратится, зато просто и доступно любому школьнику. МК в массы! Уж лучше так, чем ардуино!
Ассемблер тут при том, что подход этот уже давно отжил своё. Не нужно экономить ресурсы и время процессора, куда важней экономить время разработчика. Лучше погулять и пивка попить чем выдрачивать байтики и наносекундочки.
Глупый не задает вопросы. Глупый и так все знает.
Аватара пользователя
Ivanoff-iv
Друг Кота
Сообщения: 7077
Зарегистрирован: Пт ноя 11, 2016 05:48:09
Откуда: Сердце Пармы

Re: Как повысить точность вычисления напряжения

Сообщение Ivanoff-iv »

сначала вопрос, для чего измеряете (управление процессом или индикация)?
Для тех, кто не учил магию мир полон физики :)
Безграмотно вопрошающим про силовую или высоковольтную электронику я не отвечаю, а то ещё посадят за участие в (само)убиении оболтуса...
_abk_
Грызет канифоль
Сообщения: 264
Зарегистрирован: Сб мар 05, 2011 09:19:01

Re: Как повысить точность вычисления напряжения

Сообщение _abk_ »

AndTer писал(а):А тебе что, солить... подход этот уже давно отжил своё. Не нужно экономить ресурсы и время процессора...
Воинствующее невежество.
И я вам не тыкал и на брудершафт не пил. Так что потрудитесь держать себя в рамках.
Аватара пользователя
Ivanoff-iv
Друг Кота
Сообщения: 7077
Зарегистрирован: Пт ноя 11, 2016 05:48:09
Откуда: Сердце Пармы

Re: Как повысить точность вычисления напряжения

Сообщение Ivanoff-iv »

если индикация - то шаг ацп очень желательно сделать кратным 10^n чтобы на экран хорошо вписывался. для этого нужно изменить границы измерения ( у нас 1024 отсчета, если делать шаг 5мВ, и от 0, то диапазон будет до 5,12В, думаю это не страшно).
Для тех, кто не учил магию мир полон физики :)
Безграмотно вопрошающим про силовую или высоковольтную электронику я не отвечаю, а то ещё посадят за участие в (само)убиении оболтуса...
vovik15
Опытный кот
Сообщения: 768
Зарегистрирован: Сб ноя 08, 2008 18:32:36
Контактная информация:

Re: Как повысить точность вычисления напряжения

Сообщение vovik15 »

А поподробнее насчет сдвига можно? Не совсем понял как это делать
Аватара пользователя
Ivanoff-iv
Друг Кота
Сообщения: 7077
Зарегистрирован: Пт ноя 11, 2016 05:48:09
Откуда: Сердце Пармы

Re: Как повысить точность вычисления напряжения

Сообщение Ivanoff-iv »

вам предлагают найти среднее арифметическое от нескольких замеров (мне кажется идея в голом виде не очень, желатешьно бы доработать).
а на счет сдвига - вам нравилось в школе умножать/делить на 10, 100 и.т.д... контроллеру тоже нравится, только система счисления у него двоичная и его любимые цифры 2, 4, 8, 16, и т.д. принцип тотже.

Добавлено after 3 minutes 50 seconds:
идея будет работать если уровень шумов достаточен (не меньше одного отсчета) и если замеров делать достаточно много.
Для тех, кто не учил магию мир полон физики :)
Безграмотно вопрошающим про силовую или высоковольтную электронику я не отвечаю, а то ещё посадят за участие в (само)убиении оболтуса...
vovik15
Опытный кот
Сообщения: 768
Зарегистрирован: Сб ноя 08, 2008 18:32:36
Контактная информация:

Re: Как повысить точность вычисления напряжения

Сообщение vovik15 »

Один сдвиг вправо кратен делению на 8?
Ответить

Вернуться в «AVR»