Проекты — AVR devices
В виду нехватки в хозяйстве термометров и в виду избытка халявных термодатчиков и еще кое-валяющихся без дела деталек, решил сбацать себе этот девайс. Как известно из прошлого поста, датчик измеряет не только температуру но и влажность. Для меня практическая польза от этой фичи сомнительна, но поскольку кому-то возможно пригодится — решил задействовать и её. Кстати это пожалуй один из самых моих долгих проектов: софт писался месяц(!). Разработка затянулась главным образом из-за нехватки свободного времени и глючности кое-какого компилятора от кое-какой фирмы. Но обо всём по-порядку.
Читать далее «Термометр на SHT21»
После того как NXP прислали мне кучу всяких микросхем с интерфейсом i2c, я начал их раскуривать некоторые из них. Как известно работа с i2c устройствами сводится к тому, чтоб записать или считать значения хранящиеся в определённых регистрах микросхемы. Обычно на время изучения какой либо микрухи я городил на своей отладочной плате небольшой макет из контроллера, программатора, RS232<-> UART преобразователя и непосредственно самой микросхемы. Через компьютер посылаются команды и контроллер что-то передаёт по шине i2c или наоборот читает, отправляет стартовые и стоповые посылки итд. Примерно таким же образом у меня происходит процесс изучение микросхем с интерфейсами SPI и 1-wire. Чтоб не городить каждый раз тестовый макет было принято решение собрать универсальный отладчик с поддержкой протоколов i2c SPI и 1-wire.
Читать далее «Отладчик i2c SPI 1-wire»
Что не говори, а человек существо ленивое. Иногда так не хочется вставать с кровати чтобы отрегулировать громкость во время просмотра фильма или еще чего. Сейчас конечно есть куча всяких девайсов вроде мышек и клавиатур соединенных с компом по радиоканалу, но меня дико душит жаба при виде негуманных цен. Да и зачем покупать все это если в доме есть не нужный ик пульт и в загашнике завалялся tiny2313. Итак, будем ваять usb ик приёмник.
Читать далее «USB ИК приёмник на AVR»
Вот представьте себе вы тихо-мирно набираете текст на компьютере. Постепенно начинаете замечать, что периодически на клавиатуре начинают нажиматься случайные буквы. Сначала это не особо напрягает, но через некоторое время начинает очень злить 🙂 Вы меняете клавиатуру на другую, но проблема не исчезает. Проверяете компьютер всеми возможными антивирусами но все усилия ни к чему не приводят и проблема не решается. В конце концов переустановка операционной системы. Но и после этого ничего не изменяется. Через некоторое время вы обнаруживаете подозрительную «флешку»
Читать далее «Маленькая USB пакость»
Акселерометр — прибор измеряющий ускорение. Если говорить простым языком, то ускорение это скорость изменения скорости чего-либо. К примеру лежит на столе предмет. Пока его ни кто не двигает ускорение равно нулю. Когда предмет начнут перемещать ускорение будет расти. После того как предмет будет перемещаться с постоянной скоростью ускорение вновь станет нулевым. При уменьшении скорости движения ускорение тоже будет расти но уже с отрицательным знаком. Однако этот акселерометр фиксирует даже незначительные изменения ускорения в зависимости от его положения в пространстве несмотря на то что сам находится в покое. Такие приборы нашли широкое применение в мобильных телефонах. Именно благодаря акселерометру, в телефонах есть возможно разворачивать дисплей в зависимости от того как повернут телефон. Еще говорят, что акселерометры можно встретить в некоторых моделях жестких дисков от ноутбуков. Поскольку ноутбуки эксплуатируются в самых разных условиях, то в случае резкой встряски или падения жесткий диск своевременно паркует головку. Это позволяет избежать повреждения поверхности диска внутри винчестера. Поскольку используются акселерометры в портативной технике, то их размер не внушает оптимизма — запаять такую мелкоту с первого раза не всегда просто. Без фена я бы даже не рискнул наверное 🙂 Смотрите сами:
Читать далее «Акселерометр MMA7455L»
Понадобился мне для одного из моих проектов блок питания. Да такой чтоб с небольшими габаритами и с приличными характеристиками. Мне требовалось напряжение 5 вольт и ток не менее двух ампер. Однозначно, что блок питания должен быть импульсным. Сейчас существует великое множество различных ШИМ контроллеров на которых можно сделать такой блок питания. Я решил остановится на микросхемах от Power Integrations а точнее на Top Switch. Выбор обусловлен популярность и низкой ценой при неплохих характеристиках.
Читать далее «Блок питания на TOP222Y»
Подобные датчики очень популярны в различных сигнализациях, предназначены они как не странно для обнаружения человека, а точнее его перемещения по охраняемой зоне. Сигнализацию я делать не собираюсь, этот девайс послужит в моем будущем роботе. Буду детектировать присутствие людей при помощи него. Разумеется можно сделать на этом датчике хоть сигнализацию, хоть автовключатель света в комнате. Сердцем данного устройства является пироэлектрический датчик
Читать далее «Датчик движения на PIS209S»
Данный пост написан в связи с огромным количеством вопросов по термометру на ds18b20, о котором я писал ранее. Вопросы были в основном где купить датчик и чем его можно заменить. Если не требуется большая точность измерений температуры и использование корпуса soic с 8-ю ногами приемлемо, то можно смело лепить термометр на датчике LM75AD. Это пожалуй самый дешевый цифровой термодатчик из всех что мне удалось найти в интернете. Но несмотря на его дешевизну и распространённость, он имеет неплохие характеристики и некоторые фишки, которых нет у других термодатчиков. Ну и конечно же ему присущи некоторые недостатки. Обо всем этом пойдет рассказ ниже.
Читать далее «Термометр на LM75AD»
Программатор это пожалуй один из основных инструментов разработчика устройств на микроконтроллерах. Ведь именно он позволяет вдохнуть жизнь в микросхему. Такой инструмент должен быть качественным и отвечать современным требованиям:
- Иметь интерфейс USB, а не устаревшие COM или LPT
- Поддерживаться популярными программами
- Поддерживать прошивку самых распространённых контроллеров
- Прошивать с высокой скоростью
Конечно программатор можно и купить, но у Atmel к сожалению слишком неадекватные цены на средства программирования и отладки. В сети очень много схем различных программаторов, но как правило вышеизложенным требованиям они не удовлетворяют. Особенно это касается интерфейса подключения к компьютеру. Например у USBasp интерфейс USB реализован программно, и гарантии что он будет работать на всех компьютерах нет. Так какой же программатор собрать? Я предлагаю
Читать далее «USB программатор для AVR»
Для преобразования цифрового сигнала в аналоговый, используют устройства под названием цифро-аналоговые преобразователи. Как правило, они существуют в виде отдельных микросхем которые порой труднодоставаемы. Если к ЦАПу не предъявляются серьёзные требования, то его можно сделать самостоятельно из обычных резисторов. Называется такой ЦАП — R 2R. Своё название он получил из-за номиналов применяемых в нём резисторов с сопротивлениями R и 2*R. Сопротивления по идее могут быть любыми, но в разумных пределах разумеется. Если поставить очень большие например по несколько мегаом, то нагрузка которая подключена к выходу, внесет существенные искажения в сигнал. Напряжение начнёт проседать. Я взял резисторы с сопротивлениями 1Ком и 2Ком (просто первое что попалось под руку). Читать далее «R 2R ЦАП. Практическое применение»
Возникла однажды у меня потребность в нормальном блоке питания. В таком, чтоб мог отдавать в нагрузку ток 4-5 ампера и чтоб напряжение регулировалось. Сказано — сделано. Нашел старинный блок AT блок питания от компа, перепаял. Напряжение регулируется, да вот только сколько там вольт на выходе не понятно. А каждый раз подключать мультиметр мне лень. Для этого спаял вот это чудо:
Читать далее «Вольтметр на AVR»
Когда перед разработчиком какого либо устройства, встает вопрос «Как получить нужное напряжение?», то обычно ответ прост — линейный стабилизатор. Их несомненный плюс это маленькая стоимость и минимальная обвязка. Но кроме этих достоинств, у них есть недостаток — сильный нагрев. Очень много драгоценной энергии, линейные стабилизаторы превращают в тепло. Поэтому использование таких стабилизаторов, в устройствах с батарейным питанием не желательно. Более экономичными являются DC-DC преобразователи. О них то и пойдёт речь.
Читать далее «DC-DC преобразователь на MC34063»
Иногда, программа зашитая в микроконтроллера работает совсем не так как надо её создателю. Тогда наступает стадия отладки (Отлаживать — избавлять программу от лажи 🙂 прим. автора) Кто-то использует для отладки USART, кто-то цепляет на свободную ногу мк светодиод, кто-то записывает отладочные данные в EEPROM итд. Одним словом вариантов тут масса. Но самым удобным способом отладки на мой взгляд, является отладка с использованием специальных устройств называемых отладчиками. Отладчик позволят построчно исполнять программу зашитую в микроконтроллер, ставить точки останова. В процессе отладки программисту доступны все регистры микроконтроллера. Так же с помощью него можно прошить микроконтроллер и изменить фьюзы.
Представляю вашему вниманию отладчик JTAG ICE:
Читать далее «Отладчик JTAG ICE»
Довольно долгое время у меня в заначке валялся старый, уже не выпускающийся контроллер AT90S2313. И в один прекрасный день, когда в очередной раз чайник на кухне убежал, я нашел применение этому контроллеру. Встречайте: Кухонный таймер!
Читать далее «Таймер на AT90S2313»
Несмотря на то что схем термометров в сети гуляет полно, я всё таки решил изобрести велосипед и сделать термометр своей мечты. 🙂
Читать далее «Термометр на DS18B20»
avrdevices.ru
atmega8
Стробоскопическая открытка с POV-эффектом на ATmega8
В этой статье я хочу представить проект открытки с механической разверткой (похоже на часы Боба Блика, но здесь нужно махать рукой). Такая открытка отлично подойдет в роли подарка кому-нибудь либо её можно носить с собой как брелок. Подобные схемы отлично подходят для тех, кто только начал изучать микроконтроллеры и осваивать smd-монтаж.
Автор: SaneX
Радиоуправление на ATmega8 и радиомодулях NRF24L01+PA+LNA. Передатчик
Данная система радиоуправления имеет 4 цифровых (дискретных) и 4 аналоговых каналов, что позволяет ее использовать для управления моделью любого типа: воздушной, наземной или водной. Кроме того, она имеет обратную связь, что особенно удобно при управлении воздушной или водной моделью (на дисплей пульта выводится информация о состоянии заряда батарей, уровне сигнала и температуре двигателя).
Автор: zeconir
4 0 [0]Похожие статьи:
Радиоуправление на ATmega8 и радиомодулях NRF24L01+PA+LNA. Приемник
Данная система радиоуправления имеет 4 цифровых (дискретных) и 4 аналоговых каналов, что позволяет ее использовать для управления моделью любого типа: воздушной, наземной или водной. Кроме того, она имеет обратную связь, что особенно удобно при управлении воздушной или водной моделью (на дисплей пульта выводится информация о состоянии заряда батарей, уровне сигнала и температуре двигателя).
Автор: zeconir
7 0 [0]Похожие статьи:
Паяльная станция на ATmega8 и дисплее LPH8731-3C
Паяльная станция с поддержкой нескольких профилей, LCD дисплеем, звуковой индикацией завершения нагрева и режимом ожидания (сна). Устройство выполнено на микроконтроллере ATmega8 и LCD LPH8137-3C.
Автор: zeconir
11 5 [1]Похожие статьи:
Низкочастотный DDS генератор на ATmega8
Данный прибор предназначен для генерирования сигналов треугольной, прямоугольной, синусоидальной и произвольной формы с частотой до 1,6 кГц. Устройство может найти применение при настройке звуковой аппаратуры.
Автор: zeconir
5 0 [0]Похожие статьи:
Универсальная основа для контроллера с графическим интерфейсом на ATmega8 c OLED дисплеем
Рассмотренное устройство представляет собой несложную, компактную и относительно универсальную основу для контроллеров с самым разнообразным назначением. При незначительной доработке представленное устройство может стать уникальной и высокопроизводительной не избыточной микроконтроллерной схемой. При этом несомненное достоинство состоит в доступности компонентной базы и соответственно невысокой стоимости конечного изделия.
Автор: BRVIT
9 4.5 [2]cxem.net
Направлятор – Проекты – AVR project.ru
Это устройство задумывалось как маленький помощник тем, кто любит побродить по лесу – грибникам, лыжникам и другим любителям природы. Хотя в большинстве телефонов уже есть GPS, для работы навигации требуется подгрузка карт через интернет, что в глуши является проблемой. Не меньшей проблемой является короткое время работы смартфонов без подзарядки, что в один момент может оставить человека не только без навигации, но и без связи. Поэтому иметь отдельное навигационное устройство в таких случаях будет весьма полезно.
Суть устройства заключается в том, чтобы указать в каком направлении двигаться и показать оставшееся расстояние до точки к которой нужно придти, тем самым не дав заблудится. Пользователю остается только перед выходом сохранить контрольную точку, к которой хочет вернуться, и после этого стрелка будет указывать на место отправления. Конечно же, при условии, что спутники ловятся и координаты текущего местоположения определены.
Схема строится на микроконтроллере ATMega64 с тактированием от внешнего кварцевого резонатора на 11,0592 МГц. За работу с GPS отвечает NEO-6M от U-blox, это хоть и старенький, но очень распространенный и недорогой модуль с достаточно точным определением координат. Информация выводится на дисплей от Nokia 3310 (5110). Еще в схеме присутствуют магнитометр HMC5883L и акселерометр ADXL335, о них расскажу позже.
Итоговая схема устройства
печатная плата:
Схема и плата спроектированы в системе EasyEDA, глянуть на проект можно здесь
Перед прошивкой контроллера рекомендую отключить GPS приемник, так как ножка RXD совмещена c линией MOSI и модуль может начать отправлять данные во время прошивки, что вызовет ошибку в загружаемой программе.
Включение и выключение устройства происходит длинным нажатием на кнопку S5. После включения и поиска спутников (при холодном старте может уйти до 10 минут или даже больше) мы можем посмотреть текущие координаты, нажав на кнопку S2.
Координаты конечной точки можно посмотреть нажав на кнопку S3.
Нажав кнопку S4 попадаем в меню сохранения точки. Сохранить точку можно двумя способами: сохранить текущие координаты
или же забить координаты вручную
Ввод интуитивно понятен, по очереди изменяем градусы, минуты и секунды. Выбранное значение для редактирования мигает.
Вернуться в режим следования к точке можно по короткому нажатию на кнопку S5
Теперь об использовании магнитометра и акселерометра. Для расчета азимута используются данные полученные с GPS приемника, поэтому в случае если рассчитать координаты не возможно (например если спутники не видны или их мало) пропадает возможность и рассчитать направление в котором нужно двигаться, чтобы придти к точке. И первоначально моя задумка была в том, чтобы использовать магнитометр как вспомогательное средство для указания курса. Но столкнулся с некоторыми трудностями.
Во-первых. Кто знакомился с работой цифровых магнитометров знают что, точность их данных зависит от того в каком положении они находятся. Поэтому для корректной работы в любом положении необходимо использовать акселерометр, который бы давал более точную картину проекции магнитного поля на все три оси магнитометра. Возможное решение этой задачи я подсмотрел в одном журнале. но пока не осилил перенести весь расчет в Bascom (может кто-то из энтузиастов возьмется?).
Во-вторых, заметно сказывается различие магнитного склонения в разных частях Земли. Например в Поволжье магнитное склонение составляет 13°, а на другом конце страны склонение уже 11° и в другую сторону. А ведь есть еще и магнитное наклонение – когда линии магнитного поля входят или выходят под углом к горизонту, и много других факторов влияющих на показания.
<<< расчет >>>
Конечно, для примерного указания направления можно использовать и такие не калиброванные данные с магнитометра, но пока решил оставить эту задумку и сделал простой компас, который тоже может быть полезен. Компас включается нажатием на кнопку S1. А для того чтобы он указывал более менее правильное направление на север (точнее на северный магнитный полюс), устройство необходимо держать горизонтально. Для помощи в этом по бокам экрана бегают две черточки, которые показывают наклон в ту или иную сторону.
Осталось распечатать под устройство корпус, его модель я выложу позже, а пока о результатах уличных испытаний. Девайс получился очень интересным и вполне помогающим выйти к сохраненной точке. Но нужно понимать, что миллиметровой точности ожидать не следует. Ошибка определения GPS координат всего в одну секунду даст неточность определения положения в 20 метров. Также погрешность неизбежно накапливается при округлении в математических расчетах. Но тем не менее устройство даже в городских условиях плотной застройки позволило вернутся к точке с точность несколько метров.
И напоследок немного фоток с уличных испытаний
Используемые компоненты
GPS модуль NEO-6M
ЖК дисплей
Магнитометр HMC5883
Акселерометр ADXL335
Исходники и прошивка
Коротко о точности измерения расстояний. Вручную набрал координаты рандомной точки, находящейся где-то в Уфе и посмотрел какой результат расчитает. На мониторе можно разглядеть измеренное расстояние в гугл картах. Результат более чем отличный.
UPD:
вот такой получился корпус для направлятора
Архив с файлами модели (SolidWorks + STL)
Обновил прошивку, исключив из схемы акселерометр и магнитометр. Теперь по нажатию на кнопку S1 будет выводится информация о напряжении на аккумуляторе, время и дата по UTC, а также азимут (по сути тот же компас).
Скачать обновленную прошивку
avrproject.ru
Проекты на AVR | MEGA-AVR
BMP085 — датчик абсолютного атмосферного давления. Область применения: измерение давления для барометров, метеостанций и приборов. Continue reading →
Универсальный терморегулятор Гелиос+ на 10 каналов с широкими возможностями и гибкими настройками. Continue reading →
Страниц: 1 2 3 4 5 6Бывают случаи когда портов AVR не хватает, а тратить деньги на более мощный мк не хочется — тут нам поможет микросхема 74HC165. Continue reading →
В этом проекте я реализовал управление RGB-лентой — цвета плавно меняются. Continue reading →
У меня дома много этих тинек валяется (лежит) поетому почему бы и не сделать вольтметр на ней). Заоодно испытать макетную плату которую я недавно приобрёл). Также ставилось целью испытать как ведёт себя измерительная часть если её нога будет ( в какойто момент времени) становится выходом для питания точки 7-сегментнного индикатора. Continue reading →
Дело было вечером — делать было нечего, ай думаю забацаю ШИМ который будет управляться сигналом с АЦП. Continue reading →
Поговорим о том как вывести float на дисплеи WINSTAR в CVAVR. Continue reading →
Прибор МРП3-3/1 предназначен для измерения, изучения или сбора небольшой статистики провалов напряжения, временных перенапряжения, а также отклонений напряжения. Continue reading →
В некоторых моделях микроконтроллеров таймер может работать в асинхронном режиме. Это даёт возможность нам построить часы без каких либо внешних спец-микросхем. Continue reading →
Нашёл у себя на компьютере экспериментальный проектик на часах DS1307. Continue reading →
Основное назначение этого таймера, для которого он разрабатывался, – периодическое включение и отключение водяного насоса скважины, но без всяких изменений он может использоваться где душе угодно! Continue reading →
Данная сенсорная кнопка может найти много применений, с её помощью можно коммутировать нагрузку постоянного тока, а с небольшим дополнением — нагрузку переменного тока. У меня данная кнопка в составе с небольшим дополнением использовалась для включения/выключения света в спальне. Своей простотой конструкции и лёгкостью повторяемости она может стать частью какого-то более серьёзного устройства. Continue reading →
Как то раз на работе поставили задачу соорудить термометр с звуковыми порогами срабатывания, вы наверное сейчас ошарашены как и я тогда, заказчик объяснил что таким образом по звуку, вручную он будет регулировать температуру в воде. Я естественно предложил ему терморегулятор нормальный, но такой способ ему почему-то не устраивал. Ну во общем взялся за дело. Continue reading →
mega-avr.com.ua
Arduino на ATmega8, ATmega48, ATmega88, ATmega168
Добрый день. С появлением arduino робототехника, автоматика и другие радио изделия стали нам более доступными. Раньше представить было трудно что с такой простотой можно писать прошивки для микроконтроллеров, с появлением arduino заниматься робототехникой могут даже детишки. Простота платформы arduino позволяет забыть о побитовых операциях и регистрах avr которые использовались повсеместно. Но так как платформа универсальная то и микроконтроллер тоже выбран универсальный. Например в arduino uno предусмотрен atmel atmega328p что даволи излишне для простой обработки нажатий на кнопки, а если делать сразу партию устройств то придется заплатить за незадействованную мощь.
Но так как arduino ide свободно распространяемая, любой без труда может написать дополнения и библиотеки, зачастую они могут быть очень полезными. В данной статье пойдет речь о библиотеке плат на основе ATmega8, ATmega48, ATmega88, ATmega168 под названием Mini Core. Данная библиотека позволят писать скетчи arduino под более слабые микроконтроллеры чем atmega328p, а это позволяет удешевить стоимость устройства за счет рационального использования мощности.
Почему именно эти микроконтроллеры:
- Данные микроконтроллеры с теми же выводами и архитектурой и имеют минимальные отличия от atmega328p(заменяемые)
- Они дешевые и популярные(некоторые дешевле доллара)
- Они все имеют DIP и TQFP корпуса
Данная библиотека поддерживает все индексы микросхемы кроме 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 и заменить на нужную. Также можно собрать плату с несложной обвязкой:
Для тех кому нужна распиновка микросхем фото ниже:
Так же не маловажной особенностью является то что авторы добавили возможность выбора кварцевого резонатора по нескольким частотам и параметры контроля питания, что по умолчанию не доступно для стандартных плат. Все манипуляции с данными параметрами производятся в меню-инструменты.
Настройки тактовой частоты:
- 16 МГц внешний генератор (по умолчанию)
- 20 МГц внешний генератор
- 18.432 Mhz внешний генератор *
- 12 МГц внешний генератор
- 8 МГц внешний генератор
- 8 МГц внутренний генератор **
- 1 МГц встроенный генератор
* – частота 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