Страница 1 из 1
АСЦ Atmega8 плавное измерение
Добавлено: Вс июн 02, 2013 17:14:53
stenkodv
Начал делать в машину датчик уровня бензина, проблема в том что измерение асц слишком узкое получается от 0 до 100 прибл. циферки бегают как угарелые причём идёт на увеличение как то непонятно то 10-20- 30- 20- 40- 25 ит.д приблизительно. сопротивление датчика 0-100 Ом (таврия) как можно от этого избавится?
Спойлер

Re: АСЦ Atmega8 плавное измерение
Добавлено: Вс июн 02, 2013 18:38:29
blackx
Сглаживайте результат измерений по времени. Например, вот так:
Где x - сглаженный результат, x0 - предыдущий, p - текущее фактическое измерение, k - коэффициент "сглаживания". Как видно, изменение результата пропорционально модулю разности фактического измерения и предыдущего значения.
К можно экспериментально подобрать: брать значения 10, 100, 1000.
Re: АСЦ Atmega8 плавное измерение
Добавлено: Вс июн 02, 2013 19:37:48
stenkodv
Идею я уловил только не могу с мыслями собраться как это в программе реализовать, если вас не затруднит помогите.
Re: АСЦ Atmega8 плавное измерение
Добавлено: Вс июн 02, 2013 19:52:06
Аlex
В таких случаях делают кольцевой буфер, заполняют его каждое измерение и выводят среднее значение.
А если "Идею уловил", но "не знаю как это сделать в программе", то, извините за грубость, Вам в программировании делать нечего. Для этого есть раздел "
Есть работа" - там Вам что угодно сделают.
Re: АСЦ Atmega8 плавное измерение
Добавлено: Пн июн 03, 2013 08:06:11
menzoda
Действительно, если не понятно, как запрограммировать простейшее арифметическое выражение, то программированием заниматься не стоит, ну или можно попробовать несколько раз прочитать что-нибудь типа "С для чайников", вдруг поможет.
Re: АСЦ Atmega8 плавное измерение
Добавлено: Вт июн 04, 2013 12:01:42
stenkodv
blackx писал(а):Сглаживайте результат измерений по времени. Например, вот так:
Пошёл этим путём, вроде стало лучше но основная проблема осталась, например должно просто идти на увеличение а значение то идёт на увеличение то на уменьшение потом опять вверх, может сам датчик глюканутый. Или аппаратно что то попробовать?
Re: АСЦ Atmega8 плавное измерение
Добавлено: Вт июн 04, 2013 18:37:18
mas123
stenkodv писал(а):Или аппаратно что то попробовать?
Стоит и аппаратно посмотреть.
Опора АЦП включается в режиме "AVCC with external capacitor at AREF pin", а ёмкости на указанном выводе не видать.
Re: АСЦ Atmega8 плавное измерение
Добавлено: Ср июн 05, 2013 08:08:38
balmer
Аппаратно - попробуйте стандартные средства - AVCC подключать через индуктивность 100 мкГн+конденсатор 100 nF. Добавить на AREF пин конденсатор 1-10 nF. На цифровую часть питания - 10 mkF + 100 nF.
AGND - обязательно подключать к земле.
И еще - в современных LCD дисплеях часто стоят повышающие преобразователи. Если у вас стоит - надо этот источник помех так-же локализовать.
Лично у меня на ATmega8 получалось выбирать все 10 бит абсолютно без шума.
Re: АСЦ Atmega8 плавное измерение
Добавлено: Ср июн 05, 2013 08:22:02
stenkodv
stenkodv писал(а):Опора АЦП включается в режиме "AVCC with external capacitor at AREF pin
Это визард сгенерировал, на самом деле ADCSRA|=0x40; AVCC pin, менял руками.
Re: АСЦ Atmega8 плавное измерение
Добавлено: Ср июн 05, 2013 10:04:32
mas123
stenkodv писал(а):stenkodv писал(а):Опора АЦП включается в режиме "AVCC with external capacitor at AREF pin
Это визард сгенерировал, на самом деле ADCSRA|=0x40; AVCC pin, менял руками.
А с каких пор опора конфигурируется в ADCSRA?
Покажи тогда правильный код. А то ваще оригинально - выкласть код "неправильный" и надеяться на ответ.
Прочти снова даташит про опору. REFS1=0, REFS0=1 в ADMUX означает "AVCC with external capacitor at AREF pin"
Re: АСЦ Atmega8 плавное измерение
Добавлено: Пн июн 10, 2013 22:15:51
stenkodv
То меня что то попутало после ночной смены, #define ADC_VREF_TYPE 0x40, сейчас пробовал #define ADC_VREF_TYPE 0x00 и ставил индуктивность и кондёр на AREF, склоняюсь к плохому качеству самого датчика, как думаете получится вытравить платку с дорожками и набором резисторов и поставить его вместо стандартного?
Re: АСЦ Atmega8 плавное измерение
Добавлено: Пн июн 10, 2013 22:49:57
urry
любое телодвижение должно быть оправдано, имхо ...
Вместо стандартного - это как ?
Существует не 1 метод усреднения результата.
Re: АСЦ Atmega8 плавное измерение
Добавлено: Пн июн 10, 2013 23:13:00
mas123
stenkodv писал(а):склоняюсь к плохому качеству самого датчика, как думаете получится вытравить платку с дорожками и набором резисторов и поставить его вместо стандартного?
Я бы, для начала, взял внешний источник напряжения и подал бы от него на вход АЦП, заместо датчика.
С помощью такого "идеального датчика" легко проверить кто глючит - АЦП, софт или и в самом деле датчик.