Схемы на микроконтроллерах atmega8: Радиодед – Схемы и устройства на микроконтроллерах для самостоятельного изготовления. Программирование микроконтроллеров AVR на Си для начинающих. Проекты на Arduino

Содержание

Микроконтроллеры AVR для начинающих – 1 « схемопедия


Микроконтроллеры (далее МК) прочно вошли в нашу жизнь, на просторах интернета можно встретить очень много интересных схем, которые исполнены на МК. Чего только нельзя собрать на МК: различные индикаторы, вольтметры, приборы для дома (устройства защиты, коммутации, термометры…), металлоискатели, разные игрушки, роботы и т.д. перечислять можно очень долго. Первую схему на микроконтроллере я увидел лет 5-6 назад в журнале радио, и практически сразу же перелистнул страницу, подумав про себя “все равно не смогу собрать”. Действительно, в то время МК для меня были чем то очень сложным и непонятым устройством, я не представлял как они работают, как их прошивать, и что делать с ними в случае неправильной прошивки. Но около года назад, я впервые собрал свою первую схему на МК, это была схема цифрового вольтметра на 7 сегментных индикаторах, и микроконтроллере ATmega8. Так получилось, что микроконтроллер я купил случайно, когда стоял в отделе радиодеталей, парень передо мной покупал МК, и я тоже решил купить, и попробовать собрать что-нибудь.

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

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

Микроконтроллер Память FLASH Память ОЗУ Память EEPROM Порты ввода/вывода U питания Частота
ATmega48 4 512 256 23 2,7-5,5 0-10-20
ATmega48V 4 512 256 23 1,8-4,8-5,5 0-4-10
ATmega8515 8 512 512 35 4,5-5,5 0-16
ATmega8515L 8 512 512 35 2,7-5,5 0-8
ATmega8535 8 512 512 32 4,5-5,5 0-16
ATmega8535L 8 512
512
32 2,7-5,5 0-8
ATmega8 8 1K 512 23 4,5-5,5 0-16
ATmega8L 8 1K 512 23 2,7-5,5 0-8
ATmega88 8 1K 512 23 2,7-5,5 0-10-20
ATmega88V 8 1K 512 23 4,5-5,5 0-4-10
ATmega16 16
1K
512 32 4,5-5,5 0-16
ATmega16L 16 1K 512 32 2,7-5,5 0-8
ATmega32 32 2K 1K 32 4,0-5,5 0-16
ATmega32L 32 2K 1K 32 2,7-5,5 0-8

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

Рабочая температура:   -55…+125*С

Температура хранения:   -65…+150*С

Напряжение на выводе RESET относительно GND: max 13В

Максимальное напряжение питания: 6.

Максимальный ток линии ввода/вывода: 40мА

Максимальный ток по линии питания VCC и GND: 200мА

Расположение выводов моделей ATmega 8X

Расположение выводов моделей ATmega48x, 88x, 168x

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

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

Расположение выводов у моделей ATmega16, 32x

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

В конце статьи прикреплён архив с даташитами на некоторые микроконтроллеры

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

BODEN BODLEVEL BOOTRST BOOTSZ0 BOOTSZ1 CKSEL0 CKSEL1 SPIEN
CKSEL2 CKSEL3 EESAVE FSTRT INCAP RCEN RSTDISBL SUT0
SUT1              

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

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

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

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

RESET – Вход МК

VCC – Плюс питания, 3-5В, зависит от МК

GND – Общий провод, минус питания.

MOSI – Вход МК (информационный сигнал в МК)

MISO – Выход МК (информационный сигнал из МК)

SCK – Вход МК (тактовый сигнал в МК)

Иногда еще используют вывода 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

ATmega 8 имеет несколько выводов питания, цифровое – VCC, GND и аналоговое – AVCC, GND. В стандартном включении обе пары выводов соединяют параллельно, т.е. вместе. Микроконтроллеры AVR не любят повышенного напряжения, если питание выше 6 вольт, то они могут выйти из строя. Я обычно применяю маломощный стабилизатор напряжения на 5 вольт, КР142ЕН5 или 78L05. Если напряжение питания слишком низкое, то МК не прошьется, программа будет ругаться и выдавать ошибки (к примеру -24 в PonyProg).

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

Даташит ATmega8

Даташит ATmega16

Даташит ATmega32

Даташит ATmega48/88/168

Даташит ATmega128

Даташит ATmega8515

Даташит ATmega8535

Даташит ATtiny2313

Автор: Романов А.С (г. Чебоксары)

Простейший программатор для ATmega8 | Полезное своими руками

В современных электронных схемах все чаще и чаще применяются микроконтроллеры. Да что там говорить, если сегодня не найти даже обыкновенную елочную гирлянду без микроконтроллера внутри — он задает различные программы иллюминации.

Я впервые столкнулся с микроконтроллерами, когда собирал свой первый импульсный металлоискатель Клон. Вот тогда-то и выяснилось, что контроллер без прошивки — это просто кусок пластмассы с ножками.

А чтобы залить нужную прошивку в АТМЕГу, никак не обойтись без программатора. Далее мы рассмотрим две самые простые и проверенные временем схемы программаторов.

Схема первая

С помощью этого программатора можно прошивать практически любой AVR-контроллер от ATMEL, надо только свериться с распиновкой микросхемы.

СОМ-разъем на схеме — это «мама».

На всякий случай привожу разводку печатной платы для атмеги8 (скачать), хотя такую примитивную схему проще нарисовать от руки. Плату перед печатью нужно отзеркалить.

Файл печатной платы открывать с помощью популярной программы Sprint Layout (если она у вас еще не установлена, то качайте 5-ую версию или лучше сразу 6-ую).

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

Вместо КТ315 я воткнул SMD-транзистор BFR93A, которые у меня остались после сборки микромощных радиомикрофонов.

А вот весь программатор в сборе:

Питание (+5В) я решил брать с USB-порта.

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

Если же ваша микросхема б/у-шная, то без внешнего кварца она может и не запуститься. Тогда лучше ставьте кварц на 4 МГц, а конденсаторы лучше на 33 пФ.

Как видите, я кварц с конденсаторами не ставил, но на всякий случай предусмотрел под них места на плате.

Заливать прошивку лучше всего с помощью программы PonyProg (скачать).

Прошивка с помощью PonyProg

Заходим в меню Setup -> Calibration -> Yes. Должно появиться окошко «Calibration OK».

Далее Setup -> Interface Setup. Выбираем «SI Prog API» и нужный порт, внизу нажимаем «Probe», должно появиться окно «Test OK». Далее выбираем микроконтроллер «Device -> AVR micro ATmega8».

Теперь втыкаем микроконтроллер в панельку программатора, и подаем питание 5 вольт (можно, например, от отдельного источника питания или порта ЮСБ). Затем жмем Command -> Read All.

После чтения появляется окно «Read successful». Если все ок, то выбираем файл с нужной прошивкой для заливки: File -> Open Device File. Жмем «Открыть».

Теперь жмем Command -> Security and Configuration Bits и выставляем фьюзы, какие нужно.

Тщательно все проверяем и жмем «OK». Далее нажимаем Command -> Write All -> Yes. Идет прошивка и проверка. По окончании проверки появляется окно «Write Successful».

Вот и все, МК прошит и готов к использованию!

Имейте в виду, что при прошивке с помощью других программ (не PonyProg) биты могут быть инверсными! Тогда их надо выставлять с точностью до наоборот. Определить это можно, считав фьюзы и посмотрев на галку «SPIEN».

Схема вторая

Еще одна версия программатора, с помощью которого можно залить прошивку в микроконтроллер АТМЕГа (так называемый программатор Геннадия Громова). Схема состоит всего из 10 детатей:Диоды можно взять любые импульсные (например, наши КД510, КД522). Разъем — «мама». Питание на МК (+5В) нужно подавать отдельно, например, от того же компьютера с выхода USB.

Все это можно собрать навесным монтажом прямо на разъеме, но если вы крутой паяльник и знаете, что такое smd-монтаж, то можете сделать красиво:

Программировать только программой Uniprof. Тут хорошее описание программы: http://www.getchip.net/posts/025-uniprof-universalnyjj-programmator-dlya-avr/

Алгоритм прошивки с помощью программатора Громова

Программатор с установленной микросхемой подключаем к СОМ-порту компьютера, затем запускаем Uniprof, затем подаем питание на микроконтроллер. И первым делом проверяем, читаются ли фьюз-биты.

Если все ок, выбираем файл с нужной прошивкой и жмем запись.

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

СВЕТОДИОДНЫЕ ЧАСЫ НА МИКРОКОНТРОЛЛЕРЕ

   Предлагаю для повторения схемы электронных часов на микроконтроллере ATmega8, с отображением информации большими светодиодами. Часы рабочие, проверенные. Прошивки на данный момент дорабатываются. Делается больше табло, которое будет на удалении от основного блока, метров 5. На основном блоке тоже будет индикация — дублировать большое табло. Принципиальная схема светодиодных часов показана на рисунке — клик для увеличения.


Описание прибора

1. Функции.
1.1 Часы. Формат отображения времени 24-х часовый. Цифровая коррекция точности хода.

1.2 Термометр. Измерение температуры с двух датчиков в диапазоне -55,0 оС — 125,0 оС.

1.3 Поочередный вывод информации на индикатор.
1.4 Контроль основного источника питания.
1.5 Использование энергонезависимой памяти микроконтроллера для сохранения настроек и установок при отключении питания.
1.6 Три кнопки для установки и настройки: PLUS, MINUS, SET.

Работа устройства

При первом включении на дисплее рекламная заставка в течении 1 сек. Потом отображение времени.
Нажатие на SET_TIME переводит индикатор по кругу из основного режима часов (отображение текущего времени):
– режим отображения минут и секунд. Если в этом режиме одновременно нажать на кнопку PLUS и MINUS, то произойдет обнуление секунд.
– установка минут текущего времени.
– установка часов текущего времени.
– величина ежесуточной коррекции точности хода часов. Символ c и значение коррекции. Пределы установки -25?25 сек. Выбранная величина будет ежесуточно в 0 часов 0 минут и 30 секунд прибавлена/вычтена из текущего времени.
– символ t. Настройка продолжительности отображения часов.
– символ i. Время отображения символов индикации внутренней температуры (int).
– символ d. установка времени индикации температуры с внутреннего датчика.
– символ o. Время отображения символов индикации внешней температуры (out).
– символ u. установка времени индикации температуры с внешнего датчика.
– символ P. установка времени индикации рекламной заставки.
Пределы установки для времени отображения 0-60 сек. Если установлен 0, данный параметр на индикатор не выводится. Если все параметры установить в 0 – на индикаторе будут часы.

Настройка часов

3. 1 Во всех режимах удержанием кнопок PLUS/MINUS производится ускоренная установка.
3.2 Если производились изменения настроек, через 10 секунд от последнего изменения новые значения запишутся в энергонезависимую память (EEPROM) и будут считаны оттуда при повторном включении питания. Индикатор перейдет в основной режим времени.
3.3 Новые настройки вступают в силу по ходу установки.

Контроль питания

Микроконтроллер отслеживает наличие основного питания. При его отключении питание прибора осуществляется от внутреннего источника. Для уменьшения тока потребления отключаются индикатор, датчики и кнопки. Часы продолжают отсчитывать время. При появлении питания от основного источника все функции восстанавливаются.

   На данный момент разрабатываются печатные платы, проводится корекция схемы, можно и коллективно. Если будут идеи и пожелания по усовершенствованию часов — пишите на форуме. Авторы конструкции: Александрович & SOIR (Soir&C.E.A)

Originally posted 2019-02-04 09:33:40. Republished by Blog Post Promoter

Электрическая принципиальная схема подключения семисегментного индикатора к микроконтроллеру ATmega8

Заключение

Выполнение курсового проекта было проведено в соответствии с графиком. В процессе выполнения был сформирован комплект конструкторской документации, включающий в себя конструктивные особенности элементов схемы, конструктивно-технологические требования к проектированию чертежа печатной платы, чертежи, а так же некоторые расчеты.

Была выполнена работа с программой Dip Trace, в которой в результате были разработаны чертежи: сборочный чертеж, чертеж печатной платы, схема электрическая принципиальная. Все чертежи прилагаются. На примере проектирование матричного индикатора, были проработаны стадии проектирования, которые регламентированы стандартами ГОСТ 2.103-68 и ГОСТ Р 15.201-2000.

Это удобная программа, которая призвана создавать конструкторскую и технологическую документацию,3D модели и чертежи, что позволило справиться с задачами курсового проекта.

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

А также была расчетная часть, где рассматривалась безотказная работа семисегментного цифрового индикатора. Из расчета был определен вывод, что исходя из данных, представленных на графике видно, что схема имеет время безотказной работы 5857 часов.

Список литературы

1 Батушев, В. А. Электронные приборы: Учебник для вузов. — 2-е, перераб. и доп. — М.: Высшая школа, 1980. — С. 302-303. — 383 с.

2 Глушков, В.М. Синтез цифровых автоматов. М.: 1967

3 Угрюмов, Е.П. Цифровая Схемотехника — М.:2000;

4 Пухальский, Г.И. Новосельцева, Т.Я. Проектирование вых устройств — М.:1996;

5 Уэйкерли, Дж. Ф. Проектирование цифровых устройств, том 1 и 2 — М.:2002;

6 Сташин, В.В. Урусов, А.В. Мологонцева, О.Ф. Проектирование цифровых устройств на однокристальных микроконтроллерах — М. :1990;

7 Янсен, Й. Курс цифровой электроники. Проектирование устройств на цифровых ИС — М.:1987;

8 Зотов, В. Ю. Проектирование цифровых устройств на основе ПЛИС фирмы XILINX в САПР WebPACK ISE — М.:2003;

9 Разевиг, В.Д. Система проектирования цифровых устройств OrCAD — М.:2000;

10 Норенкова, И.П. Системы автоматизированного проектирования — М.: 1986;

11 Широков, Б. Цифровой тахометр — М.:1983;

12 Бирюков, С. Цифровые устройства на интегральных микросхемах — М.:1984;

13 Novarm Ltd DipTrace. Руководство пользователя — М.:2012;

14 Селевцов, Л.И. Автоматизация технологических процессов — М.: 2014;

15 Евстифеев, А.В. Микроконтроллеры AVR семейств Tiny и Меда фирмы ATMEL А.В – М.: 2008;

16 Баранов, В.Н. Применение микроконтроллеров AVR схемы, алгоритмы, Баранов, В.Н. – М.: 2004;

17 Каган, Б.М., Сташин, В.В. Основы проектирования микропроцессорных систем автоматики – М.: 1987;

18 Сабунин, А.Е. Altium Designer. Новые решения в проектировании электронных устройств — М. : 2009;

19 Белов, А.В. Конструирование устройств на микроконтроллерах — М.: 2005;

20 ГОСТ 3.1118-82 — создание маршрутной карты;

21 ГОСТ 2.105-95 — Единая система конструкторской документации. Общие требования к текстовым документам / Автор: Царева, Н.А.

Приложение А

(справочное)

Глоссарий

1 Глоссарий — словарь узкоспециализированных терминов в какой-либо отрасли знаний с толкованием, иногда переводом на другой язык, комментариями и примерами.

2 САПР — программный пакет, который призван создавать конструкторскую и технологическую документацию,3D модели и чертежи.

3 Унификация — установление оптимального числа размеров или видов продукции, процессов или услуг, необходимых для удовлетворения основных потребностей.

4 Стандартизация — это деятельность, направленная на разработку и установление требований, норм, правил, характеристик как обязательных для выполнения, так и рекомендуемых, обеспечивающая право потребителя на приобретение товаров надлежащего качества за приемлемую цену, а также право на безопасность и комфортность труда.

5 Оптопара — электронный прибор, состоящий из излучателя света (обычно — светодиод, в ранних изделиях — миниатюрная лампа накаливания) и фотоприёмника (биполярных и полевых фототранзисторов, фотодиодов, фототиристоров, фоторезисторов), связанных оптическим каналом и как правило объединённых в общем корпусе. Принцип работы оптрона заключается в преобразовании электрического сигнала в свет, его передаче по оптическому каналу и последующем преобразовании обратно в электрический сигнал.

6 Проектирование — это процесс составления описания, необходимого для создания в заданных условиях еще не существующего объекта по первичному описанию этого объекта путем его детализации, дополнения, расчетов и оптимизации.

7 Технологический процесс (сокращенно ТП) — это упорядоченная последовательность взаимосвязанных действий, выполняющихся с момента возникновения исходных данных до получения требуемого результата.

8 Маршрутная карта — то перечень технологических операций с указанием модели оборудования по операциям в порядке их выполнения.

9 Программируемая логическая интегральная схема (ПЛИС) — электронный компонент, используемый для создания цифровых интегральных схем.

10 Компас — семейство систем автоматизированного проектирования с возможностями оформления проектной и конструкторской документации согласно стандартам серии ЕСКД и СПДС.

11 DipTrace — это многофункциональная САПР по разработке электронных печатных плат и схемотехнической документации для проектов любой сложности, от идеи до готового устройства.

12 Микроконтроллер — микросхема, предназначенная для управления электронными устройствами.

13 Микросхема — электронная схема на полупроводниковом кристалле или пленке, заключенная в корпус.

14 Печатная плата — вид конструкторской документации, документ, содержащий изображение сборочной единицы и другие данные, необходимые для её сборки и контроля.

15 Конструкция — строение, устройство, взаимное расположение частей какого-либо предмета.

16 Чертеж — условное графическое изображение какого-либо (обычно материального) объекта, выполненное по установленным правилам, часто — с указанием технических данных (размеров, масштаба, технических требований и т. п.). необходимых для изготовления данного объекта.

17 Принципиальная электрическая схема — графическое изображение (модель) с помощью условных графических и буквенно-цифровых обозначений (пиктограмм) связей между элементами электрического устройства.

18 Сборочный чертеж — вид конструкторской документации, документ, содержащий изображение сборочной единицы и другие данные, необходимые для её сборки и контроля.

19 Единая Система Технологической Документации (ЕСТД) — комплекс стандартов и руководящих нормативных документов, устанавливающих взаимосвязанные правила и положения по порядку разработки, комплектации, оформлению и обращению технологической документации, применяемой при изготовлении и ремонте изделий.

20 Программатор — аппаратно-программное устройство, предназначенное для записи/считывания информации в постоянное запоминающее устройство (однократно записываемое, флеш-память, ПЗУ, внутреннюю память микроконтроллеров и ПЛК.

21 Тактовый сигнал или синхросигнал — сигнал, использующийся для согласования операций одной или более цифровых схем.

22 Центральный процессор — это главный обработчик поступающей в компьютер информации.

23 Флеш-память (англ. flash memory) — разновидность полупроводниковой технологии электрически перепрограммируемой памяти (EEPROM).

24 Оперативное запоминающее устройство (ОЗУ) — техническое устройство, реализующее функции оперативной памяти.

25 Курсовая работа — задание, которое выполняется студентами высших и средне-специальных учебных заведений в определённый срок и по определённым требованиям.

26 Документ — материальный объект, содержащий информацию в зафиксированном виде и специально предназначенный для её передачи во времени и пространстве.

27 Научная литература — научное издание, содержит результаты теоретических или экспериментальных исследований.

28 Операционная карта — перечень переходов, установок и применяемых инструментов.

29 Работоспособность — Состояние объекта или субъекта, при котором он способен выполнять заданную функцию с параметрами, установленными требованиями технической документации.

30 Электронная схема — это сочетание отдельных электронных компонентов, таких как резисторы, конденсаторы, индуктивности, диоды и транзисторы, соединённых между собой. Различные комбинации компонентов позволяют выполнять множество как простых, так и сложных операций, таких как усиление сигналов, обработка и передача информации.

31 Arduino — торговая марка аппаратно-программных средств для построения простых систем автоматики и робототехники, ориентированная на непрофессиональных пользователей.

32 Исправность – состояние изделия, при котором оно в данный момент времени соответствует всем требованиям, установленным как в отношении основных параметров, характеризующих нормальное выполнение заданных функций, так и в отношении второстепенных параметров, характеризующих удобства эксплуатации, внешний вид и т. п.

33 Неисправность – состояние изделия, при котором оно в данный момент времени не соответствует хотя бы одному из требований, характеризующих нормальное выполнение заданных функций.

34 Работоспособность – состояние изделия , при котором, при котором оно в данный момент времени соответствует всем требованиям, установленным в отношении основных параметров, характеризующих нормальное выполнение заданных функций.

35 Отказ – событие, заключающееся в полной или частичной утрате изделием его работоспособности.

Приложение Б

(обязательное)

Электрическая принципиальная схема подключения семисегментного индикатора к микроконтроллеру ATmega8


Часы, будильник, термометр на ATmega8, DS1307, DS18B20


Более четырех лет назад я собрал простые часы на ATmega8. Все это время они исправно работали и приносили пользу, особенно в темнее время суток. Но мне показалось, что такой микроконтроллер, как ATmega8 может делать намного больше, чем просто подсчитывать колебания кварца и выводить их в виде времени.


Захотел, чтобы новые часы информировали не только о текущем времени, но и о температуре в помещении, где они находятся. Задался поиском подобных схем в интернете, отталкиваясь от уже имеющихся комплектующих, а именно: микроконтроллер ATmega8 и светодиодный индикатор с общим катодом. Отличное решение нашлось на этой странице, которое предоставил пользователь Soir, за что ему большая благодарность.


Схема часов не сложная, плюс, я сделал в ней некоторые упрощения. Что получилось, я привожу ниже. Оригинальная и упрощенная схема, разведенная в Proteus, имеется в АРХИВЕ. В данном архиве приведены также прошивки ATmega8, дающие разный функционал часам, пример выставления фьюзов, полная инструкция по настройке часов и их возможностях, а так же разведенная печатная плата в формате *.lay6. Печатная плата разводилась мной под уже имеющийся корпус. В архиве представлены прошивки для индикаторов с общим анодом и катодом.



Хочу признать, что часы получились отлично. В часах есть будильник (как разовый, так и по дням недели), термометр. Для регулировки освещения индикатора в дневное и ночное время, могут использоваться как предустановки в часах, так и специальный датчик (фоторезистор). Есть возможность коррекции времени, если оно отстает или спешит; цифровая коррекция отображения температуры с градацией 0,1ºС.


Большим плюсом является наличие сохранения настроек в энергонезависимой памяти микроконтроллера. Помимо этого, применение микросхемы DS1307, в паре, с батарейкой, делают часы абсолютно энергонезависимыми. Батарейка выполняет дежурное питание часов. Теперь, сколько бы поставка электричества у Вас не обрывалась, при ее возобновлении, часы буду идти, без каких-либо изменений и отклонений, даже останется заведенным будильник(и).



В эстетическом плане, данные часы, также хороши. Есть более десяти видов визуальных эффектов смены отображения времени и температуры. Кстати, эти эффекты можно выбирать самостоятельно или выставить их отображение в случайном порядке.


Пользователь «yurich» предоставил свой вариант разводки платы под корпус советских часов «Кварц». Файл можно скачать ЗДЕСЬ.

Сборка отладочной платы на ATmega8. Введение.

Сборка схемы питания

AS-kit Hardware. Работа с адаптером AS-con6

Работа с адаптером AS-con6 Для внутрисхемного программирования своих AVR-микроконтроллеров компания Atmel предложила два варианта разъема: 6-контактный и 10-контактный. В 6-контактном разъеме присутствуют

Подробнее

***Конструктор T-DAC***

Назначение Конструктор «T DAC» предназначен для самостоятельного изготовления внешнего цифро аналогового USB аудиопреобразователя. Конструктор рекомендуется для подготовленных радиолюбителей. Описание

Подробнее

Отладочная плата Spartan-3 [PQ208]

Отладочная плата Spartan-3 [PQ208] Описание продукта Серия отладочных плат XB-XC3Sххх-PQ208 представляет собой печатную плату размером 145х122х12 мм и макетным полем 70х122 мм (шаг отверстий 2. 54 мм) с

Подробнее

Машина для езды по линии, версия 2

Машина для езды по линии, версия 2 Инструкция: Все права защищены: Перепечатывание этой инструкции без нашего разрешения запрещено Технические детали, форму, содержимое товара можно изменять без уведомления.

Подробнее

ПРОЕКТ 14. СОЗДАНИЕ ДАТЧИКА ПРИКОСНОВЕНИЯ

ПРОЕКТ 14. СОЗДАНИЕ ДАТЧИКА ПРИКОСНОВЕНИЯ Знаете ли вы, что ваш палец может играть роль резистора? Он имеет сопротивление в несколько мегаом (МОм), и этого более чем достаточно. Однако значение этого сопротивления

Подробнее

Подключение микроконтроллера STM32

Универсальная макетная плата для STM32 Плата предназначена для монтажа любых микроконтроллеров семейств STM32F1, STM32F2, STM32F3, STM32F4, STM32L1 и, возможно, других контроллеров STM32xxx, которые ещё

Подробнее

Конструктор TLM-07 Ver 1.

0

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

Подробнее

LCR-T LCD ESR SCR Meter Transistor Tester

LCR-T4 12864LCD ESR SCR Meter Transistor Tester Цифровой тестер LCR-T4 используется для проверки и определения параметров различных электронных элементов, таких как элементы питания, резисторы, конденсаторы,

Подробнее

Компетенция. «Электроника 14+»

Компетенция «Электроника 14+» Конкурсное задание Старшая возрастная категория 14+ (14-17 лет) Время на выполнение задания: 8 часов (два дня по 4 часа). ВВЕДЕНИЕ Краткое описание конкурсного задания Участникам

Подробнее

СВЕТОВОЙ КОНТРОЛЛЕР V1.

1

СВЕТОВОЙ КОНТРОЛЛЕР V1.1 ТЕХНИЧЕСКОЕ ОПИСАНИЕ 1 Apr 2009 1.Общие сведения. Световой контролер (далее Контроллер) используется для воспроизведения световых эффектов. Он является автономным устройством и

Подробнее

Регулируемый источник питания с LM 723

Регулируемый источник питания с LM 723 Что-то благородное являются источники питания, позволяющие бесступенчатой стабилизированного напряжения, например, от 2 до 30 вольт. Это может быть, например, с регулируемым

Подробнее

Отладочная плата LDM-SAМ7Хxxx

Отладочная плата LDM-SAМ7Хxxx UNITING THE BEST LDM SYSTEMS Отладочная плата представляет собой печатную плату размером 130х91х15 мм и макетным полем 91х52 мм (шаг отверстий 2.54 мм) с установленным на

Подробнее

ME-Ready for PIC (DIP28)

ME-Ready for PIC (DIP28) ME-Ready for PIC (DIP28) — эта плата лучшее решение для быстрой и простой разработки приложений с использованием 28-контактных PIC микроконтроллеров. Плата оборудована микроконтроллером

Подробнее

ME-READY for XMEGA Board

ME-READY for XMEGA Board Плата Ready for XMEGA на базе микроконтроллера ATXMEGA128A1 является отличным решением для быстрой разработки собственных проектов. Она содержит двухрядные контакты для всех доступных

Подробнее

К2655, ЭЛЕКТРОННЫЙ СТОРОЖ

К2655, ЭЛЕКТРОННЫЙ СТОРОЖ Указания по сборке, правила безопасности и электромагнитная совместимость (Цифры соответствуют номерам рисунков, данных в инструкции на английском языке) Пайка : 1. Смонтируйте

Подробнее

Аппаратное обеспечение ЭВМ

Лабораторная работа Бригада Макет Лицей. 0 класс «ИССЛЕДОВАНИЕ КОМБИНАЦИОННЫХ ЦИФРОВЫХ УСТРОЙСТВ» Предметы: Выполнили: Приняли: АОЭВМ, ПП, УП. ЦЕЛЬ РАБОТЫ… Приобрести навыки чтения принципиальных схем. .2.

Подробнее

Мощный бестрансформаторный блок питания

1 od 5 Мощный бестрансформаторный блок питания Заманчивая идея избавиться от крупногабаритного и очень тяжелого силового трансформатора в блоке питания усилителя мощности передатчика, давно озадачивает

Подробнее

Основы работы с симулятором Arduino

Нижегородский государственный университет им. Н.И. Лобачевского Институт информационных технологий, математики и механики Кафедра программной инженерии Лабораторный практикум Основы работы с симулятором

Подробнее

Датчик тока (Troyka-модуль)

Датчик тока (Troyka-модуль) Используйте датчик тока (Troyka-модуль) для контроля потребления тока, фиксируйте блокировку моторов или аварийное обесточивание системы. Работа с высоким напряжением опасна

Подробнее

УЗЧ на регуляторе громкости

УЗЧ на регуляторе громкости Этот усилитель имеет минимум навесных элементов, небольшие габариты, поэтому есть возможность размещения его прямо на переменном резисторе регуляторе громкости. Конденсатор

Подробнее

Набор Ultimate LPF: Плата коммутации LPF

Набор Ultimate LPF: Плата коммутации LPF Версия 4 печатной платы 1. Введение Благодарим за приобретение платы релейной коммутации фильтров низких частот (LPF) от QRP Labs. Данное устройство предназначено

Подробнее

Дорогой начинающий радиолюбитель!

Дорогой начинающий радиолюбитель! Я не ставил своей задачей рассказать о диоде или транзисторе всё: преподать принципы его работы, полные характеристики, показать графики и т.п. Это уже сделано многими

Подробнее

PSL-3604 доработка аппаратной части

PSL-3604 доработка аппаратной части 1. В схеме передней панели ошибка перепутаны выводы 11 и 12 регистра U4. Исправляется перемычками, рядом находятся нужные переходные отверстия (рис. 1). Перед установкой

Подробнее

1. Назначение и состав.

ПРОМЫШЛЕННО-КОММЕРЧЕСКАЯ КОМПАНИЯ МИЛАНДР Техническое описание демонстрационно-отладочной платы для микроконтроллера 1886ВЕ2 и приемопередатчика интерфейса RS-232 5559ИН4. 1. Назначение и состав. Демонстрационно-отладочная

Подробнее

Электронные модули Обзор изделий

84 Электронные модули Обзор изделий Релейные модули Сменные релейные модули Клеммы с реле Реле на печатной плате Реле без монтажного адаптера Сменные модули с двухпозиционными реле Двухпозиционное реле

Подробнее

Усилитель 2 x 25 Вт на TDA8561Q

Усилитель 2 x 25 Вт на TDA8561Q Сердцем усилителя является микросхема TDA8561Q. Статью с подробным техническим описанием я написал сразу в момент знакомства с этим усилителем и находится она тут: Микросхема

Подробнее

ВЕСЫ ПЛАТФОРМЕННЫЕ ЭЛЕКТРОННЫЕ

ВЕСЫ ПЛАТФОРМЕННЫЕ ЭЛЕКТРОННЫЕ РУКОВОДСТВО ПО НАСТРОЙКЕ И РЕМОНТУ для моделей ВСП-4К neu-u (НВ4. 01) Санкт- Петербург 2014г. п/п СОДЕРЖАНИЕ СТР 1 Введение 3 2 Обозначение 3 3 Состав весов 3 4 Описание устройства

Подробнее

Микросхема A277D (К1003ПП1)

В моей статье о светодиодном индикаторе нагрузки винчестера » HDD LED по новому » остались не освещены некоторые вопросы, попробую их раскрыть в этом дополнении. Микросхема A277D (К1003ПП1) В самом начале

Подробнее

Инвертор реактивной мощности

Инвертор реактивной мощности Устройство предназначено для питания бытовых потребителей переменным током. Номинальное напряжение 220 В, мощность потребления 1-5 квт. Устройство может использоваться с любыми

Подробнее

К2639, ДАТЧИК УРОВНЯ ЖИДКОСТИ

К2639, ДАТЧИК УРОВНЯ ЖИДКОСТИ Вы забыли закрыть кран? Стиральная машина течет? Уровень в аквариуме слишком низкий? Емкость для дождевой воды переполнена? В Вашем подвале вода? Небольшая неприятность или

Подробнее

PSL-3604 доработка аппаратной части

PSL-3604 доработка аппаратной части Платы rev. 1 1. В схеме передней панели ошибка перепутаны выводы 11 и 12 регистра U4. Исправляется перемычками, рядом находятся нужные переходные отверстия (рис. 1).

Подробнее

Бесконтактный тахометр-стробоскоп на Atmega8. Простой универсальный тахометр на микроконтроллере ATtiny2313. Радиотехника, электроника и схемы своими руками

Данное устройство предназначено для измерения частоты вращения электродвигателей и главным преимуществом является бесконтактный метод измерения, основанный на стробоскопическом эффекте, где яркие световые импульсы производит светодиод высокой мощности. Для измерения необходимо установить частоту вспышек в соответствии с частотой вращения (при освещении стробоскопом объект кажется неподвижным), используя энкодер. Измерение может быть сделано без остановки вращающегося механизма. Тахометр построен на микроконтроллере ATmega8, а результат измерения отображается на ЖК-дисплее. Кроме того, система также показывает ошибку, которая появляется в результате некоторых временных процессов в программе. Управление осуществляется с помощью поворотного энкодера и небольшой клавиатуры. Все устройство может питаться от батарей, так как из-за импульсного характера генерации потребление энергии является незначительным. Весь прибор успешно уместился в популярном корпусе KM35 , где также есть место для 9В батареи.

Схема устройства

Сердцем прибора и ее наиболее важной частью является микроконтроллер U1 (ATMEGA8-16AU), который работает от кварцевого резонатора частотой 16 МГц (X1). Дополнительные конденсаторы С1(22pF) и С2(22pF) необходимы для правильной работы резонатора. Предусмотрен интерфейсный разъем программирования Prog, который содержит набор контактов для последовательного программирования. Разъем требуется, поскольку микроконтроллер выполнен в SMD корпусе. С5 (100 нФ) фильтры питания микроконтроллера. Конденсаторы С6(100 nF) и С7(100 nF) смягчают крутизну сигнала, генерируемого энкодером, что облегчает его бесперебойную работу в программе. Кнопки S1 — S6 (uSwitch) являются дополнительным клавиатурным блоком. Светодиод мощностью 0,5 W излучает вспышки света, рабочий ток ограничен резистором R4(30R / 2W) и управляется с помощью транзистора Т2(BC337) и резистора R3(330R). Светодиод подключается непосредственно к источнику питания без стабилизатора, чтобы минимизировать воздействие импульсов тока на микроконтроллер и уменьшить нагрузку на стабилизатор U2(78L05). Конденсаторы С3(220uF) и С4(47uf) необходимы для правильной работы стабилизатора. Индикация результатов измерения осуществляется на ЖК-дисплее (W1, 16×2). Контраст устанавливается потенциометром P1(10k), подсветка включается программно с помощью T1(BC556), R1(47R) и R2(3,3k).

Сборка

Прибор может быть успешно построен на основе печатной платы, которая доступна в архиве внизу страницы. Также доступа плата в зеркальном отображении. Плата проста в сборке, но включает в себя компоненты для пайки SMD, которые могут вызвать проблемы для начинающих радиолюбителей. Сборка должна быть начата с пайки двух перемычек. Далее должны быть установлены SMD конденсаторы и резисторы, они используются в популярных корпусах 0805(2×1. 2mm). Далее, припаивается на место микроконтроллер U1, обратите внимание на правильность установки ключа. Кнопки должны иметь длину 15 мм и слегка выступать над ЖК дисплеем, это будет важно при установке платы в корпус. Точно так же и в случае с энкодером. Потенциометр Р1 установлен таким образом, чтобы его можно было регулировать через отверстие в боковой стенке корпуса. Плата разработана таким образом, что она легко помещается в популярном корпусе KM35.

Калибровка и измерение

После того как был написан первоначальный вариант кода и произведен расчет таймера делителя, измерения показали отклонение частоты генерируемых вспышек по отношению к теоретическим расчетам. Эта погрешность появляется из-за работы делителя таймера, равного 1, времени, которое необходимо для обслуживания прерывания, а иногда из-за перезагрузки значения таймера в регистрах. В приведенной ниже таблице, включены измерения частот, генерируемых на выходе (F_p) по отношению к частоте, которая должна быть теоретически (f_i) и соответствующие значения оборотов (умножаются на 10, чтобы получить точность установки в 0,1 об/мин). 2 + b \cdot x +c

где у — обороты теоретические, х — измеренные обороты, а, b, c — коэффициенты в результате регрессии. Графики были выполнены в программе Gnuplot, и поправочные коэффициенты постоянные для двух областей работы системы представлены ниже:

Для диапазона 60-480 об/мин: a= 1.88622104239405e-006 b= 0.999905059864626 c= 0.189869882714651 Для диапазона 480-42000 об/мин: a= 2.54573967680295e-007 b= 0.996905226980814 c= 1.00037985789872

После вставки параметров устройство становится измерителем, а не только индикатором оборотов. В таблице ниже приведены результаты измерений частот генерируемых прибором в зависимости от набора на дисплее. Частота генерируется с ошибкой, равной доли процента от желаемого:

Печатные платы и внешний вид прибора

Программирование fuse-битов микроконтроллера

Что такое вообще тахометр ? Тахометр — это устройство, используемое для измерения об/мин (обороты в минуту) любого вращающегося тела. Тахометры делают на основе контактных или безконтактных. Бесконтактные оптические тахометры обычно используют лазерный или инфракрасный луч для контроля вращения любого тела. Это делается путем вычисления времени, затраченного на одно вращение. В этом материале, взятом на одном английском сайте, мы покажем вам, как сделать портативный цифровой оптический тахометр с помощью Arduino Uno . Рассмотрим расширенную версию прибора с ЖК-дисплеем и модифицированным кодом.

Схема тахометра на микроконтроллере

Список деталей для схемы

  • Микросхема — Arduino
  • Резисторы — 33k, 270 Ом, 10k потенциометр
  • LED элемент — синий
  • ИК-светодиод и фотодиод
  • 16 x 2 LCD экран
  • 74HC595 регистр сдвига

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

Итак, прежде всего для датчика вам потребуется излучающий ИК-светодиод и фотодиод. Как его собрать — показано в пошаговой инструкции. Нажимаем на фото для увеличения размера.

  • 1. Для начала нужно зашкурить светодиод и фотодиод, чтобы сделать их плоскими.
  • 2. Затем сложите полоску бумаги лист, как показано на рисунке. Сделайте две такие структуры так, чтобы светодиод и фотодиод плотно сесть в него. Соедините их вместе клеем и покрасьте в черный цвет.
  • 3. Вставить светодиод и фотодиод.
  • 4. Склеить их с помощью суперклея и припаять провода.

Номиналы резисторов могут различаться в зависимости от того, какой фотодиод вы используете. Потенциометр помогает уменьшить или увеличить чувствительность датчика. Припаяйте провода датчика как показано на рисунке.

Схема тахометра использует 8-разрядный регистр сдвига 74HC595 с LCD дисплеем 16х2. Сделайте в корпусе небольшое отверстие, чтобы зафиксировать LED индикатор.

Припаяйте 270-омный резистор на светодиод и вставьте в контакт 12 Arduino. Датчик введён в кубическую трубку, чтобы дать дополнительную механическую прочность.

Всё, устройство готово для калибровки и программирования. Скачать программу вы можете по этой ссылке .

Видео работы самодельного тахометра

Данное устройство представляет из себя неплохой тахометр. Предел измерений 100 — 9990 об/мин. Точность измерения — ± 3 об/мин. Но для лучшего восприятия данные округляются. Данный прибор стоит у меня на авто — Таврия. Также устанавливалась на Chevrolet Cavalier, ВАЗ-2109, мотоцикл ЯВА-350 12-ти вольтовый, скутер Honda Lead 90.

Присутствуют две входных цепи:

  • вывод 6 (PD2) — вход прерывания INT0. Этот вход используется для измерения количества оборотов двигателя.
  • вывод 11 (PD6). Этот вход используется для уменьшения яркости индикаторов при включении габаритов на авто.

В схеме применён кварцевый резонатор на частоту 8MHz для большей точности и стабильности измерений.

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

Уменьшение яркости индикатора при включении габаритов необходимо для того, чтобы довольно яркий свет от индикатора не отвлекал водителя в тёмное время суток.

Печатная плата:

В собранном виде это выглядит вот так:

Рекомендую применять красный индикатор, т.к. его значительно лучше видно на солнце. Показания стают нечитаемыми только при прямом попадании яркого солнца. Этот эффект можно уменьшить или даже совсем от него избавиться если поставить индикатор за красный светофильтр, но у меня такого к сожалению не нашлось…

FUSES выставлены в проекте, но если кто-то шьёт не из CodeVisionAVR, то повторю их тут:

В проекте в 17-й строке есть следующее определение:

#define byBladeCnt 2 //1- две катушки, 2 — одна катушка, 4 — мотоцикл…

Для советских автомобилей и авто с распределительной системой зажигания этот параметр будет 2. Для систем зажигания с двумя катушками (как в ВАЗ-2110) — 1. На мотоцикле и мопеде (2-х тактная система зажигания) этот параметр равен 4.

Основная задача тахометра в автомобиле – это помощь выбора правильной передачи, что положительно влияет на срок работы двигателя. В большинстве автомобилей уже имеется аналоговый тахометр и когда его стрелка приближается к красной отметке, необходимо переключиться на повышенную передачу.

Кроме того автовладельцы применяют для регулировочных работ, как на холостом ходу, так и для контроля частоты вращения вала двигателя во время движения.

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

При этом подсчет количества импульсов можно выполнить различными методами: в прямом, в обратном и в обоих направлениях. Полученные результаты, обычно, трансформируются в нужные нам величины. Такой величиной можно считать часы, минуты, секунды, метры и тому подобное.

Конструкция всех тахометров позволяет обнулять полученные значения. Точность данных результатов измерений достаточно условна, около 500 об/мин, самые точные электронные тахометры измеряют с погрешностью до 100 об/мин.

Автомобильные тахометры бывают двух видов цифровые и аналоговые. Цифровой автомобильный тахометр состоит из следующих блоков:

Центральный процессор
АЦП 8 разрядов или более
Датчик температуры жидкости;
Электронный дисплей
Оптрон для диагностики клапана холостого хода
Блок сброса процессора.

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

Аналоговые автомобильные тахометры более распространены и понятны большему числу автолюбителей. Он показывает результаты измерений с помощью перемещающейся стрелки.

Обычно аналоговый тахометр состоит из :

микросхема
магнитная катушка
провода считывания информации с коленчатого вала
градуированная шкала
стрелка

Работает такой тахометр следующим образом. Сигнал от коленчатого вала поступает по проводам на микросхему, которая определяет положение стрелки по градуированному циферблату.

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

Кроме того тахометры классифицируются также по способу установки. Существуют штатный и выносной автомобильный тахометр. Первый монтируется непосредственно в приборную панель автомобиля. «Он» более прост и используется в большинстве автомобилей. Выносной тахометр предназначен для установки его на торпедной панели. Они используются для придания автомобилю более тюнингового внешнего вида. В конструкция выносного тахометра имеется ножка для закрепления его на торпедной панели.

Ниже представлена схема квазианалогового электронного тахометра. Принцип ее работы следующий. Частота вращения коленвала двигателя отображается на упрощенной линейной шкале из светодиодов. Шкала цифрового тахометра состоит из девяти светодиодов. Каждый из них примерно соответствует 600 оборотам в минуту двигателя. На холостом ходу светится только первый светодиод. Регулировка тахометра осуществляется путем подбора сопротивления R6. В зависимости от него, можно настроить индикаторы на требуемое количество цилиндров. Можно поменять и цену деления.

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

Данная схема работает как простой частотомер. Импульсы, которые постоянно идут от датчика двигателя, поступают на счетный вход десятичного счетчика К561ИЕ8, и далее на светодиоды. Запитать схему можно от прикуривателя или .

Диод VD1 КД522 защищает схему от неправильного подключения полярности питания. Датчик оборотов коленчатого вала шлет импульсы на базу транзистора VT1. Сопротивление R1 выбираем в зависимости от датчика (на схеме сопротивление подобрано для датчика Холла в бесконтактной системе зажигания карбюраторного двигателя). С выхода VT1 импульсы попадают на триггер Шмитта, выполненный на элементах D1.1-D1.2. Он преобразует импульсы в требуемую прямоугольную форму. Конденсатор С2 фильтрует помехи, в паре с резистором R4 он составляет фильтр, срезающий импульсы высокой частоты. С Выхода D1.2 импульсы поступают на счетчик.

Мультивибратор собранный на элементах микросхемы D1.3 и D1.4 генерирует тактовые импульсы частотой зависящей от R6. Эти импульсы идут на цепочку C3-R7, что формирует импульс для обнуления счетчика D2. Сверхяркие светодиоды HL1-HL9 подключены непосредственно к выходам счетчика К561ИЕ8. С помощью R9 можно регулировать яркость индикации.

Светодиоды 1-4 на печатной плате подключаются монтажным проводом.

Наладку конструкции начинается с расчета значения резистора R1 в соответствии от размаха входящих импульсов. Затем заменяем R6 последовательно включенными переменными резисторами на 1 Ом и постоянным на 10 кОм. Далее подкручиваем переменный резистор на максимальное сопротивление. Затем крутим его так, чтобы на холостом ходу двигателя загорелись только два светодиода. Отмечаем это положение подстроечного резистора. Затем уменьшаем сопротивление, чтобы горел только один светодиод. Затем регулируем резистор в среднем положение. Далее измеряем мультиметром полученное сопротивление R8.

Этот цифровой тахометр пригоден для подсчета количества оборотов практически любого типа двигателя внутреннего сгорания. Погрешность измерения тахометра составляет всего 50 оборотов/минуту. Для показа результата используется четырехразрядное светодиодное табло.
Для настройки режима работы необходимо использовать кнопку «Select». Первое нажатие выводит на табло текущий режим работы. Режимом работы по умолчанию является третий, когда датчик выдает два импульса за оборот маховика. Соответственно, на табло появится надпись Р-2,0.

Каждое последующее нажатие кнопки переключает режим работы тахометра на следующий. Всего их девять: 0.5, 1, 2, 3, 4, 5, 6, 7, 8 имп./оборот соответственно, они устанавливают количество импульсов выдаваемых датчиком за один оборот маховика. Чем выше количество импульсов, тем точнее производится измерение.

После выбора режима работы необходимо подождать 5-10 секунд. За это время тахометр произведет запись режима работы в память микроконтроллера и перейдет в рабочий режим. В дальнейшее тахометр будет сразу при подаче питания переходить в рабочий режим. Если возникает необходимость перенастроить тахометр, то надо нажать кнопку «Select» и произвести настройку тахометра еще раз.

Стоит обратить внимание на параметры и устройство входной цепи. Для конкретного типа зажигания возможны некоторые корректировки номиналов, из-за разных устройств зажигания в различных видах авто. Это необходимо, чтобы тахометр хорошо работал с основными гармониками и не реагировал на высшие гармоники. Без такой корректировки точная работа тахометра невозможна.

Обновленная версия прошивки включает в себя функцию проверки индикаторов. Это необходимо для проведения двухсекундного теста выявления неисправности датчиков.

Прикрепленные файлы:

Прошивка

Простой автоусилитель моноблок на TDA1560Q Автомобильный бездроссельный БП на IRS2153 для ноутбуков и мобильников Внешний USB-разъем в автомагнитоле

Введение в архитектуру микроконтроллера Atmega8 и ее приложения

Аббревиатура микроконтроллера AVR — «Advanced Virtual RISC», а микроконтроллер — это краткое обозначение микроконтроллера. Микроконтроллер — это крошечный компьютер на одной микросхеме, также называемый устройством управления. Подобно компьютеру, микроконтроллер состоит из множества периферийных устройств, таких как блоки ввода и вывода, память, таймеры, последовательная передача данных, программируемые. Приложения микроконтроллера включают встроенные приложения и автоматически управляемые устройства, такие как медицинские устройства, устройства дистанционного управления, системы управления, офисные машины, электроинструменты, электронные устройства и т. Д.На рынке доступно различных типов микроконтроллеров , таких как микроконтроллеры 8051, PIC и AVR. В данной статье представлена ​​краткая информация о микроконтроллере AVR Atmega8.

Что такое микроконтроллер AVR Atmega8?

В 1996 году микроконтроллер AVR был произведен компанией «Atmel Corporation». Микроконтроллер включает гарвардскую архитектуру, которая быстро работает с RISC. Характеристики этого микроконтроллера включают в себя функции, отличные от других, таких как режимы сна-6, встроенный АЦП (аналого-цифровой преобразователь), внутренний генератор и последовательный обмен данными, выполняет инструкции за один цикл выполнения. Эти микроконтроллеры были очень быстрыми, и они использовали низкое энергопотребление для работы в различных режимах энергосбережения. Доступны различные конфигурации микроконтроллеров AVR для выполнения различных операций, таких как 8-битные, 16-битные и 32-битные. Пожалуйста, обратитесь к приведенной ниже ссылке; Типы микроконтроллеров AVR


Микроконтроллер Atmega8 Микроконтроллеры

AVR доступны в трех различных категориях, таких как TinyAVR, MegaAVR и XmegaAVR

  • Микроконтроллер Tiny AVR очень мал по размеру и используется во многих простых приложениях. известен большим количеством интегрированных компонентов, хорошей памятью и используется в современных для множества приложений.
  • Микроконтроллер Xmega AVR применяется в сложных приложениях, требующих высокой скорости и огромной памяти программ.

Описание выводов микроконтроллера Atmega8

Основная особенность микроконтроллера Atmega8 заключается в том, что все выводы микроконтроллера поддерживают два сигнала, кроме 5-выводных. Микроконтроллер Atmega8 состоит из 28 контактов, из которых контакты 9,10,14,15,16,17,18,19 используются для порта B, контакты 23,24,25,26,27,28 и 1 используются для порта C и Контакты 2, 3, 4, 5, 6, 11, 12 используются для порта D.

Конфигурация выводов микроконтроллера Atmega8
  • Вывод -1 является выводом RST (сброс) и подает сигнал низкого уровня в течение более длительного времени, чем минимальная длительность импульса вызовет СБРОС.
  • Контакты 2 и 3 используются в USART для последовательной связи.
  • Контакты 4 и 5 используются в качестве внешнего прерывания. Один из них будет активироваться, когда установлен бит флага прерывания в регистре состояния, а другой будет активироваться до тех пор, пока условие вторжения будет успешным.
  • Выводы 9 и 10 используются в качестве генераторов счетчиков таймера, а также в качестве внешнего генератора, в котором кристалл напрямую связан с двумя выводами. Контакт-10 используется для низкочастотного кварцевого генератора или кварцевого генератора. Если внутренний настраиваемый RC-генератор используется в качестве источника CLK и разрешен асинхронный таймер, эти выводы можно использовать в качестве вывода генератора таймера.
  • Вывод 19 используется как Master CLK o / p, ведомый CLK i / p для SPI-канала.
  • Pin-18 используется как Master CLK i / p, slave CLK o / p.
  • Вывод 17 используется в качестве вывода / вывода данных Master, ввода / вывода данных ведомого для SPI-канала. Он используется как i / p, когда разрешен ведомым устройством, и является двунаправленным, когда это разрешено ведущим устройством. Этот вывод также можно использовать в качестве o / p для сравнения с match o / p, что помогает в качестве внешнего o / p для таймера / счетчика.
  • Pin-16 используется как выбор ведомого i / p. Его также можно использовать в качестве таймера или счетчика1, для сравнения, вывод PB2 можно использовать как выход из положения.
  • Вывод 15 может использоваться как внешний вывод таймера или совпадения счетчика.
  • Вывод 23 на выводы 28 используются для каналов АЦП (цифровое значение аналогового входа). Контакт 27 также может использоваться как последовательный интерфейс. CLK, а контакт 28 может использоваться как данные последовательного интерфейса.
  • ,
  • Выводы 12 и 13 используются в качестве аналоговых i / ps компаратора.
  • Выводы 6 и 11 используются в качестве источников таймера / счетчика.

Архитектура микроконтроллера Atmega8 AVR

Архитектура микроконтроллера Atmega AVR включает следующие блоки.

Архитектура микроконтроллера Atmega8

Память: Имеет 1 Кбайт внутренней SRAM, 8 Кбайт флэш-памяти программ и 512 байт EEPROM.

Порты ввода-вывода: Он имеет три порта, а именно порт-B, порт-C и порт-D, и с этих портов можно получить 23 линии ввода-вывода.

Прерывания: Два внешних источника прерываний расположены в порту D.Девятнадцать разнородных векторов прерываний, поддерживающих девятнадцать событий, производимых внутренними периферийными устройствами.

Таймер / счетчик: Доступны 3 внутренних таймера, 8 бит-2, 16 бит-1, представляющие многочисленные рабочие режимы и поддерживающие внутреннюю / внешнюю синхронизацию.

Последовательный периферийный интерфейс (SPI): Микроконтроллер ATmega8 содержит три встроенных устройства связи. Один из них — SPI, 4 контакта выделены микроконтроллеру для реализации этой системы связи.

USART: USART — одно из самых мощных коммуникационных решений. Микроконтроллер ATmega8 поддерживает как синхронные, так и асинхронные схемы передачи данных. Для этого на нем выделено три контакта. Во многих коммуникационных проектах широко используется модуль USART для связи с ПК-микроконтроллером.

Двухпроводный интерфейс (TWI): TWI — еще одно устройство связи, которое присутствует в микроконтроллере ATmega8. Это позволяет разработчикам установить связь между двумя устройствами с использованием двух проводов вместе с общим заземлением. Поскольку выход TWI выполняется с использованием открытого коллектора, поэтому необходимо обязательно установить внешние подтягивающие резисторы. схема.

Аналоговый компаратор: Этот модуль встроен в интегральную схему, которая предлагает возможность контраста между двумя напряжениями, связанными с двумя входами компаратора через внешние контакты, связанные с микроконтроллером.

АЦП: Встроенный АЦП (аналого-цифровой преобразователь) может преобразовывать аналоговый i / p-сигнал в цифровые данные с разрешением 10 бит. Такого разрешения вполне достаточно для приложений низкого уровня.

Приложения микроконтроллера Atmega8

Микроконтроллер Atmega8 используется для создания различных электрических и электронных проектов.Некоторые проекты микроконтроллеров AVR atmega8 перечислены ниже.

Проект на базе Atmega8
  • AVR на базе микроконтроллера LED Matrix Interfacing
  • UART связь между Arduino Uno и ATmega8
  • Interfinding оптопары с микроконтроллером ATmega8
  • AVR Система пожарной сигнализации на базе микроконтроллера AVR
  • Измерение интенсивности света AVR
  • с использованием микроконтроллера AVR
  • и LDR
  • Амперметр 100 мА на базе микроконтроллера AVR
  • ATmega8 Система противоугонной сигнализации на базе микроконтроллера
  • Интерфейс джойстика на базе микроконтроллера AVR
  • Интерфейс микроконтроллера AVR Интерфейс гибкого датчика
  • Управление шаговым двигателем с использованием микроконтроллера AVR

Таким образом, это все о микроконтроллере Atmega8 учебник , который включает, что такое микроконтроллер Atmega8, архитектура, конфигурация контактов и его приложения. Мы надеемся, что вы лучше понимаете эту концепцию. Кроме того, любые сомнения относительно этой концепции или реализации проектов на основе микроконтроллеров AVR, пожалуйста, оставьте свой отзыв, комментируя в разделе комментариев ниже. В чем разница между микроконтроллером Atmega8 и Atmega 32?

Макетная плата ATmega8 — Часть 2 из 3 — Микроконтроллер

Это руководство является продолжением статьи «Схема макетной платы ATmega8 — часть 1», в которой мы собираем небольшой источник питания на макетной плате.В этой части мы добавим микроконтроллер ATmega8 и интерфейс, позволяющий его программировать.

Первый шаг — сориентироваться в микроконтроллере ATMEGA8. Поскольку мы строим нашу схему на макетной плате, мы используем вариант PDIP (ATMEGA8A-PU). Вы также можете построить эту схему, используя ATmega48, 88, 168 или 328, поскольку все они имеют одинаковую схему контактов, но имеют немного разные функции, тактовую частоту и память.

Когда вы посмотрите на микроконтроллер, вы увидите несколько деталей, которые помогают определить номера контактов. На одном конце есть полукруг / полумесяц. Это обозначает верх IC (интегральная схема). В пакете PDIP / DIP контакты пронумерованы от 1 против часовой стрелки от этого маркера. Кроме того, на ATmega8 есть маленький кружок, обозначающий контакт 1.

Когда вы посмотрите на распиновку, вы заметите, что многие из контактов помечены как порты ввода / вывода. например Контакт 28 имеет метку «PC5», что означает «Контакт 5 порта C». Порты ввода-вывода также имеют второстепенные функции, указанные в скобках.например Контакт 28 выполняет второстепенные функции ADC5 (входной канал АЦП 5) и SCL (линия синхронизации двухпроводной последовательной шины). В некоторых случаях (например, сброс на выводе 1) вторичная функция используется гораздо чаще, чем первичная функция.

Теперь пора вставить микроконтроллер на макетную плату. Вам нужно будет немного загнуть штифты внутрь. Один из способов — неглубоко вставить одну сторону ИС, а затем согнуть штыри на другой стороне так, чтобы они вошли в точки крепления на этой стороне. Затем вы можете осторожно толкать / покачивать ИС.

Теперь подадим питание на микросхему. ATmega8 имеет 2 контакта заземления (8 и 22), контакт VCC (7) для положительного источника питания и аналоговый контакт VCC (20) для подачи питания на аналого-цифровой преобразователь. На рисунке ниже показано, как они подключены.

Для нормальной работы на контакте 1 (PD0 / Reset) должен быть высокий уровень. Когда этот вывод временно заземлен, система сбрасывается / перезагружается. Это обозначено на схеме выводов горизонтальной линией над надписью «RESET». Это обозначение довольно распространено и означает, что функция активируется, когда контакт заземлен.

Мы построим схему, состоящую из 10к; резистор и кнопочный переключатель. Резистор «подтягивает» вывод так, что он становится высоким для нормальной работы, в то время как кнопочный переключатель временно заземляет вывод для операции сброса. Если резистора там нет (т.е.заменен на кусок провода с сопротивлением 0 Ом), то нажатие кнопки переключит всю мощность на землю, что будет означать отключение питания для VCC / AVCC и взрыв источника питания.

Переключатель, который мы используем, представляет собой микротактильный переключатель.Эти переключатели имеют 2 пары контактов, при этом контакты в каждой паре соединены друг с другом. Это показано на диаграммах ниже.

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

Последний этап — создание интерфейса ISP (In System Programming). Это позволяет записывать прошивку в микроконтроллер с помощью программатора, такого как USBASP AVR Programmer.

Интерфейс ISP будет через 10-контактный разъем IDC (закрытый / коробчатый заголовок), что вызывает у нас проблемы. Эти разъемы не подходят для монтажа на макетной плате, поскольку между ними расстояние между рядами составляет 0,1 дюйма (2,54 мм). Нам нужно, чтобы ряды были 0,3 дюйма (7,62 мм), чтобы они помещались по обе стороны от центрального канала макета. Есть много решений этой проблемы. Мы будем сгибать штыри на разъеме IDC с помощью угловых выводов. Это может выглядеть не очень красиво, но работает.

Наконец, мы вставляем разъем IDC, затем подключаем его к источнику питания 5 В, заземлению и микроконтроллеру.При установке разъема IDC необходимо соблюдать осторожность, так как контакты немного толще, чем провода, которые вы обычно вставляете в макетную плату.

В макетной плате ATmega8 — часть 3 мы добавим некоторые устройства ввода-вывода, а также напишем, загрузим и запустим простую программу.

Список литературы

Проектирование схемы счетчика с использованием микроконтроллера AVR Atmega8

Как правило, мы все знаем о регистре сдвига, комбинационных схемах и другом важном элементе цифровой электроники — счетчике.Цепи счетчика используются для подсчета, а также для измерения частоты и времени. Схемы счетчика разработаны специально для синхронных последовательных схем. Состояние счетчика равно счету, удерживаемому в цепи триггерами. Счетчики подсчитают, сколько раз произошло событие. Счетчики являются важнейшими аппаратными компонентами, их также называют таймерами, и они являются лучшими примерами триггеров. Они также используются для разработки программируемых таймеров.

Что такое схема счетчика?

Обычно схемы счетчика конструируются с использованием ряда триггеров, которые соединены каскадом. Производство счетных схем — это отдельные интегральные схемы, которые встроены в состав более крупных интегральных схем. Схемы счетчиков широко используются в цифровых схемах. Существуют различные типы схем счетчиков, такие как синхронные счетчики, асинхронные счетчики, декадные счетчики, кольцевые счетчики и счетчики Джонсона.

Конфигурация контактов

микроконтроллера AVR Atmega8

Микроконтроллер AVR Atmega8 состоит из 28 контактов, и все контакты микроконтроллера будут поддерживать два сигнала, кроме 5 контактов. Из 28 контактов микроконтроллера контакты порта B — это 9,10,14,15,16,17,18,19, контакты порта C — 23,24,25,26,27,28, & 1, а порт Штифты D — 2,3,4,5,6,11,12. На следующем изображении показана конфигурация выводов микроконтроллера AVR Atmega8, а описание каждого вывода приведено ниже.

Конфигурация контактов

микроконтроллера AVR Atmega8

Вывод-1: Вывод сброса. Если мы подаем сигналы низкого уровня в течение более длительного времени, чем минимальная длина импульса, будет произведен вывод сброса

.

Pin-2 и 3: Последовательная связь в USART

Выводы 4 и 5: Внешнее прерывание. С этих двух выводов один из выводов активен, когда установлен бит флага прерывания в регистре состояния, а другой вывод будет активен до тех пор, пока условие вторжения будет успешным.

Pin-9 и 10: Контакты внешнего генератора, а также генераторы счетчика таймера. Кварцевый генератор напрямую связан с двумя выводами. Контакт 10 используется для кварцевых генераторов низкой частоты или кварцевых генераторов.

Pin-19: Используется для SPI-канала как Master CLK o / p, slave CLK i / p.

Контакт 18: A CLK I / P, ведомый CLK O / P.

Pin-17: Используется для SPI-канала как Master data o / p, slave data i / p.Когда это разрешено мастером, он используется как i / p, когда он улучшается подчиненным и двунаправленным. Этот вывод также можно использовать в качестве o / p для сравнения с match o / p, что помогает в качестве внешнего o / p для таймера / счетчика.

Pin-16: Используется в качестве таймера или счетчика1, сравнительно путем переключения вывода PB2 в положение o / p. Он также используется как выбор ведомого i / p.

Контакт-15: Используется как внешний вывод таймера или совпадения счетчика A.

Выводы с 23 по 28 используется как канал АЦП.Контакт 27 используется как последовательный интерфейс CLK, а контакт 28 используется как данные последовательного интерфейса.

Pin-12 и 13: Аналоговые входы компаратора.

Выводы 6 и 11: Источники таймера / счетчика.

Схема частотомера

с использованием ATmega16

На следующей схеме показана схема частотомера с микроконтроллером ATmega16. Этот частотомер или счетчик используется для измерения частоты до 4 МГц, потому что мы используем тактовую частоту 8 МГц для микроконтроллера ATmega16.Работа этой схемы заключается в подсчете количества импульсов сигнала за одну секунду — это просто схема частотомера.

Схема частотомера

с использованием ATmega16

Для подсчета импульсов сигнала мы используем таймер1 ATmega16, и он будет измерять частоту в нормальном режиме. Когда мы запускаем подсчет импульсов, он делает задержку в одну секунду, затем мы останавливаем таймер и читаем его в регистре, который содержит количество импульсов.16 + TCNT1

Из приведенного выше уравнения

Используется для расчета количества переполнений за одну секунду. Показания частотомера обновляются каждую секунду.

Цифровой секундомер

с микроконтроллером Atmega8

На следующей схеме показан цифровой секундомер с микроконтроллером Atmega8. Принцип действия этой схемы заключается в том, что на начальном этапе секундомер находится в состоянии СТОП, и это определяется по мигающему дисплею.Как правило, подсчет статистики с 00:00, если мы нажмем кнопку СТАРТ, то начнется отсчет. Если часы находятся в рабочем состоянии, дисплей не будет мигать, а дисплей будет включен.

Цифровой секундомер

с использованием микроконтроллера Atmega8

Начнется отсчет, и отобразятся мини-секунды. При нажатии кнопки остановки цифровой секундомер останавливается, в состоянии остановки отсчет останавливается, а дисплей начинает мигать. При повторном нажатии кнопки СТАРТ цифровой секундомер начинает отсчет возобновления.Клавиша RESET используется для сброса часов, и часы начинают с 00:00, т.е. 0 минут и 0 секунд.

Применение счетчиков
  • Счетчики широко используются в шлепанцах.
  • Используется на стадионах для крикета для подсчета количества людей, входящих и выходящих на стадион, комнату или аудиторию.
  • Работа микроволновых печей и стиральных машин осуществляется по счетчикам
  • Счетчики используются в цифровых электронных устройствах, таких как цифровые часы, аналого-цифровые преобразователи и цифровые генераторы треугольных волн.

Информация в данной статье касается простых счетных схем микроконтроллера AVR Atmega8. Я надеюсь, что, прочитав эту статью, вы получили некоторую основную информацию о схемах счетчиков. Если у вас есть какие-либо вопросы об этой статье или о реализации электрических и электронных проектов, пожалуйста, не стесняйтесь оставлять комментарии в нижеследующем разделе. Вот вам вопрос, какова функция схемы счетчика?

AVR — Мини-плата разработки Atmega8, ручная работа

Это мини-проект по снижению производственных затрат и ограниченного пространства.

Микроконтроллер с меньшим объемом памяти и меньшей функциональностью. Это стоит около 110 рупий / -.

Стоимость может отличаться от места к месту. Мой мотив — экспертиза в реализации проекта, если свежая ИС покупается на рынке.

Новая ИС не программируется, в ней должны быть установлены предохранители внутри MCU. Итак, после установки этих предохранителей мы можем дальше работать над развитием всего.

Atmega8 Подробности

 

• Высокопроизводительный Atmel® с низким энергопотреблением AVR® 8-битный микроконтроллер • Расширенная архитектура RISC - 130 мощных инструкций - большинство циклов выполнения за один такт - 32 × 8 рабочих регистров общего назначения - Полностью статическая работа - Пропускная способность до 16MIPS при 16 МГц - Двухтактный множитель на кристалле • Сегменты энергонезависимой памяти повышенной прочности - 8 Кбайт внутрисистемной самопрограммируемой флэш-памяти программ - 512 байт EEPROM - 1 Кбайт внутренней SRAM - Циклы записи / стирания: 10000 Flash / 100000 EEPROM - Срок хранения данных: 20 лет при 85 ° C / 100 лет при 25 ° C (1) - Дополнительный раздел загрузочного кода с независимыми битами блокировки Внутрисистемное программирование с помощью встроенной программы загрузки Истинная операция чтения во время записи - Программный замок для безопасности программного обеспечения • Периферийные функции - Два 8-битных таймера / счетчика с отдельным предделителем, один режим сравнения - Один 16-битный таймер / счетчик с отдельным предделителем, режимом сравнения и захватом Режим - Счетчик реального времени с отдельным генератором - Три канала ШИМ - 8-канальный АЦП в корпусе TQFP и QFN / MLF Восемь каналов, 10-битная точность - 6-канальный АЦП в PDIP корпусе Шесть каналов, 10-битная точность - Байтовый двухпроводной последовательный интерфейс - Программируемый последовательный USART - Главный / подчиненный последовательный интерфейс SPI - Программируемый сторожевой таймер с отдельным встроенным генератором - Встроенный аналоговый компаратор • Специальные функции микроконтроллера - Сброс при включении и программируемое обнаружение перебоев в работе - Внутренний калиброванный RC-генератор - Внешние и внутренние источники прерываний - Пять режимов сна: холостой ход, шумоподавление АЦП, энергосбережение, отключение питания и Ожидать • Ввод / вывод и пакеты - 23 программируемых линии ввода / вывода - 28-выводный PDIP, 32-выводный TQFP и 32-контактный QFN / MLF • Рабочее напряжение - 2.7 В - 5,5 В (ATmega8L) - 4,5 В - 5,5 В (ATmega8) • Скоростные классы - 0-8 МГц (ATmega8L) - 0 - 16 МГц (ATmega8) • Потребляемая мощность при 4 МГц, 3 В, 25 ° C. - Активный: 3,6 мА - Режим ожидания: 1,0 мА - Режим пониженного энергопотребления: 0,5 мкА

Коллекция проектов АРН | 15+ идей проектов ATmega MCU

AVR — это семейство микроконтроллеров, разработанных Atmel в 1996 году. Это модифицированные однокристальные 8-битные RISC-микроконтроллеры с архитектурой Гарварда. Серия ATmega — это один из типов микроконтроллеров AVR с такими функциями, как память программ 4–256 КБ, корпус с 28–100 выводами, расширенный набор команд и обширный набор периферийных устройств.Эти специальные функции помогают студентам, любителям и инженерам создавать инновационные проекты AVR. Давайте посмотрим на несколько интересных проектов AVR.

Проекты AVR: Цифровой измеритель влажности почвы

Измеритель влажности почвы используется для определения содержания воды в данном образце почвы. Поскольку растениеводство требует воды на разных этапах и в разных количествах, важно время от времени измерять влажность почвы. В рамках этого проекта осуществляется мониторинг влажности почвы на ирригационных фермах путем измерения сопротивления прохождению электрического тока между двумя металлическими датчиками.Эти датчики действуют как сенсорные элементы, которые регистрируют влажность и преобразуют ее в электрическую величину. Это значение в дальнейшем преобразуется в информацию с помощью электронного дисплея.

Подробная информация о проекте доступна по адресу: цифровой измеритель влажности почвы.

Режим ультразвукового радара с использованием микроконтроллера ATmega128

Радиолокационная система состоит из передатчика, передающего луч на цель, который отражается от цели в виде эхо-сигнала. Приемник принимает и обрабатывает отраженный сигнал, чтобы предоставить такую ​​информацию, как присутствие цели, расстояние, положение (движущееся или неподвижное) или скорость, которая отображается на дисплее.Радиолокационные системы имеют как оборонное, так и гражданское применение. Управление воздушным движением использует радары для отслеживания самолетов на земле и в воздухе и для управления самолетами для плавной посадки.

Более подробная информация об этом проекте доступна по ссылке: модель ультразвукового радара.

Система посещаемости на основе RFID

Эта система может использоваться для учета посещаемости учащимся школы, колледжа и университета. Его также можно использовать для учета рабочего времени рабочих на рабочих местах. Его способность однозначно идентифицировать каждого человека на основе его идентификационной карты типа RFID-метки делает процесс посещения проще, быстрее и безопаснее по сравнению с традиционным методом.Система может быть подключена к компьютеру через порт RS232 или универсальной последовательной шины (USB) и сохранять посещаемость в базе данных. Альтернативный способ просмотра записанной посещаемости — использование программного обеспечения HyperTerminal. Опытный образец системы успешно изготовлен. Радиочастотная технология используется во многих приложениях.

Более подробная информация об этом проекте доступна на сайте: Система посещаемости на основе RFID.

Система разблокировки двери по отпечатку пальца

Этот простой проект датчика отпечатков пальцев с использованием Arduino очень полезен для обеспечения безопасности дверей, криминалистики, расследования преступлений, идентификации личности, системы посещаемости и многого другого.В будущем может появиться гораздо больше приложений, таких как водительские права на основе отпечатков пальцев, работа с банковскими счетами и так далее. Вся система работает по простому алгоритму сопоставления. Он сравнивает ранее сохраненные шаблоны отпечатков пальцев с отпечатками пальцев пользователей для целей аутентификации. В этом проекте, только когда уполномоченное лицо кладет палец на датчик, дверь открывается, и на ЖК-дисплее отображается приветственное сообщение с именем этого человека.

Более подробную информацию об этом проекте можно найти на сайте: Система разблокировки дверей по отпечатку пальца.

Гидролокатор уровня воды

Указатель уровня воды состоит из двух блоков: передающего и приемного. Блок передатчика в проекте построен на микроконтроллере ATmega328P (MCU) (IC1) с загрузчиком Arduino Uno, датчике гидролокатора HC-SR04, подключенном к CON1, передатчике 433 МГц (TX1), стабилизаторе напряжения 7805 (IC2) и некоторых других компонентах. Для увеличения дальности действия используется длинная спиральная антенна. Бесконтактный датчик гидролокатора расположен в стратегическом месте на резервуаре, поэтому он всегда получает отраженный сигнал от поверхности воды.Лучшее место будет в центре крышки круглого бака сверху или на пересечении диагоналей верха прямоугольного бака. Расчетный уровень в резервуаре передается с закодированным разрешением на приемное устройство.

Подробнее об этом проекте: гидролокатор уровня воды.

AVR Projects: Android-робот с телефонным управлением

Это один из интересных проектов среди AVR Projects из-за использования Android. Схема построена на плате Arduino UNO (BOARD1), модуле ультразвукового приемопередатчика HC-SR04, модуле Bluetooth JY MCU BT, драйвере двигателя L293D (IC1), двигателях постоянного тока M1 и M2 и нескольких общих компонентах.В схеме используются две батареи 9 В: одна для питания платы Arduino, а другая для питания двигателей. Регулируемое питание 5 В для остальной цепи обеспечивается самой платой Arduino. Светодиод на плате указывает на наличие блока питания.

Более подробная информация об этом проекте доступна по адресу: робот, управляемый телефоном Android

Вентилятор постоянного тока с контролем температуры

Основное назначение схемы — включить вентилятор, подключенный к двигателю постоянного тока, когда температура превышает пороговое значение.Микроконтроллер непрерывно считывает температуру из окружающей среды. Датчик температуры действует как преобразователь и преобразует измеренную температуру в электрические значения. Это аналоговое значение, которое применяется к выводу АЦП микроконтроллера. Микроконтроллер ATmega8 имеет шесть мультиплексированных каналов АЦП с 10-битным разрешением. Аналоговое значение подается на один из входных выводов АЦП. Таким образом, преобразование происходит внутренне с использованием метода последовательного приближения.

Более подробную информацию об этом проекте можно найти по адресу: вентилятор постоянного тока с регулируемой температурой

Система контроля и сигнализации газообразного водорода

Этот следующий проект объясняет создание системы мониторинга и сигнализации газообразного водорода с микроконтроллером AVR ATmega16 и 7-сегментным дисплеем с использованием аналогового датчика MQ-8.Аналоговый датчик газа водорода MQ-8 связан с микроконтроллером ATmega16 и отображает значение аналогового датчика водорода MQ-8 на 4 мультиплексированных 7-сегментных дисплеях с общим анодом. Выходное значение аналогового датчика газообразного водорода MQ-8 постоянно сравнивается с пороговым значением. Если выходное значение аналогового датчика газа водорода MQ-8 превышает пороговое значение, зуммер начинает издавать звуковой сигнал.

Более подробная информация об этом проекте доступна на сайте: система контроля и сигнализации газообразного водорода.

Робот следящего за линией

Эта схема состоит из микроконтроллера ATmega8, двух ИК-датчиков, двигателей и ИС драйвера двигателя. Роботу-следователю линии требуется механическое устройство шасси. Представьте себе двухколесный роботизированный автомобиль с поворотным колесом. Два ИК-датчика установлены на роботе, обращенном к Земле. Когда робот помещается на фиксированный путь, он следует по нему, обнаруживая линию. Направление движения робота зависит от выходов двух датчиков. Когда два датчика находятся на линии пути, робот движется вперед.Если левый датчик отодвигается от линии, робот движется вправо. Точно так же, если правый датчик удаляется от пути, робот перемещается влево от него. Каждый раз, когда робот отклоняется от своего пути, его обнаруживает ИК-датчик.

Более подробную информацию об этом проекте можно найти по адресу: робот следящего за линией

Проекты AVR: Система домашней автоматизации

Эта система состоит из тесно подключенного к сети Atmel ATmega8, который представляет собой микроконтроллер на базе AVR с 512 байт EEPROM в 28-контактном корпусе DIP, 1024 байт внутренней SRAM и 8kB внутренней флэш-памяти.Вся система собрана в небольшом портативном шасси центрального процессора (ЦП) для эстетичного внешнего вида и непрерывного использования в режиме 24 × 7. Схема состоит из четырех частей: основного модуля, модуля реле, модуля сенсорного управления и модуля интерфейса клавиатуры. Система размещается в шасси ЦП настольного компьютера и питается от блока питания ATX мощностью 400 Вт для безошибочной работы и надлежащего питания системы. В системе есть индикатор режима ожидания.

Подробнее об этом проекте: система домашней автоматизации.

Цифровой термометр

В этом проекте разработан высокоточный цифровой термометр. Он состоит из простых компонентов, таких как Arduino, датчик температуры LM35 и ЖК-дисплей. Работа схемы очень проста. Датчик температуры, например, LM35, постоянно контролирует температуру в помещении и выдает аналоговое эквивалентное напряжение, которое прямо пропорционально температуре. Эти аналоговые данные передаются Arduino. Arduino преобразует это аналоговое значение напряжения в цифровые показания температуры.Это значение отображается на ЖК-дисплее. Скорость изменения захвата температуры может быть запрограммирована в коде. Вывод, отображаемый на ЖК-дисплее, является точным показателем комнатной температуры в градусах Цельсия.

Подробнее об этом проекте: цифровой термометр.

Система теневой сигнализации

Теневая сигнализация обычно используется для защиты от кражи. Теневая сигнализация — это устройство, которое подает сигнал тревоги, когда на него падает тень. Здесь описана простая схема теневой сигнализации на базе Arduino.Этот компактный теневой сигнализатор способен обнаруживать движущуюся тень в ограниченной зоне и легко устанавливается на стене, окне или двери, чтобы защитить ваши ценности от кражи. В ограниченном пространстве требуется постоянное освещение для обнаружения движущейся тени. Он состоит из платы Arduino, источника питания, светозависимого резистивного датчика (LDR), зуммера, драйвера реле и нескольких других компонентов. Плата Arduino Uno является сердцем этой схемы.

Более подробную информацию об этом проекте можно найти по адресу: система теневой сигнализации.

Система сигналов дорожного движения на основе плотности

В настоящее время контроль движения является серьезной проблемой из-за быстрого увеличения количества автомобилей и больших задержек между светофорами. Чтобы решить эту проблему, мы перейдем к системе светофоров на основе плотности. В этом проекте объясняется, как управлять трафиком в зависимости от плотности. Эта схема использует ИК-датчики для измерения плотности трафика. Нам нужно установить по одному ИК-датчику на каждую дорогу; эти датчики всегда определяют движение на этой конкретной дороге.Все эти датчики подключены к микроконтроллеру. На основе этих датчиков контроллер определяет трафик и управляет системой трафика.

Более подробная информация об этом проекте доступна по адресу: Система светофоров на основе плотности.

Проекты AVR: обмен сообщениями на базе GSM

Мозгом схемы является плата микроконтроллера Arduino Uno (BOARD1). ЖК-дисплей 16 × 2 (LCD1) используется для приема и отображения сообщений. Если вы хотите показать какую-либо информацию или сообщение, вы отправляете SMS на модем GSM.MCU Arduino считывает GSM-модем и отправляет его на ЖК-дисплей. В этом проекте ЖК-дисплей используется в 4-битном режиме, что означает, что для отображения данных требуется всего четыре строки данных. GSM-модем SIM900A (подключенный к CON2 и CON3) отправляет команды в текстовом режиме в Arduino Uno через интерфейс RS232.

Подробнее об этом можно узнать по адресу: Обмен сообщениями на базе GSM.

Интеллектуальный пульт дистанционного управления

В этом проекте используется Arduino Yun (ATmega32u4), особый Arduino, который идеально подходит для устройств, подключенных к сети.Yun имеет два процессора, один из которых работает под управлением операционной системы Linux и может подключаться к проводным или беспроводным сетям. Второй процессор такой же, как и в Arduino Leonardo. Он имеет отличную совместимость с библиотеками и оборудованием Arduino. В этом проекте используется инфракрасный светодиод и приемник для отправки и приема сигналов дистанционного управления.

Дополнительную информацию об этом можно найти по адресу: smart remote control.

Датчик наклона

Одним из интересных проектов AVR является детектор наклона на базе Arduino.Акселерометр, который представляет собой электромеханическое устройство, может использоваться для различных приложений, таких как обнаружение наклона, обнаружение препятствий, ввод данных о движении, обнаружение землетрясений и т. Д. Обнаружение наклона — это простое применение акселерометра, при котором происходит изменение углового положения системы. в любом направлении определяется и отображается четырьмя светодиодами. Плата Arduino Uno используется для обработки данных, полученных от акселерометра, и включения соответствующего светодиода, указывающего направление наклона.

Дополнительную информацию об этом можно найти на сайте: датчик наклона.

Сообщите нам, понравился ли вам этот список из 20 проектов AVR. Если у вас есть свои собственные, вы хотели бы добавить их в этот список проектов AVR, сообщите нам об этом в комментариях ниже.


Эта статья была впервые опубликована 1 декабря 2016 г. и обновлена ​​31 мая 2019 г.

Взломайте микроконтроллер с помощью GNU / Linux

Взломайте микроконтроллер с помощью GNU / Linux

Вы любитель электроники или студент, занимающийся в увлекательный мир встроенных систем дизайн с 8-битными микроконтроллерами? GNU / Linux имеет все инструменты, необходимые, чтобы сделать это путешествие увлекательным и захватывающий.В статье этого месяца я расскажу вам знакомство с простым датчиком температуры проект интерфейса, который я сделал с Atmel ATMega8 микроконтроллер — к тому времени, когда мы закончим, у вас будет приобрел все навыки, необходимые для настройки инструментария GNU среда программирования на основе семейства ATMega.

Что такое микроконтроллер?

Современный микроконтроллер — это своего рода «одиночный» чип компьютера ». Если вы попробуете разработать компьютерную систему (скажем, для некоторого управляющего приложения) с использованием традиционного микропроцессор, такой как 8086, вы, вероятно, очень скоро откажитесь от проекта в отчаянии.В Беда в том, что микропроцессор всего лишь один компонент системы, и вам нужно добавить еще много (RAM, ROM, таймеры, счетчики, схемы прерывания, порты ввода / вывода), чтобы сделать это завершено. Это нетривиальная работа и требует глубокие знания внутреннего устройства процессора. Это здесь что микроконтроллер приходит нам на помощь. Средний диапазон 8-битный микроконтроллер (например, ATMega8) поставляется с все вышеупомянутые компоненты (плюс еще несколько, например Аналоговые компараторы, последовательные USART, аналогово-цифровые Преобразователи, сторожевые таймеры) в одном компактном корпусе, 28 штыревой пакет.Часто единственный дополнительный компонент, необходимый для заставить микроконтроллер работать — это блок питания!

Программирование микроконтроллера

ATMega8, как и многие другие микроконтроллеры от крупных производителей, таких как Microchip и Atmel. оснащен большим объемом «флеш-памяти» — энергонезависимая память которые можно стереть с помощью электрических сигналов. Основная идея писать программы (в основном на ассемблере или C) на ПК и преобразовать их в машинный код, принадлежащий набор команд целевого микроконтроллера.Как только это готово, машинный код можно перенести в энергонезависимую память микроконтроллера через простые схемы, подключенные к последовательному или параллельному порту. Этот процесс называется «программирование» или «сжигание» микроконтроллера.

Начало работы

Два фактора, которые следует учитывать при выборе GNU / Linux в качестве платформы для хобби разработки на основе микроконтроллеров:

  • Наличие бесплатных высококачественных инструментов разработки например, ассемблеры, компиляторы и т. д.
  • Наличие бесплатных качественных программ для перевода машинный код микроконтроллера.
Принимая это во внимание, можно сказать, что почти все микроконтроллеры, обычно доступные в Индийский рынок (в основном от Atmel и Microchip) имеет хорошие поддержка GNU / Linux. Самым привлекательным для меня был ATMega8 (Рисунок 1) от Atmel. Не скрою, что один из то, что меня предвзято, было наличие полнофункциональной инструментальной цепочки GNU, способной генерирующий код для этого микроконтроллера! Два других фактора были относительно невысокая стоимость и абсолютная легкость, с которой даже такой человек с очень плохими навыками пайки, как я, мог бы построить схему для загрузки кода в этот микроконтроллер.

Настройка GNU Toolchain

Скопируйте следующие пакеты с компакт-диска LFY на каталог (скажем, / usr / local / src) вашего компьютера GNU / Linux.

  • binutils-2.15.tar.bz2. Это исходный код для такие инструменты, как ассемблер, компоновщик и т. д.
  • gcc-core-3.4.2.tar.bz2. Этот пакет содержит исходный код компилятора GNU C.
  • avr-libc-1.0.4.tar.bz2. Исходный код библиотеки AVR C содержащий множество служебных функций.

Первый шаг — это скомпилировать и установить binutils (я предполагая, что ваш текущий каталог / usr / local / src и что все пакеты были извлечены в папки под тот же каталог).


mkdir / usr / местный / avr
компакт-диск binutils-2.15
mkdir avrobj; cd avrobj
../configure --target = avr --prefix = / usr / local / avr --disable-nls
делать; сделать установку

 

Затем нам нужно собрать и установить версию GCC, которая способен генерировать ассемблерный код для Atmel AVR и ATMega семейство микроконтроллеров.


экспорт ПУТЬ = $ ПУТЬ: / usr / local / avr / bin
компакт-диск gcc-3.4.2
mkdir avrobj; cd avrobj
../configure --target = avr --prefix = / usr / local / avr --disable-nls --enable-language = c
делать; сделать установку

 

Мы почти закончили; осталось только построить Библиотека avr C:


компакт-диск avr-libc-1.0,4
экспорт ПРЕФИКС = / usr / local / avr
sh ./doconf
./domake
cd build
сделать установку

 

Это оно! Мы установили полную разработку «чистого GNU» среда для нашего любимого микроконтроллера.

Привет, мир

Программистам на ПК это легко; как только они установят компилятор / интерпретатор для своих любимый язык программирования, они могут написать Программа `hello, world ‘, и она сразу же запустится. Это не все так просто для программиста встраиваемых систем. Компиляция программа — это только половина дела — другая половина загружает код в целевой микроконтроллер и запустить его.Мы будем делать что-то пошагово — сначала мы напишем простую программу на C и преобразуем ее в машинный код, просто чтобы убедиться, что наш недавно установленный среда разработки работает нормально. Затем мы построим простую схему загрузки и используйте программу под названием `sp12 ‘ передать машинный код на микроконтроллер.

Вот наша тестовая программа:


/ * a.c, простая тестовая программа * /
#include 
основной()
{
uint8_t c = 1;
}

 
Мы скомпилируем его, как показано ниже (убедитесь, что / usr / local / avr / bin находится в пути):

avr-gcc -mmcu = atmega8 -Os a.c

 

Попробуйте запустить получившийся `a.out ‘. Вы получите сообщение об ошибке:


./a.out: невозможно выполнить двоичный файл

 

Причина в том, что a.out содержит машинный код, который будет работать только на микроконтроллере ATMega8, а не на главном ПК. Этот машинный код должен быть загружен в микроконтроллер. с помощью специальной программы (мы будем использовать очень способный инструмент называется `sp12 ‘). Но есть одна проблема. Программ как `sp12 ‘не способны расшифровать структуру файлы со сложным машинным кодом.Машинный код должен быть сохранен в одном из двух очень простых форматов — в формате Intel Hex или формат Motorola S-record. К счастью, утилита GNU под названием avr-objcopy может конвертировать a.out в Intel Формат файла Hex, который может понять `sp12 ‘. Вот как вы вызываете эту команду:


avr-objcopy -j .text -j .data -O ihex a.out a.hex

 

Вот часть полученного файла формата Intel Hex, `a.hex ‘:


: 1000000012C02BC02AC029C028C027C026C025C0C6
: 1000100024C023C022C021C020C01FC01EC01DC0DC

 
Машинный код представлен в читаемом шестнадцатеричном формате. числа.

Построение схемы «программирования»

Одно из преимуществ использования Atmel AVR или ATMega семья — это конструктивное оборудование, которое помогает мы загружаем и «записываем» код на флеш-память микроконтроллера предельно просто. Немного резисторы, конденсаторы и кристалл генератора вместе с разъемом параллельного порта — все, что требуется. Полная схема платы программирования (как а также все другие компоненты / схемы, необходимые для завершение этого проекта) доступен на LFY CDROM или его можно скачать с http: // pramode.сеть / lfy-feb /. Схема может быть собрана и протестирована на макетной плате. через полчаса (Рисунок 2 показывает схему, которую я построил)!

Как вы проверяете, работает ли ваше домашнее оборудование хорошо? Вы должны сначала установить программу под названием `sp12 ‘:


tar xvfz sp12v2_1_0-Linux.tgz
cd SP12v2_1.0 / Источник
делать
cp sp12 / usr / local / bin
cp ../_sp12dev / home / pce

 

Последний шаг процесса установки — копирование файла называется _sp12dev, который является частью исходного дистрибутива SP12 в каталог, из которого вы будете вызывать `sp12 ‘ команда (в данном случае `/ home / pce ‘).

Теперь подключите схему программирования к параллельному порту и включить его. Выполните команду:


sp12 -rF

 
Вот часть результатов, которые я получил на своей машине:

Были прочитаны байты кода устройства 0,1,2: 0x1e, 0x93, 0x7
из параллельного порта 0x378 и укажите следующее:
Вы подключили ATmega8
Устройство было изготовлено компанией Atmel.

 

Теперь у нас есть полнофункциональная среда GNU / Linux для программирование нашего микроконтроллера! Попробуем скачать наш программа испытаний:


sp12 -wpfC a.шестнадцатеричный

 
SP12 отобразит на консоли несколько сообщений:

Выполняется стирание чипа ...
Запись содержимого a.hex в программную область.
ооооооооооооооооооооооооооооооооооооооооооо
a.hex написано и проверено.
повторных попыток записи: 0
ооооооооооооооооооооооооооооооооооооооооооооооооооооооооооооооооооооооооооооооооооооооооооооооооооооооооооооооооооооооооооооооооооооооооооооооооооооооооооооооооооооооооооооооооооооооооооооооооооооооооооооооооооооооооооооооооооооооооооооооооооооооооооооооооооооооооооооооооооооооооооооооооооооооооооооооооооооооооооооо
Область программы контрольной суммы: 6b16

 

Параметры SP12 (-wpfC) просты и интуитивно понятны. В `w ‘означает запись,` p’ говорит, что запись должна быть «программная память» микроконтроллера, «f» указывает факт, что следующим аргументом будет имя шестнадцатеричного файла и C предназначен для вычисления контрольной суммы.

Программа, которую мы только что «записали» на микроконтроллер не делает ничего полезного. Попробуем что-нибудь поинтереснее.

Мигающие светодиоды

В листинге 1 показана программа, которая мигает. светодиод, подключенный к контакту 28 (5-й контакт порта ввода / вывода называется «ПОРТ C») ATMega8. Вот несколько советов, которые помогут вы понимаете код:

  • Каждому микроконтроллеру для работы требуется тактовый сигнал. должным образом. ATMega8 запрограммирован на заводе для работы с внутренняя частота 1 МГц по умолчанию (этот параметр можно изменить, можно использовать внешние кристаллы и предоставить часы как выше 8 МГц)
  • Компилятор GNU C для семейства Atmel определяет все функциональные блоки внутри микроконтроллера с осмысленными именами.Таким образом, запись `PORTC = 0xff ‘приведет к генерации компилятором машинный код, который записывает 0xff в порт ввода-вывода C — эффект которого установит на всех выводах порта C высокий логический уровень. Потому что порты двунаправленные, мы должны решить, должен ли каждый вывод действовать как вход или выход. Если i-й бит регистра DDRC (данные регистр направления C) равен 1, тогда i-й вывод PORTC будет выход, в противном случае он будет действовать как входной контакт (обратите внимание, что контакт и номера битов начинаются с нуля).
  • Вызов макроса _BV (N) будет расширен до (1 << N).PC5 - константа, значение которой равно 5 (5-й вывод ПОРТА C). Похожий относится ко всем другим именам, используемым в программе, например, TIFR, CS00 так далее; это все константы, которые представляют определенные регистры управления внутри микроконтроллера или определенные биты в этих элементах управления регистры. Чтение руководства, предоставленного производителем, является единственный способ узнать, что означает каждое имя.
  • ATMega8 имеет встроенный 8-битный счетчик. Этот счетчик может питаться от тактовой частоты 1 МГц, на которой работает контроллер, или часы с делением вниз, где можно запрограммировать коэффициент деления путем установки определенных битов (в частности, битов CS00 и CS02) регистр управления таймером / счетчиком 0 (TCCR0).
  • Если коэффициент деления запрограммирован равным 1024, счетчик увеличивается примерно раз в 1 миллисекунду. Однажды count достигает 255, он переполняется до 0 и начинается все сначала. А бит (TOV0) в регистре под названием TIFR устанавливается, когда переполнение имеет место. Этот бит следует очистить, записав в него «1» (что может показаться необычным, но в инструкции есть пояснения).

После компиляции и переноса программы мы необходимо поместить контроллер в простую «рабочую цепь» с Светодиод подключен к контакту 28, чтобы увидеть наш код в действие; электрическая схема может быть получена с компакт-диска LFY или URL, о котором я упоминал ранее.

Установка предохранителей

Микроконтроллер ATMega8 содержит некоторые «предохранительные биты», которые могут быть изменены в процессе «прожига» программы. Скажи тебе хотите запустить контроллер на более высокой тактовой частоте 4 МГц с помощью внешнего кристалла; вы должны установить младшие 4 бита байт предохранителя до 1110 без изменения других битов. За это, вы должны сначала прочитать текущее значение битов предохранителя Бег:


sp12 -rF

 
Параметр «-rF» означает «читать предохранитель».После определения контроллер и печать нескольких сообщений (которые у нас уже есть видно), sp12 отобразил на моей консоли следующий вывод:

11100001 - это биты предохранителя, считываемые с ATmega8.

 

Отметим, что нижние четыре бита предохранителя — 0001 — это заводское запрограммированное значение, которое выбирает внутреннюю частоту 1 МГц осциллятор. Теперь изменим его на 1110, чтобы Контроллер работает на внешнем кристалле в диапазоне 3-8 МГц:


sp12 -wF11101110

 

Программирование последовательного порта ПК

Проект, который мы собираемся делать, прост.Мы будем используйте дешевый и общедоступный датчик под названием LM35 (Рисунок 3)

для измерения температуры. Этот датчик преобразует температуру в напряжение — изменение на каждый градус Температура приведет к изменению выходного напряжения на 10 мВ. Таким образом, если текущая температура составляет 30 градусов Цельсия, датчик выдаст 300 милливольт. Этот аналоговый выход напряжения преобразовано в 10-битное цифровое значение встроенным аналогово-цифровым Преобразователь (АЦП) микроконтроллера ATMega8 и переданный программе, работающей в нашей системе Linux, через серийный порт.Таким образом, для нас становится важным уметь программировать последовательный порт.

В листинге 2 показана программа на C, которая сохраняет при чтении данных из последовательного порта. Программа функции `init ‘ UART (универсальный асинхронный передатчик-приемник, оборудование устройство, которое управляет последовательным портом) для приема данных со скоростью 9600 бит в секунду и формат 8N1 (8 бит данных, без контроля четности, один стоповый бит).

Базовый адрес UART — 0x3f8. Если вы хотите устройство для отправки / получения данных со скоростью 9600 бит / с необходимо написать двухбайтовый `коэффициент деления ‘на 0x3f8 и 0x3f9 после установки 7-й бит 0x3fb («регистр формата данных»).Отдел коэффициент — это число 115200, деленное на желаемую скорость, в этом футляр, 9600; в результате получаем число 12. После того, как скорость установлено, 7-й бит регистра формата данных должен быть очищен и его два LSB установлены на 11, чтобы выбрать формат данных 8N1.

0-й бит 0x3fd устанавливается, когда UART получает новый байт. данных по линии. Бит автоматически сбрасывается, когда полученный байт извлекается путем чтения из 0x3f8.

Простое программирование последовательного порта — с Python

Isaac Barona написал библиотеку Python под названием uspp, что делает программирование последовательного порта очень легкий.Листинг 3 — это Python эквивалент программы C в листинге 2. Библиотека может можно получить с http://balder.prohosting.com/ibarona/en/python/uspp/

Программирование последовательного порта ATMega8

ATMega8 включает USART (универсальный синхронный- Асинхронный приемник-передатчик), с помощью которого мы можем общаться с последовательным портом ПК. Листинг 4 — это программа на C, которая передает символы. через последовательный порт микроконтроллера.

Вывод PD1 микроконтроллера действует как передающий штифт внутреннего USART.Устройство инициализируется запись значения в регистр скорости передачи данных, UBRRL и установка бит TXEN регистра управления и состояния B, UCSRB. Ценность 25 установит скорость 9600 бит в секунду, если внешний тактовая частота составляет 4 МГц (лучше использовать внешний часы при использовании последовательного порта, потому что он обеспечивает больше стабильное и точное время, необходимое для правильных данных коробка передач). Байт передается, сохраняя его в Регистр данных, UDR. Еще один байт должен быть отправлен только после того, как мы убедимся, что этот байт был полностью сдвинут вне; это делается путем ожидания TXC (передача завершена) бит UCSRA становится 1.

Как только программы для передачи данных (с микроконтроллера) и получив его (на ПК) готовы, мы должны установить физическая связь между ними. Последовательный порт ПК, который соответствует стандарту сигнализации RS232C, определяет уровни сигналов около + 12В и -12В для передачи данных, а не обычные 0 и + 5В. Итак, выходящие из микроконтроллера сигналы 0 и 5 В должен быть усилен и «сдвинут по уровню» примерно до +12 и -12 В. К счастью, есть очень простой (и общедоступный) устройство под названием MAX232, которое выполняет этот перевод (схемы на компакт-диске LFY).

Программирование АЦП ATMega8

ATMega8 поставляется с шестиканальным 10-битным аналогово-цифровым Конвертер. Контакты PORTC от PC0 до PC5 действуют как шесть входных каналов. Выход напряжения датчика температуры может быть подан на любой этих каналов и оцифрованы. Затем цифровое значение может быть передается на ПК через последовательный порт. В листинге 5 представлена ​​программа, которая делает именно это.

АЦП инициализируется выбором канала 0 (запишите 0 в Регистр ADMUX) и установка бита ADEN (а также двух других бит) регистра ADCSRA.Процесс оцифровки аналоговый вход на выбранном канале запускается установкой бит начала преобразования (ADSC) ADCSRA. Бит ADIF равен устанавливается, когда преобразование завершено. Младшие 8 бит цифрового выход доступен в ADCL — два других бита доступны как младшие биты ADCH. Программа, показанная в листинге 5 просто инициализирует АЦП и USART, отправляет начало преобразования сигнал, ожидает завершения преобразования и затем считывает цифровой выход и передает его через USART как два независимых байты.Это делается в бесконечном цикле.

Обработка данных

Unix-подобные операционные системы традиционно очень сильна в обработке текстовых данных. Оболочка Unix с ее средства для перенаправления и трубопроводов вместе с мириадами инструменты для извлечения информации из текстовых файлов (grep, sed, awk, Perl), построение графиков (Gnuplot) и выполнение математических анализ (Scilab, Octave, Numerical Python) делает GNU / Linux окружающая среда идеальная платформа для проведения сопряжения эксперименты, сбор данных и их научный анализ.$ 1 $ «| туалет -l и запустите его так:


./howmany 67 журнал

 
где `log ‘- это файл, содержащий данные, считанные из последовательного порта. порт; сам этот файл был создан путем выполнения:

./a.out> журнал

 
где `a.out ‘- это программа, которая читает определенное количество байтов через последовательный порт и просто отображает его на экране. Сейчас, вы становитесь немного более амбициозными и хотите свести число в таблицу вхождений каждого числа от 0 до 255:

#! / bin / sh
start_val = 0
end_val = 255
а [$ start_val -le $ end_val]
делать
    echo $ start_val '------->' './ howmany $ start_val $ 1`
    start_val = `выражение $ start_val '+' 1`
Выполнено

 

Самое замечательное здесь — это легкость, с которой вы можете автоматизировать задачи обработки данных. Попробуйте сделать это на любом другом Операционная система!

Заключение

Разработка приложений для микроконтроллеров (и в целом, все виды проектов сопряжения с оборудованием) с GNU / Linux это очень весело и отличный опыт обучения. Использовать всю мощь платформы, вы должны быть знакомы с «Философия Unix», первоначально изложенная Керниган, и Pike в их классической `The Unix Programming Environment ‘и позже Эрик Рэймонд в «Искусство программирования Unix» (доступно полностью по адресу http: // www.catb.org/~esr/writings/taoup/).

Программирование последовательного порта на аппаратном уровне рассматривается в глубина на http://www.beyondlogic.org/serial/serial.htm. Интерфейс уровня системного вызова к последовательному порт подробно рассматривается в документе, доступном на http://www.easysw.com/~mike/serial/. Техническое описание LM35 можно загрузить с http://www.national.com/pf/LM/LM35.html. и руководство по программированию микроконтроллера ATMega8 из http://www.atmel.com/dyn/resources/prod_documents/doc2486.pdf.Статья о программировании ATMega8 с GNU / Linux есть доступно в выпуске интернет-журнала за ноябрь 2004 г., LinuxFocus (http://www.linuxfocus.org).

ATMEGA8-16AUR — Технический паспорт PDF — Интегральные схемы (ИС) — Встроенные — Микроконтроллеры — Microchip Technology

ATMEGA8-16AL
Микроконтроллеры и процессоры
Корпорация Атмель RISC-микроконтроллер, 8-битный, FLASH, 16 МГц, CMOS, PQFP32, 7 X 7 мм, высота 1 мм, 0.ШАГ 80 ММ , ПЛАСТ ATMEGA8-16AUR против ATMEGA8-16AL
ATMEGA8-16AU
Микроконтроллеры и процессоры
Микрочип Technolo IC MCU 8BIT 8KB FLASH 32TQFP ATMEGA8-16AUR против ATMEGA8-16AU
ATMEGA8-16AC
Микроконтроллеры и процессоры
Корпорация Атмель RISC микроконтроллер, 8-битный, FLASH, AVR RISC CPU, 16 МГц, CMOS, PQFP32, 7 X 7 мм, высота 1 мм, высота 0.80 млн ATMEGA8-16AUR против ATMEGA8-16AC
ATMEGA8-16AUR
Микроконтроллеры и процессоры
Микрочип Technolo IC MCU 8BIT 8KB FLASH 32TQFP ATMEGA8-16AUR против ATMEGA8-16AUR
ATMEGA8-16AI
Микроконтроллеры и процессоры
Корпорация Атмель RISC микроконтроллер, 8-битный, FLASH, AVR RISC CPU, 16 МГц, CMOS, PQFP32, 7 X 7 мм, высота 1 мм, высота 0.80 млн ATMEGA8-16AUR против ATMEGA8-16AI
ATMEGA8-16AURA3
Микроконтроллеры и процессоры
Микрочип Technolo Микроконтроллер RISC, 8-битный, FLASH, 16 МГц, CMOS, PQFP32 ATMEGA8-16AUR против ATMEGA8-16AURA3
.

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

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