Прошивка МК Attiny13A
Приветствую Вас, друзья мои!
Ну вот наконец-то я подошёл к стадии шитья крестиком микросхем.И это моя первая микруха, с которой мне пришлось иметь дело.Ну а теперь по порядку, и к возникшим у меня вопросам =)
Итак, для прошивки у меня имеется купленный в кЕтае, и установленный на ноуте USBasp программатор…Прошивать мне надо было микроконтроллер ATtiny13A-10SSU, а значиЦа нужен адаптер.Изготавливаем платку, печатка позаимствована на драйве, если не ошибаюсь то в одной из тем пользователя himiks , за что ему респект и уважуха =)

Далее встал вопрос распиновки программатора, поисковик нам в помосЧь

По "железной" части вроде разобрались, и встаёт вопрос:"А чем же шить?"
Снова поисковик нам в помосЧь, и решено работать в SinaProg 1.5.5.10 (графическая оболочка для программы AVRdude, включающая в себя простой и функциональный AVR fuse-калькулятор)
Далее слегка помучил вопросами автора делающегося устройства и прошивки sunny-space , ему тоже респект и уважуха =)
Ну и подключаем микроконтроллер

Запускаем прогу, выставляем параметры программатора и МК, нажимаем на «Search» где должно появиться сообщение «Searching … OK»., и заливаем "кекс" в МК

Пару сек и видим надпись ОК.Правда зашилась микруха или нет так и не понял, мож спецы по скрину подскажут =)
Далее надо зашить фьюзы.По дефолту было так как в проге, а надо так как слева…

Выставил фьюзы, жму записать, и…тишина, только полоска бегает с надписью о записи и сё.Пришлось рубануть прогу…После реконнекта младший изменился на х71, который отличался от нужного хF1 только наличием галочки

А отсюда значиЦа возник вопрос:"Фьюзы получаеЦа зашились?"
Ну и резюмируя, вот такой вот он первый опыт вышивания крестиком прошивки микроконтроллеров =)
Ну воть как-то так =)
✔ Всех Вам благ, и ровных дорог!Всем пис peace, и до новых встреч =)
Комментарии 49

А для какой шился контроллер если не секрет?

Для платы плавного розжига

Понял спасибо, у меня такой на заряднике сгорел, ищу вот где прошивку для него взять.

С китайскими USBASP вообще нездоровая ситуация. При получении прошивку менять однозначно на последнюю офф — после этого ругаться перестает. Я шил через 5 проводков. Сейчас перешил на прошивку от asprog — чтобы еще и флешки шить. У меня 2 версии — на одной просто процессор 8, на второй 8L. Кварцы одинаковые — по даташиту 8L не длжна работать на такой частоте — но работает. (я х.з.). Вчера попробовал прошить ими ATTINY13а — обломился. Не видит сигнатуры. Тьму прог перебрал — не помогло. Попробовал ими же друг друга перешить — аналогично, нет сигнатуры? Воткнул 5 проводков — на раз прошил оба и офф и от asprog. Проверил в asprog оба — отлично работают. Друг друга НЕ ШЬЮТ! Что на фигня? Все варианты пробовал — и слоу перемычку тоже. И местами менял…Провод-перемычку прозванивал и менял. Раньше ими же шил Ардуино мини со стертым загрузчиком — идеально все (тоже китайская, проц 328). Поздно уже было — бросил. Вечером еще добью до конца — попробую 5 проводков на ATTINY13а и еще раз прошить Ардуино мини через USBASP.
Дополнительная информация — ATTINY13а из магазина, ничего не менялось — делалась попытка читать только сигнатуру и состояние фьюзов — т.е. совсем без записи. Стоит Win7 32.
А так то после того, как увидел, какой фокус китайцы забабахали с FTDI и PL чипами — уже ничему не удивляюсь (3 дня тупил, пока дошло что просто переходники перестали работать — все 3 штуки одновременно! — установил обновления на винду называется!). Так что не сильно удивлюсь, если окажется что и меги8 в этих программаторах — подделка. особенно учитывая ту цену, по которой они продаются…
По поводу переходника и прищепки — удобнее 1 ногу сначала припаять, так на порядок легче "прилепить" правильно. У меня есть колодка под это дело и "прищепка" с переходными контактами — стоят копейки, работать на порядок удобнее.
Arduino.ru

Итак, уже давненько появился способ программировать маленькие, дешёвые, маложрущие и доступные микрухи ATtiny13A.
Тут я Вам расскажу как можно зашивать дуиновские скетчи.
Итак, для начала нам нужно скачать данный архив(взято отсюда) положить файлы по адресу «\Documents\Arduino\hardware\» должно получится чтото типо «C:\Users\Администратор\Documents\Arduino\hardware\attiny13\cores\core13». Потом ну и в настройках платы выбрать attiny13 9.6 мГц, на других частотах почему то все задержки не такие как задаю, на 128 кГц всё в 2-3 раза быстрее.
Далее нам нужна сама микруха 🙂 Имеете? отлично. Теперь нам нужно узнать как при помощи Arduino прошить тиньку, более подробней здесь.
Итак, зашили blink — работает, отлично, я Вас поздравляю, «это маленький шаг для человека и большой шаг для человечества» 🙂 Как вы уже заметили скетч стал заметно легче ежели для UNO, это связано тем что урезаны большинство дуиновских функций.

100% поддержываются следущие:
pinMode()
digitalWrite()
digitalRead()
analogRead()
analogWrite()
shiftOut()
pulseIn()
millis()
micros()
delay()
delayMicroseconds()
Итак как мы ещё увидели доступно всего 1024 байта, но ведь это мало? «Вы есть много кушать» 🙂 большинству радиолюбителей для небольшой задач типо всяких мигалок, простеньких индикаторов или прочей мелочи — более чем достаточно. Чтобы научится экономить рекомендую ознакомится, а ещё лучше изучайте AVR и Cи, я вот когда смогу побороть лень начну 🙂
Если будут какие-то вопросы их задавайте тут, хвастайтесь своими проектами на этой замечательной микрухе, я только за, интересно же.
Вот мой первый проект, там я получил несколько советов по оптимизации кода аля уменьшения размера скетча при той же функциональности.
Вот ещё товарищ подтянулся.
Сейчас хочу этот проект перенести на тиньку, но времени маловато, чёт работать не хочет программном моделировании, нужно спаять всё, так как бредборда не имею 🙁 но куплю, обязательно.

Нипаняятна? PB5 это тоже что и pin 5 или просто 5. Аналоговые входы все на которых пишет ADC* ШИМ поддерживают порты 0 и 1 ану-ка найдите их на картинке? PB5 использовать и не прибегая к танцам с бубоном не выйдет 🙁 но если вам удастся обуздать эту ногу пишите, мне будет интересно, но незабываем что это форум Arduino.ru
Вкратце наверное всё 🙂 всем удачи, и удачных проектов.
ЗЫ для 5 В питания просто идеально подходит линейный стабилизатор 78L05, они просто созданы друг для друга 🙂 тоже такой дешёвый, маленький и доступный.
- Войдите на сайт для отправки комментариев

Статья по прошивке тиньки при помощи arduino http://razniepodelki.blogspot.com/2014/05/attiny13-arduino.html или же более детальная статья на geektimes https://geektimes.ru/post/254970/ .
Для экономии памяти первым делом научитесь пользоваться директивой препроцессора #define, к примеру код:
Можно записать немного иначе:
Экономия при этом будет 8 байт а код будет работать так же.
Функции ардуино на Си:
Например стандартный код:
Можно записать вот так:
При этом нехило сэкономить память.
Функция analogRead(); записывается следующим образом:
EEPROM.write(addr, val); и EEPROM.read(address);:
А вот так можно писать числа в EEPROM до 65534:
Ещё полезные ссылки:
http://habrahabr.ru/post/249967/ // Как восстановить неправильно выставленные фьюзы в ATtiny
- Войдите на сайт для отправки комментариев
К сожалению вынужденная мера. Студенты задавали вопросы, а затем удаляли содержимое первого поста, чтобы преподаватели не нашли. В результате ответы повисали в воздухе
- Войдите на сайт для отправки комментариев

Может какой-то добрый модер поправит их, ато сюда народ направлять будете и каждый раз будут в меня пальцем тикать что я безграмотная сволоч.
Я ведь даже не русский, а по русском языке у меня была двойка.
Уберите пожалуйста «. если у Вас нету таких папок создайте. » и поправте цитату Армстронга «это маленький шаг для человека и большой шаг для человечества»
- Войдите на сайт для отправки комментариев
Готово, поправил. В любом случае никто пальцем тыкать не будет, это ведь не форум лингвистов.
- Войдите на сайт для отправки комментариев

Спасибо, жду пополнений проектов на сабжовой микрухе.
- Войдите на сайт для отправки комментариев
что за девайс на фотке? мне бы схемку аль чертёж. В скетче пин 13, это которая нога?
хочу дуину на работу принести, еле сдерживаю себя.
- Войдите на сайт для отправки комментариев

Первая картинка с гугла, скорей всего при нажатии на кнопку горит какой-то светодиод, или же они образуют какой-то цвет. так безделушка на рандоме.
Скетч из примера в IDE, чисто для наглядности.
- Войдите на сайт для отправки комментариев
Вопросы топикстартеру и тем у кого получилось.
1. Не получается интегрировать Tiny13 в Arduino IDE. По ссылкам на проекты с 45 и 85 тинькой все пучком, а 13 не встает. У кого вышло — поделитесь куда что клали, плиз. У топикстартера — не очевидно.
2. Я НЕ хочу пользовать Ардуину как программатор. Хочу пользовать дуиновский язык и оболочку и шить напрямую через USBasp. Это возможно?
- Войдите на сайт для отправки комментариев
Вопросы топикстартеру и тем у кого получилось.
1. Не получается интегрировать Tiny13 в Arduino IDE. По ссылкам на проекты с 45 и 85 тинькой все пучком, а 13 не встает. У кого вышло — поделитесь куда что клали, плиз. У топикстартера — не очевидно.
2. Я НЕ хочу пользовать Ардуину как программатор. Хочу пользовать дуиновский язык и оболочку и шить напрямую через USBasp. Это возможно?
- Войдите на сайт для отправки комментариев

Итак, для начала нам нужно скачать данный архив(взято отсюда) положить файлы по адресу «\Documents\Arduino\hardware\» должно получится что-то типо «C:\Users\Администратор\Documents\Arduino\hardware\attiny13\cores\core13». Потом ну и в настройках платы выбрать attiny13 9.6 мГц, на других частотах почему то все задержки не такие как задаю, на 128 кГц всё в 2-3 раза быстрее.

Кстати первый пост читали?
- Войдите на сайт для отправки комментариев
Приветствую. Все прочитал. Интересно, что дома под 7 все встало, а на работе под ХР не встает.
Как прошить attiny13 через usbasp
Микроконтроллеры AVR можно программировать через ICSP (ISP) интерфейс. Делать это не сложнее, чем пользоваться платой Arduino с загрузчиком (bootloader) в микроконтроллере. С технологией ICSP Вам также будет доступна среда программирования Arduino, а кроме того, и много других возможностей.
Возьмём AVR микроконтроллер ATtiny13 или ATtiny85 и попробуем программировать его используя технологию ICSP.
Для программирования микроконтроллера по технологии ICSP нужен программатор. Чаще всего, подойдёт самый дешёвый USBASP программатор. Казалось бы, программатор лишнее устройство, ведь для платы Arduino он не нужен. Но на плате Arduino уже припаяна микросхема, выполняющая ту же роль что и программатор USBASP для отдельно взятого микроконтроллера. И стоимость платы Arduino примерно равна стоимости микроконтроллера с программатором USBASP. Для знакомства с программированием микроконтроллеров проще приобрести плату Arduino, а работать с микроконтроллерами удобнее с программатором.

Рис. 1. Программатор USBASP.

Рис. 2. Интерфейс программатора для внутрисхемного программирования микроконтроллеров.

Рис. 3. Варианты интерфейсов для внутрисхемного программирования микроконтроллеров.

Рис. 4. Микроконтроллер AVR ATtiny13.
Для программирования микроконтроллера по технологии ICSP будем подключать к программатору следующие ножки микросхемы ATtiny13:
| Pin м-к | Сигнал | Описание | Pin ISP6PIN | Pin ISP10PIN |
|---|---|---|---|---|
| 5 | MOSI | Вход данных при программировании | 4 | 1 |
| 6 | MISO | Выход данных при программировании | 1 | 9 |
| 7 | SCK | Вход тактового сигнала при программировании | 3 | 7 |
| 1 | RESET | Сброс | 5 | 5 |
| 4 | GND | Общий провод | 6 | 4, 6, 8, 10 |
| 8 | VCC | Питание микросхемы | 2 | 2 |
Обратите внимание, что ножки микроконтроллера 5, 6, 7 задействованные в программировании микроконтроллера, после программирования могут быть задействованы как и все другие ножки микроконтроллера в ваших схемах. Если же к этим ножкам уже припаяны периферийные устройства, они не помешают перепрошивке микроконтроллера в дальнейшем.
Подключаем микроконтроллер к программатору согласно рис. 2, 3, 4 и табл. 1. Подключаем программатор в USB порт компьютера и пытаемся с помощью программы avrdude считать сигнатуру микроконтроллера:
Считаем сигнатуру другого микроконтроллера:
- Электроника
- Программирование
- Назад
- Вперед
- Вы здесь:
- Главная />
- Робототехника />
- Программирование AtTiny 13, 45, 85
Прошивка микросхемы ATtiny13
В версии Arduino_ID_v1.0.4 ArduinoISP отсутствует.
Нужно загрузить библиотеку ArduinoISP.
Файл —>> примеры —>> ArduinoISP
Инструменты —>> Плата —>> Arduino UNO
Инструменты —>> Порт: "ваш порт"
Инструменты —>> Программатор: "AVRISP mkll"
Версия ArduinoISP version 04m3, 23 July 2011 Randall Bohn
Ошибка при загрузке программы: avrdude: stk500_getsync(): not in sync: resp=0x00
Отключил всё от выходов и входов Arduino UNO, ошибка пропала, программа загрузилась хорошо.
Файл —>> образцы —>> ArduinoISP
Инструменты —>> Плата —>> "Arduino/Genuino UNO"
Инструменты —>> Порт: "ваш порт"
Инструменты —>> Программатор: "AVRISP mkll"
Версия ArduinoISP version 04m3, 23 July 2011 Randall Bohn
Загрузка прошла без ошибок.
Файл —>> примеры —>> ArduinoISP
Инструменты —>> Плата —>> "Arduino/Genuino UNO"
Инструменты —>> Порт: "ваш порт"
Инструменты —>> Программатор: "AVRISP mkll"
Загрузка прошла без ошибок.
Файл —>> примеры —>> ArduinoISP
Инструменты —>> Плата —>> "Arduino/Genuino UNO"
Инструменты —>> Порт: "ваш порт"
Инструменты —>> Программатор: "AVRISP mkll"
Выскочила красная надпись:
Archiving built core (caching) in: C:\DOCUME
1\Temp\
Но это не ошибка, а информационное сообщение "Сохранение скомпилированного ядра (кэширование) в. (здесь директория)
Файл —>> примеры —>> ArduinoISP
Инструменты —>> Плата —>> "Arduino/Genuino UNO"
Инструменты —>> Порт: "ваш порт"
Инструменты —>> Программатор: "AVRISP mkll"
Загрузка прошла без ошибок.
Пробуем прошить ATtiny13
Микросхему ATtiny13 подключаем вот по такой схеме к Arduino UNO
Программа Arduino_ID_v1.8.9
Программатор Arduino UNO
Файл —>> Настройки —>> Дополнительные ссылки для менеджера плат:
Вставляем в поле ссылку ниже.
https://raw.githubusercontent.com/sleemanj/optiboot/master/dists/package_gogo_diy_attiny_index.jso n
Нажать кнопку "ОК"
Инструменты —>> Плата —>> Менеджер плат —>>
И в самом низу листа выбрал:
DIY ATtiny by James Sleeman, http://spat4cs.gogo.co.nz/ версия 2018.9.9
Платы в данном пакете:
ATtiny4, ATtiny5, ATtiny9, ATtiny10, ATtiny13, ATtiny24, ATtiny44, ATtiny84, ATtiny25, ATtiny45, ATtiny85, and variants thereof
Платы загрузились с интернета в папку:
C:\Documents and Settings\пользователь\Local Settings\Application Data\Arduino15
Если что, то папку с платами ATtiny13 можно распаковать туда же, без установки, все платы будут работать так-же, архив лежит ниже по ссылке.
Разные версии cores13, для прошивки микросхемы ATtiny13 и не только.
Настройки для ATtiny13:
Инструменты —>> Плата: ATtiny13
Инструменты —>> Processor Version: "ATtiny13a"
Инструменты —>> Порт: "ваш порт"
Инструменты —>> Программатор: "Arduino as ISP"
Загрузил пробный скетч:
Такой скетч тоже работает:
Загрузка прошла сразу и без ошибок.
Что же среда делает при нажатии на кнопку «Записать загрузчик»?
Arduino IDE в данном случае просто выставляет нужные фьюзы микроконтроллера.
К примеру, мне нужно, чтобы ATtiny13 работал на частоте в 4.8 мГц, я выбираю нужную мне частоту и только один раз жму кнопку «Записать загрузчик» — всё. Теперь микроконтроллер будет всегда работать на заданной частоте, если будет нужно изменить частоту опять — проделываем описанную выше процедуру.
Сразу скажу, что рост частоты приведёт за собой рост потребления контроллера, чем чаще переключаются транзисторы в микроконтроллере тем больше он потребляет.
Для каких-то там мигалок, я считаю, выполнение 1.2 миллиона инструкций будет с лихвой, да и на такой частоте микроконтроллер потребляет около 1 миллиампера.
Прошиваем ATtiny13 с помощью программатора USBASP

Подключаем ATtiny13 к программатору вот по такой схеме.

Настройки для прошивки ATtiny13 программатором USBASP в программе Arduino ID v1.8.9
Инструменты —>> Плата: ATtiny13
Инструменты —>> Порт: "COM3"
Инструменты —>> Программатор: "USBasp"
Все версии программы Arduino ID успешно прошивают ATtiny13, при установке нужных библиотек в программу Arduino ID,
в нашем случае для ATtiny13.
Однако нужно помнить, что должны быть установлены свежие драйверы для программатора USBASP
А если программатор новый(только пришёл с али), то нужно его ещё прошить новой прошивкой для корректной работы.
Прошивка находится в архиве, имя usbasp.atmega8.2011-05-28.hex
Если хотите знать как обновить прошивку USBasp, пишите в комментариях, добавлю по мере возможности.
Не забываем ещё про перемычку в программаторе USBasp.
Перемычка JP1: питание программируемой микросхемы.
Перемычка JP3: Обязательно поставить, с этой перемычкой работают частоты — 9.6/4.3/1.2/
скриншот настроек в программе Arduino ID.

Без всего этого удачных прошивок может и не быть.
Прошиваем ATtiny13 с помощью программы SinaProg v2.1.1.Rus
Программатор USBASP.
Перемычка JP3: Обязательно поставить.
Скриншот настроек программы.
Фьюзы ни какие не трогаем, всё по умолчанию
Прекрасно зашиваются файлы *.hex

Прошиваем ATtiny13 с помощью программы AVRDude Prog v3.3
Программатор USBASP.
Перемычка JP3: Обязательно поставить.
Скриншот настроек программы.
Фьюзы ни какие не трогаем, всё по умолчанию
Прекрасно зашиваются файлы *.hex
