Принтер

Поначалу, обеспечение робота печатающим узлом выглядело потенциально проблематичным. Надо было что-то где-то найти и умудриться как-то разместить и подключить. Что, где и как – было неясно. Хотя, на уровне теории, было известно, что это уже делали для К9-подобных реплик. Значит, это возможно просто по факту. Когда дело дошло до реализации, выяснилось, что весь этот вопрос вообще ни о чем!


С самого начала было взято неверное направление поиска решения. Я зачем-то думал в очень сложном направлении. Там, скажем, взять печатающий узел от “ручной” кассовой машинки (где, какой?), избавить его от корпуса (а, если корпус – несущий элемент?), разобраться, как он пропускает через себя данные (USB, Bluetooth, неведомый протокол), что-то такое спрограммить из очередной ардуины (или использовать егойный родной контроллер?) и попытаться потом все это вместе засунуть в не такой уж и большой нос у собачки (нужно ли будет перепахивать весь каркас под это?)… Увы, я, временами, все еще подвержен инерции мышления, сформированной много лет назад в условиях жизни, когда “ничего нет“. Уж очень глубоко оно въелось в мозг и сильно мешает в последнее время…

На самом деле, все есть! И уже очень давно. Стоило только гугль чуток ковырнуть. И изобретать ничего не нужно. Можно взять уже готовое решение, специально под это дело разработанное (по клику, ссылка на купить себе такой же с сайта производителя Adafruit):

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

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

С источником печати, оно общается посредством обычного TTL. Т.е., три провода: Tx, Rx и земля. Подавляющее большинство всяких ардуин/малин/хренин все это уже имеет на борту по умолчанию.

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

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

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

С самого начала думалось завести в голову два вольтажа: 5 и 12 вольт. 99% всего хозяйства головы кормятся с пяти. Поэтому для них были сделаны две просторные колодки ня которые подаются две пятивольтовые ветки. Одна – для всяких моторов и сервов, другая – для электроники. Подробнее про них написано в этой статье.

Настало время завести в голову 12 вольт. Потому, что принтер хочет 7.4 вольта. Формально, в документации указано 5-9 вольт. Но эксперименты на пяти показали, что печать выходит слишком блеклой или не выходит вообще. Соответственно, самым логичным было завести в голову максимальные собачкины 12 вольт и резать их уже на месте до нужных принтеру размеров.

Как следствие – третья колодка по питанию. Небольшая. Устройств хотящих в голове своих каких-нибудь странных вольт от 5 до 12 – будет не так много:

Колодка была временно прилеплена куда-то в области затылка каркаса. Когда доберусь до той части – тогда найду этой колодке постоянное место обитания с надежным крепежом.

12 вольт – потому, что столько будет выдавать автомобильный аккумулятор, с которого робот будет кормиться во время своей жизни. Хороший “стандартный размер”. И, например, в той же голове, кроме принтера, может завестись (и уже завелось), что-нибудь еще, что хочет, скажем, 9 вольт. Или 6 вольт. Не делать же для каждой привередливой финтифлюшки свою колодку с веткой от аккумулятора, через свой индивидуальный блок питания. Зато общие 12 вольт можно всегда легко подрезать под необходимое прямо уже на месте.

Скажем, принтер хочет идеальные 7.4 вольта, согласно спецификации. ОК. Берем для него небольшой модуль на базе LM2596 (см. в библиотеке). На вход он принимает от 3 до 40 вольт, на выход отдает от 1.5 до 35 вольт – в зависимости от установок переменного резистора на нем. Проспускаемых сквозь него максимально допустимых 3 ампер – более чем достаточно принтеру.

В силу своих небольших габаритов, была возможность разместить “понижатель” непосредственно над управляющей платой принтера, для чего необходимо было распечатать лишь небольшое крепление, да подобрать несколько стоек, подходящих по высоте:

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

Кстати, про “другие детали”… Вообще то, есть еще и третья “деталь” у принтера, требующая размещения: рулон бумаги для печати. Чуть про него не забыл…


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

В моем случае необходимо было выбирать ту, которая имеет ширину 2.25 дюйма. Это один из вполне себе стандартных рсаспространенных размеров. А, вот, длинна такой ленты, выраженная в диаметре рулона, может быть очень разной и никаких стандартов на этот счет не существует, похоже. Либо, китайцы, мотающие эти рулоны, не дочитали спецификации по рулонам до той главы, где это описывается. Что там у этого всего с диаметром центрального сердечника творится – даже и рассказывать не буду…

Среди несусветного зоопарка доступных размеров я вынес только то, что крепление под бумагу придется делать более-менее универсальным и не зависящим, ни от диаметра рулона, ни от размеров его сердечника. Приблизительный расчет строился на базе рулонов бумаги максимальной длины в 50 футов + некий запас в 20%… А, если без пафоса – все размеры сосредоточенно высасывались просто из пальца на авось…

Так или иначе, по итогам была придумана вот такая конструкция в качестве кормушки для принтера:

Кажущееся избыточным количество составных частей узла обусловлено удобством их печати на 3D-принтере. В представленном составе, любая из деталей печатается без поддержек и в ориентации слоев, обеспечивающей максимальную устойчивость к нагрузкам в ожидаемом направлении хода бумаги:

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

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

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


Изначальная сплошная переборка в носу, где предполагалось все размещать:

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

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

С этой нижней половиной переборки пришлось повозиться. С первого раза я промахнулся по дыркам, не учтя того, что печатающий узел не симметричен за счет мотора сбоку. На фото выше – первая версия. Хорошо, что она не получилась. Мне почему-то в тот момент было лень менять филамент в принтере и я отпечатал ее белым пластиком. Хотя весь остальной каркас – черный. Не то, чтобы это важно, конечно, но… Короче, эта первая версия ушла потом в помойку и заместо нее была отпечатана правильная из черного пластика.


В конечном итоге, весь узел принтера, готовый к размещению в каркасе выглядит так:

Идеально размещается в носовой части каркаса, ничему не мешая:

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


Вживую, прямо сейчас, вот так выглядит процесс перезарядки:

К сожалению, как можно увидеть, поменять рулон – это одно. А заправить бумагу в печатающий узел – совсем другое. Для последнего, приходится отстегивать прижимной барабанчик, чтобы заправить под него бумагу.

С этим я поделать ничего не могу – такова его конструкция данная нам производителем в реальных ощущениях. Как следствие, не смотря на то, что для смены бумаги пол морды разбирать не нужно, но для заправки ее в печатающий узел, что-то придумывать придется. Ведь в конечном своем виде, передняя часть морды будет закрыта сплошной панелью… Видимо, придется сделать ее откидывающейся или легко снимаемой без всяких отверток и ключей…

Ну и, вероятно, имеет смысл нажать пару кнопок на имитаторе мозга, чтобы:


Про программную часть работы с принтером рассказать ничего не могу. Потому, что, например, на малине это:

echo -e "Текст повествующий о попячности пяней, щячлости вздрыжней и прочей хрени." > /dev/serial0

И все…

А что там будет у настоящего собачкиного мозга, который эту малину сменит – неизвестно. Когда сменит, тогда и посмотрим. Хотя, практически уверен, что будет у него в точности то же самое. Потому, как работать он будет под очередным клоном того же линукса.

Для картинок, разве что, придется всосать в систему драйвер, который их растризует (растрЕзует, растОрезует… ???). Короче, вот об этом есть подробнее тут. Особо ничего дополнительного сказать не могу.

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

Ну, разве что, в малиновом распбариане, к удивлению, не нашлось по умолчанию fortune, генерящей глубокомысленности. И куда этот мир катится?… Пришлось устанавливать отдельно… Очень напрасно я это сделал. Рулон бумаги, как корова языком слизнула в первый же вечер. Не повторяйте такой ошибки!


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


Leave a Reply

Your email address will not be published. Required fields are marked *

This site uses Akismet to reduce spam. Learn how your comment data is processed.