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

 
 
> [Новичок] АЦП на 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
 
Start new topic
Ответов
Александр Куличо...
сообщение Oct 11 2009, 21:19
Сообщение #2


Местный
***

Группа: Свой
Сообщений: 256
Регистрация: 6-03-06
Из: Украина, г. Винница
Пользователь №: 15 017



С учетом пожеланий smac и своих расчетов предлагаю сделать следующую схему:
Ее преимущество в том,что при считывании 8-битного кода с АЦП старшие 3 бита уже дают номер нажатой кнопки.
Да и значение pull-down резистора уменьшено до 27к, что повысит помехоустойчивость. Конденсатор можно 10...47 нФ.
"Запас" по коду каждой кнопке при номиналах, указанных на схеме, составляет не менее 12 единиц МЗР АЦП (в режиме 8 бит). И при погрешностях резисторов 0% smile.gif
Но учтите, что для считывания кода кнопки нужно получить хотя-бы 2 одинаковых результата преобразования с интервалом 10...50 мс.
В приложенном zip-архиве xls-файл с расчетом данной схемы.

P.S. Сам схему не делал и не проверял. Если схема чем-то плоха, пусть профессионалы покритикуют.
Эскизы прикрепленных изображений
Прикрепленное изображение
 

Прикрепленные файлы
Прикрепленный файл  Klawa_DAC.xls.zip ( 3.63 килобайт ) Кол-во скачиваний: 39
 
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


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

 


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


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