![](https://habrastorage.org/webt/hk/ys/ia/hkysiaonevpdsbol7ztkjmho9m8.jpeg)
Вступление
В предыдущей статье была рассмотрена возможность использования электромеханических цветовоспроизводящих устройств для создания одежды, способной динамически изменять свой цвет.
Концепция получила название «Умные пайетки» - электромеханические цветовоспроизводящие устройства с перекидывающимися лепестками разного цвета.
Сегодня расскажу о том как создавался новый прототип пайеток и каких результатов удалось добиться.
Гибкая основа
Основная проблема заключается в том, что одежда в основном состоит из ткани, которая является эластичным и пластичным материалом, способным принимать форму тела, образовывать складки и завязываться в узел.
Существует два способа придать матрице из пайеток свойства ткани:
1. Разместить пайетки на тканевой (гибкой) основе.
2. Соединить пайетки между собой при помощи шарниров.
Второй способ предполагает изготовление большого количества миниатюрных механических узлов, при этом вся конструкция будет обладать следующим набором недостатков:
низкая механическая прочность. Соединить между собой пару-тройку элементов - не проблема, но когда их количество достигнет сотни и тысячи? На отдельные шарниры нагрузка будет значительной;
сложность конструкции шарниров и как следствие сложность в производстве и сборке;
дополнительные механические элементы - дополнительный вес.
Можно заливать матрицу пайеток силиконом или каким-то другим эластичным составом, который будет скреплять элементы матрицы между собой. Но каков будет вес получившегося литого изделия?
Обратим внимание на первый способ. Его можно реализовать просто пришивая пайетки к ткани, собственно так и производятся изделия из стандартных пайеток. Но пришивать электронные пайетки, а затем соединять их между собой проводниками нам показалось не лучшей идеей.
Так как корпус пайетки и лепестки изготавливаются аддитивными технологиями, было принято решение печатать корпуса непосредственно на ткани. Вот какие преимущества сулит такой метод:
сохранение эластичности и гибкости материала подложки;
отсутствует проблема позиционирования отдельных элементов матрицы друг относительно друга. Вообще, имея достаточно большой принтер можно сразу штамповать матрицы площадью по 1м^2;
механическая прочность матрицы будет зависеть от механической прочности материала - подложки.
3Д печать на тканевой сетке
Для повышения механической прочности материал - подложка будет впечатываться в толщу материала пайетки. Для этого она должна иметь сетчатую структуру. Чтобы слои пластика прочно соединились между собой.
![](https://habrastorage.org/webt/kk/eq/tn/kkeqtnoeoig9rl26uefcfuuncli.jpeg)
Как будем печатать:
1. Печатаем первые несколько слоёв пайетки.
2. Отводим экструдер наверх.
3. Кладём подложку и фиксируем её.
4. Продолжаем печатать поверх подложки оставшуюся часть пайетки.
В качестве подложки я попробовал использовать москитную сетку, которая в хозяйственном магазине нашлась двух видов: тканевая и фиберглассовая (о разновидностях москитных сеток поговорим в следующей статье).
Гибкость получившегося полотна будет зависеть от расстояния между пайетками и их геометрии. А вот теперь интересный вопрос: какая оптимальная форма элемента матрицы, обеспечивающая наибольшую гибкость при сохранении минимального зазора между элементами?
Мы попробовали несколько вариантов, но природа всё продумала за нас, оптимальной формой, обеспечивающей гибкость во всех направлениях оказались правильные шестиугольники (соты):
![](https://habrastorage.org/webt/dr/na/wt/drnawt4qjj3_1br0do17rcvxmh8.jpeg)
Необходимо немного скорректировать форму печатной платы под новую форму пайетки и заодно обновить элементную базу устройства, помнится там были проблемы с энергопотреблением...
Новая схемотехника
Для уменьшения массы и габаритов пайетки нужно было переходить к более мелким компонентам на печатной плате.
В качестве контроллера был выбрал ATtiny13 в корпусе QFN10. Его вычислительной мощности вполне должно хватить, чтобы реализовать нехитрый алгоритм приёма и передачи данных.
Кроме того, в режиме сна ATtiny13 потребляет около 1мкА.
Было решено применить специальный драйвер для шагового двигателя. Вот здесь пришлось поискать, потому что большинство драйверов, представленных на рынке (включая описанный мною здесь) заточены для работы с большими движками и имеют напряжения питания силовой части 5.5В и более.
В конце концов был найден низковольтный драйвер шаговых двигателей STSPIN220, производимый фирмой STMicroelectronics.
Напряжение питания силовой части от 1.8 до 10В - то что нужно для работы от аккумулятора!
Максимальный ток 1.3А. Неплохо для малыша в корпусе QFN16.
Имеется режим пониженного энергопотребления, когда микросхема потребляет меньше 10нА.
Имеется поддержка всех возможных режимов микрошага, вплоть до 1/256.
Для управления требуется всего три вывода DIR (направления вращения шаговика), SCTK (один такт на входе - один шаг двигателя), RESET (переход в режим пониженного энергопотребления).
Принципиальная схема новой пайетки:
![](https://habrastorage.org/webt/oz/kh/ig/ozkhigr1-zqlidp0lx9q2h3d1ii.jpeg)
Несколько пояснений по поводу обвязки микросхемы - драйвера.
Вывод RESET управляет режимом пониженного энергопотреления («1» - работа, «0» - сон).
Вывод REF используется для задания максимального тока шаговых двигателей. На него подаётся напряжения с делителя R4 - R10.
В данном случае ток составляет 54мА, чего вполне достаточно.
Обращаю внимание, что делитель подключен не напрямую к плюсу источника питания, а к выводу RESET, таким образом опорное напряжение на REF появляется только когда микросхема находится в активном состоянии.
Иначе ток через делитель:
Iдел = 5В/(100 000 Ом + 1 000 Ом) = 50мкА.
На фоне потребления микроконтроллера и драйвера в режиме сна такие потери не допустимы!
Резисторы R1 и R3 необходимы чтобы микросхема контролировала максимальный ток двигателя.
Вывод TOFF задаёт время отключения для измерения пикового тока. Не совсем понимаю зачем пользователю лезть в эти настройки. Воспользуемся рекомендациями из даташита и установим такие номиналы.
Выводы MODE нужны для установки режимов микрошага. Причём, выводы MODE4 и MODE3 объединены с DIR и STCK соответственно. Экономия выводов микросхемы...
В общем, перед тем как выйти из спящего режима (подтянуть RESET к плюсу) нужно выставить на выводах DIR(MODE4) и STCK (MODE3) нужные значения. После пробуждения микросхема их считает и запомнит.
Поскольку MOD1 и MOD2 выведены отдельно, им доверили следующую функцию: если они подтянуты к земле, то микросхема принудительно переходит в режим полного шага (Full-step). Чем собственно я и воспользовался.
Разводим новую плату, не забывая про логотип:
![](https://habrastorage.org/webt/f6/uv/a-/f6uva-yfjorurem0yixxsjfr3ru.jpeg)
Диаметр переходных отверстий 0,3мм под прошивку контроллера выведены круглые площадки диаметром 1,5мм, к которым должны прижимать подпружиненные контакты (на худой конец можно припаяться).
На оборотной стороне размещены площадки для монтажа шагового двигателя. Теперь он будет держаться непосредственно на плате.
Плату изготавливали ЛУТом, толщина текстолита 1мм:
![](https://habrastorage.org/webt/6l/1z/vm/6l1zvm8h8zexynbgnu4prxzhkro.jpeg)
Получилось неплохо, косяков трассировки нет.
Собираем пайетку, красим и сравниваем с предыдущим прототипом:
![](https://habrastorage.org/webt/z5/zx/hn/z5zxhnlgscejrajqs7h06srkff0.jpeg)
Масса новой пайетки составляет 2.08г, против 3.43г у старой.
Заказ печатных плат
Но нельзя же изготавливать 1000 штук таких изделий одним ЛУТом! Я решил заказ печатные платы у наших китайских друзей. По вполне демократичной цене они согласились изготовить 16 штук с белой защитной маской на текстолите толщиной 0.8мм.
Стоимость 16 плат составила 5$ (на июль 2020 года) и ещё 6$ доставка.
Изготовили их всего за пару дней, но путь их занял целый месяц. Пришли хорошо упакованные, новенькие, чистенькие:
![](https://habrastorage.org/webt/pi/py/6p/pipy6paply-tfyyy27bpa42yqni.jpeg)
Первый раз заказывал печатные платы для себя, так что на радостях позабыл про шёлкографию, но это исправится в следующий раз.
Монтируем компоненты, красим, заливаем прошивку и собираем новенькую пайетку:
![](https://habrastorage.org/webt/fe/pw/sr/fepwsr43ztkcxck_yogocc80-dy.jpeg)
Активный режим - когда микроконтроллер не спит, а занимается пересылкой данных на соседнюю пайетку.
Софт
Доработка софта заключалась в настройке режимов энергопотребления для микроконтроллера ATtiny13. Когда нет команды на переключение цветов, микроконтроллер находится в режиме power-down. Выйти из этого режима возможно только по прерыванию INT0 (низкий уровень). Именно этот вывод является входом данных (data in).
После пробуждения контроллер инициализирует драйвер двигателя, переворачивает лепесток и если на вход ещё поступают данные, он передаёт их на следующую пайетку.
Как только контроллер ловит конец посылки, он переходит в состояние power down.
Токопроводящие нити
Следующая задача: обеспечить электрические соединения между пайетками в матрице. Использовать отдельные проводники - не очень хорошая идея (хотя плату разводил именно под такой вариант), потому что даже гибкие провода ломаются от постоянных переменных деформаций. Возможно сгодился бы многожильный МГТФ, но ведь каждый проводок нужно отрезать, зачистить, залудить, припаять в двух местах и ещё и уложить его... а потом помножить эту операцию на три провода и ещё на 1000 пайеток.
А было бы круто, если бы материал - подложка был токопроводящим? И тут я вспомнил про токопроводящие нити.
![](https://habrastorage.org/webt/mo/r5/l9/mor5l9clzczc-d0cgpwi_zzw7pa.jpeg)
Эти нити, к слову даже продаются в шпулях, так что можно сразу вставлять в швейную машинку!
По своим способностям выдерживать деформации и нагрузки они не сильно отличаются от обычных ниток и в тоже время обладают хорошей проводимостью. Можно вплетать эти нити в структуру материала подложки, затем запечатывать в корпусе пайетки:
![](https://habrastorage.org/webt/yq/u1/aa/yqu1aabkratjlhfi25oe8u_dykk.jpeg)
Токопроводящие нити изготавливаются из волокон нержавеющей стали. Сопротивление около 100Ом на метр. Кроме того, эти нити можно лудить как обычные провода, только использовать надо флюс ФИМ (для нержавеющих сталей).
При работе с нитями надо учитывать одну особенность: это не лакированные провода, то есть они не покрыты изоляцией. Не стоит допускать перекрещиваний. Прокладывать проводящие нити в матрице пайеток будем следующим образом:
![](https://habrastorage.org/webt/uv/3e/4f/uv3e4fzqkldh6z0ioz8p5morq1q.jpeg)
Рыжий проводник последовательно соединяет каждую пайетку с соседней - линия данных.
К сожалению, пока нет швейной машинки, нити пришлось вплетать в ручную, принтер без проблем запечатал их.
Конструкция пайетки
Сейчас умная пайетка представляет из себя такую вот структуру:
![](https://habrastorage.org/webt/lq/7d/c-/lq7dc-ndnexe1ehh7bbyka7rayk.jpeg)
Ещё немного про конструкцию
Каждый лепесток пайетки совершает поворот на 180 градусов, когда все элементы матрицы лежат в одной плоскости это не вызывает никаких неудобств. Но тканевая основа способна деформироваться в различных направлениях, принимая форму вогнутой или выпуклой поверхности. В этих случая могут появляться зоны перекрытия лепестков - ситуация, возникающая при одновременном движении лепестков в разных направления при которой происходит столкновение лепестков соседних элементов матрицы.
![](https://habrastorage.org/webt/zn/tj/nn/zntjnn3sj51kaybowoqzp2pbxdk.jpeg)
Чтобы частично компенсировать данное неприятное явление было принято решения ограничить минимальный радиус вогнутой поверхности, по которой может изгибаться матрица.
Для этого внешние боковые грани рамы пайетки сделаны не перпендикулярными плоскости верхней грани, а под углом 20 градусов, в результате образуется конусность. В тоже время тканевая основа размещается ближе к верхней плоскости рамы.
![](https://habrastorage.org/webt/3m/ym/ti/3mymti1am-gtmhil_uvarm3brdm.jpeg)
Демонстрация работы
Наконец можно полюбоваться результатами проделанной работы:
Работает и выглядит весьма неплохо.
Софт верхнего уровня также претерпел изменения.
В прошлой статье упоминалась необходимость переключать пайетки не одновременно а волной. Сделано это для уменьшения пиковых значений тока. Естественно страдает скорость переключения, но вы только послушайте с каким чарующим шелестением происходит смена цвета!
Выводы
Результаты проделанной работы:
понижено энергопотребление в состоянии покоя;
решена проблема изготовления гибкой матрицы цветовоспроизводящих устройств;
решена проблема большого энергопотребления при смене цветов за счёт волнового метода переключения;
масса отдельного элемента матрицы снижена на 185%;
решена проблема подведения питания и передача сигналов между элементами матрицы.
Над чем нужно поработать:
механическая прочность крепления подвижных лепестков на валу шагового двигателя;
оптимизация топологии печатной платы.
В следующий раз расскажу о том как производилась модификация FDM принтера для печати матрицы пайеток на ткани площадью 1м^2 и более и как затем из этой ткани мы изготовили настоящую одежду.