ATtiny85 стала сверх-мини с Nanite
Nanite это сверх-мини DEV плата построена вокруг Atmel ATtiny85 микроконтроллера (MCU).
Плата имеет размер 0,4 дюйма, и имеет такое же расположение контактов как и DIP версия ATtiny85.
Я хотел иметь свою собственную плату для отладки и разработки с USB загрузчиком и оптимизированную для вездесущих 170 контактных (и более) брэдбордов.
Nanite имеет быструю кнопку сброса RESET, но не имеет встроенного конвертера напряжения, так как питание будет от USB. — Nanite creator Tim explained in a recent blog post.
Кроме маленького размера, Nanite имеет небольшую схему-трюк чтобы совместно использовать один пин с светодиодом и кнопкой сброса.
Схема платы показана ниже, схема крепится к контакту сброса, PB5 который расположен справа.
Дело вот в чём, если PB5 сконфигурирован как обычный сброс то кнопка будет как обычный сброс, вместе с LED принимая на себя роль «pull up» функцию RESET.
НО, если отключить функцию RESET и настроить порт как обычный I/O пин — то состояние кнопки можно опрашивать простым чтением из порта.
Тим уточнил что:
«Светодиод может быть включен путем установки выхода на»LOW» и выключен путем настройки выхода в состояние высокого импеданса. Не рекомендуется устанавливать выход ‘HIGH’, так как в этом случае кнопка может коротнуть выход на землю «
«Я использую микроядро в конфигурации, где оно запускается только тогда, когда кнопка нажата. Это означает, что пользовательская программа запускается без задержки после того устройство получает питание «.
В то же время, функциональность кнопки сброса эмулируется с помощью программного обеспечения, периодически опрашивает состояние кнопки и активации таймера Watch Dog, если она нажата. Если Watch Dog время вышло, сбрасывается устройство.
Также он добавил что:
«Помимо LED вывода, взаимодействия с пользователем и мягкого сброса, PB5 также может быть использован в качестве простого вывода SERIAL отладки — подключен к входу RX SERIAL к адаптеру USB. Я использую простую реализацию программного обеспечения-UART и макрос для перенаправления STDOUT к SERIAL выходу. Это обеспечивает очень удобную отладку с PRINTF(), «
Хотите узнать больше? Вы можете посмотреть Nanite’s official page здесь и также Eagle файлы и исходный код доступны на Github здесь.
Оригинал статьи — ATtiny85 goes uber-mini with The Nanite
Перевод от Dionisnation
Для чего разработчики гнут дорожки?
Приветствую тебя, дорогой друг, ты как и каждый начинающий радиолюбитель, наверное, задавался этим вопросом. Зачем все эти петли, завитушки, зигзаги на печатных платах электронных устройств? Когда можно же было провести дорожку от пункта «А» в пункт «Б» намного короче. Для чего их гнут проектировщики-инженеры? Ведь казалось бы только усложняют себе работу или нет?
И всё же, зачем их гнут?
А знаешь ли Ты, юный падаван, что скорость электрического сигнала (в идеальных условиях) равна скорости света? Быстрее на данный момент вроде как и нет ничего (учёные еще не открыли объектов или элементарных частиц которые могли бы двигаться выше этой скорости)
Представь себе эту скорость! Всего лишь за секунду электрический сигнал проходит расстояние в 299 792 458 метров! И это вроде как почти что до Луны о_0, во как.
Ну хорошо, а при чём же тогда здесь наши, масинькие, малюсенькие медные (и не только) дорожки на текстолитах (опьять же, и не только) ? — спросишь ты, и это будет чертовски правильный и отличный вопрос!
Давай ка, юный падаван, взглянем на картинку ниже, на ней изображены уровни шины передачи данных, такую шину ты можешь встретить на микроконтроллерах, программаторах, Ардуинах и им подобных платках она зовётся шина SPI :
На картинке период одного цикла тактового сигнала обозначен буквой Т. Давай ка расчехли свой, кхм, калькулятор и посчитаем какая же длинна будет у нашего такта? Мы знаем скорость шины, что есть её частота — например 1 мегагерц.
Для этого нам, нужно поделить одну величину на вторую, а именно скорость электрического сигнала на скорость (частоту) шины. 1 мегагерц это 1 000 000 колебаний (обрываний, тактов и тд. согласно википедии)
С.Э.С. / С.Ш. = длинна такта
299 792 458 м / 1 000 000 раз = 299,79 метра.
С такой длинный такта, нам пока нечего бояться и можно спокойно говнокодить делать свои платы без зигзагов и точных расчётов, но с ростом частоты уже стоит задуматься. Возьмём для примера частоту в 2 гигагерца и сделав расчёты узнаём что длинна нашего такта, в данном случае будет всего 15! сантиметров, вот тут уже не разгуляешься.
Вот развели мы плату и длина тактовой дорожки получилась — всего то каких то 4 сантиметра, а длина дорожки по которой бегут данные — 20 сантиметров. И вот тут беда, о юный падаван, потому как на первой дорожке (4см) закончиться первый такт, на второй дорожке (20см) сигнал пыхтя ещё бежит, он в пути.
В данном примере, в первом бите мы отправили 1. Тактовая дорожка отработала цикл и начался уже второй бит. На дорожке данных при этом единичка ещё не дошла. Если данные опознаются при восходящем фронте (т. е. при переходе тактового сигнала с 0 в 1), то второй бит тоже получается = 0, так как 1 от первого бита ещё не дошла и на конце дорожки 0. Мы свою единичку увидим только в третьем бите! Если данные опознаются при ниспадающем фронте тактового сигнала, то мы увидим во втором бите единичку от первого бита.
1 - Для опознания данных при восходящем фронте тактового сигнала, длина дорожки данных должна быть той же длины или короче максимум на полпериода тактового сигнала.
2 - для опознания данных при нисходящем фронте тактового сигнала, длина дорожки данных должна быть той же длины или длиннее максимум на полпериода тактового сигнала.
Допуск в полпериода взят условно, так как в нём ещё нужно учесть скорость работы принимающей микросхемы. Т. е. допуск получается реально меньше.
Допуск (или верхний или нижний) = 299 792 458 / (2 * Частота_тактового_сигнала) — 299 792 458 / скорость_переключения_порта_приёмника.
Если дорожка расположена между двумя сплошными проводящими слоями, то получившийся допуск нужно уменьшить вдвое (для текстолита).
Иногда в спецификациях явно указывают допуск на разницу в длине дорожек.
Надеюсь тебе, юный падаван, было интересно и ты запомнишь это и твои DIY устройства будут работать намного чаще удачно и правильно.
Прекрассные ворклоги, правда на английском, но когда это нас останавливало?)
Прекраснй самодельный экран
Эту конструкцию часто используют для фейковых видео о фришной энергии
Фонарик для дрочки встряхни и свети
Холодильник на элементах Пельтье
POV Экран
На канале автора много интересных видео, кого не пугает английский язык, подписываемся и смотрим)
DIY НИШТЯКИ: 3D сканер FabScan из Arduino
Видео работы сканера:
Ссылки по материалу:
Официальная страница проекта
Ещё одна полезная страница проекта
FabScan Ubuntu Live DVD а также Более детальная информация по поводу поддержки других операционных систем находится здесь.
Примечание: дополнительные материалы по настройке Файла configuration.xml изложены в этом гайде.
Огромное спасибо команде FabScan за потрясающий open-source сканер на Arduino!!!
Оставляйте Ваши комментарии и делитесь личным опытом. В дискуссии часто рождаются новые идеи и проекты!