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

 
 
> [Новичок] АЦП на tiny45
Urvin
сообщение Sep 23 2009, 15:25
Сообщение #1


Участник
*

Группа: Участник
Сообщений: 37
Регистрация: 23-09-09
Из: Москва
Пользователь №: 52 540



Начал ковыряться с AVRками (есть некий опыт на PIC), пытаюсь использовать модуль АЦП.
Хочу узнать цифровое значение напряжения на ножке ADC0 относительно земли, опорное напряжение - напряжение питания. Выравнивание налево, чтобы получить 256 градаций.
Изначально между ножкой и землей стоит резистор 100К.

Пишу на WinAVR С.

Соотетственно, задаем в настройках:
Код
ADMUX = 0b00100000;
// 00xxxxxx - VCC used as Voltage Reference, disconnected from PB0 (AREF).
// xx1xxxxx - Выравнивание налево
// xxx0xxxx - REFS2=0, используем внешнее напряжение
// xxxx0000 - MUX: Single Ended Input: ADC0 (PB5)
ADCSRA = 0b11000011;
// 1xxxxxxx - ADEN=1, включить ацп
// x1xxxxxx - ADSC=1, включаем преобразование
// xx0xxxxx - ADATE=0
// xxx0xxxx - ADIF=0
// xxxx0xxx - ADIE=0, прерывания не требуются
// xxxxx011 - ADPS, делитель на 8


После инициализации запускается первое преобразование, его и последующие отлавливаю в главном цикле
Код
while (1)
{
    wdt_reset();

    adcPoll();
}


Сама функция обработки такая:
Код
static void adcPoll(void)
{
    // Если преобразование АЦП окончено
    if (!(ADCSRA & (1 << ADSC)))
    {
        uchar result = ADCH;
        // … некие преобразования …

        // Последующий запуск АЦП, ножки не меняю
        ADCSRA |= (1 << ADSC);
    }
}


Меня… эээ…. смущает то, что на ножке ADC0 при подачи питания (только при наличествующем МК) возникает напряжение порядка 1,7В и АЦП с радостью его измеряет…
Попутно периодически случаются перезагрузки микроконтроллера.

Где косяк, как его можно исправить?

Сообщение отредактировал Urvin - Sep 23 2009, 15:25
Go to the top of the page
 
+Quote Post

Сообщений в этой теме
- Urvin   [Новичок] АЦП на tiny45   Sep 23 2009, 15:25
- - Artem_Petrik   Похоже на этой ноге включен внутренний pullup рези...   Sep 23 2009, 15:29
- - Urvin   Программатор STK200/300 на LPT. Программирует норм...   Sep 23 2009, 15:44
|- - Artem_Petrik   Цитата(Urvin @ Sep 23 2009, 18:44) Програ...   Sep 23 2009, 15:54
|- - RA3WUM   Цитата(Urvin @ Sep 23 2009, 19:44) А вот ...   Sep 25 2009, 10:41
- - Urvin   Шью в PonyProg, но RSTDISBL она даже не предлагает...   Sep 23 2009, 16:00
|- - Artem_Petrik   Цитата(Urvin @ Sep 23 2009, 19:00) Шью в ...   Sep 23 2009, 16:09
- - Urvin   мда.. попал я)   Sep 23 2009, 17:32
- - GDI   Ну почему попал? Ищите схему AVRDUDE там есть режи...   Sep 24 2009, 09:44
- - Urvin   Уже занялся темой. Я имел в виду, что обожаю попад...   Sep 24 2009, 12:11
- - domowoj   Можно кнопки повесить на одну ногу МК - на вход АЦ...   Sep 24 2009, 14:36
- - Urvin   domowoj, Боюсь, в моем случае будет несколько неко...   Sep 24 2009, 17:14
- - Urvin   Сегодня окончательно-таки выставил RSTDISBL и стол...   Oct 11 2009, 08:09
|- - smac   Цитата(Urvin @ Oct 11 2009, 12:09) ...сто...   Oct 11 2009, 12:27
- - Александр Куличок   С учетом пожеланий smac и своих расчетов предлагаю...   Oct 11 2009, 21:19


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

 


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


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