Pull to refresh

Миниатюрный USB программатор для AVR микроконтроллеров

Reading time 4 min
Views 593K
Programming microcontrollers *
Sandbox
Как театр начинается с вешалки, так программирование микроконтроллеров начинается с выбора хорошего программатора. Так как начинаю осваивать микроконтроллеры фирмы ATMEL, то досконально пришлось ознакомится с тем что предлагают производители. Предлагают они много всего интересного и вкусного, только совсем по заоблачным ценам. К примеру, платка с одним двадцатиногим микроконтроллером с парой резисторов и диодов в качестве обвязки, стоит как «самолет». Поэтому остро встал вопрос о самостоятельной сборке программатора. После долгого изучения наработок радиолюбителей со стажем, было решено собрать хорошо зарекомендовавший себя программатор USBASP, мозгом которого служит микроконтроллер Atmega8 (так же есть варианты прошивки под atmega88 и atmega48). Минимальная обвязка микроконтроллера позволяет собрать достаточно миниатюрный программатор, который всегда можно взять с собой, как флэшку.
Читать дальше →
Total votes 33: ↑30 and ↓3 +27
Comments 38

Ошейник для собаки-сияки

Reading time 7 min
Views 110K
DIY
Введение

Итак, у меня есть собака.
Краткое резюме:
Кличка: Белка
Окрас: Белый с рыжим
Порода: Западносибирская лайка с кем-то еще
Происхождение: Дворянское
Стоимость: 0р 0к

Собака была приобретена в собственном подъезде за еду и кров. Была выброшена какими-то негодяями без еды и воды в картонной коробке без фирменных логотипов породы и адреса завода-изготовителя. Ну да не важно, мы и с менее качественным товаром имели дело, а тут такая рыжая морда, и совсем бесплатно. Берем!
Пришлось принимать товар как есть, NO-NAME. Скорее всего, сделано в Китае. Гарантийные претензии тоже непонятно, кому предъявлять, а они были — в собаке водились глисты длиннее ее самой. К счастью, все это в прошлом. Зверюга подросла. Доказала свою преданность и послушность, за что получила возможность гулять без веревки на шее. Поскольку это не просто собака, а настоящая собака-гуляка, которая привыкла к полноценной четырёхразовой прогулке без поводка (она у меня совсем не агрессивная, но очень любознательная и послушная), ей потребовался своеобразный маячок, чтобы наблюдать ее похождения даже в темноте, и не нервничать, куда ж она подевалась. А подеваться ей есть куда — ее любимое занятие — приносить палки хозяину, и требовать, чтобы он ее кинул. Ну а найти-уж ее дело. Но это ж не простая собака, а собака, у которой папка — программист и немножко электронщик. Впрочем, даже простой ошейник с DealExtreme приковывает взгляды окружающих, особенно радуются дети. Разве это не стоит того? Но начнем с начала. Под катом много текста!
Читать дальше →
Total votes 131: ↑119 and ↓12 +107
Comments 202

Не работает AVR USB Программатор? Настроим

Reading time 4 min
Views 95K
Programming microcontrollers *
Tutorial
Recovery mode
Не работает программатор

Данная статья написана для тех, кто только начинает учиться программировать микроконтроллеры.
Гуру микроконтроллинга здесь делать нечего, а вот новичкам, столкнувшихся с проблемами китайского производства. Или нелепой фасовкой готовых программаторов или людей делающих первый шаг в радиоэлектронику эта статья может быть весьма-весьма полезной. Я так же опишу методы поиска неисправностей, с которыми столкнулся сам. Не у всех людей есть выдержка, тем более Интернет для этого и создан, что бы делиться опытом, не так ли?
Не работает программатор AVR — тысячи запросов в Яндексе и Гугл. Не работает USB asp — еще больше. Сотни сайтов, на которые попадаешь и везде читаешь одно и тоже, как кто то собирает очередной программатор, но ни кто, повторюсь НИ КТО не пишет, почему не работает именно твой личный девайс.

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

Читать дальше →
Total votes 33: ↑26 and ↓7 +19
Comments 20

Проект инфо-панели оповещения об авариях (Часть 1)

Reading time 8 min
Views 19K
Programming microcontrollers *
Sandbox

Вместо Intro


История создания проекта могла бы и не начаться, если бы не одно непритяное «Но» — в отделе имеется оборудование, которое должно работать бесперебойно, в режиме 24/7/365 (круглосуточно, без выходных, всегда) — собственно, это аппратные станции (оптические мультиплексоры, SDH-оборудование) и сервера SIP телефонии (а так же Call центр, но об этом нам сообщают сами операторы, их очень хорошо обучили реагировать на малейшие сбои).
Само оборудование находится в серверной, удалённой от кабинета, и достаточно зашумлённой (50-80db внутри — это норма, даже говорить приходится на повышенных тонах, т.к. иначе просто не слышно собеседника уже в полу метре).
В случае любых сбоев оборудования, необходимо их быстро устранять (сбои могут возникать как с нашей стороны, так и со стороны присоединённых операторов, а так же по независимым причинам, например, обрыв оптики, перегрузка на линии, прочие потери данных), в связи с чем требуется постоянно сделить за показателями работоспособности.
Меры принимаются, но ранее это происходило с некоторой задержкой в виду отсутствия возможности контроля.
Визуальный контроль за оборудованием возможен (индикация предупреждений и аварий предусмортена), но для этого требуется быть рядом с оборуддованием, что постоянно не представляется возможным.

Заинтересовавшихся прошу под кат. (Осторожно, трафик ~10-15МБ фото)
Читать дальше →
Total votes 6: ↑6 and ↓0 +6
Comments 11

Радиоуправляемый выключатель своими руками. Часть 1 — Hardware

Reading time 10 min
Views 276K
DIY
Tutorial
Этот пост — первая часть из серии рассказов о том, как можно относительно несложно сделать своими руками радиоуправляемый выключатель полезной нагрузки.
Пост ориентирован на новичков, для остальных, думаю, это будет «повторение пройденного».


Примерный план (посмотрим по ходу действия) ожидается следующий:
  1. Hardware выключателя
  2. Тестирование и подготовка
  3. Software выключателя
  4. «Центр управления»

Приступим.
Total votes 86: ↑82 and ↓4 +78
Comments 116

Радиоуправляемый выключатель своими руками. Часть 2 — Тестирование и подготовка

Reading time 5 min
Views 81K
DIY
Tutorial
Этот пост — продолжение серии рассказов о том, как можно сделать своими руками выключатель полезной нагрузки.

В первой части была описана «железячная» составляющая: особенности ее проектирования и производства.

Сегодняшний пост описывает шаги по подготовке среды разработки Arduino и полное тестирование изготовленного модуля.
Подробные инструкции внутри
Total votes 33: ↑30 and ↓3 +27
Comments 19

Радиоуправляемый выключатель своими руками. Часть 3 — Софт выключателя

Reading time 19 min
Views 93K
DIY
Tutorial
В предыдущих постах мы спроектировали, сделали и всесторонне протестировали блок двухканального радиоуправляемого выключателя.



Но до сих пор это была «бездушная железка», которая несмотря на всю свою потенциальную мощь, заложенную в МК, — ничего не умеет.
Вдохнем в нее жизнь.
Total votes 35: ↑32 and ↓3 +29
Comments 21

Радиоуправляемый выключатель своими руками. Часть 4 — Центр управления

Reading time 7 min
Views 55K
DIY
Tutorial
Собственно, выключатель спроектирован, произведен, протестирован, запрограммирован, установлен и вполне себе самостоятельно работает.

Теперь хотелось бы воспользоваться им «на полную катушку».

Пока не хватает следующих возможностей по удаленному управлению:
  • Изменять временные характеристики работы выключателя.
  • Узнать текущее его состояние.
  • Управлять его состоянием.

В этой статье исправим это положение вещей.
Total votes 17: ↑15 and ↓2 +13
Comments 17

Проект инфо-панели оповещения об авариях (Часть 2)

Reading time 9 min
Views 21K
Programming microcontrollers *
Приветствую всех.
В первой части была рассмотрена концепция самой инфо-панели, которую я собираю для офиса (где, напомню, затруднён нормальный мониторинг за некоторыми серверами, в том числе, из-за топологии сети — серая подсеть с частью важного оборудования, которому не требуется выход в интернет, но от его работы зависит работоспособность услуг телефонии, в частности, TDM и E1).
Теперь накопилось достаточно материала для продолжения темы.

Вот так выглядят индикаторы:



В окончании проекта будет приведён весь код с пояснениями.
Код распространяется по лицензии WTFPL.
За информацию по лицензии, а так же за код для Ethernet модуля ENC28J60 ещё одно спасибо Lifelover.

Проект ещё не закончен, далее будет продолжение.

К сожалению, на текущий момент устройство ещё не собрано, и пришлось довольно много ждать (при разработке столкнулся с неприятными трудностями как при изготовлении плат, так и при закупке некоторых расходников).
Готовы модули индикации (2 из 3), хотя работать можно и только с ними. Частично собрана «библиотека» работы с LED-дисплеем.
Пока нет интерфейса взаимодействия между двумя контроллерами (здесь вопрос к хабровчанам, как сделать лучше — сам склоняюсь к реализации через UART).

Кого заинтересовал — добро пожаловать под кат.
Предупреждение: Много фото.
Читать дальше →
Total votes 19: ↑18 and ↓1 +17
Comments 23

Проект инфо-панели оповещения об авариях (Часть 3)

Reading time 3 min
Views 21K
DIY
Приветствую всех.
Вот уже третья часть довольно сильно затянувшейся истории (раз, два).
Устройство ещё не завершено, хотя почти все основные блоки в настоящий момент собраны:
— Индикаторы (2);
— Процессорный модуль (в этой части);
— Блок питания (импульсный преобразователь 48V -> 5V до 6А) (в процессе, пауза из-за окончательно сломавщихся щупов к осциллографу (кЕтай));

План действий:
[+] SD-Card-Sector
[+] FAT-FS
[+>] OneWire async
[-] Slave firmware
[part] Ethernet
[-] Протокол обмена между процессорами
[-] Bootloader

Осторожно, фото.
Читать дальше →
Total votes 10: ↑9 and ↓1 +8
Comments 2

Устройство и работа портов ввода-вывода микроконтроллеров AVR. Часть 1

Reading time 4 min
Views 160K
Programming *
Tutorial
Sandbox
Работа портов ввода/вывода

Изучив данный материал, в котором все очень детально и подробно описано с большим количеством примеров, вы сможете легко овладеть и программировать порты ввода/вывода микроконтроллеров AVR.



Пример будем рассматривать на микроконтроллере ATMega8.

Программу писать будем в Atmel Studio 6.0.

Эмулировать схему будем в Proteus 7 Professional.

С внешним миром микроконтроллер общается через порты ввода вывода. Схема порта ввода вывода указана в даташите:

image

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

image

Pxn – имя ножки порта микроконтроллера, где x буква порта (A, B, C или D), n номер разряда порта (7… 0).
Cpin — паразитная емкость порта.
VCC — напряжение питания.
Rpu — отключаемый нагрузочный верхний резистор (pull-up).
PORTxn — бит n регистра PORTx.
PINxn — бит n регистра PINx.
DDRxn — бит n регистра DDRx.
Читать дальше →
Total votes 47: ↑27 and ↓20 +7
Comments 31

Устройство и работа портов ввода-вывода микроконтроллеров AVR. Часть 2

Reading time 3 min
Views 37K
Programming *
Tutorial
Recovery mode
Подключение светодиода к линии порта ввода/вывода

Изучив данный материал, в котором все очень детально и подробно описано с большим количеством примеров, вы сможете легко овладеть и программировать порты ввода/вывода микроконтроллеров AVR.


Пример будем рассматривать на микроконтроллере ATMega8.

Программу писать будем в Atmel Studio 6.0.

Эмулировать схему будем в Proteus 7 Professional.
Читать дальше →
Total votes 13: ↑6 and ↓7 -1
Comments 8

Электромагнитная пушка Гаусса на микроконтроллере

Reading time 4 min
Views 138K
Robotics development *
Sandbox
Всем привет. В данной статье рассмотрим, как изготовить портативную электромагнитную пушку Гаусса, собранную с применением микроконтроллера. Ну, насчет пушки Гаусса я, конечно, погорячился, но то, что это – электромагнитная пушка, нет сомнения. Данное устройство на микроконтроллере было разработано для того, чтобы обучить начинающих программированию микроконтроллеров на примере конструирования электромагнитной пушки своими руками.Разберем некоторые конструктивные моменты как в самой электромагнитной пушке Гаусса, так и в программе для микроконтроллера.
Читать дальше →
Total votes 75: ↑71 and ↓4 +67
Comments 55

Аквапоника своими руками с применением микроконтроллера

Reading time 5 min
Views 156K
DIY
Tutorial
image

Всем привет. Как-то на просторах Интернета мне попался интересный американский проект. Суть проекта в том, что можно выращивать различные агрокультуры, используя не почву, а, так сказать, симбиоз рыб с растениями. Получается замкнутый цикл. Вы кормите и выращиваете рыб, их продукты жизнедеятельности, растворённые в воде, являются питательной средой для растений. А эти растения, получая питательные вещества для роста из воды, очищают её. Весь процесс повторяется по кругу. Данный метод называется «аквапоника».
Читать дальше →
Total votes 112: ↑112 and ↓0 +112
Comments 122

Устройство и работа портов ввода-вывода микроконтроллеров AVR. Часть 3

Reading time 3 min
Views 35K
Programming *
Tutorial
Recovery mode
Подключение транзистора к линии порта ввода/вывода

Изучив данный материал, в котором все очень детально и подробно описано с большим количеством примеров, вы сможете легко овладеть и программировать порты ввода/вывода микроконтроллеров AVR.


Пример будем рассматривать на микроконтроллере ATMega8.

Программу писать будем в Atmel Studio 6.0.

Эмулировать схему будем в Proteus 7 Professional.
Читать дальше →
Total votes 24: ↑14 and ↓10 +4
Comments 21

Символьный LCD дисплей (Видео урок 1)

Reading time 1 min
Views 54K
Programming microcontrollers *
Tutorial
image
Всем привет. Решил сделать видео урок по символьному lсd-индикатору в поддержку начинающим программистам микроконтроллеров. Как говорится, лучше один раз увидеть, чем сто раз услышать.

Начинающие в основном используют готовые библиотеки для работы с lcd-индикатором и, конечно же, понятия не имеют, как организован протокол обмена между микроконтроллером и индикатором. А ведь, зная это, можно самому создать программу не хуже, а то и лучше.
Читать дальше →
Total votes 25: ↑19 and ↓6 +13
Comments 16

Устройство и работа портов ввода-вывода микроконтроллеров AVR. Часть 4

Reading time 3 min
Views 53K
Programming *
Tutorial
Recovery mode
Подключение кнопки к линии порта ввода/вывода

Изучив данный материал, в котором все очень детально и подробно описано с большим количеством примеров, вы сможете легко овладеть и программировать порты ввода/вывода микроконтроллеров AVR.


Пример будем рассматривать на микроконтроллере ATMega8.

Программу писать будем в Atmel Studio 6.0.

Эмулировать схему будем в Proteus 7 Professional.
Читать дальше →
Total votes 6: ↑4 and ↓2 +2
Comments 3

Atmel Software Framework (ASF): как это работает?

Reading time 5 min
Views 20K
Rainbow corporate blog Programming microcontrollers *
Tutorial

Немного теории


Atmel Software Framework (ASF) — программная библиотека, которая содержит широкий набор встраиваемого кода для микроконтроллеров Atmel всех семейств: megaAVR, AVR XMEGA, AVR UC3 и SAM.
Основные преимущества:
  • Упрощается использование и освоение микроконтроллеров, так как библиотека написана на высоком и среднем уровнях абстракции;
  • ASF разработана для использования на любой стадии проектирования;
  • ASF интегрирована в Atmel Studio с графическим пользовательским интерфейсом, но также может использоваться с компиляторами IAR и GCC;
  • ASF бесплатна.



Читать дальше →
Total votes 14: ↑14 and ↓0 +14
Comments 3

ТВ-таймер обратного отсчета на микроконтроллере AVR

Reading time 10 min
Views 13K
Programming microcontrollers *
Sandbox
Первый результат

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

И тут я вспомнил, что видел в сети проекты тв-терминалов на микроконтроллере AVR. В голове сразу появилась идея объединить маленькие символы в большие и мы решили попробовать. Как-то само собой получилось, что основную работу пришлось делать мне.
Читать дальше →
Total votes 20: ↑20 and ↓0 +20
Comments 21

Нестандартный подход к программированию микроконтроллера

Reading time 4 min
Views 20K
Abnormal programming *Industrial Programming *Programming microcontrollers *
Sandbox
В данной статье будет рассмотрен нестандартный подход к созданию программы для микроконтроллера. Для примера построим проект «кодового замка»; программа для микроконтроллера будет написана в визуальной среде Horizont Configurator.
Читать дальше →
Total votes 9: ↑9 and ↓0 +9
Comments 20
1