Dispark attiny 85 схема своими руками

Dispark attiny 85 схема своими руками

Возможно кто то захочет сделать собственную RGB гирлянду, со своими индивидуальными алгоритмами.

Для этого понадобятся:

Плата Digispark на базе микроконтроллера Attiny85.

3 двенадцати вольтовые RGB ленты, кнопка и сопротивление 1-10 килоом.

3 мосфет транзистора 50N06 или любые другие N-канальные подходящие по мощности.

Я для сборки устройства использую макетную плату и соединительные провода, вы при желании можете сразу все спаять.

Сначала рассмотрим скетч.

Как прошить плату Digispark на базе микроконтроллера ATtiny 85 смотрите по этой ссылке www.kolotushkin.com/Как прошить плату Digispark на базе микроконтроллера ATtiny 85

//Начало скетча

//Конец скетча

В скетче имеется 5 функции:

“button2” — для опроса кнопки, и если кнопка нажата то перейти к следующей функции

“offRGB” — служит для отключения каналов RGB и обнуления переменных “r, g, b”

“program1, program2 и program3” — содержат алгоритмы для RGB ленты

Переменные “Speed1, Speed2 и Speed3” имеют значение “5”. Оно является задержкой, и влияет на скорость выполнения алгоритмов, чем больше это значение тем медленнее скорость выполнения, и наоборот.

Переменная “х” служит для хранения количества режимов для RGB. Значение “3” означает 4 программы (0, 1, 2, 3) = (offRGB, program1, program2, program3). Если вы измените количество программ, то для корректной работы также необходимо изменить значение переменной “x”.

Можете настроит этот скетч, как вам нравится.

Или просто как есть, загрузите на плату, и соберите все, как показано на этой схеме.

Обратите внимание что все 3 ленты подключены по разному!

После сборки можно можно подавать питание 12 вольт. При запуске будет выполняться нулевая программа с функцией “offRGB” и ленты светиться не будут! Нажмите кратковременно на кнопку и цикл перейдет к программе с функцией “program1”, после второго нажатия “program2”, после третьего “program3” и после четвертого нажатия опять “offRGB”.

В этой схеме я применил мосфет транзисторы 50N06. Они выдерживают напряжение до 60 вольт и ток до 50 ампер. Этого хватит для подключения 140 метров таких RGB лент как у меня. Вы можете применить любые другие N-канальные мофеты которые подойдут вам по мощности, главное соблюдайте распиновку при их подключении, ОНА МОЖЕТ ОТЛИЧАТЬСЯ от распиновки 50N06!

Источник

Начало работы с Digispark., а для кого то просто ATtiny85 с USB . Установка драйверов и работа с arduino IDE

Итак начнем с разбора самой платы и ёё возможностей .

ATtiny85 — небольшой микроконтроллер с приличными возможностями и приятными особенностями, включая:

Плата разработчика ATTINY85 предназначена для разработки устройств с минимальными требованиями к периферии и возможностью непосредственного подключения к USB интерфейсу компьютера для программирования и отладки. Для подключения к компьютеру не требуется кабеля — контроллер подключается непосредственно в USB разъем. У контроллера выведено 6 выходов и все они доступны для использования. Два зарезервировано для работы с USB интерфейсом, к одному подключен светодиод. Для разработки можно использовать среду разработки Arduino IDE (OSX/Win/Linux).

Питаться устройство может от USB интерфейса, внешнего источника напряжением 5В и напряжением от 7В до 12В от внутреннего стабилизатора напряжения 5В 500мА. Переключение источника питания происходит автоматически.

Функции выводов контроллера:

  • Р0 — ARef, SDA, DI, PWM
  • P1 — DO, PWM
  • P2 — D/A, SCK
  • P3 — D/A, USB+
  • P4 — PWM, D/A, USB-
  • P5 — D/A
  • Микроконтроллер: ATTINY85
  • Внутренний генератор: 8МГц
  • Встроенный умножитель частоты: 8
  • Объем памяти программ: 8Кбайт (6Кбайт доступных)
  • Аппаратные интерфейсы: SPI, I2C
  • ШИМ: 3 канала
  • АЦП: 4 канала
  • Индикаторы: Питание Состояние (Pin0)

Пинмапинг и распиновка

Покупал я платы на Алиэкспресс :

Digispark Kickstarter

Digispark Kickstarter Micro

Digispark Pro Kickstarter

Самое время перейти к установке плат в нашу среду ARDUINO IDE :

Устанавливаем своеобразный плагин для среды Arduino (поддерживается начиная с версии 1.6.5).

Вставляем в поле Additional Boards Manager URLs строку

Переходим в меню Инструменты — Boards Manager:

В выпадающем списке Type выбираем Contributed, а затем щелкаем по Digistump AVR Boards, при этом появится кнопочка Install, которую и нажимаем:

Начнется скачивание и установка софта и драйверов. Говорим, что согласны на все:

Выбираем рекомендованную для начинающих плату Digispark (Default — 16,5mhz) — выбираем вашу плату :

Теперь можем перейти в раздел примеры — digispark и выбрать понравившийся вам тестовый скетч :

В отличие от классических плат Arduino, эту плату не нужно подключать к компьютеру перед загрузкой прошивки. Наоборот, сначала нужно запустить загрузку из среды Arduino и дождаться приглашения к подключению контроллера. Вот теперь — можно.

Таймаут на загрузку — 60 секунд:

Связано это с особым режимом работы загрузчика: при старте контроллера он ждет загрузки кода через USB в течение 5 секунд, а потом переключается в режим исполнения имеющегося в памяти контроллера кода.

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

Источник

2 Схемы

Принципиальные электросхемы, подключение устройств и распиновка разъёмов

Digispark ATTINY85: схема подключения модуля, прошивка и испытание

У нас было две Arduino UNO, семьдесят пять светодиодов, пять Arduino Nano, полбаночки канифоли и бесконечное множество проводов всех сортов и расцветок. А также – мотор-шилд, модуль Digispark ATTINY85, LCD-дисплей и релейный модуль. Не то чтобы это был необходимый запас для начала работы, но раз уж ты начал делать Arduino-проекты, то остановиться сложно. Единственное опасение вызывал модуль Digispark ATTINY85. Нет ничего более беспомощного, безответственного, испорченного, чем сторонники программирования микроконтроллера Attiny85 в среде Arduino IDE. Я знал, что рано или поздно мы перейдем и на эту дрянь…

Аппаратную платформу Arduino очень часто критикуют за избыточность для многих простых устройств и крупный размер основной платы. И если достаточно большую плату Arduino UNO можно заменить более компактными Arduino Nano, Arduino Mini и Arduino Micro, то вопрос с избыточностью остается, в самом деле, далеко не в каждом проекте нужно 32 кБ или 16 кБ памяти для программ и 20 портов ввода-вывода. Это типичная беда любого универсального устройства – большой набор возможностей приводит к тому, что в каждый конкретный момент значительная часть инструментов оказывается лишней. Одним из вариантов решения проблемы может быть модуль Digispark ATTINY85. Данный модуль был приобретен у китайцев за символических 100 рублей:

Модуль представляет собой печатную плату, на которой установлен микроконтроллер ATTINY85 [1], микросхема стабилизатора напряжения, а также предусмотрен USB-порт и контактные площадки для портов микроконтроллера и подачи питания. В комплекте также поставляется гребенка штыревых контактов.

Все контактные площадки на плате промаркированы с обоих сторон.

Размер модуля 27 х 19 мм, толщина около 4 мм, масса 2,2 г.

Следует отметить, что автору не удалось заставить устройство работать под операционной системой Windows XP, но под Windows 10 все заработало сразу. Для работы с данным модулем требуется установить специальный драйвер 5. В целом установка проста, запускаем, установщик драйвера DPinst64, и далее следуем указаниям программы.

Кроме этого нужно добавить плату [2] в менеджер плат для чего необходимо ввести строку http://digistump.com/package_digistump_index.json во вкладке настройки в строку «Дополнительные ссылки для менеджера плат». После этого надо в менеджере плат выбрать соответствующий пункт. Для данных манипуляций компьютер должен быть подключен к Интернету.

Теперь среди вариантов платы появится digispark (Default – 16,5 mhz)

В качестве примера можно загрузить вариант программы Blink (Blink85) для данного микроконтроллера. Следует иметь в виду, что нужно сначала нажать кнопку «Загрузка», а затем только после окончания процесса компиляции и появления специального запроса следует подключать модуль Digispark ATTINY85.

Как отмечалось в [3] минималистичный характер устройства приводит к тому, что оно не имеет защиты от дурака в отличии от Arduino, а значит короткое замыкание в модуле Digispark ATTINY85 или его периферии может вывести из строя USB-порт, по-этому рекомендуется включать устройство через USB-хаб.

Хорошо видно, что на модуле имеется два светодиода – один индикатор питания, второй подключен к порту 0 или 1. Следует отметить, что устройство требовательно к питанию, внешний блок питания USB-хаба обязателен, причем вместо штатного блока питания на 1000 мА пришлось поставить блок питания номинально рассчитанный на ток в 2500 мА.

В целом модуль более компактен, чем Arduino Mini, и может быть подключен к компьютеру непосредственно, без каких-либо преобразователей.

К недостаткам модуля можно отнести его сравнительно высокую цену, которая равна стоимости той же Arduino Mini, возможности которой существенно больше.

Полезные ссылки

  1. www.atmel.com/images/atmel-2586-avr-8-bit-microcontroller-attiny25-attiny45-attiny85_datasheet.pdf
  2. ucheba33.ru/?p=529
  3. arduinoguru.ru/index.php/articles/28-boards/51-digispark-usb-dev-board
  4. mysku.ru/blog/china-stores/36691.html
  5. voltiq.ru/digispark-attiny85-review/
  6. iarduino.ru/file/220.html

Скачать файл с прошивкой и даташитом на модуль Digispark можно по ссылке. Автор материала — Denev.

Источник

USB программатор для ATtiny85 на основе загрузчика Digispark

ATtiny – это серия самых маленьких микроконтроллеров из семейства AVR. Эти микроконтроллеры могут использовать большинство библиотек, доступных для платформы Arduino. ATtiny85 – это 8-пиновый 8-битный микроконтроллер семейства AVR. Его исключительно малый размер и низкое энергопотребление делают его чрезвычайно удобным для реализации небольших (в особенности переносных) проектов. Но его программирование может вызвать некоторые сложности у начинающих радиолюбителей поскольку у него нет USB интерфейса как у современных микроконтроллерных плат (например, Arduino).

В сети можно найти статьи по программированию микроконтроллера ATtiny85 с помощью платы Arduino Uno. Но использование платы Arduino в качестве ISP (In System Programming — внутрисистемное программирование) программатора для ATtiny85 не очень удобно и отнимает достаточно много времени. Поэтому в данной статье мы рассмотрим создание простого программатора для ATtiny85, который можно подключать к USB интерфейсу и, таким образом, программировать ATtiny85 как микроконтроллерную плату (с USB).

Также подобную готовую плату можно купить на Aliexpress (есть платы как с уже установленным микроконтроллером, так и с местом под его установку), в сети ее называют Digispark ATtiny85. В интернете можно найти достаточно много обзоров данной платы, лично мне понравился больше всего вот этот обзор — https://voltiq.ru/digispark-attiny85-review/.

Необходимые компоненты

  1. Плата Arduino Uno (купить на AliExpress) — необходима только на начальном этапе, для первоначальной загрузки загрузчика.
  2. Микроконтроллер ATtiny85 (купить на AliExpress).
  3. USB A-type Plug Male – USB разъем “папа” A-типа (купить на AliExpress).
  4. Резисторы 47 Ом (2 шт.) и 1 кОм (купить на AliExpress).
  5. Zener Diode (2 шт.) – диод Зенера, стабилитрон.
  6. Диод IN5819 (купить на AliExpress).
  7. 8-Pin IC Base — 8-пиновая основа (база) для микросхемы (купить на AliExpress).
  8. Макетная плата.
  9. Соединительные провода.

Краткие сведения о микроконтроллере ATtiny85

ATtiny85 – это высокопроизводительный 8-битный микроконтроллер с низким энергопотреблением, построенный на основе архитектуры Advanced RISC. Он имеет 8 Кбайт перепрограммируемой флеш-памяти (память программ), 512 Байт EEPROM (энергонезависимой памяти), 512 Байт оперативной памяти (SRAM), 6 контактов ввода/вывода общего назначения 32 регистра общего назначения, один 8-битный таймер/счетчик с режимом сравнения, один 8-битный высокоскоростной таймер/счетчик, USI (универсальный последовательный интерфейс), внутренние и внешние прерывания, 4-х канальный 10-битный АЦП (аналого-цифровой преобразователь), программируемый сторожевой таймер с внутренним генератором, 3 программно управляемых режима энергопотребления.

Назначение контактов (распиновка) микроконтроллера ATtiny85 приведено на следующем рисунке.

Большинство контактов ATtiny85 могут выполнять несколько функций.

Перепрограммируемый загрузчик ATtiny85 с использованием платы Arduino Uno

Для программирования ATtiny85 без использования платы Arduino мы сначала должны загрузить в него загрузчик используя плату Arduino Uno. Этот процесс выполняется один раз и в дальнейшем у нас не будет необходимости в использовании платы Arduino для программирования микроконтроллера ATtiny85. Загрузчик (bootloader) – это специальная программа, которая выполняется в микроконтроллере, который необходимо запрограммировать. Использование загрузчика – это один из самых удобных способов загрузки программы в микроконтроллер. Загрузчик находится в микроконтроллере и выполняет поступающие команды, а затем записывает новую программу в память микроконтроллера.

Перепрограммируемый загрузчик в микроконтроллере устраняет необходимость в использовании специальных внешних аппаратных средств (плат программирования, программаторов) для программирования микроконтроллера и позволяет загружать программу в микроконтроллер непосредственно с помощью USB соединения. Платы Digispark ATtiny85 (а выбор подобных плат сейчас достаточно большой) работают на загрузчике “micronucleus tiny85”, первоначально написанным Bluebie. Загрузчик – это программный код, который заранее загружен в плату Digispark и позволяет работать ей как USB устройство, которое можно программировать с помощью Arduino IDE. Мы будем использовать аналогичный подход и загружать загрузчик digispark attiny85 в наш микроконтроллер ATtiny85.

Для реализации этой задачи необходимо выполнить следующую последовательность шагов.

Шаг 1. Конфигурирование платы Arduino Uno в качестве ISP программатора.

Поскольку ATtiny85 является всего лишь микроконтроллером, для его программирования требуется ISP (In-System Programming — внутрисистемное программирование). Поэтому для программирования ATtiny85 нам необходимо сначала сконфигурировать плату Arduino Uno в качестве ISP программатора. Для этого подключите плату Arduino Uno к компьютеру и запустите Arduino IDE. После этого откройте пункт меню File > Example > ArduinoISP и загрузите в Arduino ISP код.

Шаг 2. Схема перепрограммируемого загрузчика ATtiny85.

Схема перепрограммируемого загрузчика ATtiny85 представлена на следующем рисунке.

Конденсатор 10 мкФ подключен между контактами Reset и GND платы Arduino. Все соединения схемы представлены в следующей таблице:

ATtiny85 Pin Arduino Uno Pin
Vcc 5V
GND GND
Pin 2 13
Pin 1 12
Pin 0 11
Reset 10

После сборки схемы подключите плату Arduino Uno и запустите Arduino IDE. Определите к какому COM порту подключена плата Arduino Uno (в диспетчере устройств Windows). В нашем случае это COM5.

После этого скачайте файлы для загрузчика ATtiny85 по следующей ссылке. Откройте файл «Burn_AT85_bootloader.bat» и измените в нем COM порт с именем «PCOM5» на тот COM порт, к которому подключена у вас плата Arduino Uno. Сохраните изменения.

После этого скопируйте отредактированный файл «Burn_AT85_bootloader.bat» и файл ATtiny85.hex» в корневой каталог Arduino IDE (C:\Program Files (x86)\Arduino).

После этого сделайте клик правой кнопкой мыши на файле «Burn_AT85_bootloader.bat» и выберите «Run as Admin» (запуск от администратора). Необходимо примерно 5-6 секунд чтобы загрузчик загрузился. Если все прошло успешно, то вы должны увидеть сообщение «AVRdude done. Thank you. Press any key to continue. «.

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

Схема USB программатора для ATtiny85

Схема USB программатора для ATtiny85 представлена на следующем рисунке. В ней мы подключаем микроконтроллер ATtiny85 к разъему Male USB Plug. За основу схемы была взята схема платы Digispark ATtiny85, расположенная по следующему адресу.

R3 в данной схеме выполняет роль подтягивающего резистора и подключен между контактами Vcc и PB3 микроконтроллера. Стабилитроны D1-D2 используются для защиты USB интерфейса. После сборки программатора на перфорированной плате у нас получилась конструкция следующего вида:

Установка драйверов Digispark

Чтобы программировать ATtiny85 через USB вам необходимо установить на свой компьютер драйверы Digispark. Скачайте их по приведенной ссылке, извлеките их из zip архива и запустите на выполнение файл “DPinst64.exe” чтобы установить эти драйверы.

После того как драйверы будут успешно установлены, подключите собранную плату программатора с установленным в нее ATtiny85 к компьютеру. После этого откройте диспетчер устройств в Windows и найдите в нем устройство ATtiny85 в устройствах “libusb-win32 devices” под именем “Digispark Bootloader”. Если таким образом вам не удается найти ‘libusb-win32 devices’ в диспетчере устройств, нажмите в нем обзор и выполните поиск скрытых устройств (‘Show hidden Devices’).

Конфигурирование Arduino IDE для программирования ATttiny85

Для того, чтобы программировать плату ATtiny85 с помощью Arduino IDE сначала нам необходимо добавить поддержку платы Digispark в Arduino IDE. Для этого откройте пункт меню File > Preferences, добавьте следующую ссылку в Additional Boards Manager URLs в Arduino IDE и нажмите ‘OK.’

После этого откройте пункт меню tools > Board > Board Manager, выполните поиск ‘Digistump AVR’ и установите его последнюю версию.

После этого в инструментах вы обнаружите новый пункт меню с именем ‘Digispark’.

Затем откройте пункт меню file > Examples > Basics и откройте Blink example (пример с мигающим светодиодом).

Измените в коде этого примера номер контакта с LED_BUILTIN на 0.

После этого откройте пункт меню Tools -> Board и выберите плату “Digispark (Default – 16mhz)”. После этого в Arduino IDE нажмите кнопку загрузки кода.

Примечание : подключайте плату программатора ATtiny85 к компьютеру только тогда, когда в Arduino IDE появится сообщение “Plugin device now”.

После того как код программы будет загружен в плату с микроконтроллером, светодиод, подключенный к ATtiny85, начнет мигать.

Более подробно процесс работы платы нашего программатора можно посмотреть в следующем видео.

Источник

Читайте также:  Деревянные ежедневники своими руками
Оцените статью