среда, 16 сентября 2015 г.

Самодельный программатор для картриджей принтера

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

Как всегда, новое дело началось с казуса. Прибежала сотрудница с криком "караул, принтер поломался!". Прихожу, смотрю- да, действительно принтер Samsung ML-1661 не печатает, на все попытки его расчехлить светит красным светодиодом, типа "error, совсем error". Вызываю специалиста для ремонта и оказывается, что просто-напросто картридж принтера заблокировался из-за того, что встроенный в него счетчик насчитал слишком уж много распечатанных страниц. По задумке Самсунга, когда картридж отпечатывает всю свою заправку, он должен заблокироваться и не работать, что бы его нельзя было самому заправить и пришлось купить новый... Ага щас. Ремонтник поменял плату с заблокированным чипом на нормальную, принтер тут же заработал, а мы получили счет за ремонт.

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

1. Кол-во отпечатанных страниц в картриджах принтеров Samsung ML-1661 и подобных ему хранится в микросхеме флеш-памяти EEPROM серий 24xx.
2. Чтение/запись этой памяти идет по интерфейсу i2c "квадратная шина".
3. Что бы сбросить кол-во отпечатанных картриджем страниц и снова разблокировать картридж, нужно сделать программатор, который работает по квадратной шине.
4. Самодельных схем таких программаторов много.
5. Как и везде, в программаторах для принтеров(а точнее для микросхем памяти, работающих по интерфейсу i2c) чем проще схемы, тем они более стремные и при невнимательном использовании могут завалить если не материнскую плату целиком, то USB или COM точно.

Тем не менее, мною для создания была выбрана одна из самых примитивных схем принтерных программаторов, основанная всего на 2-х резисторах. У этой схемы есть 2 варианта:

Вариант 1.














http://www.notesprint.net/2012/01/24c04-ponyprog-samsung-scx-4220-xerox.html
Здесь питание 5V для прошиваемой микросхемы берется только с USB-порта компьютера. Т.к. обвязка минимальна, сей девайс опасен для USB и южного моста. А спалив ЮМ, материнскую плату можно выкидывать.


Вариант 2.














Всё то же самое, но благодаря подключенной между USB и СОМ земле, питание 5V можно брать не только с USB-порта компа, но от внешнего источника питания, например от телефонной зарядки с USB-выводом.

Я себе сделал программатор по второму варианту, чтоб не втыкать в ЮСБ порт своего компьютера, а использовать только внешний источник питания. Такая мера предосторожности хоть как-то компенсирует откровенно стремную и опасную схему программатора. Теперь, если что пойдет не так, пострадает максимум только СОМ-порт.
Получился такой программатор:

В программаторе используются:
1) Разноцветные крокодилы, купил на радиорынке по цене 1.5 грн(0.06 $) за штуку. Почти даром.
2) Разъем  DB9F для подключения к СОМ-порту компьютера.
3) Резисторы 5.6 кОм. Кстати, в интернете номиналы резисторов для этой схемы варьируются от 4.7 кОм до 6.8 кОм.
4) Шнур USB, взял от поломанной веб-камеры. 
5) Источник питания 5V, зарядка с USB выходом от мобильника.

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















Дальше просто: подключил плату с микросхемой памяти, прошил в нее через программу PonyProg2000 новую прошивку на 1500 страниц, всё ок. Первый картридж прошит успешно.

Детальная инструкция по прошивке, программа и сами файлы прошивки для разных принтеров в архиве тут: https://yadi.sk/d/SVnSmztjj8V6n

1 комментарий: