Comments 54
Теперь можно выкинуть прослойку в виде платы Фискального регистратора и его протокола и работать с головой напрямую. Спасибо
Спасибо за статью. Всё думал, как же работать с этими принтерами. Как то разбирался с ESC-последовательностями одного принтера, чтобы работать с ним. Настоящий мрак был. Интересно было ознакомиться с железной частью.
Суровый отечественный принтер от какого-то кассового аппарата, это от АМС-100Ф/100К.
А как вы планируете использовать этот принтер? Или это чисто по фану поработать напрямую с головой термопринтера?
Тут именно из желания разобраться, как оно устроено, а заодно и поведать миру. Так как, к примеру, много где говорят, что ТПГ — сдвиговый регистр, но мало кто объяснил, как с этим работать.
Ну и тогда хотелось ещё сделать принтер для печати картинок. Кассовые аппараты, что у меня были, с этим не справлялись, а термопринтера на ESC/POS на момент начала экспериментов (а начиналось всё несколько лет назад) не было у меня.
Кассовые аппараты обычно печатают картинку через загрузку ее к ним в буфер. Т.е. ты сначала грузишь ее в аппарат, затем даешь команду на печать картинки. Иногда это не указано явно, а, например, приводится как печать лого в клише. При этом никто (кроме времени) не мешает загрузить вместо лого свою картинку и напечатать в произвольном месте
В современной технике встречаются скоростные термопринтеры, которые печатают чек буквально за долю секунды. Приходилось ли вам разбирать такие принтеры, чем они конструктивно отличаются от обычных?
головка не имеет никаких защит и регулировок и при слишком большом значении просто перегреется и сдохнет
К счастью, не все принтеры можно так спалить... Есть один старый медицинский аппарат фирмы Supore, который иногда зависает во время печати и оставляет головку включённой - если потянуть ленту вручную, то она так и выходит с прожжёнными полосами, а принтеру хоть бы что.
Отечественная термоголовка вообще способна прожечь дырку в бумаге. Правда, скорее всего, это включение будет для неё последним.
Насчёт скорости печати — нет, более быстрых я не разбирал. Но, думаю, они по конструкции близки к этому, просто используется более мощный мотор, чтобы быстрее двигать бумагу, и, возможно, отличная от показанной тут конструкция нагревателя, чтобы резисторы быстрее остывали и не смазывали картинку.
Если из обесточенного аппарата быстро вытянуть несколько десятков сантиметров ленты, то устройство оживает, мигают светодиоды. Только тссс...
Простите за вопрос не совсем по теме, но может кто подскажет.
Есть пара принтеров Posiflex Aura PP-9000. Один работает нормально, второй постоянно зажёвывает ленту. Начинает наматывать её на резиновый вал. Особенно часто, когда её остаётся мало. Уже что только не делали, чистили, сверяли прижимы, натяжения ленты и т.п. Искали различия между двумя одинаковыми механизмами, разницу пока не заметили.
От чего это зависит, что нужно в нём подрегулировать?
Кстати, драйвера под Windows к ним были кривые, пришлось ручками модифицировать, чтобы вместо 72 мм печатал на 80 мм в ширину. (Но последние версии драйверов ещё не проверял).
Приветствую, а это, случайно, не износ самого механизма? Не смотрели? Либо износ, либо брак, обычно пользователь доступа к таким настройкам не имеет.
Да может и износ, но как-то быстро он начал проявляться, нагрузки на принтеры не такие большие и достаточно равномерные. Следов износа не вижу. Разницу в принтерах не вижу, второй работает без зажёвываний. Больше склоняюсь к какому-то неправильному прижиму бумаги под крышкой, но разницу в прижимах тоже определить не могу.
Возможно, что и прижим. Надо детально смотреть по конструкции.
А вы меняйте местами по одной детальке в этих принтерах. Так хотябы найдете какая из них проблемная (валик, прижим, протяжка). Не исключен вариант, что вдруг оба заработают ;)
Возможно на ТПГ есть грязь или повреждения за которые бумага цепляется и начинает сминаться вместо протяжки
А разве он тогда не должен не печатать вообще, если ТПГ повреждена?
Всё идеально, всё прочищено.
Бумага отрезается и потом немного уезжает назад. А при следующей печати начинает наматываться на ролик протяжки. Почему - пока не разобрался.
Тогда я бы сравнивал зазоры в районе отрезчика. Получается, что ничего не мешает бумаге завернуться обратно и при последующей подаче начать наматываться на ролик. В пользу этого говорит еще то, что проблема учащается когда бумаги мало. Чем ближе к концу рулона, тем радиус меньше и тем сильнее изгибается бумага (а она пытается вернуть форму в которой провела все предшествовавшее печати время).
Скорее всего на Ардуино у вас есть сложности с плавностью и скоростью хода, так как надо синхронизировать шаг двигателя по прерыванию от таймера. На STM32 под Atollic True Studio на каком-нибудь Меркурие вы можете с программатором JLink по jtag swd отладить работу с термопринтером и ещё много (бесплатно)
О! А не вы ли, случаем, автор изначального кода?
Да, проблемы с этим есть и в идеале бы переписать под другой МК. С таймером неплохая идея.
Уже точно не скажу, я вот тут выкладывал с Ардуино Futjitsu 628 несколько лет назад
Если интересно я могу поделиться проектом под меркурий180Ф, где работает и принтер и USB RnDis реализован для управления девайсом через вэб морду с ПК. Просто написана своя тестовая прошивка, полный реинжегиринг, ни какого лома. Так можно в принципе с любым МК где есть jtag swd.
Если вам не трудно, было бы очень неплохо.
Вот дела, я почему-то думал, что головка большая, уже давно было лень совладать с валяющимся принтером.
Компактность устройства меняет все! Прощай, суббота!
Если не секрет, а что за принтер у вас?
я использовал Fujitsu FTP-628MCL101#57 (он во многих девайсах стоит), на Али один из самых дешевых
Сори, нагруженный вчера был день!
Модель Posiflex PP6900 U-B
А не проще ли его подключить по ESC/POS? Там же ничего сложного...
Спасибо, очень интересная, полезная статья и хорошо оформленная статья. При этом даже не перевод, а оригинал!
Есть для этих экспериментов факс KX-FT22, там на А4 можно печатать, и даже вроде как разобрался как управлять линейкой, однако дело встало на том, что не понятно, как распечатывать на нем с компьютера, кроме как отсылать по СОМ-порту нечто.. Это или протокол изобретать, или полностью разрабатывать прошивку с поддержкой ESC/P2, чтобы можно было стандартными средствами печатать. В общем, на этом все и засунуто в долгий ящик, т.к. такое не потяну. А так идея была распечатывать результаты диагностики авто на выезде.
Интересная статья, спасибо
Под каждый символ отведено пять байт, каждый из который кодирует вертикальную линию в восемь пикселей.
Поскольку отрисовка идет построчно, хранить символ в виде строк было бы примерно в 8 раз эффективнее, чем в виде столбцов :)
Пару лет назад так сделал то же самое для заказчика. Встраиваемые решение в медицинское оборудование - регистратор.
Однако в серию так и не пошло... Заказчик закрыл проект.
Здорово. Люблю такие штуки. Хороший гайд
Подскажите, кто знает (или пробовал) - возможна ли печать таким образом на термоэтикетках? Самоклеящиеся ценники, этикетки и т.п. - они ведь ощутимо толще обычной термобумаги.
Вообще можно же ещё и градации серого делать, если одну строку жечь несколько раз с разным временем
Как подключить термопринтер к микроконтроллеру