Attiny13 программирование: Работа с голым камнем, ATtiny
|Содержание
Изучаем ATTINY13, восстанавливаем новогоднюю елочку
Как то приобрел в хозяйство маленькие контроллеры ATTiny13. Недавно руки дошли с ними повозиться.
Приобрести их можно по цене $3.3/10шт в корпусе SOP8 или $4.83/10шт в корпусе DIP8.
Я взял в корпусе DIP8 вместе с панельками
Характеристики ATTiny13A
- Память для программ (FLASH) — 1Кб
- ОЗУ — 64 Байт
- Число входов/выходов — 6
- Выходов ШИМ — 2
- Аналоговых входов (АЦП 10бит) — 4
- Таймер 8 бит — 1
- Напряжение питания 1.8 — 5.5В
- Рабочая частота — до 20МГц
- Потребление в активном режиме 1.8В/ 1МГц — 190мкА
- Потребление в режиме сна 1.8В/1МГц — 24мкА
Все характеристики микроконтроллера в даташите
Программирование ATtiny13
Для программирования я настроил среду Arduino IDE. Как известно, эта среда разработки может поддерживать дополнительные контроллеры. Например, в этой статье, я рассказывал, как программировать в Arduino IDE «народный WiFi» ESP8266. На сайте arduino.cc есть ветка, посещенная программированию ATTiny13 в среде Ардуино. У меня установлена версия 1.6.5. Скачиваю архив ATTiny core for Arduino. Распаковываю в папку c:\Program Files (x86)\Arduino\hardware\ и в Arduino IDE появляются дополнительные платы
Теперь загрузка программ. Объем памяти микропроцессора всего 1Кб и никакой загрузчик туда не поместится. Поэтому загрузка скетчей производится программатором по ISP. USBAsp, которым я программировал Atmega328 работать с тинькой не захотел. Нужна специальная прошивка программатора, с которой я возиться не захотел. Программировать микроконтроллер можно при помощи любой Ардуины. Для этого собираю такую схему:
В Arduino IDE выбираю «Файл->Образцы->ArduinoISP» и загружаю в Ардуино скетч программатора. Затем выбираю «Инструменты->Программатор->Arduino as ISP». Теперь можно загружать скетчи в тиньку. Следует отметить, что ATTiny13 core for Arduino содержит ограниченный набор функций Ардуино.
Применение ATTiny13
На работе у меня есть настольная елочка со световодами
В елочке стояла галогенная лампочка на 12В и моторчик, который крутит цветной круг-цветофильтр, который меняет цвет световодов. За 3 года умерли и лампочка и моторчик.
Вот я и решил восстановить эту елочку кусочком RGB-ленты управляемой ATtiny13. Съема управления лентой получилась такая:
три транзистора и резистора, линейный регулятор напряжения и собственно тинька.
Скетч представляет собой программный трехканальный ШИМ с изменением яркости по разным каналам, в результате которого лента переливается разными цветами
Скетч ATTiny13 RGB-PW…
После этого остается только закрепить плату и ленту в корпусе елочки
Белый скотч наклеен для улучшения отражения света внутри корпуса.
Теперь можно собирать корпус
И елочка готова
.
ПРОГРАММИРОВАНИЕ Attiny2313
Как производится программирование микроконтроллеров ATtiny2313? Итак, имеем микроконтроллер ATtiny2313, LPT порт (обязательно железный – никакие USB-2-LPT не работают), несколько проводков (длина не более 10 см) и конечно же паяльник. Желательно иметь разъём DB-25M (папа), с ним будет удобней подключать микроконтроллер, но можно обойтись и без него. Припаиваем проводки к выводам 1, 10, 17, 18, 19, 20 микроконтроллера. Получаем нечто вроде того, что на фото:
Далее, если есть разъём DB-25M, то припаиваем проводки к нему в соответствии с таблицей. Если нет, то просто втыкаем проводки в разъём на компьютере (не забывая про таблицу!!!).
Я делал без разъёма (в наличии были только мамы…), и вот что получилось:
Правда у меня LPT порт вынесен на стол с помощью кабеля длиной 1,5 метра. Но при этом кабель должен быть экранированный, иначе будут наводки, помехи и ничего не получится. Схема этого устройства программирования микроконтроллера вот такая:
Если быть совсем честным, то желательно собрать “правильный” программатор. И потом будет проще и порт целее. Я пользую STK200/300. Далее используем программу PonyProg2000. После запуска программы она “заржет….” как настоящий пони. Чтобы этого больше не слышать в появившемся окне ставим галочку “Disable sound”. Жмём “ОК”. Выскакивает окошко которое говорит, что нужно откалибровать программу. Компы бывают же разные и медленные и шустрые. Жмём “ОК”. Выскакивает ещё одно окошко – это нам говорит, что нужно настроить интерфейс (какой программатор и куда подключен.). Итак заходим в меню: Setup -> Calibration. В появившемся окне:
Жмём “YES”. Проходит пара секунд и программа говорит “Calibration OK”. Далее заходим в меню: Setup -> Interface Setup. В появившемся окошке настраиваем как у показано на рисунке.
Теперь заходим в меню: Command -> Program Options. В появившемся окошке настраиваем как показано на рисунке.
Всё готово к программированию!… Итак, последовательность действий:
1. Выбираем из списка “AVR micro”
2. Из другого списка выбираем “ATtiny2313”
3. Загружаем файл прошивки (File -> Open Device File), выбираем нужный файл, например “rm-1_full.hex”.
4. Жмём кнопочку “Launch program cycle”. Когда программирование завершится прога скажет “Program successful”
5. Ну и напоследок надо запрограммировать так называемые Фьюзы (fuses). Для этого жмём кнопочку “Security and Configuration Bits”. В появившемся окне жмём “Read”, потом выставляем галочки и жмём “Write”.
ВНИМАНИЕ! Если Вы не знаете, что означает тот или иной конфигурационный бит, то не трогайте его. Вот теперь у нас готовый к работе контроллер ATtiny2313! На форуме можно скачать программу PonyProg2000 и оригинал статьи с дополнительными рисунками. Материал для сайта Радиосхемы предоставил Ansel73.
Форум по микроконтроллерам
Программирование ATtiny13a с использованием Arduino в качестве ISP
Глубокий Акаш
Глубокий Акаш
Data Scientist II в Swiggy | M.
Tech-AI IISc Бангалор (продолжается)
Опубликовано 23 июля 2015 г.
+ Подписаться
Использование Arduino в качестве интернет-провайдера
В этом посте мы рассмотрим, как мы можем использовать Arduino в качестве интернет-провайдера для программирования микросхем. Ниже приведено представление микросхемы ATtiny 13. Следите за контактами VCC, GND, Reset (PB5) и другими контактами. Всего 8 контактов: 2 для питания и 6 для ввода/вывода.
Теперь для программирования этой ИС с использованием Arduino в качестве ISP, подключите ИС к плате Arduino на макетной плате, как показано : (Убедитесь, что соединения выполнены правильно, иначе вы можете взорвать ИС.)
Вам необходимо загрузить файлы ядра ATtiny13 для Arduino из Интернета. То же самое можно загрузить по следующей ссылке:
https://dl.dropboxusercontent.com/u/52513692/attiny13.zip
После загрузки выполните следующие шаги для их установки:
- C:> Программа Файлы > Arduino > Оборудование ( для Windows и Arduino 1. 0.6 )
- Извлеките заархивированный файл в указанное выше место (Arduino>Hardware folder).
Как только это будет сделано, вы увидите, что ATtiny13 отображается в списке плат в Arduino IDE.
После того, как мы закончили с подключением и процессом установки, наступает часть программирования:
Шаг 1: Создание программатора ISP:
- Откройте Arduino IDE.
- Откройте программу ArduinoISP из меню «Примеры в файле».
- Убедитесь, что выбран правильный последовательный порт и в подменю платы выбрана плата Arduino Uno.
- Выберите AVRISP mkll в качестве программатора .
- Загрузить сейчас, используя показанную кнопку (, а не , используя программатор в меню файлов). Это может показаться неуместным, но это важно.
Шаг 2: Программирование ATtiny 13a как автономного микроконтроллера:
- Напишите программу для загрузки в Arduino IDE. Например: Откройте программу Blink из примеров и измените контакт 13 на контакт 4 в программе.
- Выберите ATtiny13 @ 9,6 МГц в подменю Board меню Tools.
- Также выберите Arduino в качестве интернет-провайдера в Инструменты>Программист>Arduino в качестве интернет-провайдера.
- Выберите File>Upload Using Programmer , чтобы начать загрузку эскиза Blink в ATtiny13A.
- Вы закончили программировать ATtiny13a как автономный микроконтроллер.
- Вы можете получить следующее сообщение в обратной связи, но это без вреда:
avrdude: укажите сигналы PAGEL и BS2 в файле конфигурации для части ATtiny13
Теперь вы можете проверить работу вышеуказанной программы мигания, выполнив следующие соединения.
Яппи! Светодиод начинает мигать!
В любом случае описанная выше стратегия вам не подходит, попробуйте проверить соединения на макетной плате и повторите попытку. Вышеуказанный метод является проверенным верным выстрелом. Удачного программирования.
Для получения дополнительной информации нажмите здесь, чтобы посетить: BASHMODULO.
Микроконтроллер Atmel Attiny13a, запрограммированный с использованием Arduino Ide
Автор: EG Projects
Работа с atmel studio показалась мне немного сложной. Atmel Studio — тяжелое программное обеспечение, требует слишком много времени на компиляцию, занимает большую часть системной памяти, библиотеки не очень хорошо объясняются, и, прежде всего, сообщество, помогающее, невелико. Поэтому я решил запрограммировать микроконтроллеры серии atmel attiny с помощью arduino ide. Arduino ide не поддерживает напрямую микроконтроллеры серии atmel attiny. Чтобы сделать серию attiny, запрограммированную с помощью arduino ide. Нам нужно установить некоторые плагины в системные файлы arduino ide. В этом посте я объясню, как установить плагины серии attiny для arduino ide и какие изменения нам нужно внести в системные файлы arduino, чтобы серия attiny распознавалась arduino ide. После установки совместимости серии я объясню небольшой проект, который я сделал с использованием микроконтроллера atmel attiny13a. Я запрограммировал микроконтроллер attiny13a с помощью arduino ide с помощью внешнего программатора usbasp. Я также запрограммировал микроконтроллер attiny13a с отдельной платой Arduino как icsp.
Для установки плагина arduino ide для микроконтроллера atmel attiny13a. Загрузите файл, указанный ниже. |
Загрузить файл |
Извлеките файл .rar. Вы получите папку с именем attiny13. Найдите каталог установки файлов Arduino. Найдите папку «Оборудование» в каталоге установки Arduino. Обычно это в C:\Program Files (x86)\Arduino\hardware. Поместите папку attiny13 в папку оборудования. Перезапустите arduino ide, и в разделе «Платы» вы найдете параметры attiny13a. Attiny13a будет указан с пятью различными конфигурациями часов. Все конфигурации используют внутренний источник синхронизации attiny. Я проверил все источники часов, и они работают нормально. Но некоторые пользователи в Интернете говорят, что испытывают трудности с созданием правильных задержек. Я проверил функцию delay() для каждого источника синхронизации, и у меня она работала правильно.
Выбор микроконтроллера Attiny13a в arduino ide | Общий вывод для attiny13a для использования с arduino ide приведен ниже. D0-D5 обозначают цифровые контакты, а A0-A1 обозначают аналоговые контакты. Таким образом, attiny с arduino ide имеет 5 цифровых контактов и два аналоговых контакта. Распиновка Attiny13a для arduino ide |
Мигающий светодиод с Atmel Attiny13A, Arduino Ide и Proteaus Simulation
Чтобы доказать, что верхняя конфигурация работает, я сделал простой проект/программу мигающего светодиода. Светодиод переключается за полсекунды. Я подключил светодиод к контакту № PB4 attiny13a. В качестве источника тактового сигнала я использовал внутренний кварц 4,8 МГц. К контакту сброса я подключил кнопку для повторного запуска микроконтроллера. Вся схема питается от элемента CR2032. Cr2032 — это батарейка типа «таблетка» на 3,3 В. Attiny потребляет очень мало энергии во время работы. Микроконтроллеры Atmel серии attiny считаются мастерами гибернации. Они могут оставаться в спящем режиме в течение многих лет с очень незначительным количеством энергии. Принципиальная схема проекта приведена ниже.
Проект Принципиальная схема Attiny13A Пример мигания.
Программирование Attiny13a с помощью UsbAsp Programmer
Для загрузки кода в микроконтроллер я использовал внешний программатор Usbasp. Attiny13a можно запрограммировать с помощью интерфейса icsp. Схема подключения аттини с usbasp программатором приведена ниже. Usbasp может программировать при Vcc = 3,3 В и 5 В. Выбрать уровень напряжения можно с помощью перемычки, установленной на программаторе usbasp. Я выбрал 3,3В. Так как я запускаю attiny с монетоприемником cr2302, рассчитанным на 3,3 В. Лучше работать на одном уровне напряжения. Но вы также можете запрограммировать его на 5v. | Перед программированием attiny13a убедитесь, что вы выбрали правильный программатор из выпадающего меню программатора. Usbasp программатор используется для программирования микроконтроллера attiny13a с помощью arduino ide |
Usbasp программатор для программирования atmel attiny13a микроконтроллер
Программирование attiny13a с помощью Arduino uno в качестве интернет-провайдера
Attiny13a можно запрограммировать с помощью arduino uno. Код можно загрузить, выполнив следующие простые шаги.
- Подключите Arduino к ПК.