Отрицательный сигнал на АЦП

Здесь вопросы новичков
Ответить
mas_nk
Сообщения: 19
Зарегистрирован: 26 мар 2009, 15:18

Отрицательный сигнал на АЦП

Сообщение mas_nk » 22 дек 2010, 14:29

Здравствуйте!
Разбираюсь с работой АЦП в меге16.
1.подаю на 3 канал ацп 1 вольт на USART выдает код 420.
2.подаю также на 3 канал -1 вольт на USART выдает код 420.
Вопрос такой как можно выделить на АЦП отрицательный сигнал от положительного. Код привожу.

#include <mega16.h>
#include <stdio.h>
#include <delay.h>

#define ADC_VREF_TYPE 0xC0
unsigned int a3;

unsigned int read_adc(unsigned char adc_input)
{
ADMUX=adc_input | (ADC_VREF_TYPE & 0xff);
delay_us(10);
ADCSRA|=0x40;
while ((ADCSRA & 0x10)==0);
ADCSRA|=0x10;
return ADCW;
}

void main(void)
{

PORTC=0x02;
DDRC=0xFF;

UCSRA=0x00;
UCSRB=0x08;
UCSRC=0x86;
UBRRH=0x00;
UBRRL=0x19;

ADMUX=ADC_VREF_TYPE & 0xff;
ADCSRA=0x85;

while (1)
{
PORTC.1=0; //мигаю диодом
delay_ms(500);
PORTC.1=1;

a3=read_adc(3);
printf("a3=%d\r\n",a3);

delay_ms(1000);
};
}

mas_nk
Сообщения: 19
Зарегистрирован: 26 мар 2009, 15:18

Re: Отрицательный сигнал на АЦП

Сообщение mas_nk » 25 дек 2010, 06:36

С проблемой разобрался, на вход АЦП нельзя подавать отрицательный сигнал, нужно делать развязку на ОУ.

Ответить

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и 0 гостей