ATtiny85 USB: особенности программирования и устранение неполадок

Как правильно прошить загрузчик на ATtiny85 для работы по USB. Какие проблемы могут возникнуть при подключении ATtiny85 к компьютеру по USB. Как настроить фьюзы ATtiny85 для корректной работы по USB. Почему ATtiny85 может не определяться как USB-устройство после прошивки.

Содержание

Особенности микроконтроллера ATtiny85

ATtiny85 — это 8-битный микроконтроллер семейства AVR от компании Atmel (теперь часть Microchip). Он обладает следующими ключевыми характеристиками:

  • 8 КБ флэш-памяти программ
  • 512 байт EEPROM
  • 512 байт SRAM
  • 6 программируемых линий ввода/вывода
  • Встроенный USB-контроллер
  • Тактовая частота до 20 МГц

Благодаря компактным размерам, низкому энергопотреблению и встроенному USB, ATtiny85 часто используется в проектах, требующих прямого подключения к компьютеру без дополнительных микросхем.

Программирование ATtiny85 для работы по USB

Для того чтобы ATtiny85 мог работать как USB-устройство, необходимо выполнить следующие шаги:


  1. Прошить специальный загрузчик (например, Micronucleus)
  2. Настроить фьюзы микроконтроллера
  3. Установить драйверы на компьютер

Рассмотрим каждый из этих шагов подробнее.

Прошивка загрузчика Micronucleus

Micronucleus — это компактный загрузчик, позволяющий программировать ATtiny85 через USB без использования программатора. Процесс прошивки включает:

  1. Подключение ATtiny85 к программатору (например, Arduino как ISP)
  2. Загрузку прошивки Micronucleus
  3. Запись прошивки в память ATtiny85

Правильная прошивка загрузчика критически важна для работы ATtiny85 по USB. Ошибки на этом этапе могут привести к тому, что микроконтроллер не будет определяться как USB-устройство.

Настройка фьюзов ATtiny85

Фьюзы — это специальные биты конфигурации микроконтроллера, определяющие его базовые настройки. Для работы ATtiny85 по USB необходимо правильно настроить следующие фьюзы:

  • LFUSE: 0xE1 — настройка тактирования
  • HFUSE: 0xDD — разрешение самопрограммирования
  • EFUSE: 0xFE — настройки защиты памяти

Особенно важен бит SELFPRGEN в EFUSE, разрешающий самопрограммирование. Без него загрузчик не сможет записывать код в память микроконтроллера.


Как проверить и изменить фьюзы?

Для проверки текущих значений фьюзов можно использовать команду avrdude:

avrdude -c arduino -p t85 -U lfuse:r:-:h -U hfuse:r:-:h -U efuse:r:-:h

Для записи новых значений:

avrdude -c arduino -p t85 -U lfuse:w:0xE1:m -U hfuse:w:0xDD:m -U efuse:w:0xFE:m

Неправильная настройка фьюзов — одна из распространенных причин проблем с USB на ATtiny85.

Установка драйверов для ATtiny85

Для корректного определения ATtiny85 как USB-устройства в операционной системе требуются специальные драйверы. Процесс установки включает:

  1. Загрузку драйверов с официального репозитория
  2. Запуск установщика драйверов
  3. Подтверждение установки неподписанного драйвера (в Windows)

В некоторых случаях может потребоваться ручная установка драйвера через Диспетчер устройств Windows.

Распространенные проблемы при подключении ATtiny85 по USB

Даже при правильном выполнении всех шагов могут возникать проблемы с определением ATtiny85 как USB-устройства. Рассмотрим наиболее частые:

Устройство не определяется при подключении

Возможные причины:


  • Неправильно настроены фьюзы
  • Поврежден загрузчик Micronucleus
  • Не установлены или конфликтуют драйверы

Решение: проверить настройки фьюзов, перепрошить загрузчик, переустановить драйверы.

Устройство определяется, но не программируется

Возможные причины:

  • Неправильно настроен бит SELFPRGEN
  • Конфликт с антивирусом или брандмауэром

Решение: проверить значение EFUSE, временно отключить защитное ПО.

Отладка проблем с USB на ATtiny85

Для диагностики проблем с USB-подключением ATtiny85 можно использовать следующие инструменты:

  • USBTreeView — для анализа USB-устройств в системе
  • Wireshark — для захвата USB-трафика
  • AVRdude — для проверки и изменения настроек микроконтроллера

Пошаговый процесс отладки:

  1. Проверить физическое подключение и питание
  2. Убедиться в корректности фьюзов
  3. Проверить наличие загрузчика в памяти
  4. Проанализировать определение устройства в системе
  5. Отследить процесс инициализации USB-подключения

Альтернативные методы программирования ATtiny85

Если не удается настроить программирование через USB, можно воспользоваться альтернативными методами:


  • Программирование через SPI с помощью внешнего программатора
  • Использование Arduino в качестве программатора (Arduino as ISP)
  • Программирование через HVSP (High Voltage Serial Programming)

Каждый из этих методов имеет свои преимущества и недостатки. Выбор зависит от конкретной ситуации и доступного оборудования.

Оптимизация кода для ATtiny85

Учитывая ограниченные ресурсы ATtiny85, важно оптимизировать код для эффективного использования памяти и вычислительной мощности:

  • Использование библиотек, оптимизированных для ATtiny
  • Минимизация использования глобальных переменных
  • Применение техник экономии памяти (например, PROGMEM для констант)
  • Оптимизация циклов и алгоритмов

Правильная оптимизация позволяет реализовать более сложную функциональность даже на таком компактном микроконтроллере.


отзывы, фото и характеристики на Aredi.ru

На нашем сайте отображены товары, которые автоматически импортируются с сайта allegro.pl и переводятся на русский язык.

Так как мы не являемся продавцами товара, который отображен на нашем сайте, мы не можем обладать всей информацией о том или ином товаре. Дополнительную информацию о товарах можно узнать несколькими способами:

1. Подробно ознакомиться с описанием. Обычно вся необходимая информация находится в официальном описании на странице лота.

2. Если интересующей вас информации в описании не оказалось, можно задать вопрос напрямую продавцу. Он ответит вам в течение одного рабочего дня.

3. Если вы обладаете богатым опытом серфинга в интернете, возможно, вы сможете найти информацию о данном товаре на различных форумах и других интернет-ресурсах, воспользовавшись глобальными службами интернет-поиска.

4. Если вы не владеете языком или не желаете уточнить информацию по какой-либо другой причине, пожалуйста, обращайтесь к нам — мы с радостью вам поможем. Для того, чтобы мы задали вопрос продавцу, оформите заказ и в комментариях к товару пропишите интересующие вопросы. В течении дня мы сделаем запрос продавцу, комментарии появятся в личном кабинете.

Точный вес товара становится известным, только когда товар поступает на склад. Узнать примерный вес товара можно характеристиках товара, но не все продавцы его пишут.

Избежать некачественного товара можно путем тщательного отбора продавцов, т.е. старайтесь не гнаться за дешевыми товарами, которые продаются у продавцов с низким рейтингом. Доверяйте только проверенным интернет-магазинам. Если вы покупаете товар и сомневаетесь в надёжности продавца, то лучше заказать дополнительные фотографии.

1.​​Ищите по ключевым словам, уточняйте по каталогу слева

Допустим, вы хотите найти фару для AUDI, но поисковик выдает много результатов, тогда нужно будет в поисковую строку ввести точную марку автомобиля, потом в списке категорий, который находится слева, выберите новую категорию (Автозапчасти — Запчасти для легковых авто – Освещение- Фары передние фары). После, из предъявленного списка нужно выбрать нужный лот.

2. Сократите запрос

Например, вам понадобилось найти переднее правое крыло на KIA Sportage 2015 года, не пишите в поисковой строке полное наименование, а напишите крыло KIA Sportage 15 . Поисковая система скажет «спасибо» за короткий четкий вопрос, который можно редактировать с учетом выданных поисковиком результатов.

3. Используйте аналогичные сочетания слов и синонимы

Система сможет не понять какое-либо сочетание слов и перевести его неправильно. Например, у запроса «стол для компьютера» более 700 лотов, тогда как у запроса «компьютерный стол» всего 10.

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

Если вы, например, ищете стекло на ваш смартфон, нужно забивать «стекло на xiaomi redmi 4 pro», а не «стекло на сяоми редми 4 про».

5. Сокращения и аббревиатуры пишите по-английски

Если приводить пример, то словосочетание «ступица бмв е65» выдаст отсутствие результатов из-за того, что в e65 буква е русская. Система этого не понимает. Чтобы автоматика распознала ваш запрос, нужно ввести то же самое, но на английском — «ступица BMW e65».

6. Мало результатов? Ищите не только в названии объявления, но и в описании!

Не все продавцы пишут в названии объявления нужные параметры для поиска, поэтому воспользуйтесь функцией поиска в описании объявления! Например, вы ищите турбину и знаете ее номер «711006-9004S», вставьте в поисковую строку номер, выберете галочкой “искать в описании” — система выдаст намного больше результатов!

7. Смело ищите на польском, если знаете название нужной вещи на этом языке

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

Бесплатный STL файл Digispark attiny85 BadUsb поддельный футляр для usb памяти・3D-печатная модель для загрузки・Cults


Коробка для проектов с зажимом Flipper zero

4,43 €

Универсальная кожа Flipper zero с держателем для ремня

2,66 €

Подвеска для ключей портальной турели

1,33 €

Боевой топор Механикус в натуральную величину

9,04 €

DJI Phantom 1,2,3 wide and tall landing gear

1,77 €

Mini BB MACHINEGUN

2,66 € -35% 1,73 €

Форма для изготовления приманки для ловли насекомых

3 €

Двойная форма для рыболовных приманок

5 €

Лучшие файлы для 3D-принтеров в категории Инструменты

Car Bag Restraint — Stops your bag flying forward in your car

Бесплатно

Устройство для изготовления бумажных горшков двойное — инструмент для садоводства

1,15 €

Калибровочный куб_ICPI

Бесплатно

Modular (Endless) Spool Holder

1,52 €

NeoTrellis Sound Board

Бесплатно

Space Shuttle Bag Dispenser!

Бесплатно

Sleeve Case for Raspberry Pi

Бесплатно

Protège doigts / Finger guard

Бесплатно

Бестселлеры категории Инструменты

SUPERBOX

1,50 €

gb-22 mini

0,90 €

ENDER 3 S1/S1 PRO, ПРОФИЛЬ 2020 ALU, КАТУШКОДЕРЖАТЕЛЬ И ДЕПОРТИРОВАННАЯ КАТУШКА

2,09 € -18% 1,71 €

PET-Machine, сделайте свой собственный филамент из пластиковых бутылок в домашних условиях!

50 € -70% 15 €

Контейнер для хранения пожарного гидранта

1,84 €

Воздуховод вентилятора Sovol SV06 5015 — оптимизирован CFD

3,75 €

noctua 4010 модернизация Bambu X1 вентилятор материнской платы

1,21 €

Ender 3 S1 BEST кабельная направляющая — вертикальная

2,50 €

хорошо спроектирован: воздуховод вентилятора Hemera

2,50 €

Держатель инструментов для 3D принтера V3.

0

1,01 €

Cut-Man — резак для ПЭТ-бутылок с ручкой!

5 € -30% 3,50 €

Ящики для принтера для стола Ikea Lack Table

1,99 €

Подставка для краски с ножницами

5,09 €

Ender 3, 3 V2, 3 pro, 3 max, двойной 40 мм осевой вентилятор hot end duct / fang. CR-10, прямой привод Micro Swiss и совместимость с боуденом. Для печати не требуется поддержка

1,55 €

Чехол для зажигалки Chill Buddy

0,91 €

Creality Sonic Pad Mount для Ender 3 S1 Pro

1,29 €



Вы хотите поддержать Cults?

Вам нравятся Cults и вы хотите помочь нам продолжить наш путь самостоятельно? Обратите внимание, что мы — маленькая команда из 3 человек, поэтому поддержать нас в

поддержании деятельности и создании будущих разработок очень просто. Вот 4 решения, доступные для всех:

  • РЕКЛАМА: Отключайте блокировщик баннеров AdBlock и кликайте на наши рекламные баннеры.

  • АФФИЛИАЦИЯ: Совершайте покупки онлайн, переходя по нашим партнерским ссылкам здесь Amazon.

  • ДОНАТЫ: Если хотите, то можно сделать пожертвование через PayPal здесь.

  • *ПРИГЛАШЕНИЕ ДРУЗЕЙ: * Приглашайте своих друзей, откройте для себя платформу и великолепные 3D-файлы, которыми делится сообщество!

У кого-нибудь Digispark Attiny85 не ВИДЕЛ некоторые контроллеры USB, но видел через HUB или DOCK на том же устройстве?

Я купил несколько различных типов клонов DigiSpark Attiny85 (не смог найти оригиналы в наличии), и они отлично работали, за исключением того, что некоторые устройства (пока только ноутбуки) не видят устройство ВООБЩЕ.

Дело не в том, что они не распознают его, а в том, что это проблема с драйвером — драйвер не к чему применить, нет признаков того, что устройство даже подключено, кроме того, что загорается индикатор (поэтому я знаю, что у него есть питание) .

Более того, если я подключу Digispark к любому проблемному устройству через док-станцию, USB-концентратор и т. д., все будет работать как положено (подтверждение того, что драйверы в порядке), и я могу писать сценарии для digispark.

Я пытался обновить загрузчик Nucleous, но проблема осталась. Я сталкиваюсь с этой проблемой на трех современных ноутбуках (HP и 2 Dell), но на моих старых ноутбуках Lenovo проблем нет. Не уверены, что здесь проблема с современными USB-контроллерами? ОБНОВЛЕНИЕ

: Все указывает на то, что это просто проблема с контроллерами Digispark и некоторыми контроллерами USB 3.0. Часы правильно установлены на 16,5 МГц, поэтому не знаю, что еще делать, кроме как списать их как надежное устройство.

У кого-нибудь есть опыт или предложения?

Спасибо!

  • attiny85
  • digispark

5

Похоже, что проблема связана с синхронизацией Attiny85 с чипсетами USB 3. 0, поэтому решить ее невозможно.

Четыре дорожки USB на плате digistump НЕ соответствуют техническим характеристикам и не работают с 4/5-проводными портами USB3. Используйте дремель или ленточнопильный станок и отрежьте примерно 2/3 конца USB-разъема печатной платы digistump. Оставьте достаточное количество исходных четырех дорожек для пайки. Отрежьте конец штекера от старого шнура USB. После тщательного отрезания и очистки пластика и старых проводов на самом USB-разъеме он идеально подходит к старым (теперь более коротким) следам на пальцекоптере. Убедитесь, что стороны дорожек на старой и новой вилке имеют одинаковое направление, и припаяйте все четыре соединения. Добавьте немного суперклея и / или силикона для прочности, и он должен работать каждый раз с любым USB-портом.

ВЗ

Зарегистрируйтесь или войдите в систему

Зарегистрируйтесь с помощью Google

Зарегистрироваться через Facebook

Зарегистрируйтесь, используя адрес электронной почты и пароль

Опубликовать как гость

Электронная почта

Требуется, но никогда не отображается

Опубликовать как гость

Электронная почта

Требуется, но не отображается

Нажимая «Опубликовать свой ответ», вы соглашаетесь с нашими условиями обслуживания, политикой конфиденциальности и политикой использования файлов cookie

.

attiny — Устранение неполадок USB ATTiny85. Устройство не распознается, когда программатор просит подключить устройство

спросил

Изменено 1 год, 10 месяцев назад

Просмотрено 661 раз

Я купил эту дешевую плату программатора AVR и подумал, что со мной все будет в порядке, просто подключив ее к порту USB. Затем, после того, как я это сделал, ничего не произошло, поэтому я провел последние 4 часа, пытаясь понять, что происходит не так. Я узнал, что микросхемы ATTiny85 часто поставляются без загрузчика. Итак, сначала я протестировал его с помощью Arduino в качестве интернет-провайдера и простого мигающего кода. Это сработало. Затем я скачал micronucleus и прошил его через Arduino как ISP. Я думаю, что этот процесс работал довольно хорошо, так как вывод показывает

 > avrdude -C ../etc/avrdude.conf -c arduino -p t85 -P COM3 -b 19200 -U flash:w:/micronucleus/firmware/releases/t85_default.hex
 
 avrdude: устройство AVR инициализировано и готово к принятию инструкций
 
 Чтение | ################################################### | 100%
 0,01 с
 
 avrdude: Подпись устройства = 0x1e930b (вероятно, t85) avrdude: ПРИМЕЧАНИЕ:
 указана "flash" память, будет выполнен цикл стирания
          Чтобы отключить эту функцию, укажите параметр -D. avrdude: стирание чипа avrdude: чтение входного файла
 "/micronucleus/firmware/releases/t85_default.hex" avrdude: входной файл
 /micronucleus/firmware/releases/t85_default.hex автоматически определяется как Intel
 Hex avrdude: запись flash (8166 байт):
 
 Написание | ################################################### | 100%
 0,09с
 
 avrdude: записано 8166 байт флэш-памяти avrdude: проверка флэш-памяти
 против /micronucleus/firmware/releases/t85_default. hex:avrdude:load
 data flash данные из входного файла
 /micronucleus/firmware/releases/t85_default.hex:avrdude: входной файл
 /micronucleus/firmware/releases/t85_default.hex автоматически определяется как Intel
 Hex avrdude: входной файл
 /micronucleus/firmware/releases/t85_default.hex содержит 8166 байт.
 avrdude: чтение данных встроенной флэш-памяти:
 
 Чтение | ################################################### | 100%
 0,09с
 
 avrdude: проверка... avrdude: проверено 8166 байт флэш-памяти
 
 avrdude: safemode: Предохранители в порядке (E:FF, H:DF, L:62)
 
 avrdude сделано. Спасибо.
 

Проблема, с которой я сейчас столкнулся, заключается в том, что когда я пытаюсь загрузить код с помощью платы разработки ATTiny через arduino IDE (выбирая Attiny85 digispark по умолчанию 16,5 МГц), и он просит меня подключить устройство, устройство не распознается.

Я уже установил драйверы, загруженные из раздела выпуска github репозитория DevicestumpArduino, попытался установить драйвер конфигурации micronucleus через zadiag, как я читал в этом вопросе, но ничего не получилось. Что мне не хватает?

  • attiny
  • attiny85

Из вашего вывода AVRDude:

avrdude: safemode: Предохранители в порядке (E:FF, H:DF, L:62)

Не похоже, что вы запрограммировали фьюзы конфигурации AVR.

Один за штуку, E:FF , это расширенное значение фьюза 0xFF, в котором отсутствует фьюз SELFPRGEN (самопрограммирующийся), который позволил бы Micronucleus загрузить ваш код в AVR, то есть разрешить AVR выполняться инструкции по программированию себя. Таким образом, если предположить, что он появится на USB, вы не сможете использовать его для размещения кода на своем чипе.

Вы можете увидеть, какими они должны быть, где makefile fuse target зависит от вашей конфигурации t85_default :

 FUSEOPT = -U lfuse:w:0xe1:m -U hfuse:w:0xdd:m -U efuse: w:0xfe:м
 

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

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

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