|
Усреднение вычислений АЦП |
|
|
|
Jan 10 2009, 05:35
|
Участник

Группа: Участник
Сообщений: 27
Регистрация: 11-12-08
Из: Earth
Пользователь №: 42 366

|
Подскажите хороший алгоритм для усреднения вычислений АЦП,я сделал так- Код // Read the 8 most significant bits // of the AD conversion result unsigned char read_adc(unsigned char adc_input){ ADMUX=adc_input|ADC_VREF_TYPE; // Start the AD conversion ADCSRA|=0x40; // Wait for the AD conversion to complete while ((ADCSRA & 0x10)==0); ADCSRA|=0x10; return ADCH;}
while (1){....
ta++;if(ta==21)ta=0; tempADC=(read_adc(0)/5); tempADC1=tempADC+(read_adc(0)/5); if(ta==20)temp=tempADC1/2;tempADC=0;tempADC1=0; т.е. показывать на индикаторе среднее число из 20 вычислений,но все равно не так сглаженно получается.
|
|
|
|
|
 |
Ответов
|
Jan 10 2009, 10:52
|
Участник

Группа: Участник
Сообщений: 27
Регистрация: 11-12-08
Из: Earth
Пользователь №: 42 366

|
С последним способом у меня не получилось-цифры скачут, а вот так-тоже интересно- Код ta++;if(ta==100) ta=0; tempData[ta]=read_adc(0); tempADC=0; for(a=0;a<100;a++){ tempADC+=tempData[a];} temp=tempADC/500; -как нагрузку подключаю-цифры на индикаторе пробегают от нуля до нормального значения,после отключения-обратно до нуля.
|
|
|
|
Сообщений в этой теме
Wantcan Усреднение вычислений АЦП Jan 10 2009, 05:35 rvk Конечно не сглаженно, потому что Вы сняв двадцать ... Jan 10 2009, 05:57 Demeny Цитата(rvk @ Jan 10 2009, 08:57) Продвину... Jan 10 2009, 18:33  rezident Цитата(Demeny @ Jan 10 2009, 23:33) Этот ... Jan 10 2009, 18:55   Demeny Цитата(rezident @ Jan 10 2009, 21:55) Воо... Jan 10 2009, 19:42    rezident Цитата(Demeny @ Jan 11 2009, 00:42) Конеч... Jan 10 2009, 20:26     Demeny Цитата(rezident @ Jan 10 2009, 23:26) Да ... Jan 11 2009, 07:46      rezident Цитата(Demeny @ Jan 11 2009, 12:46) Кстат... Jan 11 2009, 17:04       Tanya Цитата(rezident @ Jan 11 2009, 20:04) Для... Jan 12 2009, 08:02       777777 Цитата(rezident @ Jan 11 2009, 20:04) Дей... Jan 12 2009, 12:44       demiurg_spb Цитата(rezident @ Jan 11 2009, 20:04) Для... Jan 16 2009, 16:04   777777 Цитата(rezident @ Jan 10 2009, 21:55) Воо... Jan 11 2009, 07:53    Microwatt Цитата(777777 @ Jan 11 2009, 11:53) Смысл... Jan 11 2009, 09:03     777777 Цитата(Microwatt @ Jan 11 2009, 12:03) Ин... Jan 11 2009, 11:28  rvk Цитата(Demeny @ Jan 10 2009, 21:33) Вот п... Jan 10 2009, 19:02 Wantcan ЦитатаИ кстати складываете Вы двадцать значений, а... Jan 10 2009, 06:12 rvk Ну используйте вместо for вложенный цикл while:
t... Jan 10 2009, 06:19 Alex11 Есть еще один способ получить скользящее среднее. ... Jan 10 2009, 09:27 Herz Цитата(Alex11 @ Jan 10 2009, 11:27) Есть ... Jan 10 2009, 11:20 rvk Не забывайте только про переполнение temp. Если зн... Jan 10 2009, 11:23 rezident Цитата(rvk @ Jan 10 2009, 16:23) Чтобы с ... Jan 10 2009, 11:34 777777 Цитата(Wantcan @ Jan 10 2009, 08:35) Подс... Jan 11 2009, 07:46 Wantcan Спасибо за все ответы,на этой неделе не будет врем... Jan 11 2009, 16:59 Папа Карло Возник вопрос по формуле T_average = T_average + (... Jan 21 2009, 15:16 777777 Цитата(Папа Карло @ Jan 21 2009, 18:16) В... Jan 21 2009, 16:05  Палыч Цитата(777777 @ Jan 21 2009, 19:05) T_ave... Feb 13 2009, 07:09   777777 Цитата(Палыч @ Feb 13 2009, 10:09) Вот, и... Feb 13 2009, 11:55    Палыч Цитата(777777 @ Feb 13 2009, 14:55) Получ... Feb 13 2009, 12:59     777777 Цитата(Палыч @ Feb 13 2009, 15:59) Матема... Feb 14 2009, 11:18      ReAl Цитата(777777 @ Feb 14 2009, 13:18) Тогда... Feb 14 2009, 15:07 haker_fox Хочу сказать, что для фильтрации данных с АЦП прим... Jan 23 2009, 15:38 Wantcan haker_fox, прошу тнуть пальцем в то место форума,о... Feb 12 2009, 17:53 777777 Цитата(Wantcan @ Feb 12 2009, 20:53) hake... Feb 13 2009, 06:15  blackfin Цитата(777777 @ Feb 13 2009, 09:15) То ес... Feb 13 2009, 06:26   Tanya Цитата(blackfin @ Feb 13 2009, 09:26) Так... Feb 13 2009, 07:05   777777 Цитата(blackfin @ Feb 13 2009, 09:26) Так... Feb 13 2009, 11:40    blackfin Цитата(777777 @ Feb 13 2009, 14:40) Да, н... Feb 13 2009, 11:46 xemul Цитата(Палыч @ Feb 13 2009, 15:59) ...
По... Feb 13 2009, 14:08 Wantcan Пожалуйста,помогите переделать найденный на этом ф... Mar 2 2009, 16:57 Wantcan Остановился на таком варианте
Код ta++; if(ta=... Mar 16 2009, 11:10 Флюктуация ваккума Нужно создать в оперативной памяти закольцованный ... Aug 15 2015, 12:22 Bronislav Такой вариант не подойдет?
for(i=0;i<20;i++) ... Sep 4 2015, 06:15
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0
|
|
|