Андрей Смирнов
Время чтения: ~20 мин.
Просмотров: 12

РадиоКот :: Автономный программатор чипов картриджей RICOH от лазерных МФУ и принтеров

my_programmator_02_mini.jpg Раньше обслуживанием принтеров занимался не мой отдел, а снабженцы: если что, вызывали людей из фирмы для заправки и ремонта принтеров . Теперь функцию по вызыванию этих людей передали нам. Как всегда, новое дело началось с казуса. Прибежала сотрудница с криком «караул, принтер поломался!». Прихожу, смотрю- да, действительно принтер Samsung ML-1661 не печатает, на все попытки его расчехлить светит красным светодиодом, типа «error, совсем error». Вызываю специалиста для ремонта и оказывается, что просто-напросто картридж принтера заблокировался из-за того, что встроенный в него счетчик насчитал слишком уж много распечатанных страниц. По задумке Самсунга, когда картридж отпечатывает всю свою заправку, он должен заблокироваться и не работать, что бы его нельзя было самому заправить и пришлось купить новый… Ага щас. Ремонтник поменял плату с заблокированным чипом на нормальную, принтер тут же заработал, а мы получили счет за ремонт. И тут я подумал, а почему бы самому не сделать программатор для картриджей и сэкономить родному предприятию копеечку? Мастерить девайсы я хоть и не первый специалист, но опыт имеется. Полазил по интернету и понял следующее:1. Кол-во отпечатанных страниц в картриджах принтеров Samsung ML-1661 и подобных ему хранится в микросхеме флеш-памяти EEPROM серий 24xx. 2. Чтение/запись этой памяти идет по интерфейсу i2c «квадратная шина». 3. Что бы сбросить кол-во отпечатанных картриджем страниц и снова разблокировать картридж, нужно сделать программатор, который работает по квадратной шине. 4. Самодельных схем таких программаторов много. 5. Как и везде, в программаторах для принтеров(а точнее для микросхем памяти, работающих по интерфейсу i2c) чем проще схемы, тем они более стремные и при невнимательном использовании могут завалить если не материнскую плату целиком, то USB или COM точно. Тем не менее, мною для создания была выбрана одна из самых примитивных схем принтерных программаторов, основанная всего на 2-х резисторах. У этой схемы есть 2 варианта:Вариант 1.shema_progr_24xx_1.jpghttp://www.notesprint.net/2012/01/24c04-ponyprog-samsung-scx-4220-xerox.html Здесь питание 5V для прошиваемой микросхемы берется только с USB-порта компьютера. Т.к. обвязка минимальна, сей девайс опасен для USB и южного моста. А спалив ЮМ, материнскую плату можно выкидывать.Вариант 2.shema_progr_24xx_2.jpg Всё то же самое, но благодаря подключенной между 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В данной статье будет рассмотрены возможности изготовления программаторов для чипов типа 24С04, которые используются в картриджах лазерных принтеров и МФУ Samsung и Xerox. По всему интернету раскиданы разрозненные руководства, мне же хочется объединить знание, чтобы люди могли выбрать для себя что-то идеальное и по своим силам и по своим нуждам. Итак в статье будут рассмотрены несколько конструкций программатора.P.S.: Некоторые из программаторов я проверял в работе, об этом я буду ставить пометку. Те, кторые я изготовил работают отлично, ни одной «запоротой» микросхемы в процессе прошивки не было.P.Р.S.: Сохранены ссылки на все исходные статьи, все идеи, конструкции и изображения принадлежат их авторам, в основном это, конечно, завсегдатаи сайта StartCopy.ru.

Вариант 1. Программатор на основе микросхемы К555ЛН2 (Авторы: Альберт ака Beto, Lapatushka, проверялся)

Микросхема К555ЛН2 (можно и К155 и К1533) – 1 шт., </li>Резисторы 1,0–1,8 кОм х 0.125Вт – 5 шт., </li>Диоды импульсные 1N4148 (можно КД522) – 4 шт., </li>Стабилитрон на 5В с током стабилизации более 0.5A – 1шт., </li>Конденсатор 220мкФ x 16V – 1 шт., </li>Резистор 10 Ом х 0.5Вт – 1 шт., </li>Разъём DB9F (на COM-порт) – 1 шт., </li>Корпус для разъёма – 1 шт., </li>Кабель ШГЭС 4 х 0.8 – 2 м., </li>Зажимы типа «крокодил» — 4 шт., </li>Светодиод любой — 1 шт., </li>Блок питания на 6–9В (можно старый зарядник от сотового) – 1 шт.</li>  

Схема собирается на плате фольгированного текстолита, под коробочку от игры (см. рис.) или произвольного размера (на ваше усмотрение), заточенным штангенциркулем размечается на плате сетка с шагом 2.5 мм. Можно расчертить карандашом места прорезов, но можно и сразу вырезать канцелярским ножом лишнюю фольгу. Зачистить поверхность наждачной бумагой и облудитьм. Желательно проверить дорожки на отсутствие КЗ.

Формуем выводы микросхемы для планарного монтажа и припаиваем ее, а потом и остальные элементы согласно принципиальной схемы.

От 2-метрового кабеля отрезаем кусок около 30 см. С одной стороны этого куска напаиваем «крокодилы», причём экран и сигнальную жилу соединяем вместе; другую сторону припаиваем к плате. Другой кабель припаиваем к плате и разъёму. Экраны лучше скрутить вместе и припаять к корпусу разъёма, для лучшего контакта «массы». На платке кабель закрепляем термоклеем или стяжками. Припаиваем в нужной полярности кабель блока питания. После этого лучше ещё раз визуально и с помощью мультиметра проверить наличие «коротышей». Если всё в порядке, то можно проверить собранный программатор.

Собираем конструкцию в единое целое.

Вот электрическая принципиальная схема программатора:

Оригинальная статья: http://www.startcopy.ru/repair/progr_i2c1.htm

Программатор сделан на одной микросхеме типа К555ЛН2 (аналог 74LS05) или КР1533ЛН2 (аналог 74ALS05), содержащей шесть инверторов с открытым коллектором (поэтому на выходах нужны «подтягивающие» резисторы); используются только два из них. Монтаж резисторов производится прямо на ножки микросхемы, всё помещается в корпусе разъёма DB-25-male.

Питание (+5В) берется от USB-порта, для чего используется кусочек USB-кабеля с разъемом. Обычно в USB-кабеле красный провод для шины +5В, черный — для общей шины, но лучше прозвонить тестером; назначение контактов в USB-разъеме приведено на схеме внизу справа. Кабель к программируемому чипу должен быть не более полуметра, экранированный; как вариант, можно использовать отрезок кабеля STP (экранированная витая пара): в нем каждый сигнальный провод свит с другим проводом, который надо соединить с GND.

Данный совет адекватен для любого программатора в данном обзоре, т.к. они практически все используют «крокодилы»:»Крокодильчики» для соединения с контактами чипа можнодоработать: верхнюю часть сплющить, чтобы только впереди зубчик прижимался к чипу, а на нижнюю «челюсть» надеть трубочку (оболочку от того же USB-кабеля), чтобы ничего не замкнуть снизу платки чипа.

Подсоединять можно «на горячую» — сначала землю (GND), потом сигналы (DATA и CLK) и только потом питание (VCC); отсоединять в обратном порядке. При таком способе подключения из нескольких сотен чипов ещё ни один не сгорел.

Вариант 3. Автономный программатор на основе PIC-микроконтроллера (Автор: Сергей Кохан)

Оригинальная статья: Автономный программатор чипов картриджей с микросхемой 24с04

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

Список программируемых чипов: Samsung SCX4200, Samsung SCX4720, Samsung SCX2550 и других.Информация выводится на жидкокристаллический дисплей. Записывающиеся данные верифицируются, в случае несоответствия (неисправен чип, пропал контакт) выдается сообщение об ошибке. Выбор чипа осуществляется кнопками SW1 и SW2, запись чипа кнопкой SW3. Питание осуществляется от батареи типа «Крона» либо от внешнего источника 7-12 Вольт. 

Описание работы устройства

Контрастность дисплея можно подобрать резистором R7. Для программирования микроконтроллера U1 (по интерфейсу ICSP) служит разъём J2 .

Потребляемый устройством ток — 10 mA.

Прошивку микроконтроллера Сhipreset.hex: [hide][attachment=22][/hide]

Прошивку EEPROM 24LC64 eepromi2c.bin: [hide][attachment=19][/hide]

Печатаная плата программатора: [hide][attachment=20][/hide]

Увеличенная электрическая схема программатора: [hide][attachment=21][/hide]

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

Конфигурационное слово при программировании микроконтроллера : 0x3FFA.

Схема программатора (откройте данное изображение схемы — оно несколько больше на самом деле)

Оригинал статьи: http://www.startcopy.ru/repair/c_x3450.htm

Данная статья ориентирована на картридж Xerox Phaser 3450 и ему подобные.

1. Чем заправлять: тонер — Xerox Р8е, Oki 8W.

2. Как заправлять: Отвернуть два винта, расположенных на верхней крышке ближе к бокам корпуса, и, перевернув корпус, снять бункер.ОБЯЗАТЕЛЬНО: Очень аккуратно очистить все детали и бункер от остатков тонера (удобно пользоваться пылесосом с пластмассовой плоской насадкой); это позволит избежать проблем в дальнейшей работе и продлит жизнь картриджу и печке принтера. Засыпать одну (при прошивке чипа на 5000 копий) или две (при прошивке чипа на 10000 копий) тубы тонера — это порядка 160/320 грамм.Накрыть сверху механической частью картриджа, соединить обе части, ввернуть винты на место.

3. Чем перепрограммировать: Компьютер — любой PС, имеющий рабочие СОМ и USB порты.

Программатор (soft) PonyProg2000 — свободно распространяемая программа с сайта производителя; испробовал несколько других, но эта, на мой взгляд, удобнее; а вообще подойдет любая для 24C04 IІC Bus EEPROM, поддерживающая интерфейс SI Prog.

Программатор (hard) или железо — придется сделать самому; его изготовление займет 5-15 минут для ленивых и 3-5 часов для продвинутых. Как оказалось, самая дефицитная часть — это разъем для соединения с СОМ-портом компьютера («мама» РС9), но его можно отрезать от старого кабеля для модема (от мышки не подойдет — не все провода); длина оставшегося провода не должна превышать 3-6 см (!) от края разъема.

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

Плата получилась такая (рис.3):

Посадочный разъем для платы чипа сделал из толстого плексигласа, коннекторы из толстой струны.

Главное — уделить внимание надежности контактов! Фантазии не возбраняются 🙂

4. Как программировать:a. Установить и закрепить плату чипа на программаторе (это для второго варианта)b. Вставить программатор в СОМ1(СОМ2) выключенного компьютераc. Включить компьютер, запустить PonyProg2000d. Настроить PonyProg2000:Меню «Установки — Настройка оборудования…» (рис.4)

Обязательно выполните проверку — должно быть «Тест Ок!»

e. Установите тип микросхемы (рис.5):

f. После этого можно «считать» чип или загрузить исходную прошивку (рис.6). Прошивка чипа Xerox-3450 несколько отличается от прошивки Samsung ML-2150, хотя чипы у них идентичные.

g. Записываем прошивку в чип. Закрываем программу, выключаем комп. Извлекаем (отпаиваем) плату чипа из (от) программатора (разъема) и устанавливаем ее в заправленный картридж.

i. Наслаждаемся. Пьем пиво на сэкономленные средства! 🙂

Удачи!

Примечания.

1. В схеме программатора указана импортная микросхема. Если же использовать наши аналоги (555ЛН2, 155ЛН2), то необходимо инвертировать сигналы в настройках программы, или же использовать 555ЛН4, у которой выходы уже инвертированы.

2. У некоторых возникает проблема с надписью «low toner». Я пробовал установить FF FF FF FF — нарушений в работе не заметил, картридж работает нормально; но если проблемы есть, попытайтесь записать 5D 69 39 B6.

3. Все работает — за исключением того, что для моего принтера счетчик пришлось не обнулять, а записывать количество оставшихся страниц. т.е 8000 (1F40h) или побайтово:000080: 00 00 40 1F FF FF …  После этого выдает количество оставшегося тонера 100%; иначе — 0% и Low Toner… 

4. Дополнение к схеме на рис.2Я подал через резисторы 2.2кОм напряжение +5В прямо на выходные сигналы CLOCK (SCL) и DATA (SDA) аналогично входным, т.к. некоторые чипы не прошиваются по причине разной разводки питания; на качество прошивки «обычных» чипов не влияет — проверено.

5. Дополнение для Xerox WorkCenter M20i

Собрал такой программатор; перешил тонер-картридж для Xerox WorkCenter M20i. Всё получилось, хотя пришлось повозиться немного с самой прошивкой — на Xerox WorkCenter M20i и Xerox Phaser 3450 различаются строки о счётчике и кое-что ещё. Я бы хотел поделиться своим опытом со всеми, дабы людям легче было.

Собственно, все понятно из скриншота программы прошивки чипа (чтобы посмотреть увеличенную картинку, щелкните по ней мышью):

Вариант 6. Доработка программатора для картриджей Samsung ML-2150 и подобных (Автор: Евгений aka Yevgen, Mariupol, Ukraine)

Оригинал статьи: Доработка программатора для картриджей Samsung ML-2150 и подобных

Итак, первое: смотрим «Рис.2», приведенный в предыдущем варианте изготовления программатора:

Второе: не забываем прочитать «Дополнение к схеме на рис.2»:

«Я подал через резисторы 2.2кОм напряжение +5В прямо на выходные сигналы CLOCK (SCL) и DATA (SDA) аналогично входным, т.к. некоторые чипы не прошиваются по причине разной разводки питания; на качество прошивки «обычных» чипов не влияет — проверено».

Третье: имеем печатную плату программатора:

А элементы располагаем так:

1, 2, … 8 — это номера контактов штеккера RS0232 (DB-9).

G, D, W, C, V – соответственно Ground, Data, 1-Wire, Clock, Vcc.

Пятое: у меня все поместилось в розетку RJ-45 вместе с самим гнездом, что позволило сделать съемные шнуры со штекерами RG-45 с панелькой, крокодилами …

Шестое: качаем Pony-Prog, потом Chip-Reseter (minolta_reset.zip) и наслаждаемся работой программатора.При желании можно найти дополнительные файлы прошивок для Minolt’ы.

Вариант 7. Универсальный программатор для микросхем памяти (Автор: AntiLamer®)

Оригинал статьи: http://www.startcopy.ru/repair/progr.htm

Универсальный программатор «МИНИ» предназначен для программирования микросхем памяти 24Cxx (I2C) и DS2502, DS2432 (1Wire), применяемых в копировальных аппаратах, принтерах и МФУ.

Для записи микросхем серии 24Cxx в качестве управляющей программы используется PonyProg, в настройках которой необходимо проинвертировать все сигналы, кроме RESET.

Для считывания информации с имеющихся микросхем можно использовать программы для I2C (скачать демо-версию I2C, 350k) и 1WIRE (скачать демо-версию 1WIRE, 310k). В приведенных демо-версиях заблокирована функция записи, можно только считывать информацию; полнофункциональные версии программ являются платными, но они быстро окупаются — купить их можно у разработчиков программ.

Образцы программаторов с различными видами контактов:

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

или вот такой вариант:

Оригинал статьи: http://www.startcopy.ru/repair/progr.htm

Собираем по приведенной схеме:

Скачать прошивку для микроконтроллера: [hide][attachment=24][/hide]

Собрали? Использовать так:

включить питание — загорится красный светодиод (можно ставить сдвоенный), </li>взять картридж в левую руку, обнулятор в правую, нажать и удерживать RESET, прижать контактами к чипу, отпустить RESET; </li>загорелся зеленый — все ОК.</li>

Батарейку лучше новую брать. Ниже приведены фото устройства в сборе (вид сверху и снизу) :

«Обнулятор» пригоден для работы с картриджами Самсунг 4200, 4220 и Ксерокс 3119.

Работает устройство следующим образом: микросхема по шине считывает код для идентификации картриджа; если он 0xFF — считывание повторяется, если другой — то проверяется, Самсунг ли это (если нет, то прошивается как Ксерокс), далее считывается три числа из серийного номера, прибавляется единица, проверяется переполнение, если нужно — исправляется, заливается прошивка с нового чипа (точнее, первые 128 слов), возвращается исправленный серийник.

Дополнение:

«Обнулятор» уверенно работает при питании от батареи телефона (3,6В и более) или от USB через диод (для этого на плате есть дополнительный разъем); такое питание позволяет уверенно работать с некоторыми старыми чипами, которым напряжения 3В бывает мало, и они не «шьются», требуя питания по меньшей мере от 4В.

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

Вариант 9.Изготовление программатора для чипов картриджей Xerox и Samsung своими руками (проверялся).

Сборка программатора чипов для лазерных картриджей (Samsung, Xerox и.пр.), основанных на микросхеме 24C04.

 Необходимые компоненты и программы:

Диоды КД 521, 522 или их аналоги количество — 3 шт.

Резисторы на 4,7 кОм количество — 2 шт.

Конденсаторы емкостью 47мкф рассчитанные на напряжение более 6V -2 шт.

Конденсатор емкостью 100нФ — 1шт.

Микросхема импортная LM2936Z-5 -1шт.

Разъем РС9 для подключения к компьютеру.

Стабилитроны на 5.1V например BZX55 количество — 2 шт.

Для программирования используется программа PonyProg2000, скачать программу можно здесь.

АППАРАТНАЯ ЧАСТЬ.

Печатная плата с нанесенными элементами.

Условные обозначения:

— D3,D4,D5 -Диоды КД521

— D1,D2 — Стабилитроны на 5.1V BZX55

— R1,R2 — Резисторы на 4,7ком

— С4,С5 — Конденсаторы на 47мкф (внимание при пайке конденсаторов соблюдайте полярность)

— C3 — Конденсатор на 100n

— SR11 импортная микросхема LM2936Z-5 скачать информацию о микросхеме можно здесь

— VCC,SDA,SCL,GND — выводы на чип

— ком3,4,5,6,7,8 вывода на разъем PC9

— красными линиями изображены провода

Печатная плата без нанесенных элементов

Рисунок для изготовления печатной платы: [hide][attachment=25][/hide]

Внешний вид готовой платы. Размер полученной платы — 40х80 мм.

ПРОГРАММИРОВАНИЕ

1. Установить и закрепить плату чипа на программатор

2. Вставить программатор в СОМ1(СОМ2) выключенного компьютера

3. Включить компьютер, запустить PonyProg2000

4. Настроить PonyProg2000:

5. Меню «Установки сначала выбрать калибровка (должно высветится ОК) См. рисунок выше. После чего в меню «настройка оборудования» выбрать нужный Com порт и нажать «Проверка» должно высветится Тест ОК. См. рисунок ниже

6. Далее нужно в меню «Устройство» установить тип микросхемы 2404. См. рисунок ниже

7. Далее в меню «Команды» выбираем «считать все» программатор должен считать данные с чипа. См. рисунок ниже

8. Далее в меню»Файл» нажимаем «Открыть файл с данными » выбираем нужную прошивку и открываем ее. См. рисунок ниже.

9. В открывшейся прошивке в обязательном порядке необходимо поменять серийный номер так как принтеры и МФУ запоминают несколько предыдущих серийных номеров чипа. Для того чтобы поменять серийный номер чипа необходимо сделать следующее:

а) в меню «Правка» выбрать «Редактирование буфера». См. рисунок ниже.

б) Затем навести курсор на начало надписи «CRUM», нажать левую кнопку мыши и в открывшемся поле изменить последние две цифры на любые другие. См. рисунок ниже

10. Далее в меню «Команды выбираем «Записать все». См. Рисунок ниже.

11. После того как произойдет запись прошивки на чип необходимо выключить компьютер и отсоединить программатор.

Вариант 11 (4).Программатор для лазерных картриджей упрощенная конструкция «на двух резисторах».

Как видно на рисунке, в основе программатора чипов лежит все та же схема, что и в предыдущем примере, но сильно упрощенная: теперь она содержит всего три детали и один кабель USB. Питание чипа теперь формируется за счет красного провода USB, который выдает на выходе +5V и подсоединяется к выводу VCC на чипе. У многих возникнет вопрос: «где программатор берет -5V, ведь, если есть плюс, значит должен быть и минус.» Отвечаем: -5V программатор берет с 5-го вывода КОМ-порта (GND).

Необходимые компоненты:

Резисторы на 4,7 кОм количество — 2 шт.

Разъем РС9 для подключения к компьютеру.

Провод USB.

Внешний вид программатора чипов для лазерных картриджей.

Вот так выглядит спаянная схема.

Вот так программатор чипов подключается к чипу

Учитывая простоту схемы программатора ее сможет спаять даже человек очень далекий от электроники.

Примечание:

Если программатор не считывает чипы от Samsung CLP-600/650 необходимо подключить разъем VCC на чип через резистор (мощность резистора значения не имеет) на 2,2 ком. и более. Причина кроется в том, что у некоторых чипов считывание происходит при напряжении от 2 да 3,5 вольта, а через VCC подается напряжение 5 вольт.

Вот и закончились программаторы, выбирайте какой Вам больше по душе и шейте, шейте, шейте…

Понадобилось при изучении и ремонте компьютеров, которые старше меня, прошивать ПЗУшки. Тесты оперативной памяти и периферии проводить. Нормального программатора у меня на тот момент не было.

Собрать на логике для LPT порта, конечно, можно, но данный вариант был отброшен, так как для использования пришлось бы включать ещё какого-нибудь старичка. В современных компах все ещё встречается данный интерфейс (правда не полноценный разъем, а на гребенке) да и купить плату в PCI слот тоже не проблема, но возникают уже сложности с софтом. Он был написан очень давно, когда работа с портами ввода/вывода в операционных системах велась иначе. Соответственно, в современных версиях Windows ПО не будет работать.

Сразу стоит оговориться, что про существование TL866 знаю. И даже в процессе разработки все же его купил себе, но он не в состоянии прошить микросхемы, которые требуют высокое напряжение программирования. Максимум 18 вольт (TL866+ или 21 для предыдущей версии).

Беглое гугление привело меня к данному репозиторию. Собрав программатор, я смог сдампить пару интересующих чипов. А вот с прошивкой все оказалось куда сложнее… Софт этого просто не умеет… Его, конечно, можно обмануть, выставив неправильный чип, но работает это не во всех случаях и явно не наш метод

Очень сильно огорчил пользовательский интерфейс, который, вместо классического варианта с предоставлением права выбора порта пользователю, проходился по всем доступным последовательным интерфейсам. Соответственно, все устройства перезагружаются. Особенно обидно, наверное, когда у тебя 3D принтер уже часов 10 печатает детальку с флешки, а тут такая подстава…

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

Берем за основу схему из предыдущего проекта и дорабатываем устройство до требуемого функционала. Решил пожертвовать поддержкой EEPROM в софте. Возможно, это не совсем удачное решение, но для электрически стираемых чипов уже не нужно такое высокое напряжение. При доработке опирался на самую объемную микросхему (27C512 для DIP28) и убрал всю путаницу относительно адресных ножек. Весь адрес будет задаваться исключительно при помощи сдвиговых регистров (74HC595). Это освободит дополнительные ноги самого микроконтроллера, которые понадобятся для управления подачей напряжения программирования. А все необходимые сигналы (PRG) можно получить модификацией адреса перед загрузкой в регистры.

Принцип подачи напряжения программирования остался прежним. Изменения только в области защиты выводов микроконтроллера и сдвиговых регистров. Заменил резисторы (1 КОм) на диоды с подтяжкой к лог. 0. Это менее агрессивный вариант. Хотя, справедливости ради, и резисторы работают.

Изучив документацию на все интересующие чипы, определил, что требуется три точки подачи Vpp:

  1. 27C16 на 21 ногу микросхемы (23 ногу DIP28 сокета)
  2. 27C32 и 27C512 на сигнал #OE (Output Enable)
  3. 27C64, 27C128, 27C256 на 1 ногу микросхем

Микросхемы 27C16 и 27C32 от остальных отличаются корпусом, так что им требуется подавать напряжение питания на 26 ножку сокета. Это адресная нога A13 для более емких собратьев. Тока с выхода сдвигового регистра должно хватить для работы, но на время загрузки данных его выходы переходят в Z состояние. Подобный режим допустим, но включение на чтение или запись одной ячейки вряд ли является нормой. Поэтому под управление питания установлен дополнительный транзистор. И ещё один потребовался для 27C16, которому на время чтения необходимо подать на вход Vpp 5 вольт. Можно, конечно, на время чтения выставить напряжение программирования на значения 5 вольт, но переключаться между 25 и 5 вольтами неудобно.

Если есть свободные ноги АЦП, то почему бы не измерять напряжение программирования? Плата разведена под Arduino Nano. На нем имеются два дополнительных входа, которые кроме как для АЦП использовать нельзя. На самом деле это особенность многих микроконтроллеров AVR в корпусе для поверхностного монтажа. На китайских Arduino UNO частенько есть входы A6 и A7. С учетом того, что напряжение может быть до 30 вольт (вроде больше всего хотят отечественные РФ5, 25 вольт), рассчитываем делитель из того, что есть в наличии. Точность в 0.5 вольта для данной задачи вполне достаточна. Эта функция — защита от дурака, а не вольтметр.

Можно, конечно, было заморочиться и выступать в качестве ШИР (широтно импульсное регулирование) контроллера, но ножек свободных не осталось. Поэтому на печатной плате есть посадочное место для преобразователя DC-DC Step Up на чипе MT3608, которые за копейки доступны на али.

По схеме на этом все.

3zl39e3ayw4czu_dayhh0jd3fdu.png

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

Схемы и софт доступны в репозитории на GitHub: https://github.com/walhi/arduino_eprom27_programmer. При сборке можно спокойно менять номиналы резисторов. Правда с делителем потребуется немножко исправить код скетча.

Используемые источники:

  • http://www.comp-man.info/2015/09/blog-post_16.html
  • http://www.texnotron.com/electronics/44-izgotovlenie-programmatora-dlya-chipov-24s04.html
  • https://habr.com/post/462433/

Рейтинг автора
5
Подборку подготовил
Максим Уваров
Наш эксперт
Написано статей
171
Ссылка на основную публикацию
Похожие публикации