Компактные размеры
Видео проверки таймера
Сердцем данного таймера является очень популярный и уже не дорогой микроконтроллер Atmega8. Вы можете сказать, что для прошивки нам потребуется программатор которого нет, но это не так, для прошивки Atmega достаточно всего пять коротких 10-15 см. проводков подключенных через резисторы 150-200 Ом. напрямую к LPT порту по этой схеме.
На этом рисунке Вы видите: Схему распиновки ножек МК для подключения и прошивки.
Пункт 1. Подготовим все необходимое для изготовления таймера.
Самые обязательные радиодетали схемы, остальное обычно можно подобрать у себя дома, самая маленькая микросхема, это часы DS1307.
Нам потребуются такие радиоэлементы:
• Микроконтроллер Atmega8
• Интегральные часы DS1307
• LCD жидкокристаллический индикатор
• Стабилизатор 7805
• Конденсатор 500-1000 Мф — 16 вольт.
• Реле или электронный ключ (в зависимости от нагрузки которая планируется подключаться).
• Резисторы сопротивлением 5,1ком — 3 шт., резистор переменный (по мануалу LCD дисплея).
• Кварц часовой 32768 Гц.
• Кнопки без фиксации — 4 шт.
• Батарейка таблетка на 3 вольта.
• Текстолит для платы.
• Небольшой трансформатор ~220в. -> ~6-12в.
• Коробка распаечная для корпуса.
+ Для программатора: резисторы 150-200 Ом. — 4 шт., разъем LPT порта (для удобства, не обязателен).
Обязательные инструменты каждого радиолюбителя:
• Паяльник для пайки микросхем, паяльник для пайки пассивных радиодеталей и проводов.
• Тестер для прозвонки дорожек и проверки радиодеталей.
• Олово, канифоль.
+ Принтер лазерный (для изготовления платы или другой способ).
Пункт 2. Приступим к изготовлению.
Таймер будем делать по этой главной схеме.
Лично я своем таймере применил вот такую схему БП и исполнительное устройство на транзисторе и реле.
В соответствии с главной принципиальной схемой + БП + ИУ и анализом монтажных габаритов вашей коробки для корпуса, а также размеров подобранных радио элементов, проектируем форму, размер и рисунок дорожек на плате. Для этого удобно пользоваться программой Sprint Layout.
Для моего устройства получилась вот такая простая плата.
Микроконтроллер прошиваем программатором или с помощью 5 проводков.
*Прошивка*
multitimer100.rar [5.35 Kb] (скачиваний: 1383)Автор прошивки специально для удобства (за что ему спасибо) и не стал изменять заводские фьюзы, что очень сильно облегчает, без заморочки, прошивку для начинающего радиолюбителя. Если МК еще не использовался, новый из магазина, то просто заливаете прошивку и все, но если уже есть изменения в фьюзах, то надо выставить их так CKSEL=0001. Все остальное просто и не нуждается в пояснении.
Пункт 3. Сборка.
Для корпуса очень удобно использовать распаечные коробки из пластмассы, они бывают разных размеров и форм.
Меню состоит из трех пунктов, СLOCK -установка часов, TIMЕ — установка таймеров и RESET -сброс всех установленных таймеров.
Сначала заходим (*) в меню часов и выставляем точное время.
Теперь все готово чтобы корректно задавать временные записи таймера, после нажатия решетки, программа записывается в постоянную память МК.
Я применяю этот таймер для полива гидропоники.
Доставка новых самоделок на почтуПолучайте на почту подборку новых самоделок. Никакого спама, только полезные идеи!
*Заполняя форму вы соглашаетесь на обработку персональных данных
Становитесь автором сайта, публикуйте собственные статьи, описания самоделок с оплатой за текст. Подробнее здесь.В современных электронных схемах все чаще и чаще применяются микроконтроллеры. Да что там говорить, если сегодня не найти даже обыкновенную елочную гирлянду без микроконтроллера внутри — он задает различные программы иллюминации.
Я впервые столкнулся с микроконтроллерами, когда собирал свой первый импульсный металлоискатель Клон. Вот тогда-то и выяснилось, что контроллер без прошивки — это просто кусок пластмассы с ножками.
А чтобы залить нужную прошивку в АТМЕГу, никак не обойтись без программатора. Далее мы рассмотрим две самые простые и проверенные временем схемы программаторов.
С помощью этого программатора можно прошивать практически любой AVR-контроллер от ATMEL, надо только свериться с распиновкой микросхемы.
СОМ-разъем на схеме — это «мама».
На всякий случай привожу разводку печатной платы для атмеги8 (скачать), хотя такую примитивную схему проще нарисовать от руки. Плату перед печатью нужно отзеркалить.
Файл печатной платы открывать с помощью популярной программы Sprint Layout (если она у вас еще не установлена, то качайте 5-ую версию или лучше сразу 6-ую).
Как понятно из схемы, для сборки программатора потребуется ничтожно малое количество деталек:
Вместо КТ315 я воткнул SMD-транзистор BFR93A, которые у меня остались после сборки микромощных радиомикрофонов.
А вот весь программатор в сборе:
Питание (+5В) я решил брать с USB-порта.
Если у вас новый микроконтроллер (и до этого никто не пытался его прошивать), то кварц с сопутствующими конденсаторами можно не ставить. Работа без кварцевого резонатора возможна благодаря тому, что камень с завода идет с битом на встроенный генератор и схема, соответственно, тактуется от него.
Если же ваша микросхема б/у-шная, то без внешнего кварца она может и не запуститься. Тогда лучше ставьте кварц на 4 МГц, а конденсаторы лучше на 33 пФ.
Как видите, я кварц с конденсаторами не ставил, но на всякий случай предусмотрел под них места на плате.
Заливать прошивку лучше всего с помощью программы 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 на противоположный — результат будет тот же (к доктору).
electro-shema.ru
Приемник может принимать AM/SW/FM радиостанции. В данной конструкции реализован прием станций в УКВ и ФМ диапазонах (от 64 до 108 МГц). Имеется цифровая индикация частоты и регулировка громкости кнопками. Перестройка частоты приема осуществляется переменным резистором. Чувствительность приемка равна 2.2 мкВ, избирательность по соседнему каналу ±200 кГц, присутствует автоматическая регулировка частоты Схема включает в себя: однокристальный …
Читать далее
Постоянная ссылка на это сообщение: http://meandr.org/archives/24764
Общая информация С момента изготовления стрелочного измерителя ЭПС прошло более двух лет. В течение этого времени прибор постоянно эксплуатировался при ремонте различной техники и показал хорошие результаты. Помимо прочего, радует экономичность: установленный элемент питания работает до сих пор. Накопилась и некоторая статистическая информация: основная масса измерений приходится на диапазон сопротивлений 0…1 Ом. Большие значения либо …
Читать далее
Постоянная ссылка на это сообщение: http://meandr.org/archives/24534
Очень давно хотел собрать свою плату Arduino, смотрел на схемы, но так и не решался. Причин было несколько: В моем ноутбуке отсутствует COM порт, потому версия с COM портом мне не подходи; USB версия использует очень дорогую микросхему FT232R.
Читать далее
Постоянная ссылка на это сообщение: http://meandr.org/archives/24057
EGYDuino – это клон Arduino, который можно изготовить самостоятельно, на односторонней печатной плате. Это простое и дешевое решение, которое на 100% совместимое с Arduino. Описание Микроконтроллер ATmega8 отвечает за последовательное подключение по USB. Он может быть запрограммирован с помощью AVR-CDC firmware. AVR-CDC создает виртуальный СОМ-порт на ПК после подключения устройства и устанавливает соответствующий драйвер. Микроконтроллер …
Читать далее
Постоянная ссылка на это сообщение: http://meandr.org/archives/23974
В радиолюбительской литературе и на сайтах подобной тематики схемы часов на микроконтроллере встречаются очень часто. Наверно это связано как с тем, что часы достаточно необходимый прибор в доме каждого человека, так и с тем что написание программы для микроконтроллера не есть сложной задачей. Анализируя схемы часов на микроконтроллерах семейства AVR фирмы Atmel , видим, что …
Читать далее
Постоянная ссылка на это сообщение: http://meandr.org/archives/20266
meandr.org
Для начала установим программу CodeVisionAVR, которая представляет собой простую в использовании интегрированную среду разработки программного обеспечения для микроконтроллеров семейства Atmel AVR. Она обеспечивает расширенную поддержку устройств AVR и создает компактный и эффективный код.
Также для этого удобно использовать программу-симулятор микроконтроллерных устройств — Proteus VSM
Сначала в Proteus рисуем схему (Рис.6.). Ее делаем максимально простой, не нагружая дополнительными элементами. Хотя потом, для подавления помех, тактирования от внешних источников, и т.п. надо будет немного изменить. Сейчас главное разобраться с возможностью выдавать сигнал на выводах микроконтроллера. Все задействованные порты у нас — выходы. Кроме VCC (+) и GND (-), к ним подаем питание.
Рис.6. Схема в Proteus
Затем запускаем CodeVisionAVR, выбираем — Создать новый проект (Рис.7.)
Рис.7.
Выбираем — Project:
Рис.8.
Потом — Yes
Рис.9.
Далее так:
Рис.10.
Выбираем наш микроконтроллер, частоту не меняем:
Рис. 11.
Все порты B,C,D делаем выходами (Out):
Рис. 12.
Сохраняем в отведенную для нашего проекта специальную папку в трех разных расширениях проекта, кликая по соответствующей кнопке (Рис.13.):
Рис.13.
У нас появляется поле для ввода текста программы, с множеством лишней информации (Рис.14). Мжно все выделить и удалить. Напишем все свое, заново.
Рис.14.
В первых строчках прописываем какой микроконтроллер используется, и команды в программе (у нас задействована только команда для задержки времени — delay).
Затем пишем что порты у нас Выходы. Значит команд на их не будет поступать, это означает:
PORTB=0x00;
DDRB=0xFF;
PORTC=0x00;
DDRC=0xFF;
PORTD=0x00;
DDRD=0xFF;
См. Рис. 15.:
Рис.15.
Далее можно фантазировать))) На Рис.16. показана команда одного такта. То есть сначала у нас только на PORTB.6 есть сигнал, как видно из схемы это первый с лева светодиод. Там логическая единица. На всех остальных — нули.
Рис.16.
Далее добавляем на следующий такт к порту PORTB.7 еденицу (Рис.17.) По картинке заметно что во втором такте у нас уже светится 2 крайних левых светодиода. Далее с каждым тактом добавляем еще по единице на порт. Таким образом у нас загорится последовательно вся светодиодная линейка.
Рис. 17.
Когда пропишем единицы до последнего задействованного порта — компилируем. Нажимая соответственные клавиши (см. Рис. 18). Тогда мы не только сохраняем в нашей папки файлы проекта. но и можно там найти файл с расширением — .hex (в папке Exe). Именно этот файл и заливаем в микроконтроллер через программатор. Для начала можно эту прошивку проверить в Proteus.
Рис.18.
Понятно, что используя такой алгоритм можно создавать разные световые эффекты, на любых других микроконтроллерах.
Дополнительные файлы:
[hidepost] Архив к проекту [/hidepost]
Спасибо за внимание, экспериментируйте!
Дальше будет…
meandr.org
Добрый день. С появлением arduino робототехника, автоматика и другие радио изделия стали нам более доступными. Раньше представить было трудно что с такой простотой можно писать прошивки для микроконтроллеров, с появлением arduino заниматься робототехникой могут даже детишки. Простота платформы arduino позволяет забыть о побитовых операциях и регистрах avr которые использовались повсеместно. Но так как платформа универсальная то и микроконтроллер тоже выбран универсальный. Например в arduino uno предусмотрен atmel atmega328p что даволи излишне для простой обработки нажатий на кнопки, а если делать сразу партию устройств то придется заплатить за незадействованную мощь.
Но так как arduino ide свободно распространяемая, любой без труда может написать дополнения и библиотеки, зачастую они могут быть очень полезными. В данной статье пойдет речь о библиотеке плат на основе ATmega8, ATmega48, ATmega88, ATmega168 под названием Mini Core. Данная библиотека позволят писать скетчи arduino под более слабые микроконтроллеры чем atmega328p, а это позволяет удешевить стоимость устройства за счет рационального использования мощности.
Почему именно эти микроконтроллеры:
Данная библиотека поддерживает все индексы микросхемы кроме PB (т.е. A, P, PA), например не стоит использовать ATMEGA168PB-AU.
Микросхемы по характеристикам:
Atmeg328 | atmega168 | atmega88 | atmega48 | atmega8 | |
Flash | 32 кб | 16 кб | 8 кб | 4 кб | 8 кб |
ОЗУ | 2 кб | 1 кб | 1 кб | 512 б | 1 кб |
ПЗУ | 1 кб | 512 б | 512 б | 256 б | 512 б |
Каналы ШИМ | 6 | 6 | 6 | 6 | 3 |
1. Для установки делаем следующее:
2. Запускаем Arduino IDE
3. Откройте меню « Файл» ⇒ «Настройки» .
В пункте «Дополнительные ссылки для Менеджера плат» нужно вставить следующее:
4. После вышеупомянутых операций закрываем настройки и переходим в меню Откройте меню « Инструменты» ⇒ «Плата:»………»» ⇒ « Менеджер плат…».
5. В менеджере плат выбираем нашу библеотеку и нажимем установка:
Примечание . Если вы используете Arduino IDE 1.6.6, вам может потребоваться закрыть диспетчер плат, а затем снова открыть его.
После установки в меню « Инструменты» ⇒ «Плата:»………»» появятся варианты плат с нашими микроконтроллерами.
Самый удобный вариант для использование данных микроконтроллеров это взять arduino uno с микросхемой в корпусе dip и заменить на нужную. Также можно собрать плату с несложной обвязкой:
Для тех кому нужна распиновка микросхем фото ниже:
Так же не маловажной особенностью является то что авторы добавили возможность выбора кварцевого резонатора по нескольким частотам и параметры контроля питания, что по умолчанию не доступно для стандартных плат. Все манипуляции с данными параметрами производятся в меню-инструменты.
Настройки тактовой частоты:
* — частота 18.432 не рекомендуется использовать в скетчах где нужно измерить точное время, но хорошо подойдет для работы с com-портом.
** — внутренний генератор 8МГц сам по себе не точный и частота может меняться от температуры окружающей среды и рабочего напряжения.
Параметры контроля питания:
Atmega 328 | Atmega 168 | Atmega 88 | Atmega 48 | Atmega 8 |
4.3 В | 4.3 В | 4.3 В | 4.3 В | 4.0 В |
2.7 В | 2.7 В | 2.7 В | 2.7 В | 2.7 В |
1.8 В | 1.8 В | 1.8 В | 1.8 В | — |
Отключено | Отключено | Отключено | Отключено | Отключено |
Сайт проекта на github.
radio-blogs.ru
В современной электронной технике все чаще встречаются микроконтроллеры. Использование таких микросхем значительно упрощает схемотехнику приборов и позволяет легко изменять функциональные возможности путем изменения программы работы микроконтроллера. Они применяются в системах управления двигателями, бытовой технике, медицинских приборах, электроинструментах, игрушках и т.п.
Микроконтроллер – это целая микропроцессорная система в одной микросхеме (на одном кристале). Одна микросхема содержит в себе процессор, память, порты ввода/вывода и некоторые дополнительные устройства: таймеры, устройства прерывания, компараторы и др.
По отношению к естественному, человеческому, различают такие уровни языков программирования микроконтроллеров:
— низкий уровень — машинные языки;
— языки Ассемблера — близки к машинному;
— языки высокого уровня — приближены к человеческому.
Пользование машинным языком, единственно понятным микроконтроллеру, вызывает трудности, связанные с необходимостью записи громоздких, трудно запоминаемых двоичных кодовых комбинаций, со сложностью поиска ошибок в составленой программе, представляющую собой последовательность цифровых кодов, с трудностью внесения изменений в составляющую программу.
Наряду с указанными недостатками язык кодовых комбинаций имеет и достоинства. Программа на этом языке оказывается наиболее эффективной, она занимает минимальный объем памяти и быстрее исполняется.
Трудности программирования уменьшаются при использовании языка Ассемблера. В этом языке вместо кодовых комбинаций применяется мнемоническая форма записи операций (мнемоники), выполняемых в микропроцессоре. Такой мнемонической записью ( в виде сочетания букв, взятых из соответствующих английских слов: MOV — перемещение, ADD — сложение, SUBB — вычитание) представляют вид выполняемой операции, операнды и адреса. Каждой команде на языке Ассемблера соответсвует команда на языке кодовых комбинаций.
Язык Ассемблера упрощает запись команд, облегчает поиск в ней ошибок, обеспечивает лучший обзор программы и простоту внесения исправлений в программу.
Перед исполнением программа должна быть переведена с языка Ассемблера на язык кодовых комбинаций и в таком виде помещена в память микропроцессорной системы. Этот перевод осуществляется на компьютере с помощью программы трансляции, называемой Ассемблером.
Язык Ассемблера (так же, как и язык кодовых комбинаций) индивидуален для каждого типа микропроцессора и микроконтроллера.
Языки высокого уровня близки к обычному математическому языку, описывающему процес решения задачи, поэтому они легко усваиваются. Кроме того, они обеспечивают большую компактность программы (сложные вычислительные процессы представляются короткими записями), что улучшает обзор программы и выявление в ней ошибок.
Для программирования в машинных кодах и кодах Ассемблера необходимо знать архитектуру процессора (микроконтроллера), набор команд, владеть хотя бы основами программирования, т. е. быть «специалистом». Для написания программ на языке высокого уровня достаточно знать основы программирования. Поэтому языки Ассемблера среди радиолюбителей занимающимися микроконтроллерами, постепенно вытесняются языками высокого уровня: например Ассемблер заменяется языком Си.
Рассмотрим, как можно быстро написать программу с помощью языка Си для работы микроконтроллера на примере бегущих огней (подачи сигнала на определенных выводах микроконтроллера на определенное время).
Для опыта возьмем, широко распространенный микроконтроллер Atmega8 (Рис. 1.) из семейства восьмибитных микроконтроллеров AVR, фирмы Atmel.
Рис.1. Внешний вид микроконтроллера Atmega8 в корпусе PDIP
Отличительные особенности Atmega8 :
Блок-схема:
Рис.2. Блок-схема микроконтроллера Atmega8
Расположение выводов Atmega8:
Рис.3. Расположение выводов микроконтроллера Atmega8 в корпусе DIP
Рис.4. Расположение выводов микроконтроллера Atmega8 в корпусе MLF
Рис.5. Расположение выводов микроконтроллера Atmega8 в корпусе TQFP
meandr.org
Микроконтроллер atmega8 сочетает в себе функциональность, компактность и сравнительно не высокую цену.
Такие качества дали широчайшее распространение ATmega8 среди профессиональных и любительских конструкций. Микроконтроллер имеет широкий набор модулей, и может быть использован в большом количестве устройств, различного назначения, от таймеров, реостатов, систем автоматики до генератор специальных сигналов, видео сигналов и декодеров стандарта RC5.
Характеристики микроконтроллера ATMEGA8
EEPROM | 8 Кб |
Аналоговые входы (АЦП) | 4 |
Входное напряжение (предельное) | 5,5 Вольт |
Входное напряжение (рекомендуемое) | 4,5-5 Вольт |
ОЗУ | 256 байт |
Тактовая частота | 20 МГц |
Flash-память | 8кБ |
Микроконтроллер atmega8 имеет два полноценных портов с разрядностью 8 бит в отличии от ATtiny2313, младшего брата.
Наличие в atmega8 аналогово-цифрового преобразователя, дающего возможность измерять такие параметры как напряжение, ток, емкость что позволяет разработать полноценный мультиметр на базе этого микроконтроллера. Так же atmega8 имеет порт UART для приема и передачи данных TTL уровня.
Порт для работы по протоколу TWI(возможность реализовать программный I2C).
По I2C к ATmega8 можно подключить целый спектр устройств:
— внешнюю EEPROM память серии 24cXX,
— ЖКИ индикаторы и графические дисплеи,
— регуляторы громкости, сопротивления,
и многое другое.
Пример конфигурирования фьюз битов atmega8.
Схемы на atmega8
Примечание:
Если количество выводов микроконтроллера устраивает, но требуется больший объем памяти программ, рекомендую использовать микроконтроллеры ATmega16, ATmega32 или ATmega328.
Цоколевка микроконтроллера AtMega8.
Внешний вид микроконтроллера в корпусе DIP 28
ATmega8 Datasheet скачать — заводская документация на микроконтроллер ATmega8 от фирмы Atmel
avrlab.com