Главная arrow Программирование arrow AVR arrow Макетная плата AVR-USB-TINY45 Wednesday, June 07 2023  
ГлавнаяКонтактыАдминистрированиеПрограммированиеСсылки
UK-flag-ico.png English Version
GERMAN-flag-ico.png Die deutsche Version
map.gif карта сайта
нашли опечатку?

Пожалуйста, сообщите об этом - просто выделите ошибочное слово или фразу и нажмите Shift Enter.

Поделиться:

Макетная плата AVR-USB-TINY45 Версия для печати
Написал microsin   
20.12.2008

Макетная плата AVR-USB-TINY45 позволяет разрабатывать на основе микроконтроллера ATtiny45 (или ATtiny85) и открытой библиотеки V-USB (старое название AVR-USB, см. Википедию) простые и маленькие USB-устройства.

AVR-usb-tiny45.JPG Вид сверху hntd-tiny45-8178.jpg hntd-tiny45-8173.jpg hntd-tiny45-8167.jpg

Размеры платы с макетным полем 42.4 x 12.3 мм, без макетного поля 23.4 x 12.3 мм (для уменьшения размеров макетное поле можно отрезать). Толщина платы вместе с монтажом 11.5 мм (определяется самым высоким элементом на плате - ISP коннектором, он выступает над поверхностью TOP платы на 9 мм).

На плате есть необходимый минимум для макетирования и отладки - разведено макетное поле и разъем ISP для программирования микроконтроллера ATtiny45. Плата спроектирована таким образом, что по окончании разработки ненужные части платы (USB-коннектор, коннектор ISP, и даже макетное поле) можно обрезать, уменьшив тем самым габариты устройства.

hntd-tiny45-8177scissors.jpg

Хороший пример использования макетной платы AVR-USB-TINY45 - USB-устройство, которое работает как USB-HID клавиатура и посылает время от времени случайные нажатия. Незаметно вставив такое устройство в порт USB, можно неплохо над кем-нибудь подшутить (если что, я этого Вам не советовал =).

 hntd-tiny45-8184.jpg  hntd-tiny45-8186.jpg  hntd-tiny45-8190.jpg

Код и схема взяты отсюда - Haunted USB Cable, http://imakeprojects.com/Projects/haunted-usb-cable/, идея здесь - http://macetech.com/blog/?q=node/46. Исходный код и прошивку, слегка подправленную мной (я увеличил скорость выдачи случайных нажатий) можно также скачать здесь - http://microsin.ru/Download.cnt/avr/081220haunted-usb-1.0-tiny45-public.rar.

[Как заказать]

Если хотите приобрести пустую макетную плату AVR-USB-TINY45, отправьте мне email (адрес см. на страничке Контакты), или оставьте комментарий ниже, указав контакты для связи с Вами (email, ICQ или телефон). Если Вы находитесь не в Москве, возможна пересылка наложенным платежом. Стоимость одной пустой макетной платы без пересылки составляет 100 руб(внимание: это только пустая плата, без монтажа и деталей), готовая полностью собранная плата стоит 250 руб. Стоимость почтовой пересылки около 180 руб. (точная цена пересылки может колебаться в зависимости от места проживания). При пересылке её стоимость складывается со стоимостью платы. Например, пустая макетная плата AVR-USB-TINY45 вместе с пересылкой Вам обойдется примерно 280 руб.

[Ссылки]

1. Макетная плата AVR-USB-MEGA16.
2. http://www.obdev.at/products/avrusb/projects.html - здесь можно найти много интересного, связанного с разработкой USB-устройств на основе библиотеки AVR-USB.
3. Автокликер (устройство, которое эмулирует мышь). В автокликере используется другой микроконтроллер - ATtiny2313, фьюзы для него FUSE_L = 0xEF, FUSE_H = 0xDB.
4. Код и схема Haunted USB Cable. Моя версия - http://microsin.ru/Download.cnt/avr/081220haunted-usb-1.0-tiny45-public.rar. Используется микроконтроллер - ATtiny45 (можно использовать ATtiny85), фьюзы для него FUSE_L = 0xD1, FUSE_H = 0xDD.
5. Keyboard Scan Code Specification (скан-коды обычных и USB-клавиатур).
6Как портировать проекты V-USB с ATmega16 (ATmega32) на ATtiny45 (ATtiny85).

Последнее обновление ( 20.10.2017 )
 

Комментарии  

  1. #22 ngockonvang
    2014-03-1018:35:33 Столкнулся также с проблемой сброса микроконтроллер а после перезагрузки компа. После перезагрузки устройство не определяется.

    microsin: эта тема уже поднималась. Для поддержки перезагрузки нужно дорабатывать как прошивку, так и аппаратуру устройства USB.
  2. #21 Евгений
    2013-02-1305:41:24 У Вас еще можно заказать плату? А то я Вам на ICQ писал, так ответа и не дождался.

    microsin: лучше пишите на email, это надежнее (см. Контакты).
  3. #20 McAron
    2012-12-1902:10:28 Заработал software UART, но лишь при F_CPU=8000000. Возможно ли при такой частоте использовать библиотеки V-USB на attiny85? По сути мне нужно связать две платы AVR-USB-TINY85, воткнутые в USB порты разных компов.

    microsin: то, что у Вас код software UART заработал при F_CPU=8000000, ничего удивительного - код software UART жестко привязан к частоте процессора. Библиотека V-USB на такой частоте работать не будет. Чтобы выполнить Вашу задачу, используйте готовый проект AVR CDC, про который я уже упоминал. Не забывайте про необходимость оптронной развязки, так как межу шасси компьютеров может быть очень высокое напряжение.
  4. #19 McAron
    2012-12-1800:59:43 А кому-нибудь доводилось поднимать программный UART на Attiny85? Мучаюсь с этим кодом (гуглить: "Программный UART для любого микроконтроллер а"), но без толку. Ресивер показывает, что отправляются лишь 0xFF вместо каждого байта. Выставил F_CPU=16500000, остальное не трогал, только перекомпилирова л под attiny85.

    microsin: для программного UART важен выбор тактовой частоты. Идеальный вариант - подключение внешнего кварца, либо синхронизация (автоподстройка частоты по внешнему сигналу). Если выставить частоту неточно, или неправильно, то программный UART либо вообще не будет работать, либо будет глючить, либо будет (кое-как) работать только на малых скоростях приема и передачи. Надежность работы также будет зависеть от настроек оптимизации и версии компилятора (!), потому что это влияет на время обработки кода. Так что не удивляйтесь, что у Вас ничего не получается - очень легко ошибиться с настройкой или программной реализацией. Для кристалла ATtiny45 (или ATtiny85) намного интересней в плане связи с компьютером и/или отладки может оказаться виртуальный USB COM-порт, который работает надежно и стабильно (гуглить: "AVR-CDC: виртуальный COM-порт"). Все потому, что тактовая частота в этом проекте сверяется с высокоточной частотой следования импульсов начала фрейма USB (SOF, Start Of Frame), следующих с частотой 1000 Гц. Поэтому с помощью ФАПЧ и подстройки частоты значение тактовой 16.5 МГц получается очень точным. То, что Вы там что-то и как-то нахаляву выставили, еще не говорит о том, что оно будет работать так, как Вы хотите. Пока не позаботитесь об этом - либо не сделаете синхронизацию/автоподстройку ФАПЧ, либо не подберете тактовую частоту под нужную скорость UART, либо пока не подберете компилятор или его настройки, либо пока не настроите точно время выполнения кода, либо пока не ограничитесь малой скоростью UART. Сплошные либо… Пока не поработаете руками и головой, ничего не добьетесь.
  5. #18 Vitaly
    2012-02-2313:18:34 Столкнулся также с проблемой сброса микроконтроллер а после перезагрузки компа. Т.к. устройство не определяется. Придумал такое решение http://obruboff.ru/no-detect-usb-tiny-device-after-reboot-problem/
  6. #17 Новичёк-прогер
    2011-12-1220:45:11 Получается что микросхема пустая с завода приходит, а потом прошивка нужная заливается? Хочется на базе этих микросхем дом автоматизироват ь. А что за порт ISP а что за порт ISP и как его собрать?

    microsin: некоторые микросхемы (например AT90USB162, AT90USB647, которые стоят на макетных платах AVR-USB162, USERIAL) приходят с завода Atmel прямо с прописанным USB-загрузчиком. В некоторые, которые приходят без загрузчика, я прописываю загрузчик сам (например, ATmega32A, ATmega328 которые стоят на макетных платах AVR-USB-MEGA16, METABOARD). Загрузчик (бутлоадер) записывается в верхние (старшие) адреса памяти чипа, и при записи программы пользователя через загрузчик сам загрузчик не стирается, и доступен для многократного использования. ISP расшифровываетс я In System Programming, т. е. "программировани е в собранной системе". Порт ISP нужен для программировани е памяти и фьюзов чипа с помощью внешнего программатора. Подробности по поводу ISP можете получить в даташите на нужный микроконтроллер .
  7. #16 Andrey
    2011-10-2701:35:06 Возможна ли прошивка контроллера по USB?

    microsin: можно прошивать только по ISP и debugWire (оба способа через коннектор ISP). Через USB прошивать нельзя, так как готового загрузчика (bootloader) для чипа ATtiny нет, и архитектура этого чипа вообще загрузчик не предусматривает (нет секции бутлоадера, в отличие от чипов ATmega16 и ATmega32, например). Теоретически такой USB бутлоадер сделать все равно можно, однако программа пользователя (которая работает в памяти и будет загружена по USB) должна поддерживать его наличие.
  8. #15 Сергей
    2011-09-0709:04:42 Подскажите пожалуйста как адаптировать программу Haunted USB Cable под ATTiny85, просто изменить в проекте? При таком варианте компилируется с предупреждением .

    microsin: нужно в makefile проекта поменять DEVICE = attiny45 на DEVICE = attiny85, сделать make clean и make hex.
  9. #14 Сергей
    2011-08-1216:04:37 А хватит ли памяти в ATtiny25?

    microsin: для USB-приложений памяти ATtiny25 недостаточно. Используйте ATtiny45 и ATtiny85.
  10. #13 Сергей
    2011-03-0415:07:53 Классная штука!!! А как добавить эмуляцию нажатия русских и латинских букв?

    microsin: нужно передавать сканкоды клавиш нажатия переключения раскладки, например Alt + Shift. Само собой, какие сканкоды передавать, зависит от того, какие кнопки для переключения раскладки назначены в Windows.

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

:D:lol::-);-)8):-|:-*:oops::sad::cry::o:-?:-x:eek::zzz:P:roll::sigh:

Защитный код
Обновить

< Пред.   След. >

Top of Page
 
microsin © 2023