Что означает вывод avcc atmega8

Что означает вывод avcc atmega8

· Абсолютная Погрешность ± 2 LSB

· Не более 15 kSPS при Максимальном Разрешении

· Один из 6 Переключаемых Каналов

· Еще 2 Канала (TQFP and MLF Package only)

· Возможность выравнивания результата в левую сторону

· Подключаемое 2.56 V ADC Опорное Напряжение

· Режимы Непрерывного ( Free Running ) и Единичного преобразования ( Single Conversion )

· Прерывание по окончании преобразования ADC

· Шумоподавитель в Спящем режиме

ATmega 8 имеет 10- bit ADC последовательного приближения. ADC подключен к 8-ми канальному Аналоговому Мультиплексору который позволяет подключить вход ADC к любому из восьми входов (выводу Port C ). Входы АЦП, при отсутствии входного напряжения, принимают значение 0 V ( GND ).

ADC содержит блоки выборки и хранения, для запоминания входного напряжения на время преобразования. Функциональная схема ADC показана на Figure 90.

Что означает вывод avcc atmega8. Смотреть фото Что означает вывод avcc atmega8. Смотреть картинку Что означает вывод avcc atmega8. Картинка про Что означает вывод avcc atmega8. Фото Что означает вывод avcc atmega8

Предделитель и время преобразования

Что означает вывод avcc atmega8. Смотреть фото Что означает вывод avcc atmega8. Смотреть картинку Что означает вывод avcc atmega8. Картинка про Что означает вывод avcc atmega8. Фото Что означает вывод avcc atmega8

По умолчанию, последовательное приближение производится на частотах от 50 кГц до 200 кГц, при максимальном разрешении. Если необходимо разрешение менее 10 бит, то частота преобразования может быть более 200 кГц, для получения более высокой скорости преобразования.

Что означает вывод avcc atmega8. Смотреть фото Что означает вывод avcc atmega8. Смотреть картинку Что означает вывод avcc atmega8. Картинка про Что означает вывод avcc atmega8. Фото Что означает вывод avcc atmega8

Что означает вывод avcc atmega8. Смотреть фото Что означает вывод avcc atmega8. Смотреть картинку Что означает вывод avcc atmega8. Картинка про Что означает вывод avcc atmega8. Фото Что означает вывод avcc atmega8

Выбор канала или источника опорного напряжения

1. Когда бит ADFR или ADEN сброшен.

2. В течение преобразования, по прошествии минимум одного цикла ADC clock после установки бита окончания преобразования.

3. После окончания преобразования, но перед тем как будет сброшен флаг прерывания (ИМХО до окончания обработки прерывания).

Если изменение содержимого регистра ADMUX произведено с соблюдением одного из этих условий, то следующее преобразование будет проведено с учетом новых установок.

При выборе входного канала необходимо следить за тем, что выполнены следующие условия правильного выбора канала:

ADC имеет шумоподавитель, который обрабатывает преобразование в спящем режиме, для устранения помех, создаваемых CPU и периферийными устройствами. Шумоподавитель может использоваться и в режиме Idle ( пониженного энергопотребления ). Для использования шумоподавителя необходимо выполнить следующее :

1. ADC должно бить разрешено и не занято преобразованием. Должен быть выбран режим одиночного преобразования и разрешено прерывание по окончанию преобразования.

Что означает вывод avcc atmega8. Смотреть фото Что означает вывод avcc atmega8. Смотреть картинку Что означает вывод avcc atmega8. Картинка про Что означает вывод avcc atmega8. Фото Что означает вывод avcc atmega8

1. Проводники (дорожки на плате) аналогового сигнала должны быть максимально короткими.

2. Вывод AVCC должен быть соединен с выводом VCC через LC фильтр, как показано на Figure 96.

Что означает вывод avcc atmega8. Смотреть фото Что означает вывод avcc atmega8. Смотреть картинку Что означает вывод avcc atmega8. Картинка про Что означает вывод avcc atmega8. Фото Что означает вывод avcc atmega8

Точность преобразования ADC

Отдельные параметры описывают отклонение преобразователя от идеального:

Что означает вывод avcc atmega8. Смотреть фото Что означает вывод avcc atmega8. Смотреть картинку Что означает вывод avcc atmega8. Картинка про Что означает вывод avcc atmega8. Фото Что означает вывод avcc atmega8

· Ошибка Усиления: После корректировки Начального Смещения, Ошибка Усиления определяется как отклонение последнего перемещения (итерации) (0 x 3 FE к 0 x 3 FF ) от идеального перемещения (в 1.5 LSB ниже максимума). Идеальная величина : 0 LSB

Что означает вывод avcc atmega8. Смотреть фото Что означает вывод avcc atmega8. Смотреть картинку Что означает вывод avcc atmega8. Картинка про Что означает вывод avcc atmega8. Фото Что означает вывод avcc atmega8

· Интегральная Нелинейность( INL ): После корректировки Начального Смещения и Ошибки Усиления, INL это максимальное отклонение фактического перемещения, сравниваемого с идеальным перемещением для любого участка. Идеальная величина : 0 LSB.

Что означает вывод avcc atmega8. Смотреть фото Что означает вывод avcc atmega8. Смотреть картинку Что означает вывод avcc atmega8. Картинка про Что означает вывод avcc atmega8. Фото Что означает вывод avcc atmega8

· Дифференциальная Нелинейность ( DNL ): Максимальное отклонение фактической ширины кода (в интервале между двумя смежными приращениями) от идеальной ширины кода (1 LSB ). Идеальная величина : 0 LSB.

Что означает вывод avcc atmega8. Смотреть фото Что означает вывод avcc atmega8. Смотреть картинку Что означает вывод avcc atmega8. Картинка про Что означает вывод avcc atmega8. Фото Что означает вывод avcc atmega8

· Абсолютная точность: Абсолютная точность – это максимальное отклонение фактического (нескорректированного) приращения (итерации), которое сравнивается с идеальным перемещением. Это обобщенная ошибка Начального Смещения, Ошибки Усиления, Интегральной Нелинейности, Дифференциальной Нелинейности, Ошибки квантования. Идеальная величина : ±0.5 LSB.

Для единичного преобразования результат определяется как –

Что означает вывод avcc atmega8. Смотреть фото Что означает вывод avcc atmega8. Смотреть картинку Что означает вывод avcc atmega8. Картинка про Что означает вывод avcc atmega8. Фото Что означает вывод avcc atmega8

Переключение Мультиплексора ADC

Что означает вывод avcc atmega8. Смотреть фото Что означает вывод avcc atmega8. Смотреть картинку Что означает вывод avcc atmega8. Картинка про Что означает вывод avcc atmega8. Фото Что означает вывод avcc atmega8

· Биты 7:6 ­ REFS 1:0: Биты выбора ИОН

Этими битами выбирается ИОН для ADC в соответствие с Table 74. Если эти биты изменены пока идет преобразование, то изменение вступит в силу после окончания текущего преобразования (установиться бит ADIF в ADCSRA ). Внутренний (встроенный) ИОН не может быть использован если к выводу AREF подключен внешний ИОН.

Что означает вывод avcc atmega8. Смотреть фото Что означает вывод avcc atmega8. Смотреть картинку Что означает вывод avcc atmega8. Картинка про Что означает вывод avcc atmega8. Фото Что означает вывод avcc atmega8

· Bit 5 ­ ADLAR : Выравнивание результата в левую сторону

· Bits 3:0 ­ MUX 3:0: Переключение Аналоговых Каналов (Входов)

Что означает вывод avcc atmega8. Смотреть фото Что означает вывод avcc atmega8. Смотреть картинку Что означает вывод avcc atmega8. Картинка про Что означает вывод avcc atmega8. Фото Что означает вывод avcc atmega8

ADC Управление и Состояние

Что означает вывод avcc atmega8. Смотреть фото Что означает вывод avcc atmega8. Смотреть картинку Что означает вывод avcc atmega8. Картинка про Что означает вывод avcc atmega8. Фото Что означает вывод avcc atmega8

· Бит 6 ­ ADSC: ADC Старт Преобразования

· Бит 5 ­ ADFR : ADC Выбор режима Непрерывного Преобразования

Когда установлен этот бит, то ADC переходит в режим Непрерывного Преобразования. В этом режиме преобразование и запись результата в Data Registers происходит постоянно. Сброс этого бита выключает режим Непрерывного Преобразования.

· Бит 4 ­ ADIF : ADC Установка прерывания

· Бит 3 ­ ADIE : ADC Разрешение прерывания

· Биты 2:0 ­ ADPS 2:0: ADC Выбор частоты предделетеля

Что означает вывод avcc atmega8. Смотреть фото Что означает вывод avcc atmega8. Смотреть картинку Что означает вывод avcc atmega8. Картинка про Что означает вывод avcc atmega8. Фото Что означает вывод avcc atmega8

Регистры данных ADC ­ ADCL and ADCH

Что означает вывод avcc atmega8. Смотреть фото Что означает вывод avcc atmega8. Смотреть картинку Что означает вывод avcc atmega8. Картинка про Что означает вывод avcc atmega8. Фото Что означает вывод avcc atmega8

Что означает вывод avcc atmega8. Смотреть фото Что означает вывод avcc atmega8. Смотреть картинку Что означает вывод avcc atmega8. Картинка про Что означает вывод avcc atmega8. Фото Что означает вывод avcc atmega8

Когда преобразование завершено, результат находится в этих двух регистрах.

· Биты ADC9:0: ADC Результат преобразования

В этих битах находится результат преобразования, детально они рассмотрены в главе « ADC Результат преобразования» на странице 202.

Источник

Программирование микроконтроллеров AVR с помощью Arduino на примере ATmega8

Далеко не во всех проектах целесообразно использовать Ардуинку целиком, иногда достаточно всего нескольких выводов микроконтроллера, да и интегрировать её в схему не всегда удобно. В таких случаях разумно совместить простоту и удобство среды программирования Arduino IDE и дешевизну и малый размер «голого» микроконтроллера, тем более, что прошивать такие МК можно непосредственно с помощью Ардуинки.

В семействе AVR огромное множество микроконтроллеров на любой вкус. Для стандарт tinyAVR (ATtinyxxx) характерны небольшое количество флеш-памяти (до 16 килобайт) и количество линий ввода-вывода в совокупности с низким энергопотреблением, а для стандарта megaAVR (ATmegaxxx) доступно уже до 256 килобайт памяти и до сотни портов ввода-вывода (зависит от модели МК), так же доступна расширенная система команд и периферийных устройств. Сегодня будем прошивать ATmega8, цифра 8 в названии говорит нам о том, что у этого микроконтроллера 8 килобайт встроенной памяти. На картинке ниже расписаны выводы микроконтроллера в DIP корпусе. Кстати у ATmega48/88/168/328 выводы расположены аналогичным образом.

Для прошивки нашего микроконтроллера понадобятся его порты последовательного периферийного интерфейса (SPI — Serial Peripheral Interface) — это синхронный протокол последовательной передачи данных, используемый для связи микроконтроллера с одним или несколькими периферийными устройствами. В нашем случае это выводы:

В первую очередь необходимо из ардуинки сделать программатор, в этом нет ничего сложного, нужно просто загрузить в неё код из готового примера «ArduinoISP».

Что означает вывод avcc atmega8. Смотреть фото Что означает вывод avcc atmega8. Смотреть картинку Что означает вывод avcc atmega8. Картинка про Что означает вывод avcc atmega8. Фото Что означает вывод avcc atmega8

После его загрузки в плату (кстати я буду использовать Arduino UNO для наглядности, но это не принципиально, можно и другую) в меню Инструменты — >>Программатор необходимо выбрать «Arduino as ISP».

Что означает вывод avcc atmega8. Смотреть фото Что означает вывод avcc atmega8. Смотреть картинку Что означает вывод avcc atmega8. Картинка про Что означает вывод avcc atmega8. Фото Что означает вывод avcc atmega8

Дальнейшие действия по подключению МК к Ардуинке описаны в комментариях к коду который мы в неё загрузили, а именно подключаем следующие пины:

Дополнительно подключим на нулевой цифровой выход ATmega8 (вторая ножка микросхемы) светодиод через токоограничивающий резистор на 220 Ом, для наглядного подтверждения того, что микроконтроллер работает.

Что означает вывод avcc atmega8. Смотреть фото Что означает вывод avcc atmega8. Смотреть картинку Что означает вывод avcc atmega8. Картинка про Что означает вывод avcc atmega8. Фото Что означает вывод avcc atmega8

// Put an LED (with resistor) on the following pins:
// 9: Heartbeat — shows the programmer is running
// 8: Error — Lights up if something goes wrong (use red if that makes sense)
// 7: Programming — In communication with the slave

Как видно из описания примера «Arduino ISP» к 7, 8 и 9-му пинам платы Ардуино можно подключить информационные светодиоды (через резисторы) отображающие ход работы программатора, но это по желанию.

Теперь почти всё готово, осталось только сообщить среде программирования, что именно мы собираемся прошивать. Для этого нужно добавить нашу ATmega8 в среду разработки Arduino IDE, тоесть нужно установить так называемое ядро, или как оно называется в самой IDE – плату.

MiniCore – ядро для поддержки микроконтроллеров ATmega328, ATmega168, ATmega88, ATmega48 и ATmega8, для его установки нажимаем Файл —>> Настройки и в открывшемся окне ищем строчку: «Дополнительные ссылки для менеджера плат:», в это поле необходимо ввести ссылку:

Что означает вывод avcc atmega8. Смотреть фото Что означает вывод avcc atmega8. Смотреть картинку Что означает вывод avcc atmega8. Картинка про Что означает вывод avcc atmega8. Фото Что означает вывод avcc atmega8

Далее заходим в Инструменты —>> Плата —>> Менеджер плат находим и устанавливаем нужное ядро.

Что означает вывод avcc atmega8. Смотреть фото Что означает вывод avcc atmega8. Смотреть картинку Что означает вывод avcc atmega8. Картинка про Что означает вывод avcc atmega8. Фото Что означает вывод avcc atmega8

После всех манипуляций в менеджере плат должно появиться следующее:

Что означает вывод avcc atmega8. Смотреть фото Что означает вывод avcc atmega8. Смотреть картинку Что означает вывод avcc atmega8. Картинка про Что означает вывод avcc atmega8. Фото Что означает вывод avcc atmega8

В качестве платы выбираем нашу ATmega8, параметр «Clock:» устанавливаем «Internal 8 MHz», так МК будет работать от внутреннего генератора.

Что означает вывод avcc atmega8. Смотреть фото Что означает вывод avcc atmega8. Смотреть картинку Что означает вывод avcc atmega8. Картинка про Что означает вывод avcc atmega8. Фото Что означает вывод avcc atmega8

Все готово! Теперь подключаем плату Ардуино к компьютеру и не забыв выбрать нужный COM порт, выбираем в меню «Инструменты» пункт «Записать загрузчик».

Что означает вывод avcc atmega8. Смотреть фото Что означает вывод avcc atmega8. Смотреть картинку Что означает вывод avcc atmega8. Картинка про Что означает вывод avcc atmega8. Фото Что означает вывод avcc atmega8

Теперь МК знает от какого генератора и на какой частоте ему работать, можно загружать в него свои программы. Для примера загрузим классическую мигалку, только поменяем порт вывода на нулевой (вторая нога МК), именно к нему по схеме мы подключили светодиод.

void setup() <
pinMode(0, OUTPUT);
>

void loop() <
digitalWrite(0, HIGH);
delay(1000);
digitalWrite(0, LOW);
delay(1000);
>

Загружать нужно не кнопкой как обычно, а через меню Скетч —>> Загрузить через программатор, если все сделано правильно, то светодиод начнет мигать.

Что означает вывод avcc atmega8. Смотреть фото Что означает вывод avcc atmega8. Смотреть картинку Что означает вывод avcc atmega8. Картинка про Что означает вывод avcc atmega8. Фото Что означает вывод avcc atmega8

В Arduino IDE можно прошить ATmega8 и без установки дополнительных плат, выбрав в качестве платы «Arduino NG or older» и в качестве процессора «aTmega8». Но в таком случае не будет возможности выбора от какого генератора (внешнего или внутреннего) и на какой частоте будет работать МК, а работать он будет от внешнего генератора на чистоте 16 MGz, и перезаписать его настройки в дальнейшем без подключения кварцевого резонатора к выводам 9 и 10 будет невозможно, будьте внимательны!

Что означает вывод avcc atmega8. Смотреть фото Что означает вывод avcc atmega8. Смотреть картинку Что означает вывод avcc atmega8. Картинка про Что означает вывод avcc atmega8. Фото Что означает вывод avcc atmega8

Что означает вывод avcc atmega8. Смотреть фото Что означает вывод avcc atmega8. Смотреть картинку Что означает вывод avcc atmega8. Картинка про Что означает вывод avcc atmega8. Фото Что означает вывод avcc atmega8

Ну и напоследок приведу ссылки на ядра для работы с микроконтроллерами серии ATtiny, устанавливаются они аналогично MiniCore:

Источник

ATMega8: зачем подключаться VCC и AVCC?

Я часто читал, что хорошей практикой является подключение VCC к AVCC. Даже в таблице ATMega8 он говорит так:

Но нигде я не могу найти объяснения по поводу почему они должны быть связаны. Простая схема для мигания светодиода работает без подключения VCC и AVCC.

Я просто должен принять это или есть веская причина?

5 ответов

В основном, он должен быть подключен, потому что производитель говорит, что он должен.

Кроме того, они должны полностью работать с чипом (все порты /контакты), чтобы предотвратить проблемы с плавающим штырем на стороне AVCC, чтобы предотвратить шум на цифровой стороне. Существуют проблемы, при которых отказ от сбоев на стороне AVCC вызывает паразитную подачу мощности и может дестабилизировать внутренние часы или может предотвратить стабильный запуск.

Хорошо, что вы просите причину!

AVCC определяется как независимый контакт, поскольку он подключается к основным аналоговым компонентам внутри и, как таковые, должен иметь отдельные фильтрующие конденсаторы.

Простые проекты «blinkenlights» не имеют требований к шуму и точности.

Теперь, если вы имеете в виду, если они должны быть подключены к одному и тому же НАПРЯЖЕНИЮ, ответ да в пределах +/- 0,3 В от VCC

«АЦП имеет отдельный аналоговый вывод напряжения питания AVCC. AVCC не должен отличаться более чем на ± 0,3 В от VCC». и «AVCC является пиком напряжения питания для АЦП»

Напомним: AVCC и VCC должны находиться на одинаковом напряжении (в пределах +/- 0,3 вольта), и он идентифицируется как отдельный контакт, чтобы позволить дизайнеру размещать дополнительные фильтры на этом входе, чтобы избежать шума из чувствительного A /D-преобразователь части IC.

Надеюсь, что это поможет!

Часто время, цифровое питание и штыри заземления будут в конечном итоге с небольшим количеством шума на них. Трудно устранить весь такой шум, когда цифровая схема переключает значительные объемы тока, а 150 мВ или около того шума питания вряд ли повлияет на схему, питаемую цифровыми штырьками питания. Тем не менее, наличие 150 мВ шума на аналоговых штыревых разъемах сделало бы очень трудным или невозможным для аналоговой схемы достичь точности доли процента. Тот факт, что аналоговые контакты разделены, означает, что можно принимать точные показания, даже если на цифровом источнике питания имеется шум 150 мВ, при условии, что цифровая подача не размахивается более чем на 300 мВ, а у одного есть аналоговое питание, которое где-то в пределах 300 мВ обеих крайностей диапазона цифрового питания. Устранение 99% шума от источника питания, который подает только штырь аналогового питания, и обеспечения того, что напряжение источника близко к цифровому напряжению питания, часто намного проще, чем устранение всех помех от цифрового питания.

Просто добавьте еще одну причину, по которой AVCC должен быть подключен даже в простых проектах.

Когда вы используете схему обнаружения Brown-out, которая опирается на справочное руководство по внутреннему напряжению, вы можете получить неожиданное поведение и ненадежный запуск устройства. Он может проявляться в виде странных порогов напряжения, запускающих сброс БПК или даже устройства, не начинающегося с правильного напряжения.

Я просто столкнулся с этой проблемой в одном из моих «быстрых и грязных» проектов взлома с использованием ATmega88P.

Причина связана с внутренним процессом устройства и его построением. Поскольку они указывают, что AVCC и VCC должны быть в пределах 0,3 В, это похоже на напряжение защиты внутренних диодов, используемых в чипах. Если диоды смещены выше 0,3 В (например, если AVCC не подключен), эти диоды могут работать, вызывая проблемы и, возможно, повреждая устройство.

Источник

AVR микроконтроллеры. Программирование для начинающих

Начинающим о AVR микроконтроллерах

Микроконтроллеры (далее мы их просто будем называть МК) завоевывают все большую популярность у радиолюбителей. С их помощью можно собрать практически все что угодно- индикаторы, вольтметры, приборы для дома (устройства защиты, коммутации, термометры…), металлоискатели, разные игрушки, роботы и т.д. перечислять можно очень долго.

В этих статьях мы постараемся изучить микроконтроллеры AVR фирмы ATMEL, научимся работать с ними, рассмотрим программы для прошивки, изготовим простой и надежный программатор, рассмотрим процесс прошивки и самое главное проблемы, которые могут возникнуть( и не только у новичков).

Основные параметры микроконтроллеров семейства AVR

Дополнительные параметры МК AVR mega:

Цоколевка выводов моделей ATmega 8X

Что означает вывод avcc atmega8. Смотреть фото Что означает вывод avcc atmega8. Смотреть картинку Что означает вывод avcc atmega8. Картинка про Что означает вывод avcc atmega8. Фото Что означает вывод avcc atmega8

Цоколевка выводов моделей ATmega48x, 88x, 168x

Что означает вывод avcc atmega8. Смотреть фото Что означает вывод avcc atmega8. Смотреть картинку Что означает вывод avcc atmega8. Картинка про Что означает вывод avcc atmega8. Фото Что означает вывод avcc atmega8

Цоколевка выводов ATmega8515x

Что означает вывод avcc atmega8. Смотреть фото Что означает вывод avcc atmega8. Смотреть картинку Что означает вывод avcc atmega8. Картинка про Что означает вывод avcc atmega8. Фото Что означает вывод avcc atmega8

Расположение выводов у моделей Что означает вывод avcc atmega8. Смотреть фото Что означает вывод avcc atmega8. Смотреть картинку Что означает вывод avcc atmega8. Картинка про Что означает вывод avcc atmega8. Фото Что означает вывод avcc atmega8

Цоколевка выводов у моделей ATmega16, 32x

Что означает вывод avcc atmega8. Смотреть фото Что означает вывод avcc atmega8. Смотреть картинку Что означает вывод avcc atmega8. Картинка про Что означает вывод avcc atmega8. Фото Что означает вывод avcc atmega8

Расположение выводов у моделей ATtiny2313

Что означает вывод avcc atmega8. Смотреть фото Что означает вывод avcc atmega8. Смотреть картинку Что означает вывод avcc atmega8. Картинка про Что означает вывод avcc atmega8. Фото Что означает вывод avcc atmega8

В конце статьи, во вложении, есть даташиты на некоторые микроконтроллеры

Установочные FUSE биты MK AVR

Запомните, запрограммированный фьюз – это 0, не запрограммированный – 1. Осторожно стоит относиться к выставлению фьюзов, ошибочно запрограммированный фьюз может заблокировать микроконтроллер. Если вы не уверены какой именно фьюз нужно запрограммировать, лучше на первый раз прошейте МК без фьюзов.

Самыми популярными микроконтроллерами у радиолюбителей являются ATmega8, затем идут ATmega48, 16, 32, ATtiny2313 и другие. Микроконтроллеры продаются в TQFP корпусах и DIP, новичкам рекомендую покупать в DIP. Если купите TQFP, будет проблематичнее их прошить, придется купить или изготовить переходник и паять плату т.к. у них ножки располагаются очень близко друг от друга. Советую микроконтроллеры в DIP корпусах, ставить на специальные панельки (сокеты), это удобно и практично, не придется выпаивать МК если приспичит перепрошить, или использовать его для другой конструкции.

Почти все современные МК имеют возможность внутрисхемного программирования ISP, т.е. если ваш микроконтроллер запаян на плату, то для того чтобы сменить прошивку нам не придется выпаивать его с платы.

Для программирования используется 6 выводов:

Что означает вывод avcc atmega8. Смотреть фото Что означает вывод avcc atmega8. Смотреть картинку Что означает вывод avcc atmega8. Картинка про Что означает вывод avcc atmega8. Фото Что означает вывод avcc atmega8

Иногда еще используют вывода XTAL 1 и XTAL2, на эти вывода цепляется кварц, если МК будет работать от внешнего генератора, в ATmega 64 и 128 вывода MOSI и MISO не применяются для ISP программирования, вместо них вывода MOSI подключают к ножке PE0, a MISO к PE1. При соединении микроконтроллера с программатором, соединяющие провода должны быть как можно короче, а кабель идущий от программатора на порт LPT так-же не должен быть слишком длинным.

В маркировке микроконтроллера могут присутствовать непонятные буквы с цифрами, например Atmega 8L 16PU, 8 16AU, 8A PU и пр. Буква L означает, что МК работает от более низкого напряжения, чем МК без буквы L, обычно это 2.7В. Цифры после дефиса или пробела 16PU или 8AU говорят о внутренней частоте генератора, который есть в МК. Если фьюзы выставлены на работу от внешнего кварца, кварц должен быть установлен на частоту, не превышающей максимальную по даташиту, это 20МГц для ATmega48/88/168, и 16МГц для остальных атмег.

Первые цифры в названии микроконтроллера обозначают объем FLASH ПЗУ в килобайтах, например ATtiny15 – 1 Кб, ATtiny26 – 2 Кб, AT90S4414 – 4 Кб, Atmega8535 – 8 Кб, ATmega162 – 16Кб, ATmega32 – 32 Кб, ATmega6450 – 64Кб, Atmega128 – 128Кб.

Иногда встречаются схемы, где применены микроконтроллеры с названиями типа AT90S… это старые модели микроконтроллеров, некоторые из них можно заменить на современные, например:

AT90S4433 – ATmega8
AT90S8515 – ATmega8515
AT90S8535 – ATmega8535
AT90S2313 – ATtiny2313
ATmega163 – ATmega16
ATmega161 – ATmega162
ATmega323 – ATmega32
ATmega103 – ATmega64/128

На этом закончим, пока можете выбрать в интернете понравившуюся схему и изучить ее, можете заодно сходить и купить нужный микроконтроллер. Далее мы будем собирать простой и надежный программатор, познакомимся с программами для прошивания и попробуем прошить МК.

Источник

Урок 10. АЦП в AVR микроконтроллерах. Простой вольтметр на AVR.

Что означает вывод avcc atmega8. Смотреть фото Что означает вывод avcc atmega8. Смотреть картинку Что означает вывод avcc atmega8. Картинка про Что означает вывод avcc atmega8. Фото Что означает вывод avcc atmega8АЦП — Аналого-цифровой преобразователь. Из названия можно догадаться, что на вход подается аналоговый сигнал, который преобразуется в число.

Первое о чем нужно сказать — АЦП микроконтроллера умеет измерять только напряжение. Чтобы произвести измерение других физических величин, их нужно вначале преобразовать в напряжение. Сигнал всегда измеряется относительно точки называемой опорное напряжение, эта же точка является максимумом который можно измерить. В качестве источника опорного напряжения (ИОН), рекомендуется выбирать высокостабильный источник напряжения, иначе все измерения будут плясать вместе с опорным.

Одной из важнейших характеристик является разрешающая способность, которая влияет на точность измерения. Весь диапазон измерения разбивается на части. Минимум ноль, максимум напряжение ИОН. Для 8 битного АЦП это 2^8=256 значений, для 10 битного 2^10=1024 значения. Таким образом, чем выше разрядность тем точнее можно измерять сигнал.

Допустим вы измеряете сигнал от 0 до 10В. Микроконтроллер используем Atmega8, с 10 битным АЦП. Это значит что диапазон 10В будет разделен на 1024 значений. 10В/1024=0,0097В — с таким шагом мы сможем измерять напряжение. Но учтите, что микроконтроллер будет считать, величину 0.0097, 0.0098, 0.0099… одинаковыми.

Тем не менее шаг в 0,01 это достаточно неплохо. Однако, есть несколько рекомендаций, без которых эта точность не будет соблюдена, например для измерения с точностью 10бит, частота на которой работает АЦП должна быть 50-200 кГц. Первое преобразование занимает 25 циклов и 13 циклов далее. Таким образом, при частоте 200кГц мы сможем максимум выжать
200 000/13 = 15 384 измерений.

В качестве источника опорного напряжения можно использовать внутренний источник и внешний. Напряжение внутреннего источника (2,3-2,7В) не рекомендуется использовать, по причине низкой стабильности. Внешний источник подключается к ножке AVCC или Aref, в зависимости от настроек программы.

При использовании АЦП ножка AVCC должна быть подключена. Напряжение AVCC не должно отличаться от напряжения питания микроконтроллера более чем на 0,3В. Как было сказано, максимальное измеряемое напряжение равно опорному напряжению(Vref), находится оно в диапазоне 2В-AVCC. Таким образом, микроконтроллер не может измерить более 5В.

Чтобы расширить диапазон измерения, нужно измерять сигнал через делитель напряжения. Например, максимальное измеряемое напряжение 10В, опорное напряжение 5В. Чтобы расширить диапазон измерения, нужно уменьшить измеряемый сигнал в 2 раза.

Формула для расчета делителя выглядит так:

Подставим наши значения в формулу:

т.е. можно взять любые два одинаковых резистора и подключить их по схеме
Что означает вывод avcc atmega8. Смотреть фото Что означает вывод avcc atmega8. Смотреть картинку Что означает вывод avcc atmega8. Картинка про Что означает вывод avcc atmega8. Фото Что означает вывод avcc atmega8

Следовательно, когда мы измеряем напряжение через делитель, нужно полученное значение АЦП умножить на коэффициент=Uвых/Uвх.

Полная формула вычисления измеряемого напряжения будет выглядеть так:
U=(опорное напряжение*значение АЦП*коэффициент делителя)/число разрядов АЦП

Пример: опорное 5В, измеренное значение АЦП = 512, коэффициент делителя =2, АЦП 10разрядный.

(5*512*2)/1024=5В — реальное измеренное значение напряжения.

Некоторые программисты пишут программу так, чтобы микроконтроллер автоматически вычислял коэффициент делителя, для этого выходной сигнал измеряют образцовым прибором и заносят это значение в программу. Микроконтроллер сам соотносит истинное напряжение каждому значению АЦП, сам процесс однократный и носит название калибровки.

Перейдем к программной реализации. Создаем проект с указанными параметрами. Также подключим дисплей на порт D для отображения информации.

Что означает вывод avcc atmega8. Смотреть фото Что означает вывод avcc atmega8. Смотреть картинку Что означает вывод avcc atmega8. Картинка про Что означает вывод avcc atmega8. Фото Что означает вывод avcc atmega8

Измерение будет производиться в автоматическом режиме, обработка кода в прерывании, опорное напряжение подключаем к ножке AVCC. По сути нам нужно только обрабатывать получаемые данные. Измеренные данные хранятся в переменной adc_data[0]. Если нужно опрашивать несколько каналов, то выбираем какие каналы сканировать, а данные будут для ножки 0 в adc_data[0], для ножки 1 в adc_data[1] и т.д.

В основном цикле добавим строки:

result=((5.00*adc_data[0])/1024.00); //пересчитываем значение АЦП в вольты
sprintf(lcd_buffer,»U=%.2fV»,result); //помещаем во временную переменную результат
lcd_puts(lcd_buffer); //выводим на экран

Небольшое замечание, чтобы использовать числа с плавающей точкой, нужно в настройках проекта изменить (s)printf Features: int, width на float, width, precision. Если этого не сделать десятые и сотые мы не увидим.
Что означает вывод avcc atmega8. Смотреть фото Что означает вывод avcc atmega8. Смотреть картинку Что означает вывод avcc atmega8. Картинка про Что означает вывод avcc atmega8. Фото Что означает вывод avcc atmega8

Таким образом, мы всего лишь перевели значение АЦП в вольты и вывели на дисплей. Результат в протеусе выглядит так:
Что означает вывод avcc atmega8. Смотреть фото Что означает вывод avcc atmega8. Смотреть картинку Что означает вывод avcc atmega8. Картинка про Что означает вывод avcc atmega8. Фото Что означает вывод avcc atmega8

Резистором можно менять напряжение, измеряемое напряжение выведено на дисплей. При сборке на реальном железе к ножке Aref нужно подключить конденсатор на 0,1мкФ. Урок получился немного сложным, но думаю он вам понравится.

Файл протеуса и прошивка:

Update:
Измерение тока:
Что означает вывод avcc atmega8. Смотреть фото Что означает вывод avcc atmega8. Смотреть картинку Что означает вывод avcc atmega8. Картинка про Что означает вывод avcc atmega8. Фото Что означает вывод avcc atmega8

257 комментариев: Урок 10. АЦП в AVR микроконтроллерах. Простой вольтметр на AVR.

Что означает вывод avcc atmega8. Смотреть фото Что означает вывод avcc atmega8. Смотреть картинку Что означает вывод avcc atmega8. Картинка про Что означает вывод avcc atmega8. Фото Что означает вывод avcc atmega8

Уважаемый админ пожалуйста приведите пример таблицы напряжения, последние цыфры на дисплее прыгают и не понятно какая цыфра отображается
спасибо Вам за уроки, помощь и подсказки…

Что означает вывод avcc atmega8. Смотреть фото Что означает вывод avcc atmega8. Смотреть картинку Что означает вывод avcc atmega8. Картинка про Что означает вывод avcc atmega8. Фото Что означает вывод avcc atmega8

Большое спасибо за урок! Больше 20 сайтов перерыл, 2 вечера времени впустую, пока не нашел ваш. Сразу все заработало!

Что означает вывод avcc atmega8. Смотреть фото Что означает вывод avcc atmega8. Смотреть картинку Что означает вывод avcc atmega8. Картинка про Что означает вывод avcc atmega8. Фото Что означает вывод avcc atmega8

Добрый день! А как реализовать дифференциальный режим измерения с выводом минуса (если такой появляется)?

Что означает вывод avcc atmega8. Смотреть фото Что означает вывод avcc atmega8. Смотреть картинку Что означает вывод avcc atmega8. Картинка про Что означает вывод avcc atmega8. Фото Что означает вывод avcc atmega8

возьмите инструментальный усилитель и не мучайтесь

Что означает вывод avcc atmega8. Смотреть фото Что означает вывод avcc atmega8. Смотреть картинку Что означает вывод avcc atmega8. Картинка про Что означает вывод avcc atmega8. Фото Что означает вывод avcc atmega8

Админ почему нигде не расписали погрешности при измерениях например 500 v,стоило бы рассписать как делитель зависит от этих погрешностей и что к чему.

Что означает вывод avcc atmega8. Смотреть фото Что означает вывод avcc atmega8. Смотреть картинку Что означает вывод avcc atmega8. Картинка про Что означает вывод avcc atmega8. Фото Что означает вывод avcc atmega8

Добрый день.
Уважаемый Админ, подскажите пожалуйста, как можно вывести покозания, если АЦП=512 должно отображать «0», АЦП=1023-30?
Покажите пример…
Спасбо

Что означает вывод avcc atmega8. Смотреть фото Что означает вывод avcc atmega8. Смотреть картинку Что означает вывод avcc atmega8. Картинка про Что означает вывод avcc atmega8. Фото Что означает вывод avcc atmega8

проверяете значение АЦП если ниже 512 то обнуляете, если больше, то отнимаете 512. ну а дальше пропорцией пересчитываете

Что означает вывод avcc atmega8. Смотреть фото Что означает вывод avcc atmega8. Смотреть картинку Что означает вывод avcc atmega8. Картинка про Что означает вывод avcc atmega8. Фото Что означает вывод avcc atmega8

Доброе утро админ. Как я понял, получается так?
….
read_adc(0);
for(i=0;i … 5 6 7

Источник

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *