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

Продвинутое авто выключение принтера.

Всем бобра.

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

После покупки моего первого дрыгостола и постройки к нему из икеевских столов камеры, начала напрягать тема выключения, когда строил, думал, сверху сделаю ему управление камерой, все навороты туда размещу, с пришествием некоторого времени, понял с дрыгостолом каши не сварить и палату менять нужно и в целом принтер менять необходимо. Собрал Z-Bolt Plus воткнул плату управления посерьезнее. И в порыве творческой страсти, свернул своему «болту» горло термобарьера, заказал новый, и пока он мчится из поднебесной, прямо из рук чуткого, внимательного, но очень медлительного дядюшки Ляо. Решил, не поковыряться ли мне в кишках принтера.

Сначала сделал плату с кнопкой и выключателем, в итоге даже не подключал, не нравится мне, тут переключил, там нажал.

Решил нужен триггер, нарисовалась схема на NE555, поиграл в протеусе на этом все закончилось, т.к. У меня нет схемотехнического образования, да в общем электроника для меня, взял готовую схему собрал.

Погуглил ничего готового не нашел. Поставил для себя задачу, 1 кнопка и включает и выключает, но при этом должна оставаться функция выключения с платы управления принтером, защита от случайного нажатия (для включения/отключения нужно удерживать кнопку 2 секунды). Поковырял загашники, нашел ATtiny85. В сети, я нашел очень интересный проект Digispark, он шикарным образом подходил для моих целей, я не умею писать программы в атмел студио, только ардуино и кривокод. Digispark это как раз тинька скрещенная с arduino IDE Схема Digispark:

Осталось навесить на ноги тиньки обвязку, получилась такая схема:

Развел вытравил, написал скетч и оно работает!

Приступаем.

Есть подробная инструкция созданию Digispark ТУТ

Шьем в тиньку bootloader

Прошивка ТУТ, а так же я продублировал в архив.

!!!!Фьюзы!!!! (с ними нужно быть очень аккуратно можно легко получить кирпич вместо тиньки):

Extended: 0xFE

High: 0xDD

Low: 0xE1

Когда то давно я сделал себе программатор AVR STK500 by Petka и переходников несколько штук, такой очень удобен для корпусов SOIC:

Травим плату, ваша будет немного отличаться от той, что на фотографиях, т.к. я сделал сначала с линейным стабилизатором 78L05 в SO-8 корпусе, но он работал с включенным реле на пределе своих возможностей 100mA грелся, для статьи я изменил немного схему только поменяв 78L05 на корпус D2PAK, он уже по серьезнее будет.

Напаиваем все, что касается Digispark, а именно D1,D2,D3,R1,R2,R3,C1,U1, а так же понадобится LED1, LED3, R4,R9. Крестимся и подключаем к компьютеру. Если вы прошили и подпаяли все верно, в диспетчере устройств должно появится устройство Digispark Bootloader. После установки драйверов которые находятся ТУТ , а именно DigisparkArduino-Win32-1.0.4-March39.zip должно появится вот такое устройство, оно будет «моргать» периодически в диспетчере устройств, это нормально, загрузчик пытается запустить программу, которой пока еще нет в тиньке.

Далее настраиваем ARDUINO IDE вносим:

Файл >> Настройки >> «Дополнительные ссылки для менеджера плат» http://digistump.com/package_digistump_index.json

Выбираем плату Digispark

и программатор

Заливаем скетч.

После того как скетч залит, пройдет примерно 1-2 секунды и LED3 должен начать светится от яркого до почти выключенного состояния (на картинке он синий). Устройство libusb исчезнет из диспетчера задач, а виндовс может начать ругаться, что подключено неизвестное устройство, так и должно быть.

Напаиваем остальные элементы, PC817 можно в дип корпусе, я просто подогнул ножки таким образом что бы они встали на площадки SMD, лишнее откусил. Сам оптрон очень популярен встречается повсеместно, большинстве импульсных блоков питания он есть, можно раскурочить или купить, я выпаял из сломанного бесперебойника, там их 3 было. Или купить стоит сущие копейки.

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

если удержать еще 2 секунды, реле выключится и LED2 потухнет, начнет опять ШИМится LED3 от яркого к тусклому и обратно.

Подумайте о дежурных 5v, я распотрошил старую зарядку от NOKIA

Отключаем принтер от сети 220v!!!!

К разъёму питания принтера в параллель подключаем 220v от блока питания автовыключалки. Разрываем один провод, который идет на питание принтера (у меня разорван белый провод)

подключаем оба контакта к разъему 220V 50HZ

!!!(будте очень внимательны, 220 это не игрушки, может жестко все закончится)!!!

Подключаем кнопку в разъем X6 (Button), внешний светодиод если нужен в X5 (Stand-by), подключаем +- от блока питания дежурки в разъем (Power). Ну и последнее, выключалку я делал под свою плату Lerdge на ней есть разъем «power manedgment» когда линия сигнал в низком состоянии, плата включена, когда в высоком пора выключаться, к сожалению, у меня нет других плат для тестирования.

Готово.

В тиньке осталось две ноги свободные, если будут предложения интересные можно навесить что-то и на них, места с избытком порядка 4.5кб, 2кб съел загрузчик и 1.3кб мой кривокод.

АРХИВ

Удачи.

микроконтроллеры против линейных регуляторов / Хабр


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

У меня неравной борьбы не выдержали Digispark, ESP-01 и Arduino pro mini 3.3V

Нетерпеливым можно посоветовать использовать step-down на MP1584EN, остальным — добро пожаловать по кат.

Итак, сначала был электровелосипед на digispark.

И естественно, не обошлось без «полупроводникового джинна» — китайский линейный регулятор 78M05 буквально сгорел в дыму и пламени, плюнув вверх расплавленным пластиком:

Странно, что по даташит-у элемента входное напряжение заявлено до 35 Вольт, а уже при 28 — такие спецэффекты!

Это тем более непонятно, что при потреблении микроконтроллером ~10мА вообще ни один параметр регулятора не должен был выйти за рамки по тепловому режиму.

Ввиду того, что дело было в деревне, и step-down взять было негде(ага, а Digispark под рукой был ;-), поставил костыль из 330Ом последовательно по цепи питания.

Списал все на надежность китайской техники.

Потом «электронная фея» посетила меня на управлении 12-вольтовым двигателем с помощью ESP-01:

Ну тут сам виноват — поставить ams1117 рассеивать такую мощность (около 1.5W)

Попробовал регулятор на LM317 в корпусе TO220 — и тот без радиатора грелся черезмерно.

Итог — поставлен простейший регулятор на MP1584EN :

Преимущество перед другими step-down — сама схема регулятора потребляет всего 0.3мА (хотя по доке может и 0.1 )

И надо сказать, такое питание положительно сказалось на стабильности ESP-шки.

Но самую вишенку я приберег для последней части.

Сейчас стали широко использоваться LDO-регуляторы (с низким падением напряжения — около 0.1В и низким потреблением — ~0.1мА)

Для сравнения на AMS1117 падает ~0.5В и кушает она 5 миллиампер.

Все прекрасно в LDO-шках, за исключением одного — входное напряжение до 6 вольт и токи до 300мА

Нет, «синюю пилюлю» (STM32) питать от USB — cамое оно, но зачем их паять на платы Arduino Pro Mini 3.3V, если сам чип нормально работает до 5.5В???

Разве что для работы с устройствами с 3.3В TTL

Тем более, что стандартная мини-плата комплектуется нормальным преобразователем на MIC5205 (KB33,LB33, KBAA) со входным напряжением до 20Вольт.

И какая-же была моя реакция когда из преобразователя ардуинки, включенной на 12В пошел дым?

Англоязычный энтузиаст was surprised, как-же, я поднял напряжение до 15 вольт — но искр так и не получил!

В общем, если Вы планируете пользовать микроконтроллер с 12В питанием (на самом деле, гелевые батареи от бесперебойников дают до 14.8В), то лучше взять step-down преобразователь.

Если вдруг черт дернул использовать Arduino Pro mini 3.3В без такового, обращайте внимание на маркировку бортовых преобразователей.

KB33, LB33, KBAA, L0RA, L0RB, LG33 скорей всего будут работать — они рассчитаны на 15-19Вольт

Но лучше прежде чем паять схему, стоит сделать преобразователю «Тест на дым» — 4B2X и 52RL его не прошли.

Пятивольтовые ардуинки обычно содержат «трехногие» клоны AMS1117 и таких проблем не имеют.

На версиях PRO Mini 5V обычно идут пятиногие KB50 с низким потреблением и падением напряжения, при входном до 20В.

Но потребление самого чипа на пяти вольтах удручает!

В общем, удачных Вам самоделок, и пореже видеть полупроводникового джинна!

С уважением, Андрей.

attiny — проблема с ATtiny167

Задать вопрос

спросил

Изменено 2 года, 7 месяцев назад

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

\$\начало группы\$

Я успешно использую Digispark Pro со своей программой. Я купил новый чип ATtiny167 для нестандартной печатной платы (для HID USB-устройства). Использую схему с: https://electrobattery.ru/product/plata-arduino-digispark-pro-attiny167/ и это не работает. Результат: «Неизвестное USB-устройство (сбой запроса дескриптора устройства)».

Что пробовал:

  1. Считал предохранитель с моего digispark pro (E:FE H:DD L:DF). Я написал этот предохранитель успешным. Я читаю flash с моего Digispark Pro. Я написал, что эта вспышка прошла успешно. Не работает.
  2. Пробовал такой вариант: Как написать загрузчик и драйвера для ATtiny167. такой же результат.
  3. i Пробовал micronucleus 2.04 (https://github.com/micronucleus/micronucleus) с обоими вариантами предохранителей. такой же результат.

Часть 2: Выпаиваю чип (старый чип) из своего рабочего digispark pro, который успешно работает с USB. И попробовал использовать этот чип на моем макете. Результат: «Неизвестное USB-устройство (Ошибка запроса дескриптора устройства)»

Попробовал другой вариант: взял новый чип и впаял его в digispark pro. Попробуйте 6 комбинаций: 2 варианта фуза и 3 варианта прошивки (probootloaderr2.zip с http://digistump.com/wiki/digispark/tutorials/proisp; t167_default.hex dвdrom https://github.com/micronucleus/micronucleus/ tree/master/firmware/releases и считывал прошивку с моего Digispark Pro). Результат: «Неизвестное USB-устройство (запрос дескриптора устройства не выполнен)»

Я вернул старый чип в digispark pro. все работает хорошо.

ЧТО за проблема((( Помогите пожалуйста

У меня только фьюзы пишут и прошивают в чип. Может быть, я должен сделать что-то еще?

Пожалуйста, помогите.

  • Аттини

\$\конечная группа\$

9

\$\начало группы\$

Надеюсь, вы не скопировали схемы. На схемах выводы питания к ATTiny167 не подключены, поэтому очевидно, что он не будет работать.

\$\конечная группа\$

6

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

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

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

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

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

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

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

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

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

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

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

.

отладка — режим вывода digispark input_pullup низкий уровень на выводе 1

спросил

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

Просмотрено 2к раз

\$\начало группы\$

У меня есть плата разработки Digispark, которую я использую с Arduino IDE.

Я установил Pin 1 HIGH с pinmode(1, INPUT_PULLUP) , и подключенный светодиод включается, но когда я выполняю digitalRead(1) , я получаю ответ LOW .

Это из-за того, что светодиод при включении тянет штифт в низкий уровень?? И если да, то будет ли отпайка светодиода SMD решением для того, чтобы сделать этот вывод доступным?

На самом деле я проделал то же самое с выводами 0, 2, 3 (т. е. с подтягиванием), и все выводы читаются как высокие, кроме контакта 1.

  • отладка

\$\конечная группа\$

8

\$\начало группы\$

Вы эффективно создали эту ситуацию:

Ток через светодиод будет приблизительно равен:

 5 / 30000 = 0,167 мА
 

Светодиод будет гореть тускло. Падение напряжения на красном светодиоде обычно составляет около 2 В, но при этом токе я измерил 1,5 В на тестовой установке.

Резистор на 150 Ом (или что бы вы ни использовали) не будет иметь большого значения для этого напряжения. Следовательно, на входе есть 1,5 В.

Когда вы выполняете цифровое чтение, вы читаете 1,5 В. Предполагая, что ваш Vcc равен 5 В, в техническом описании Attiny85 указано, что низкое значение составляет от \$-0,5 В\$ до \$0,3 * Vcc\$ (т.е. до 1,5 В), а высокое значение составляет от \$0,6 * Vcc\. $ (3V) до \$Vcc + 0,5\$.

Следовательно, на входном контакте отображается НИЗКИЙ уровень.


Таким образом, удаление SMD-светодиода должно позволить контакту подняться до значения подтягивания, а затем на цифровом считывании (1) должно появиться значение HIGH

Да, удаление светодиода остановит протекание тока на землю.

\$\конечная группа\$

3

\$\начало группы\$

Digispark представляет собой аккуратную небольшую печатную плату на основе Atmel (Microchip) ATtiny85.

К контакту 1 на самом деле подключен светодиод как часть схемы печатной платы, как вы можете видеть на диаграмме ниже: Согласно техническому описанию ATtiny85, на входы подается высокий уровень с помощью резистора 20-50 кОм.

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

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

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