Андрей Смирнов
Время чтения: ~6 мин.
Просмотров: 7

Прошивка ATtiny13 при помощи Arduino

FUBZYEVH3QF5RZ8.LARGE.jpg

Получив контроллеры, я понял, что мне необходимо запрограммировать их. Я перепробовал множество разных вариантов программирования ATTiny13 из всемирной сети, пока, наконец, не нашел нужное мне руководство для начинающих по программированию. Файл с несколькими изменениями есть внизу статьи.

Шаг 1: Подключаем чип для программирования

Ознакомьтесь с видеороликом:

Подключите чип к Ардуино следующим образом:

Опционально: GND – к отрицательной ножке диода пин 3 — резистор (250 Ом) – к плюсовой ножке диода

Шаг 2: Добавление данных в программу

  • Откройте программу Arduino IDE и подключите ваш контроллер Ардуино
  • Переходите: Файл -> Примеры -> ArduinoISP
  • Выберите нужную плату и разъем (Инструменты -> Платы/Последовательные порты)
  • Нажмите кнопку загрузки

Так Ардуино будет служить ISP-программатором.

  • После завершения закройте программу

Теперь вам нужно сделать так, чтобы программа IDE видела в контроллере чип, совместимый с Ардуино.

  • Загрузите соответствующий файл
  • Скопируйте папку «attiny» в папку /оборудование/ в каталог установки Arduino IDE

Затем вам нужно скорректировать тактовую частоту:

  • Откройте файл Оборудование/attiny/платы.txt
  • В самом низу файла находятся строчки, содержащие данные, относящиеся к нужному чипу
  • Замените «attiny13.build.f_cpu=9600000L» на «attiny13.build.f_cpu=1000000L»

Чтобы исправить время задержки:

  • Снова откройте Arduino IDE
  • Перейдите в Tools>Board и выберите «ATtiny13 (internal 9.6 MHz clock)»

Шаг 3: Программирование

FS6ZRZHH3QF1DJZ.LARGE.jpg

Чтобы загрузить скетч для контроллера:

  • Откройте IDE
  • Перейдите File>Examples>Basic>Blink
  • Измените 11 строку: «pinMode(13, OUTPUT);» на «pinMode(4, OUTPUT);»
  • Измените 15 строку: «digitalWrite(13, HIGH);» на «digitalWrite(4, HIGH);»
  • Измените 17 строку: «digitalWrite(13, LOW);» на «digitalWrite(4, LOW);»

Теперь IDE должна загрузить скетч на ваш контроллер через Arduino ISP-программатор. Как только загрузка будет завершена, диод начнет моргать с интервалом 1 сек.

Обозначить выводы контроллера в Arduino IDE вам нужно в соответствии с нумерацией выводов на плате (например, Pin1 = PB1, и т. д.).

Шаг 4: Чтение данных сервопривода

В видеоролике объясняется, как легко настроить программное обеспечение:

При использовании реле вы должны установить диод для защиты от ЭДС, соединив его параллельно с катушкой реле, минусом с пином 4.

Файлы

Шаг 5: Проверяем

Смотрите также; прошивка бутлоадера Arduino в ATmega8, бюджетный Arduino. Данный видеоматериал содержит то что в статье ниже: Итак, уже давненько появился способ программировать маленькие, дешёвые, маложрущие и доступные микрухи ATtiny13A. Тут я Вам расскажу как можно зашивать Arduino’вские скетчи.Итак, для начала нам нужно скачать данный архив(взято и доделано отсюда) положить файлы по адресу «DocumentsArduinohardware» должно получится что-то типа «C:UsersАдминистраторDocumentsArduinohardwareattiny13avr corescore13». Обязательно проверяем правильно ли у нас выбрано «расположение папки со скетчами», (посмотреть можно во вкладке «Файл/Настройки») :%D0%91%D0%B5%D0%B7%D1%8B%D0%BC%D1%8F%D0%BD%D0%BD%D1%8B%D0%B9.png Далее нам нужна сама микруха 🙂 Имеете? отлично. Теперь нам нужно узнать как при помощи Arduino прошить тиньку, более подробней: Для начала прошьём в дуинку ArduinoISP из примеров Arduino IDE. Потом подключим тини13 к ардуинке как показано на картинке: Потом нужно изменить тип программатора на Arduino as ISP как показано на скришонте:

Частота 1.2 МГц — частота  контролера с завода, можно выбрать частоту и побольше если сильно нужно производительность, но не забываем что рост частоты приведёт за собой рост потребления контроллера, для каких-то там мигалок выполнение 1.2 миллиона инструкций будет с лихвой. Изменяем частоту следующим образом: — выбираем нужную нам частоту; — жмём «Записать загрузчик», среда выставит все фьюзы контроллера таким образом чтобы он работал на нужной частоте.И после того уже можно шить контролер, больше кнопку «Записать загрузчик» нажимать не нужно, прошиваем скетчи кнопкой «Загрузить с помощью программатора». Итак, зашили blink — работает, отлично, я Вас поздравляю, «это маленький шаг для человека и большой шаг для человечества» 🙂 Как вы уже заметили скетч стал заметно легче ежели для Arduino Uno, это связано тем что урезаны большинство дуиновских функций. 100% поддерживаются следующие:

  • pinMode()
  • digitalWrite()
  • digitalRead()
  • analogRead()
  • analogReference(INTERNAL) / (EXTERNAL)
  • shiftOut()
  • pulseIn()
  • analogWrite()
  • millis()
  • micros()
  • delay()
  • delayMicroseconds()

Итак как мы ещё увидели доступно всего 1024 байта, но ведь это мало? «Вы есть много кушать» 🙂 большинству радиолюбителей для небольшой задач типа всяких мигалок, простеньких индикаторов или прочей мелочи — более чем достаточно, некоторые даже умудряются вольт-амперметры делать. Чтобы научится экономить рекомендую ознакомится, а ещё лучше изучайте AVR и Cи, я вот когда смогу побороть лень начну 🙂 Если будут какие-то вопросы их задавайте тут, хвастайтесь своими проектами на этой замечательной микрухе, я только за, интересно же.Вот мой первый проект, там я получил несколько советов по оптимизации кода аля уменьшения размера скетча при той же функциональности.Вот ещё товарищ подтянулся. Распиновка из даташита: Нипаняятна? PB4 это тоже что и pin 4 или просто 4. Аналоговые входы все на которых пишет ADC*, например PB4 это ADC2 или просто A2, ШИМ поддерживают порты 0 и 1. Вкратце наверное всё 🙂 всем удачи, и удачных проектов. Для 5 В питания просто идеально подходит линейный стабилизатор 78L05, они просто созданы друг для друга 🙂 тоже такой дешёвый, маленький и доступный. Ветка на форуме Arduino: http://arduino.ru/forum/programmirovanie/attiny13a-101-primenenie Мой паблик ВКонтакте, присоединяйтесь.UPD 17.03.2016 Ядро ищем тут:https://geektimes.ru/post/254970/#comment_8943030

Прошивка Attiny 13 HEX-файлом с помощью Arduino и SinaProg

Задача: прошить микроконтроллер Attiny 13 HEX-файлом (уже скомпилированной программой).В качестве решения обычно используется программатор, если таковой отсутствует, можно приспособить для этих целей Arduino.Мы будем использовать Arduino Uno, SinaProg и адаптер (фото ниже) для данного микроконтроллера.1532414464_1.jpgАдаптер можно купить тут: https://ru.aliexpress.com/item/SOIC8-SOP8-to-DIP8-EZ-Programmer-Adapter-Socket-Converter-Module-150mil/32535866779.html?spm=a2g0s.9042311.0.0.274233edOsLvN7Он требуется для того, чтобы избежать пайки проводов на ноги микроконтроллера, ибо это крайне неудобно, особенно в случае многократных перепрошивок.В нашем случае используется Attiny13 в SMD-корпусе, если вы мучаете микроконтроллер в DIP-исполнении, можно задействовать DIP-панель: https://www.chipdip.ru/product/scs-8. (о типах корпусов микроконтроллеров можно почитать здесь).И так, поехали: Прошиваем Arduino Uno скетчем из стандартных примеров «ArduinoISP»:1532414494_2.pngПодключаем наш многострадальный микроконтроллер к Arduino согласно картинке ниже (зеленым обозначены пины Arduino):1532414625_3.pngДля тех, кто в танке — переполюсовки Attiny13 боится, поэтому проверьте внимательно, как подключены GND и 5V!1532415975_4.jpgСкачиваем SinaProg: по этой ссылкеЗапускаем от имени администратора (правый клик по exe’шнику — «запустить от имени администратора»).Далее пошагово:1532414619_5.png

  1. Выбираем HEX-файл
  2. Выбираем «Device» (в нашем случае Attiny 13)
  3. В качестве программатора выбираем «AVR ISP»
  4. COM-порт смотрим в диспетчере устройств при подключении ардуины
  5. Скорость выставляем 19200
  6. Нажимаем кнопку «Search» — появляется статус «OK» (если нет, значит что-то подключено неверно, либо не прошита ардуина)
  7. Нажимаем кнопку «Program», после прошивки должен появиться статус «OK»
  8. Нажимаем кнопку «Verify» и, опять же, видим статус «OK».

На этом все, мы прошили наш микроконтроллер. В следующих статьях разберем подробнее весь функционал программы и правильное выставление коварных фьюзов=)ArduinoИспользуемые источники:

  • https://masterclub.online/topic/15839-programmirovanie-attiny13
  • http://razniepodelki.blogspot.com/2014/05/attiny13-arduino.html
  • https://www.systop.ru/arduino/45-proshivka-attiny-13-hex-faylom-s-pomoschyu-arduino-i-sinaprog.html

Рейтинг автора
5
Подборку подготовил
Максим Уваров
Наш эксперт
Написано статей
171
Ссылка на основную публикацию
Похожие публикации