Всем привет!
Я любительски занимаюсь разработкой устройств на микроконтроллерах. Часто возникала потребность в мелком микроконтроллере, что бы встроить его для простой задачи( обманка аккумуляторов bms, выключение паяльника по времени и включение сенсорной кнопкой, управление поворотниками с аварийкой с разными режимами мигания, контроллер пикселя от адресной ленты и тп.) И в этих задачах я использовал всеми любимый и известный Atiiny13a. Но памяти там не всегда хватало, приходилось писать на чистом Си и как можно больше экономить, при этом нету встроенного интерфейса uart а программная реализация требовала дополнительной настройки тактового генератора. И я стал искать. И однажды мне понадобился мелкий контроллер с ЦАП(Цифро-аналоговый преобразователь), и мне повезло в просторах интернета наткнуться на микроконтроллер Attiny1616. Это новая линейка контроллеров, которые выпустила “Microchip” когда купила “Atmel”. И очень порадовала то, что этот микроконтроллер выпускается в корпусе QFN(3x3mm). Это оказался реально крошечный контроллер! Да, пришлось научиться паять этот корпус, но в целом ничего сложного.
Размер этого контроллера меньше чем attiny13, но функционал у него серьезный:
-16 КБ (Flash memory) флеш-памяти
- 256 байт EEPROM
- 2 КБ ОЗУ (SRAM)
- Работает на частоте до 20 МГц (внутренним генератором тоже).
- Два 16-битных таймера
- Один 12-битный таймер
- USART
- SPI
- I2C
- Два 10-битных АЦП
- DAC(ЦАП)
- Пять внутренних опорных напряжений: 0.55В, 1.1В, 1.5В, 2.5В и 4.3В
- RTC
- PTC
- Внешние прерывания на всех доступных выводах общего назначения
- 18 I/O
- 1.8 - 5 Вольт
И это не все, подробнее смотрите в даташите.
Еще очень удобным показался способ программирования- всего один провод(UPD).
Я попробовал, сначала без Arduino IDE (не знал пока еще что есть ядро) управлял вручную регистрами на чистом Си. Кстати Даташит вот этих новых линеек реально стал понятнее и удобнее. Чип работал прекрасно, и мне очень понравилось, что он такой мелкий и мощный. Потом я обнаружил, что существует ядро для этого микроконтроллера в IDE Arduino - MegaTinyCore.
Далее в своих электронных делах все больше не хватало такого микроконтроллера для разных, универсальных нужд. Этот корпус навесным монтажем не запаяешь, а разводить мелкую плату на производстве для каждой задачи - накладно.
Тогда мне пришла мысль развести универсальную, но мелкую плату со всеми выводами этого микроконтроллера и с простым способом программирования. Из-за супер мелких дорожек и переходных отверстий завод мне зарядил не хилую сумму за изготовление, но поскольку я заказал сотню, то в принципе получилась терпимая цена за штучку.
Получилось реализовать очень маленький размер платы 6.1x7.6mm с площадками 1.1X1.1mm на обратной стороне за чипом в виде сетки. Потом я обнаружил, что эту плату можно вообще с краев обточить практически до чипа и площадки по центру останутся функциональными! Итого примерный размер обточенной платы - 3.5x5.35mm что является меньше Attiny13a.
Протестировав основные функции в Arduino и убедившись, что они работают, я понял, что ведь у меня получилась, по сути, самая мелкая при этом мощная ардуино плата!
С этого момента к этой платке я отнёсся как к проекту: написал документацию, сделал удобочитаемую распиновку, инструкцию по сборке программатора, разместил на своем сайте руководство для постоянного доступа ко всем связанным ссылкам и документам, сделал несколько основных примеров для Arduino со всеми нюансами и проверил все эти примеры.
И назвал я плату - Qrduino~. (“Q” - первая буква названия корпуса, “rduino” - приставка, которая говорит о поддержки платы в Arduino IDE, “~” - для стиля и оригинального отличия названия.
И поскольку подобных решений в интернете не нашел, я решил выпустить в продажу эту плату. Буду рад, если эта плата поможет с мини-проектами разработчикам.
Всю подробную информацию посмотрите на сайте:
https://microchip-device.ru/Qrduino~.html
Пишите что думайте по поводу этого проекта, задавайте вопросы.