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

После загрузки выполните следующие шаги для их установки:

  1. C:> Программа Файлы > Arduino > Оборудование ( для Windows и Arduino 1. 0.6 )
  2. Извлеките заархивированный файл в указанное выше место (Arduino>Hardware folder).

Как только это будет сделано, вы увидите, что ATtiny13 отображается в списке плат в Arduino IDE.

После того, как мы закончили с подключением и процессом установки, наступает часть программирования:

Шаг 1: Создание программатора ISP:

  1. Откройте Arduino IDE.
  2. Откройте программу ArduinoISP из меню «Примеры в файле».
  3. Убедитесь, что выбран правильный последовательный порт и в подменю платы выбрана плата Arduino Uno.
  4. Выберите AVRISP mkll в качестве программатора .
  5. Загрузить сейчас, используя показанную кнопку (, а не , используя программатор в меню файлов). Это может показаться неуместным, но это важно.

Шаг 2: Программирование ATtiny 13a как автономного микроконтроллера:

  1. Напишите программу для загрузки в Arduino IDE. Например: Откройте программу Blink из примеров и измените контакт 13 на контакт 4 в программе.
  2. Выберите ATtiny13 @ 9,6 МГц в подменю Board меню Tools.
  3. Также выберите Arduino в качестве интернет-провайдера в Инструменты>Программист>Arduino в качестве интернет-провайдера.
  4. Выберите File>Upload Using Programmer , чтобы начать загрузку эскиза Blink в ATtiny13A.
  5. Вы закончили программировать ATtiny13a как автономный микроконтроллер.
  6. Вы можете получить следующее сообщение в обратной связи, но это без вреда:
    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. Загрузите файл, указанный ниже.

attiny13.rar

Загрузить файл


Извлеките файл .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.
Примечание : При использовании внешнего программатора, такого как usbasp, код можно загрузить в микроконтроллер только с помощью опции Sketch>Upload using Programmer .

Перед программированием attiny13a убедитесь, что вы выбрали правильный программатор из выпадающего меню программатора.

Usbasp программатор используется для программирования микроконтроллера attiny13a с помощью arduino ide

Usbasp программатор для программирования atmel attiny13a микроконтроллер

Программирование attiny13a с помощью Arduino uno в качестве интернет-провайдера

Attiny13a можно запрограммировать с помощью arduino uno. Код можно загрузить, выполнив следующие простые шаги.

  • Подключите Arduino к ПК.

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

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