Например TDA7294

Форум РадиоКот • Просмотр темы - Плывут показания АЦП Atmega8A - PU
Форум РадиоКот
Здесь можно немножко помяукать :)

Текущее время: Вт мар 03, 2026 01:16:49

Часовой пояс: UTC + 3 часа


ПРЯМО СЕЙЧАС:



Начать новую тему Ответить на тему  [ Сообщений: 45 ]    , 2,  
Автор Сообщение
 Заголовок сообщения: Re: Плывут показания АЦП Atmega8A - PU
СообщениеДобавлено: Сб ноя 03, 2012 22:09:41 
Модератор
Аватар пользователя

Карма: 68
Рейтинг сообщений: 430
Зарегистрирован: Ср ноя 26, 2008 16:34:25
Сообщений: 13490
Откуда: Тамбовская обл.
Рейтинг сообщения: 0
Медали: 1
Получил миской по аватаре (1)
Если нужен настоящий ФНЧ (а не усреднение) советую почитать: http://we.easyelectronics.ru/drvlas/pro ... yadka.html


Вернуться наверх
 
 Заголовок сообщения: Re: Плывут показания АЦП Atmega8A - PU
СообщениеДобавлено: Сб ноя 03, 2012 22:14:10 
Говорящий с текстолитом
Аватар пользователя

Карма: 7
Рейтинг сообщений: 12
Зарегистрирован: Вс дек 14, 2008 20:36:47
Сообщений: 1596
Откуда: SPb
Рейтинг сообщения: 0
Цитата:
Хочу 2секунды делать десяток замеров а потом вычислять результат

Не знаю, насколько критично по ТЗ, может не стоит городить лишнее, а делать один замер в 2-3 сек.


Вернуться наверх
 
 Заголовок сообщения: Re: Плывут показания АЦП Atmega8A - PU
СообщениеДобавлено: Сб ноя 03, 2012 22:15:07 
Встал на лапы

Зарегистрирован: Пт мар 04, 2011 13:06:42
Сообщений: 108
Откуда: Украина, Ахтырка
Рейтинг сообщения: 0
saschai писал(а):
Не знаю, насколько критично по ТЗ, может не стоит городить лишнее, а делать один замер в 2-3 сек.


Пробовал, хрень самая настоящая :)


Вернуться наверх
 
 Заголовок сообщения: Re: Плывут показания АЦП Atmega8A - PU
СообщениеДобавлено: Сб ноя 03, 2012 22:21:08 
ploop писал(а):
Если нужен настоящий ФНЧ (а не усреднение) советую почитать: http://we.easyelectronics.ru/drvlas/pro ... yadka.html
Сорри, но вроде бы у меня так и реализовывается, только другими словами


Вернуться наверх
   
 
Эиком - электронные компоненты и радиодетали
 Заголовок сообщения: Re: Плывут показания АЦП Atmega8A - PU
СообщениеДобавлено: Сб ноя 03, 2012 22:22:53 
Встал на лапы

Зарегистрирован: Пт мар 04, 2011 13:06:42
Сообщений: 108
Откуда: Украина, Ахтырка
Рейтинг сообщения: 0
Сделал так:
40 выборок в течении 2секунд
потом деление на 40.
Работает более чем классно!
Осталось только сделать табличную подстановку.
У кого есть пример кода на СИ?

PS: Молодцы ребята! Помогаете дружно! Так держать! Форум отличный!! Ни где так оперативно не отвечают когда надо помощь :)


Вернуться наверх
 
 Заголовок сообщения: Re: Плывут показания АЦП Atmega8A - PU
СообщениеДобавлено: Сб ноя 03, 2012 22:40:34 
Друг Кота
Аватар пользователя

Карма: 62
Рейтинг сообщений: 889
Зарегистрирован: Вт апр 24, 2007 07:45:40
Сообщений: 6288
Откуда: Minsk
Рейтинг сообщения: 0
Да, но тут водятся зануды, которые трындят, что нигде пишется слитно . :) :)

И можно делать не 40, а 32 выборки, и не надо никакого деленя, а только 5 сдвигов.


Вернуться наверх
 
 Заголовок сообщения: Re: Плывут показания АЦП Atmega8A - PU
СообщениеДобавлено: Сб ноя 03, 2012 22:44:02 
Встал на лапы

Зарегистрирован: Пт мар 04, 2011 13:06:42
Сообщений: 108
Откуда: Украина, Ахтырка
Рейтинг сообщения: 0
Jack_A писал(а):
что нигде пишется слитно . :) :)


Точно :)

Но! Я ведь Украинец, и в школе не любил учить Русский язык. Вот отсюда и такая безграмотность..
Но я исправлюсь :)


Вернуться наверх
 
 Заголовок сообщения: Re: Плывут показания АЦП Atmega8A - PU
СообщениеДобавлено: Сб ноя 03, 2012 23:39:01 
Поставщик валерьянки для Кота
Аватар пользователя

Карма: 42
Рейтинг сообщений: 161
Зарегистрирован: Вт июл 27, 2010 11:31:59
Сообщений: 2209
Откуда: Кххх
Рейтинг сообщения: 0
У микрочипов есть симпатичные опоры (MCP1541), 12 разрядные ацп MCP3204.


Вернуться наверх
 
 Заголовок сообщения: Re: Плывут показания АЦП Atmega8A - PU
СообщениеДобавлено: Сб ноя 03, 2012 23:49:48 
Модератор
Аватар пользователя

Карма: 68
Рейтинг сообщений: 430
Зарегистрирован: Ср ноя 26, 2008 16:34:25
Сообщений: 13490
Откуда: Тамбовская обл.
Рейтинг сообщения: 0
Медали: 1
Получил миской по аватаре (1)
orinoko писал(а):
ploop писал(а):
Если нужен настоящий ФНЧ (а не усреднение) советую почитать: http://we.easyelectronics.ru/drvlas/pro ... yadka.html
Сорри, но вроде бы у меня так и реализовывается, только другими словами

Так я автору темы советовал почитать, а не вам :)


Вернуться наверх
 
 Заголовок сообщения: Re: Плывут показания АЦП Atmega8A - PU
СообщениеДобавлено: Вс ноя 04, 2012 00:11:39 
Встал на лапы

Зарегистрирован: Пт мар 04, 2011 13:06:42
Сообщений: 108
Откуда: Украина, Ахтырка
Рейтинг сообщения: 0
minakan писал(а):
У микрочипов есть симпатичные опоры (MCP1541), 12 разрядные ацп MCP3204.

А мне вот такой нравится ЧИПик: MCP3201
Спасибо за информацию! :)


Вернуться наверх
 
 Заголовок сообщения: Re: Плывут показания АЦП Atmega8A - PU
СообщениеДобавлено: Вс ноя 04, 2012 00:20:40 
Опытный кот

Карма: 12
Рейтинг сообщений: 26
Зарегистрирован: Вс апр 10, 2011 02:24:06
Сообщений: 772
Откуда: г.Северодонецк
Рейтинг сообщения: 0
Есть алгоритм оконного фильтра, который работает более эффективно, чем простое усреднение.
1. Определяем в оперативной памяти место под хранение данных от АЦП. Оптимально 16 или 32. При 10 битном АЦП понадобится соответственно 32 или 64 байта - это так называемое окно.
2. Каждое значение перед записью в оперативную память проверяем на максимальное отклонение (дельту) от уже подсчитанного отфильтрованного значения. Если оно сильно отличается - на стек не помещаем - то есть проводим отбраковку.
3. Сдвигаем информацию в окне - самое старое затираем следующим и так далее и помещаем в начало окна вновь поступившее значение.
4. Считаем среднее значение в окне
Достоинства - высокая помехозащищенность, высокое быстродействие при хорошей фильтрации. Недостаток - надо много места в ОЗУ для окна.
Например в обработке данных от тензодатчика в весах - вообще незаменимая вещь. Работает значительно лучше и красивее, чем простое усреднение, потому как не надо времени на накопление данных, в течении которого нет изменения результата на индикаторе.
Пункт 2 можно и не делать, как у меня:
Спойлер
Код:
;пп сглаживания показаний на основе алгоритма "скользящее окно"
window:
; определяем и сдвигаем данные в окне      
      ldi yl,$60   ;указатель на начало окна
      ldi yh,$0
      ldi zl,$62   ;второй указатель на следующее значение в окне
      ldi zh,$0
;смещаем содержимое окна на один элемент
      ldi temp3,31
stack:
      ld temp1,z+
      ld temp2,z+
      st y+,temp1
      st y+,temp2
      dec temp3
      brne stack
;вновь поступившее значение помещаем в конец      
      sts $9e,buf_adc_l   ;  9e 7e
      sts $9f,buf_adc_h   ;  9f 7f

;теперь суммируем все,что находится в окне для усреднения
      ldi yl,$60   ;начало окна
      ldi yh,$0
      ldi zh,32    ;количество элементов в окне
      
      clr temp1
      clr temp2
summ:
      ld temp3,y+
      add temp1,temp3
      ld temp3,y+
      adc temp2,temp3
   
      dec zh
      brne summ

;теперь делим сдвигом вправо на количество элементов (усредняем значение)
      ldi zh,5
div:
      clc
      ror temp2
      ror temp1
      dec zh
      brne div
;все готово - назад в буфер

      mov buf_adc_h,temp2
      mov buf_adc_l,temp1
      ret


_________________
C0FFEE=‭12648430‬


Вернуться наверх
 
 Заголовок сообщения: Re: Плывут показания АЦП Atmega8A - PU
СообщениеДобавлено: Вс ноя 04, 2012 00:34:22 
Поставщик валерьянки для Кота
Аватар пользователя

Карма: 42
Рейтинг сообщений: 161
Зарегистрирован: Вт июл 27, 2010 11:31:59
Сообщений: 2209
Откуда: Кххх
Рейтинг сообщения: 0
Artos писал(а):
А мне вот такой нравится ЧИПик: MCP3201

Кому сколько линий надо. Это один общий даташит. Только обращайте внимание на буквы после номера. Там суть точность и их стоимость чуть разная.
Мне 4 канала надо было. Вытащил модуль на С - пошло сразу.


Вернуться наверх
 
 Заголовок сообщения: Re: Плывут показания АЦП Atmega8A - PU
СообщениеДобавлено: Вс ноя 04, 2012 10:11:30 
Вымогатель припоя

Зарегистрирован: Сб фев 19, 2011 18:04:08
Сообщений: 513
Откуда: Татарстан, пос. Актюбинский
Рейтинг сообщения: 0
eufs писал(а):
Работает значительно лучше и красивее, чем простое усреднение, потому как не надо времени на накопление данных, в течении которого нет изменения результата на индикаторе.

Обычное среднеарифметическое усреднение с выводом результата при каждом снятии значений АЦП. Пример
Спойлер
Код:
#define MAX_LEN_BUFER 128              // размер буфера хранения измерений

unsigned long  SUMM_ADC_VALUE=0;      // переменная хранения суммы показаний
unsigned char  SUMM_COUNTS=0;           // количество интераций
unsigned int   ADC_VALUE=0;             // переменная хранения значения ADC
unsigned int   RESULT=0;             // переменная среднеарифметического значения  ADC
 
unsigned int ADC_VALUE_BUFFER[MAX_LEN_BUFER];  //кольцевой  буфер хранения измерений предназначен для вычисления среднеарифметического
   


   
   
    SUMM_ADC_VALUE -= ADC_VALUE_BUFFER[SUMM_COUNTS];        // вычесть из суммы значение кольцевого буфера по указателю SUMM_COUNTS
       
     ADC_VALUE_BUFFER[SUMM_COUNTS] = ADC_VALUE;             // записать новое значение в кольцевой буфера по указателю SUMM_COUNTS
     
     SUMM_ADC_VALUE += ADC_VALUE;                           // накопление в переменную для усреднения
     
     SUMM_COUNTS++;                                          // двигаем указатель
     
     if ( SUMM_COUNTS>= MAX_LEN_BUFER)                       // если указатель вышел за предел кольцевого буфера
     {
       SUMM_COUNTS = 0;                                      //  указатель обнулить,  в начало кольцевого буфера
     }
    RESULT =(SUMM_ADC_VALUE / MAX_LEN_BUFER);            // среднеарифметическое значение  сумма накопленных значений / количесво операций сложения
 


Вернуться наверх
 
 Заголовок сообщения: Re: Плывут показания АЦП Atmega8A - PU
СообщениеДобавлено: Вс ноя 04, 2012 12:13:29 
Встал на лапы

Зарегистрирован: Пт мар 04, 2011 13:06:42
Сообщений: 108
Откуда: Украина, Ахтырка
Рейтинг сообщения: 0
Добрый день Всем!
А можно так сделать?
у меня сильно большие отклонения температуры, никак не удается откалибровать датчик... у него получается нелинейная зависимость .

if (temp_buff==0) temp=1;
if (temp_buff==1) temp=2;
.............
.............
if (temp_buff==30) temp=34;
if (temp_buff > 29 && temp_buff < 35) temp +=5;
temp += temp_buff;


Вернуться наверх
 
 Заголовок сообщения: Re: Плывут показания АЦП Atmega8A - PU
СообщениеДобавлено: Вс ноя 04, 2012 13:41:09 
Вымогатель припоя

Зарегистрирован: Сб фев 19, 2011 18:04:08
Сообщений: 513
Откуда: Татарстан, пос. Актюбинский
Рейтинг сообщения: 0
не проще тогда таблицу использовать.
Спойлер
Код:
flash unsigned int temper[]=
{
0,1,2,3,4,5,6,7,8,9,
11,13,16,19,,,,,,,,,,,,,,
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,

,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
350,354,358,360,400,450
};
//доступ так
 temp = temper[temp_buff];



Вернуться наверх
 
 Заголовок сообщения: Re: Плывут показания АЦП Atmega8A - PU
СообщениеДобавлено: Вс ноя 04, 2012 14:30:12 
Встал на лапы

Зарегистрирован: Пт мар 04, 2011 13:06:42
Сообщений: 108
Откуда: Украина, Ахтырка
Рейтинг сообщения: 0
phanis писал(а):
не проще тогда таблицу использовать.


Спасибище Вам огромное!!!! Это отличный вариант! Буду пробовать ;)


Вернуться наверх
 
 Заголовок сообщения: Re: Плывут показания АЦП Atmega8A - PU
СообщениеДобавлено: Пн ноя 05, 2012 12:08:48 
Вымогатель припоя
Аватар пользователя

Карма: 7
Рейтинг сообщений: 56
Зарегистрирован: Вт авг 28, 2012 22:21:33
Сообщений: 535
Рейтинг сообщения: 0
Artos писал(а):
у меня сильно большие отклонения температуры, никак не удается откалибровать датчик... у него получается нелинейная зависимость

Эээ... Раз у него нелинейная зависимость, то не проще тогда и использовать "нелинейную" формулу для калибровки? Жизнь не ограничивается ax+c, еще есть ax^2+bx+c, a/(b+x)+c, продолжать можно бесконечно. Просто надо понять что за там нелинейность и выбрать нужное уравнение. Иногда проще использовать таблицу, это да.


Вернуться наверх
 
 Заголовок сообщения: Re: Плывут показания АЦП Atmega8A - PU
СообщениеДобавлено: Пн ноя 05, 2012 13:09:59 
Встал на лапы

Зарегистрирован: Пт мар 04, 2011 13:06:42
Сообщений: 108
Откуда: Украина, Ахтырка
Рейтинг сообщения: 0
Пробовал я подставлять таблицу.... Гемор еще тот :( Я же точно не знаю какая температура в данный момент... Я знаю примерно температуру от 200 до 400град. а от 0 до 200 не знаю..
Пытался калибровать показаниям паяльной станции . Более менее настроил. Буду высылать заказчику. Пусть замеряет всю шкалу на разбег температуры. Тогда я сразу же и подставлю значения с таблицы :)

Зависимость термодатчика не понятная.... 3 дня пытался настроить с помощью программного кода и трех подстроечников :))


Вернуться наверх
 
 Заголовок сообщения: Re: Плывут показания АЦП Atmega8A - PU
СообщениеДобавлено: Пн ноя 05, 2012 13:39:27 
Модератор
Аватар пользователя

Карма: 68
Рейтинг сообщений: 430
Зарегистрирован: Ср ноя 26, 2008 16:34:25
Сообщений: 13490
Откуда: Тамбовская обл.
Рейтинг сообщения: 0
Медали: 1
Получил миской по аватаре (1)
Вообще в документации на датчик должен быть график зависимости. По нему и стройте таблицу.


Вернуться наверх
 
 Заголовок сообщения: Re: Плывут показания АЦП Atmega8A - PU
СообщениеДобавлено: Пн ноя 05, 2012 13:50:00 
Встал на лапы

Зарегистрирован: Пт мар 04, 2011 13:06:42
Сообщений: 108
Откуда: Украина, Ахтырка
Рейтинг сообщения: 0
я не против по ней шкалу сделать. Вот только как посчитать коэфицыент усиления ОУ и где найти точный документ к датчику? PT1000 5x25 Просто PT1000 нахожу (но не сбегается таблицы). А вот 5х25 что это за маркировка - не понятно...

----------

вернее, как проводить правильно настройку/калибровку термометров? А то я не метролог :)
Я задолбался настраивать усиление... То настроил хорошо в диапазоне 200 - 300. А дальше - каша.
То нормально настроил 300 - 400 а все что ниже - бред...
При комнатной потом вообще показывает +5 , а в комнате реально +28 ....


Вернуться наверх
 
Показать сообщения за:  Сортировать по:  Вернуться наверх
Начать новую тему Ответить на тему  [ Сообщений: 45 ]    , 2,  

Часовой пояс: UTC + 3 часа


Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете добавлять вложения

Найти:
Перейти:  


Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group
Русская поддержка phpBB
Extended by Karma MOD © 2007—2012 m157y
Extended by Topic Tags MOD © 2012 m157y