реклама на сайте
подробности

 
 
> Mega8535 + TMP37
Metallist64
сообщение Jul 29 2008, 14:33
Сообщение #1


Частый гость
**

Группа: Участник
Сообщений: 103
Регистрация: 29-01-08
Пользователь №: 34 558



Здравствуйте!
Подскажите пожалуйста, кто подключал датчики TMP37 на Мегу???
Всего датчиков - 4.
У меня проблема с подключением датчиков (схеме внизу).
1. Без датчиков в результате преобразования имею мусор.
2. Полученное значение всегда разное от 50-350 ??? даже при усреднении.

Может я неправильно входы переклачаю?
ставлю задержку 1мс.

Вот сама функция:

void adc_result (p_menu p_item_name)
{
unsigned char i;
unsigned char channel = 0;
unsigned int result = 0;
while (channel < 4)
{
if(channel == 0) ADMUX = 0b11000000;
if(channel == 1) ADMUX = 0b11000001;
if(channel == 2) ADMUX = 0b11000010;
if(channel == 3) ADMUX = 0b11000011;

delay_ms(1); //задержка 1мс для гарантированного переключения входа мультиплекстора


for (i=0;i<20;i++) // цикл для 20 ти преобразований.
{
ADCSRA.6 = 1; // начало проеобразования

while(ADCSRA.6); // ждем конца преобразования

result += ADCW; // записываем значение
}
p_item_name[channel]->adc = (result / 20) ; // записать среднего от 20ти преобраз-й в p_item_name[index]->adc
channel ++; // перейти к следующему каналу
}};



Помогите пожалуйста. Как получить нормальные показания???
Go to the top of the page
 
+Quote Post
 
Start new topic
Ответов
sKWO
сообщение Jul 29 2008, 15:06
Сообщение #2


Местный
***

Группа: Участник
Сообщений: 355
Регистрация: 27-03-07
Из: Україна, Чуднів
Пользователь №: 26 530



Цитата(Metallist64 @ Jul 29 2008, 17:33) *
Помогите пожалуйста. Как получить нормальные показания???

попробуйте задерку поставить здесь
Код
for (i=0;i<20;i++) // цикл для 20 ти преобразований.
{
ADCSRA.6 = 1; // начало проеобразования
while(ADCSRA.6); // ждем конца преобразования
result += ADCW; // записываем значение
delay_ms(1);
}

таким образом Вы дадите время на перезаряд ёмкости АЦП, если конечно в этом проблема.
и ещё, как показывает практика достаточно восьми измеряных значений, что даст возможность заменить
деление сдвигом.


--------------------
нельзя недооценивать предсказуемость глупости
Go to the top of the page
 
+Quote Post



Reply to this topicStart new topic
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 


RSS Текстовая версия Сейчас: 6th September 2025 - 19:22
Рейтинг@Mail.ru


Страница сгенерированна за 0.02094 секунд с 7
ELECTRONIX ©2004-2016