Как запрограммировать микроконтроллер ATtiny85 напрямую через USB без Arduino. Какие компоненты нужны для создания программатора ATtiny85. Как прошить загрузчик Digispark на ATtiny85. Как подключить ATtiny85 к компьютеру по USB для программирования.
Введение в микроконтроллер ATtiny85
ATtiny85 — это компактный и экономичный 8-битный микроконтроллер семейства AVR от компании Atmel. Несмотря на свои небольшие размеры, он обладает следующими характеристиками:
- 8 КБ флэш-памяти программ
- 512 байт EEPROM
- 512 байт оперативной памяти SRAM
- 6 программируемых линий ввода-вывода
- 10-битный АЦП
- Встроенный тактовый генератор
- Поддержка SPI и I2C интерфейсов
Благодаря низкому энергопотреблению и компактности, ATtiny85 отлично подходит для портативных и миниатюрных проектов. Однако у него нет встроенного USB-интерфейса, что усложняет процесс программирования. В этой статье мы рассмотрим, как решить эту проблему и запрограммировать ATtiny85 напрямую через USB.
Необходимые компоненты для программирования ATtiny85 через USB
Для создания USB-программатора ATtiny85 нам потребуются следующие компоненты:
- Микроконтроллер ATtiny85
- USB-разъем типа A (вилка)
- Резисторы: 2 x 47 Ом, 1 x 1 кОм
- Диоды: 2 x стабилитрона, 1 x диод Шоттки 1N5819
- 8-пиновая панелька для микросхемы
- Макетная плата
- Соединительные провода
- Arduino Uno (только для первоначальной прошивки загрузчика)
Большинство из этих компонентов легко найти в любом магазине электроники. Arduino Uno понадобится только один раз для загрузки бутлоадера в ATtiny85.
Прошивка загрузчика Digispark в ATtiny85
Прежде чем мы сможем программировать ATtiny85 через USB, нам нужно прошить в него специальный загрузчик. Для этого мы будем использовать Arduino Uno в качестве программатора. Вот пошаговая инструкция:
- Подключите Arduino Uno к компьютеру и загрузите в него скетч ArduinoISP из примеров IDE Arduino.
- Соедините Arduino Uno и ATtiny85 по следующей схеме:
- Arduino pin 13 → ATtiny85 pin 2
- Arduino pin 12 → ATtiny85 pin 1
- Arduino pin 11 → ATtiny85 pin 0
- Arduino pin 10 → ATtiny85 Reset
- Arduino 5V → ATtiny85 VCC
- Arduino GND → ATtiny85 GND
- Добавьте конденсатор 10 мкФ между выводами Reset и GND Arduino Uno.
- Скачайте файлы загрузчика Digispark для ATtiny85.
- Отредактируйте файл Burn_AT85_bootloader.bat, указав правильный COM-порт Arduino.
- Запустите Burn_AT85_bootloader.bat от имени администратора.
Если все прошло успешно, вы увидите сообщение «AVRdude done. Thank you.» Теперь ATtiny85 готов к программированию через USB.
Схема USB-программатора для ATtiny85
После прошивки загрузчика нам нужно собрать схему, которая позволит подключить ATtiny85 к USB-порту компьютера. Вот принципиальная схема такого программатора:
- USB D+ подключается к выводу PB2 ATtiny85 через резистор 47 Ом
- USB D- подключается к выводу PB0 ATtiny85 через резистор 47 Ом
- Между D+ и D- подключаются два стабилитрона (катодами к линиям данных)
- VCC USB подключается к выводу VCC ATtiny85 через диод Шоттки
- Между VCC и GND ATtiny85 подключается конденсатор 0.1 мкФ
- Между VCC и выводом PB5 (Reset) ATtiny85 подключается резистор 1 кОм
Эта схема обеспечивает защиту USB-интерфейса и правильное подключение ATtiny85 к шине USB.
Установка драйверов и программирование ATtiny85
Для программирования ATtiny85 через USB нам потребуются специальные драйверы Digispark. Вот как их установить и начать программирование:
- Скачайте и установите драйверы Digispark с официального сайта.
- Подключите собранный USB-программатор с ATtiny85 к компьютеру.
- В Диспетчере устройств Windows должно появиться новое устройство «Digispark Bootloader».
- Установите поддержку плат Digispark в Arduino IDE.
- Выберите плату «Digispark (Default — 16.5mhz)» в меню Arduino IDE.
- Напишите свой скетч или откройте пример.
- Нажмите кнопку «Загрузка» в Arduino IDE.
- Когда появится сообщение «Plug in device now», быстро отключите и снова подключите ATtiny85 к USB.
Если все сделано правильно, ваш код будет загружен в ATtiny85, и вы сможете использовать его в своих проектах.
Преимущества программирования ATtiny85 через USB
Программирование ATtiny85 напрямую через USB имеет ряд преимуществ:
- Не требуется отдельный программатор или Arduino для каждой загрузки кода
- Упрощается процесс разработки и отладки
- Можно использовать стандартную среду Arduino IDE
- Экономия на компонентах в конечном устройстве
- Возможность создания компактных USB-устройств на базе ATtiny85
Этот метод особенно полезен для прототипирования и создания небольших партий устройств на базе ATtiny85.
Ограничения и особенности использования ATtiny85 с USB
Несмотря на удобство, у этого метода есть некоторые ограничения:
- Ограниченное количество доступных выводов (всего 5 после использования 2 для USB)
- Меньший объем памяти по сравнению с Arduino
- Необходимость ручного переподключения устройства при загрузке кода
- Ограниченная поддержка библиотек Arduino
Важно учитывать эти особенности при разработке проектов на базе ATtiny85 с USB-интерфейсом.
Заключение
Программирование ATtiny85 через USB открывает новые возможности для создания компактных и недорогих устройств. Несмотря на некоторые ограничения, этот метод значительно упрощает процесс разработки и позволяет использовать привычную среду Arduino IDE. С помощью описанного в этой статье подхода вы сможете легко интегрировать ATtiny85 в свои проекты, требующие USB-подключения.

Digispark схема
Вообще версии Micronucleous начиная с 2. Жаль, а в описании платы фото в самом верху написано , что поддержка Attiny Thank you. Это у меня не правильная тинька? Хотя на чипе написано верно все..
Поиск данных по Вашему запросу:
Схемы, справочники, даташиты:
Прайс-листы, цены:
Обсуждения, статьи, мануалы:
Дождитесь окончания поиска во всех базах.
По завершению появится ссылка для доступа к найденным материалам.
Содержание:
- USB педаль или однокнопочная клавиатура для ПК
- Опыт работы с Digispark Attiny85
- Часы на Digispark и 7 сегментном индикаторе на TM1637
- Простой автополив своими руками
- Attiny85 DigiSpark: Привод 128X64 OLED экран, нет проблем картинка
- Ваш пароль
- Модуль Arduino Digispark ATTINY85 USB
ПОСМОТРИТЕ ВИДЕО ПО ТЕМЕ: BadUSB for a Dollar (Rubber Ducky clone using Digispark v3)
youtube.com/embed/jHNMl6khEio» frameborder=»0″ allowfullscreen=»»/>USB педаль или однокнопочная клавиатура для ПК
GitHub is home to over 40 million developers working together to host and review code, manage projects, and build software together. If nothing happens, download GitHub Desktop and try again. If nothing happens, download Xcode and try again. If nothing happens, download the GitHub extension for Visual Studio and try again.
Если это твой первый опыт работы с Arduino, читай инструкцию. На главной странице проекта где ты читаешь этот текст вверху справа зелёная кнопка Clone or download , вот её жми, там будет Download ZIP. В: Как скачать с этого грёбаного сайта? О: На главной странице проекта где ты читаешь этот текст вверху справа зелёная кнопка Clone or download , вот её жми, там будет Download ZIP.
В: Скачался какой то файл. О: Это архив. Можно открыть стандартными средствами Windows, но думаю у всех на компьютере установлен WinRAR, архив нужно правой кнопкой и извлечь.
В: Я совсем новичок! Что мне делать с Ардуиной, где взять все программы? Skip to content. Dismiss Join GitHub today GitHub is home to over 40 million developers working together to host and review code, manage projects, and build software together. Sign up. Branch: master New pull request. Find file. Download ZIP. Sign in Sign up. Launching GitHub Desktop Go back. Launching Xcode Launching Visual Studio AlexGyver upd. Latest commit 16d4bdb Feb 16, О: На главной странице проекта где ты читаешь этот текст вверху справа зелёная кнопка Clone or download , вот её жми, там будет Download ZIP В: Скачался какой то файл.
О: Ничего не продаю. You signed in with another tab or window. Reload to refresh your session. You signed out in another tab or window. May 29, Initial commit. May 26, Feb 16,
Опыт работы с Digispark Attiny85
Благодаря наличию на плате USB-разъёма, отпала необходимость в постоянном использовании внешних программаторов, порою очень не дешёвых, что в свою очередь упростило процесс программирования и отладки.
Да и в целом, ATTINY85 идеально подойдёт для создания прототипа того или иного проекта, может стать неоспоримым в размерах при создании небольших устройств, среди которых могут быть кольцо-часы или браслет, светящиеся украшения, миниатюрные термометры и, возможно, что-то более невообразимое. Размер модуля действительно крайне невелик, всего 19 х 26 мм! Все пользовательские контакты обозначены цифрами с лицевой стороны и функциональным назначением с обратной стороны платы.
Собран на платформе Digispark (attiny85) – очень дёшево и просто. Простейшая схема: мосфет модуль и помпа; Режим глубокого.
Часы на Digispark и 7 сегментном индикаторе на TM1637
Узнал о существовании этой платформы — и загорелся. Из плюсов — программируется из среды Arduino , до 6 ног для подключения периферии. Заказывать готовый модуль совершенно не хотелось, решил сделать сам. Куплено: Attiny85 — 2 штуки, стабилитроны на 3,6 вольта — 10 штук, резисторы на 68 ом — 10 штук. Схема была сдёрнута отсюда.
Получилось так:. Bootloader взял у micronucleus Сами Digispark-овцы пишут , что их поделка работает на версии 1.
Простой автополив своими руками
Введите электронную почту и получайте письма с новыми самоделками. Не более одного письма в день. Войти Чужой компьютер. В гостях у Самоделкина! Доставка новых самоделок на почту Получайте на почту подборку новых самоделок.
Собственно идея подобного устройства возникла спонтанно.
Attiny85 DigiSpark: Привод 128X64 OLED экран, нет проблем картинка
Данный проект я нашел на странице AlexGyver, и решил его разместить и у себя. Данный проект очень прост в создании, и для его осуществления не нужно больших знаний в радиотехнике. Автополив хорошо подойдет как для полива рассады, так и комнатных цветов, и будет поливать их через определенный промежуток времени. И ссылки на компоненты из интернет магазина:. Соединяем все компоненты по второй схема.
Ваш пароль
GitHub is home to over 40 million developers working together to host and review code, manage projects, and build software together.
If nothing happens, download GitHub Desktop and try again. If nothing happens, download Xcode and try again. If nothing happens, download the GitHub extension for Visual Studio and try again. Если это твой первый опыт работы с Arduino, читай инструкцию. На главной странице проекта где ты читаешь этот текст вверху справа зелёная кнопка Clone or download , вот её жми, там будет Download ZIP. В: Как скачать с этого грёбаного сайта? О: На главной странице проекта где ты читаешь этот текст вверху справа зелёная кнопка Clone or download , вот её жми, там будет Download ZIP.
Замечу от себя, что установить драйверы для Digispark на Windows 10 мне так и не Running Digispark Uploader. Схема подключения следующая.
Модуль Arduino Digispark ATTINY85 USB
Она поддерживается бесплатной программной оболочкой для написания программ, их компиляции и программирования — Arduino IDE. Схема самодельной платы :. Питать заводской контроллер можно двумя путями: напряжением до 5В при подключении к пину 5V и до 10В при подключении к пину Vin через стабилизатор.
Все это докупается на «блошином» рынке, да и компоненты можно использовать другие — двигатель, батареи. Да-да, знаю — лютый колхоз , но надо было с чего-то начать, а дорабатывать и причесывать можно бесконечно. Крепление двигателя — из дельта-древесины бакелитовой фанеры и строительного металлического уголка. Но — деревня, грунтовка, ограничился двадцатью миллиметрами.
Проект самой простой, дешёвой и в то же время самой эффективной системы полива растений на время отпуска.
Сайт помогает найти что-нибудь интересное в огромном ассортименте магазинов и сделать удачную покупку. Если Вы купили что-то полезное, то, пожалуйста, поделитесь информацией с другими. Также у нас есть DIY сообщество , где приветствуются обзоры вещей, сделанных своими руками. Установка её в Москвич. Идеальный номер два? Xiaomi MI9 SE.
Сайт помогает найти что-нибудь интересное в огромном ассортименте магазинов и сделать удачную покупку. Если Вы купили что-то полезное, то, пожалуйста, поделитесь информацией с другими.
Прошиваем загрузчик micronucleus в ATtiny85
Обычно для программирования микроконтроллеров используют программаторы — устройства, которые работают напрямую с памятью микроконтроллера и размещают в ней программу. Так при знакомстве с ATtiny85 мы прошивали ее при помощи программатора, в роли которого выступала плата Ардуино Уно. Но при этом программирование самих плат Ардуино или Digispark, которая построена на том же ATtiny85, осуществляется без программатора. Это возможно благодаря записанному в них загрузчику, он принимает код новой программы по последовательному интерфейсу и размещает его в ПЗУ микроконтроллера. И сегодня я хочу рассказать о том, как записать загрузчик Micronucleus в ATtiny85.
Micronucleus — это загрузчик, предназначенный для AVR микроконтроллеров серии tiny, с минимальным USB интерфейсом и кросс-платформенным программным обеспечением на основе libusb для загрузки в микроконтроллер.
Он примечателен тем, что позволяет подключать микроконтроллеры к USB без использования специализированных контроллеров, используя лишь минимальную обвязку. Все необходимые функции для программирования через USB реализованы в загрузчике программно. По утверждению авторов, Micronucleus — самый маленький USB-загрузчик для AVR ATtiny.
Для записи загрузчика в ATtiny85 нужен программатор. Я опишу процедуру записи с использованием Ардуино Уно в качестве программатора, поскольку считаю этот способ наиболее доступным для поклонников Ардуино. Также нам понадобится отладочная плата как на фото в начале этой статьи. На ней присутствует необходимая для USB обвязка и DIP панелька для установки ATtiny85. После записи загрузчика она позволит подключать ATtiny85 к компьютеру через USB. По сути мы получим клон Digispark и сможем программировать его из среды Ардуино, используя пакет Digistump. Поэтому, если вы не знакомы с программированием плат Digispark, то вам следует заглянуть в мою предыдущую статью Что такое Digispark
Подготовка программатора Arduino as ISP
Итак, займемся подготовкой программатора.
Я использую Ардуино Уно, но для этих целей подойдет любая другая плата. Запускаем IDE Arduino, открываем скетч ArduinoISP (меню Файл > Примеры > ArduinoISP), подключаем Ардуино к компьютеру и загружаем в нее скетч.
Подключение ATtiny85 к программатору
Подключая микроконтроллер к ISP программатору, нужно помнить, что программирование осуществляется по линиям связи SPI: выводы MOSI, MISO и SCK программатора и ATtiny85 должны быть соединены; вывод SS программатора соединяем с выводом RESET ATtiny85. И остается запитать микроконтроллер, соединив его VCC и GND с соответствующими выводами Ардуино. Возможно, потребуется установка электролитического конденсатора между GND и RESET Ардуино для предотвращения автоматической перезагрузки. Схема подключения показана ниже.
Тема использования Ардуино в качестве программатора была подробно описана ранее, поэтому, если возникнут вопросы, посмотрите статью Arduino as ISP — программатор из Ардуино.
Запись загрузчика в ATtiny85
Записать загрузчик в ATtiny85 можно разными способами. Я опишу два из них:
- с использованием среды разработки Ардуино, заточенной под Digispark. В этом случае запись загрузчика выполняется стандартными средствами IDE;
- с использованием командной строки и программы avrdude, входящей в состав IDE Ардуино.
Выбирайте, какой вам способ удобнее.
Способ 1. Запись загрузчика из IDE Ардуино
Перейдите по ссылке https://sourceforge.net/projects/digistump/files/ и скачайте архив c IDE Ардуино, их там несколько версий. На данный момент самой свежей является версия 1.0.4 от 19.05.2013, ссылка для скачивания: DigisparkArduino-Win32-1.0.4-May19.zip.
Распакуйте архив. Перейдите в папку \DigisparkArduino-Win32\Digispark-Arduino-1.0.4\hardware\digispark\, в ней нас интересует файл boards.txt, откройте его в текстовом редакторе и найдите строку digispark-tiny.bootloader.
high_fuses=0x5f:
Сейчас в этой строке указано значение 0x5f, его нужно изменить на 0xdf. Это значение старшего конфигурационного байта позволит использовать первый вывод микроконтроллера как вход внешнего сброса. Если вы не измените указанное значение, то при записи загрузчика из среды Ардуино первыми в микроконтроллер будут записаны конфигурационные байты, тем самым лишив вас вывода Reset и возможности дальнейшей работы с микроконтроллером. Соответственно, загрузчик также записан не будет. Поэтому внесите указанные изменения и сохраните файл.
Теперь запускаем IDE из папки \DigisparkArduino-Win32\Digispark-Arduino-1.0.4\ и выполняем следующие действия:
- Подключаем Ардуино к компьютеру. ATtiny85 уже должен быть подключен к Ардуино по приведенной схеме.
- В меню Сервис — Плата выбираем значение Digispark (Tiny Core).
- Выставляем последовательный порт.
- В меню Сервис — Программатор выбираем значение Arduino as ISP.
- Записываем загрузчик в ATtiny85 командой Сервис — Записать загрузчик и дожидаемся сообщения о завершении операции.
На этом запись загрузчика в ATtiny85 завершена. Можно отсоединить микроконтроллер от программатора и попробовать загрузить в него скетч, следуя инструкции из предыдущей статьи.
Есть еще один момент, о котором стоит упомянуть. В файле boards.txt после значений конфигурационных байтов вы можете увидеть строку: digispark-tiny.bootloader.file=micronucleus-1.06-upgrade.hex — это имя файла загрузчика. Если вы захотите записать в ATtiny85 другую версию загрузчика, то нужно изменить имя файла в этой строке, а сам файл поместить в папку \DigisparkArduino-Win32\Digispark-Arduino-1.0.4\hardware\digispark\bootloaders\micronucleus\. О том, где можно скачать другие версии загрузчика и чем они отличаются, я хочу рассказать более подробно.
Версии Micronucleus
Micronucleus — это загрузчик с открытым исходным кодом, вы можете найти его на github.
Там же доступны для скачивания скомпилированные релизы. На момент написания данной статьи актуальная версия загрузчика 2.04. Это переработанная и улучшенная версия по сравнению с предыдущей ветвью 1.x, последний ее релиз — 1.11. Последним официальным релизом для плат Digispark является версия 1.06, относительно использования других версий Micronucleus разработчики Digispark не дают никаких гарантий. Но это не значит, что они не будут работать. Итого перед вами 3 ссылки для скачивания интересующих релизов загрузчика.
Релизы micronucleus могут отличаться не только номером версии, но и модификацией. Например, если в имени файла загрузчика присутствует слово jumper, то это означает, что для загрузки новой программы в микроконтроллер необходимо будет установить джампер между пятым цифровым выводом (Reset) и землей. В противном случае загрузчик не будет ждать 5 секунд и сразу перейдет к выполнению программы. Загрузчики, в имени которых присутствует upgrade, позволяют перезаписывать сами себя, то есть выполнять обновление загрузчика без использования программатора.
Это может быть полезным при использовании вывода Reset в качестве обычного цифрового пина, когда у нас нет возможности обновить загрузчик по SPI.
Способ 2. Запись загрузчика с использованием avrdude
Если у вас есть опыт работы с avrdude и нет желания скачивать очередную версию IDE только ради прошивки микроконтроллера, то этот способ для вас. Для начала скачаем файл загрузчика по одной из приведенных в предыдущем пункте ссылок. Я буду прошивать в ATtiny85 загрузчик t85_default.hex версии 2.04. Файл загрузчика нужно скопировать в папку с avrdude, чтобы в командной строке не пришлось указывать путь к нему. Напомню, что программа avrdude входит в состав IDE Arduino и находится в папке Arduino_dir\hardware\tools\avr\bin\, где Arduino_dir — это путь к IDE Arduino. Теперь, находясь в папке с avrdude, запускаем командную строку и вводим следующую команду:
avrdude -C ../etc/avrdude.conf -c arduino -p t85 -P com18 -b 19200 -U lfuse:w:0xF1:m -U hfuse:w:0xDF:m -U efuse:w:0xFE:m
Только не забудьте указать свой COM-порт, на котором висит Ардуино (ISP программатор).
Данная команда установит нужные значения фьюзов. Будьте внимательны, т.к. неверные значения фьюзов могут залочить микроконтроллер. После проверки параметров подключаем Ардуино-программатор к компьютеру и выполняем команду. Ниже приведен мой результат выполнения:
Теперь вводим команду для записи загрузчика в микроконтроллер:
avrdude -C ../etc/avrdude.conf -c arduino -p t85 -P com18 -b 19200 -U flash:w:t85_default.hex
Опять же вместо com18 и t85_default.hex укажите свой номер COM-порта и имя файла загрузчика. Выполняем команду и дожидаемся ее завершения:
Запись загрузчика завершена! Отключаем микроконтроллер от программатора и проверяем его работу в отладочной плате, загрузив в него скетч Blink.
На этом всё. Надеюсь, данная статья вам помогла. Если остались вопросы, пишите в комментариях.
Программирование микросхемы ATtiny85 непосредственно через USB без использования Arduino с использованием загрузчика Digispark
Семейство ATtiny — это серия одних из самых маленьких микроконтроллеров на рынке AVR.
Эти микроконтроллеры могут использовать многие библиотеки, доступные на платформе Arduino. Чип микроконтроллера ATtiny85 представляет собой 8-контактный 8-битный микроконтроллер AVR. Благодаря небольшому размеру и низкому энергопотреблению он отлично подходит для портативных проектов с небольшими размерами и низким энергопотреблением. Но перенос вашего кода на чип может быть немного сложной задачей, поскольку у него нет USB-интерфейса, такого как платы микроконтроллеров.
В нашем предыдущем уроке мы запрограммировали ATtiny85, используя Arduino Uno . Но подключение Attiny85 к Arduino и использование Arduino в качестве интернет-провайдера может быть сложным и трудоемким. Итак, в этом уроке мы собираемся создать плату программирования ATtiny85 , чтобы мы могли напрямую подключать и программировать ее, как и другие платы микроконтроллеров.
Компоненты, необходимые для программирования ATtiny85 через USB
- Arduino UNO (только в первый раз при загрузке загрузчика)
- ATtiny85 ИС
- Штекер USB типа A, вилка
- 3 резистора (2×47 Ом и 1×1 кОм)
- 3 диода (2 стабилитрона и 1 диод IN5819)
- 8-контактная база ИС
- Макет
- Проволочные перемычки
ИС микроконтроллера ATtiny85 – Введение
ATtiny85 компании Atmel представляет собой высокопроизводительный 8-разрядный микроконтроллер с низким энергопотреблением, основанный на усовершенствованной архитектуре RISC .
Этот чип микроконтроллера оснащен флэш-памятью ISP 8 КБ, EEPROM 512 байт, SRAM 512 байт, 6 линиями ввода-вывода общего назначения, 32 рабочими регистрами общего назначения, одним 8-разрядным таймером/счетчиком с режимами сравнения, одним 8-разрядным высокоскоростным таймер/счетчик, USI, внутренние и внешние прерывания, 4-канальный 10-разрядный аналого-цифровой преобразователь, программируемый сторожевой таймер с внутренним генератором, три программно выбираемых режима энергосбережения и debugWIRE для встроенной отладки. ATtiny85 Распиновка приведена ниже:
Большинство контактов ввода-вывода микросхемы имеют более одной функции. Описание контактов ATtiny85 для каждого контакта приведено в таблице ниже:
|
Номер контакта |
Название контакта |
Описание контакта |
|
1 |
PB5(PCINT5/ADC0/dW) |
PCINT5 : Прерывание смены контакта 0, Source5 СБРОС : Сброс Pin АЦП0: Входной канал АЦП 0 dW: отладка ПРОВОД В/В |
|
2 |
PB3 (PCINT3/XTAL1/CLKI/ADC3) |
PCINT3: Прерывание смены контакта 0, Source3 XTAL1: Кварцевый генератор Pin1 CLKI: Внешний тактовый вход АЦП3: Входной канал АЦП 3 |
|
3 |
PB4 (PCINT4/XTAL2/CLKO/OC1B/ADC2) |
PCINT4: Прерывание смены контакта 0, источник 4 XTAL2: Кварцевый осциллятор, контакт 2 CLKO: Выход системных часов OC1B: Таймер/счетчик 1 Сравнить совпадение с выходом B АЦП2: Входной канал АЦП 2 |
|
4 |
ЗЕМЛЯ |
Контакт заземления |
|
5 |
PB0(MOSI/DI/SDA/AIN0/OC0A/AREF/PCINT0) |
MOSI: SPI Master Data Output / Slave Data Input DI: Ввод данных USI (трехпроводной режим) SDA: Ввод данных USI (двухпроводной режим) AIN0: Аналоговый компаратор, положительный вход OC0A: Сравнение таймера/счетчика 0 Соответствует выходу A AREF: Внешнее аналоговое задание PCINT0: Прерывание смены контакта 0, источник 0 |
|
6 |
PB1(MISO/D0/AIN1/OC0B/OC1A/PCINT1) |
MISO: SPI Master Data Input / Slave Data Output DO: Вывод данных USI (трехпроводной режим) AIN1: Аналоговый компаратор, отрицательный вход OC0B: Таймер/счетчик 0 Сравните совпадение выхода B OC1A: Сравнение таймера/счетчика 1 Совпадение с выходом A PCINT1: Прерывание смены контакта 0, источник 1 |
|
7 |
PB2(SCK/USCK/SCL/ADC1/T0/INT0/PCINT2) |
SCK: Последовательный тактовый вход USCK: Часы USI (трехпроводной режим) SCL: Часы USI (двухпроводной режим) АЦП1: Входной канал АЦП 1 T0: Таймер/счетчик 0 Источник тактового сигнала
INT0: Внешнее прерывание 0 Вход PCINT2: Прерывание смены контакта 0, источник 2 |
|
8 |
ВКЦ |
Напряжение питания Контакт |
Прошивка загрузчика на ATtiny85 с помощью Arduino Uno
Для программирования ATtiny85 без Arduino нам сначала нужно загрузить в него загрузчик с помощью платы Arduino UNO, это одноразовый процесс, и после того, как это будет сделано, плата UNO нам больше не понадобится.
Загрузчик — это специальная программа, работающая в микроконтроллере, которую необходимо запрограммировать. Один из самых удобных способов загрузить данные вашей программы в микроконтроллер — через загрузчик. Загрузчик сидит на MCU и выполняет поступающие инструкции, а затем записывает новую программную информацию в память микроконтроллера. Прошивка загрузчика на микроконтроллере устраняет необходимость в специальном внешнем оборудовании (платах программатора) для программирования микроконтроллера, и вы сможете программировать его напрямую, используя USB-соединение. Плата Digispark ATtiny85 запускает загрузчик micronucleus tiny85, изначально написанный Bluebie. Загрузчик — это код, который предварительно запрограммирован в Digispark и позволяет ему действовать как USB-устройству, чтобы его можно было запрограммировать с помощью Arduino IDE. Мы также собираемся прошить тот же digispark attiny85 загрузчик на ATtiny85.
Пошаговое руководство по прошивке загрузчика на ATtiny85 с помощью Arduino Uno и Arduino IDE приведено ниже:
Шаг 1: Настройка Arduino Uno в качестве интернет-провайдера:
Поскольку ATtiny85 — это всего лишь микроконтроллер, для его программирования требуется ISP (внутрисистемное программирование).
Итак, чтобы запрограммировать ATtiny85, нам нужно сначала настроить Arduino Uno в качестве интернет-провайдера, чтобы он действовал как программатор для ATtiny85. Для этого подключите Arduino Uno к ноутбуку и откройте среду разработки Arduino IDE. После этого перейдите к File > Example > ArduinoISP и загрузите код Arduino ISP.
Шаг 2: Схема прошивки загрузчика на ATtiny85:
Полная схема прошивки загрузчика на ATtiny85 приведена ниже:
Конденсатор емкостью 10 мкФ подключается между контактами сброса и заземления Arduino. Полные соединения приведены в таблице ниже:
|
Пин ATtiny85 |
Пин-код Arduino Uno |
|
Вкк |
5В |
|
ЗЕМЛЯ |
ЗЕМЛЯ |
|
Контакт 2 |
13 |
|
Контакт 1 |
12 |
|
Контакт 0 |
11 |
|
Сброс |
10 |
Теперь подключите Arduino Uno к ноутбуку и откройте среду разработки Arduino IDE.
Найдите, к какому COM-порту подключен Uno. В моем случае это COM5.
После этого загрузите файлы загрузчика ATtiny85 по указанной ссылке. Откройте « Burn_AT85_bootloader.bat » и измените номер COM-порта «PCOM5» на любой номер COM-порта, к которому подключен ваш Uno. Сохраните изменения перед выходом.
Теперь переместите отредактированные файлы « Burn_AT85_bootloader.bat » и « ATtiny85.hex » в корневую папку Arduino IDE ( C:\Program Files (x86)\Arduino ).
После этого щелкните правой кнопкой мыши на » Burn_AT85_bootloader.bat «и выберите «Запуск от имени администратора». Прошивка загрузчика занимает от 5 до 6 секунд. Если все прошло хорошо, вы должны получить это сообщение «AVRdude done. Спасибо. Нажмите любую клавишу, чтобы продолжить…».
Таким образом, загрузчик успешно установлен на чип ATtiny85. Теперь пришло время подключить USB к ATtiny85, чтобы мы могли программировать его напрямую.
Принципиальная схема для программирование ATtiny85 через USB приведено ниже:
Принципиальная схема программатора ATtiny
Схема взята со схемы платы Digispark ATtiny85, но, поскольку мы стремимся создать программатор для ATtiny85, , мы подключаем только штекер USB-штекера к ATtiny85.
R3 — это подтягивающий резистор, который подключается между выводами Vcc и PB3 микросхемы, а стабилитроны (D1-D2) добавляются для полной защиты интерфейса USB. После пайки всех компонентов на перфорированной плате она будет выглядеть примерно так:
Установка драйверов Digispark
Чтобы запрограммировать ATtiny85 с помощью USB, на вашем ноутбуке должны быть установлены драйверы Digispark. Если у вас их нет, вы можете скачать их по ссылке, указанной выше. Затем распакуйте zip-файл и дважды щелкните приложение « DPinst64.exe », чтобы установить драйверы.
После успешной установки драйверов подключите плату ATtiny85 к ноутбуку.
Теперь перейдите в Диспетчер устройств в Windows, и устройство ATtiny85 будет указано в разделе «Устройства libusb-win32» как «Загрузчик Digispark». Если вы не можете найти «устройства libusb-win32» в диспетчере устройств, перейдите к пункту 9.0005 Просмотрите и нажмите «Показать скрытые устройства».
Настройка Arduino IDE для программирования ATttiny85
Чтобы запрограммировать плату ATtiny85 с помощью Arduino IDE, во-первых, нам нужно добавить поддержку платы Digispark в Arduino IDE. Для этого перейдите в «Файл» > «Настройки» и добавьте ссылку ниже в URL-адреса диспетчера дополнительных плат и нажмите «ОК».0002 После этого перейдите в tools > Board > Board Manager , найдите «Digistump AVR» и установите последнюю версию.
После его установки вы сможете увидеть новую запись в меню Board под названием ‘Digispark’ .
Теперь перейдите в файл > Примеры > Основы и откройте пример Blink.
Измените номер контакта с LED_BUILTIN на 0.
Теперь вернитесь к Инструменты -> Плата и выберите плату « Digispark (по умолчанию — 16 МГц) ». Затем нажмите кнопку загрузки в Arduino IDE.
Примечание: Подключите плату ATtiny85 к компьютеру только тогда, когда среда разработки Arduino отобразит сообщение «Подключите устройство сейчас».
После загрузки кода светодиод, подключенный к ATtiny85, должен начать мигать.
Вот как вы можете собрать свою собственную плату ATtiny85 для программирования Arduino . Рабочее видео того же самого приведено ниже. Если у вас есть какие-либо вопросы, оставьте их в разделе комментариев. По любым другим техническим вопросам вы также можете начать обсуждение на наших форумах. 9Конденсатор 0003
— Каково значение этих компонентов на схеме? (Digispark ATtiny85)
Диод D3 неправильно представлен на этой принципиальной схеме Digispark и не соответствует реальной аппаратной конфигурации.
На самом деле аппаратное обеспечение Digispark включает его с обратной полярностью, так что USB может обеспечить +5V к устройству, в то время как внешний источник питания не будет подавать ток на USB (чтобы защитить внешние хост-устройства, подключенные через USB, когда Digispark питается от контактов 5V или VIN).
Из-за перевернутой полярности диодов, представленной на этой схеме, USB не сможет питать устройство Digispark, что на самом деле и происходит.
Значение диода D3 заключается в том, что при питании устройства Digispark напряжением 3,3 В на контакте 5 В сначала необходимо физически отключить USB (кроме удаления линейного регулятора).
Устройство Digispark использует побитовую реализацию протокола USB через PB3 и PB4; два стабилитрона D1 и D2 являются частью соответствующего физического интерфейса, ограничивая напряжение линий передачи данных USB до 3,6 В (более или менее) в соответствии со спецификацией стандарта USB. На самом деле USB D- подтягивается до +5 В, чтобы указать USB-хосту низкоскоростное устройство, а сеть D1-R3 снижает напряжение D- до 3,6 В.
Кроме того, когда микросхема управляет интерфейсом USB через PB3 и PB4, сети R1-D1 и R2-D2 уменьшают интерфейсное напряжение USB D- и USB D+ соответственно, ограничивая его до 3,6 В. Этот упрощенный физический интерфейс USB имеет тот недостаток, что потребляет дополнительный ток даже тогда, когда USB не используется, как поясняется далее.
Сеть из двух шунтирующих конденсаторов является стандартным подходом при питании ИС, при этом два конденсатора устанавливаются как можно ближе к контактам Vcc и GND (это также соответствует методам шумоподавления, упомянутым в техническом описании ATtiny85). Конденсатор большего размера сглаживает низкочастотные колебания напряжения питания, управляя переходными токами, возникающими при переключении состояний ИС (особенно при управлении внешними устройствами), а конденсатор меньшего размера подавляет высокочастотные переходные процессы часов.
Обратите внимание, что недостаток R3-D1 заключается в постоянном потреблении тока (около 1 мА при 5 В = 5-3,6 В)/1,5 кОм на этой принципиальной схеме), что является разумной мощностью, особенно при удалении линейного регулятора ( чтобы включить питание Digispark от внешнего источника +5 В без обратного питания линейного регулятора 78M05), R4 удален (чтобы отключить светодиод PWR, который потребляет энергию), а микросхема ATtiny85 установлена в спящий режим при отключении питания.
