Перейти к содержанию
    

Автономный Прибор для перепрошивки картриджей

есть идея авто определения картриджа (по строке из микросхемы памяти картриджа, индивидуальной для каждого картиджа)

Я тоже думал сделать автоопределение, но не нашел в прошивках за что зацепиться, чтобы сделать автоопределение, смотри записи ранее на этом посте. На счет кенона не знаю особенности прошивок. Помоему они не чипуют лазерные картриджи, точно не знаю. А свой девайс еще не доделал. если хочешь конкретно укажи тип принтера, картриджа, нарой инфу по прошивке, сравни типы прошивок, сделай выводы, а потом действуй. Удачи! :)

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Нужно изменить 3 цифры номера

в диапазоне о-9 (каждую отдельно), чтобы прошивать картридж. Принтер запоминает номера, надо его обставить.

А нельзя просто делать инкремент по кругу (т.е. 998->999->000) этих цифр? Там ведь главное чтобы они не совпадали с теми что были ранее.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

А нельзя просто делать инкремент по кругу (т.е. 998->999->000) этих цифр? Там ведь главное чтобы они не совпадали с теми что были ранее.

Я уже сегодня обдумал с парнями на работе. Кстати этот вариант намного проще, только переменные в символьные char, поэтому первую тройку не трогать, а только младшую тетраду.

 

31 32 35 36 37 31 сер номер 125671

 

после изиененния надо например 125682, тогда будет

 

31 32 35 36 38 32

 

Спасибо за идею :a14:

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Набросал на выходных, продолжение следует...

ressetter_v.2.rar

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Схема нарисована в Proteus 6.9

resetter_II.rar

Изменено пользователем Otvertkin

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

набросал на выходных

Привет, дружище, у меня стало дело в процессе отладки проги по и2с при работе еепромом24с04. Делаю JTAG отладчик. В протеусе моделировать и отлаживать не могу пока. А ты можешь кинуть на мыло инфу по работе с протеусом, если есть, или толковую ссылку? А схемки гляну с интересом , потом отпишу. Пока.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Привет! А у меня уже все работает, как и говорил нужные ячейки заменяются новыми значениями а к серийному номеру картриджа прибавляется единица. В Протеусе ничего сложного нет, осваивается за вечер. Прогу написал в Баскоме, на днях выложу хексик. Почему Баском?, удивительно дружелюбный интерфейс, масса примеров, большинство функций уже реализованы программно. Есть мнение что баском при компиляции делает довольно громоздкие hex-файлы, ну не знаю, для любителей экономного использования флеш памяти могу предложить написание программ в ассемблере или сразу в машкоде! :lol:

Изменено пользователем Otvertkin

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

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

Пробовал шить в симуляторе или в реале на чипе? Под какие картриджи написал прогу? Скачал файл печатки, не знаю чем открыть. В игле , что ли проектировал ? Молодец, Отверткин, хоть ты все доделал :a14: , а я застрял с TWI интерфейсом в Win AVRе, просто туплюсь, протокол вроде понятен, сишных исходников куча, а с использованием библиотек и синтаксисом - как дятел. Да еще время не хватает ни начто. За тебя очень рад. Кинь в графити плату, если хочешь.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

S4200, X220 пока это все чипы на которых пробовал. Остальное в скором времени.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Начал делать устройство для обнуления картриджей Samsung и Xerox, а тут оказывается такое объемное обсуждение. Не знаю заходят ли сюда еще, поделюсь тем, что у меня получилось.

МК Tiny13 CodeVision.

Для работы с EEPROM использовал функции компилятора.

Я встречал Xerox Pe120, Samsung 4200, 4720. Насколько я понял, у них нужно обнулить байты 0х40-0х43, 0х80-0х83, изменить хотябы байт 0x3F номера картриджа.

Значение байта 0х3F считывается, увеличивается на 1, снова записывается. Байты счетчиков обнуляются. Предварительно в них прописывается 0xFF. Меня волновало, как будет работать с различными микросхемами памяти. У некоторых программаторов с этим есть проблемы (известный PonyProg, например). Для эксперементов взял:

ATMEL 224 24C16

BR24C08

ATMEL942 24C04

ST CHN 24C08

24LC02B

X2402P

Из них без проблем сработало только с первыми двумя. Остальные нивкакую не хотят. В основном проблемы с записью в байт 0x3F.

Интересно, что у других получилось.

В проект прилагаю файл для Протеуса. В коде для него нужно включить задержку. Там есть комментарий. А для прошивки ее нужно убрать. В Протеусе работает прекрасно :)

 

ps Залил архив занова указав в файле коментариев фюзы. Менял CKSEL от заводских.

i2c.rar

Изменено пользователем Tiny

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Приветствую, Tiny!

Тоже немного интересуюсь этим вопросом, есть некоторые наработки.

Вот, что сразу заметил из кода:

Переменная в 0х3F должна быть в пределах 0х30 - 0х39, а стирать ячейку не обязательно.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Это существенное замечание. Те прошивки, которые у меня есть действительно попадают под диаппазон 0х30 - 0х39. От куда эта информация, из просмотра прошивок? Если так, то нужно подправить мою программу. У меня при значении 0хFF соледующим после прибавления 1 получалось - 0х00, т.к. переменная имела тип unsigned char. Нужно будет дописать в таком случае, чтобы после 0х39 получалось 0х30

Вчера испытал на реальном картридже Samsung 4720. Индикация показала, что запись осуществленна успешно. Т.ч. устройство с установленной в нее память справилось. Пока не жаловались. Если до завтра не вернутся - значит работает. Я их предупредил, чтобы внимательно проверили.

Пока я не стер (не прописал предварительно 0xFF) у меня не получилось. Может это все таже проблема работы с памятью, о которой я писал. Я где-то читал, что эту серию необходимо стирать перед записью.

Интересно, как у вас? Есть ли эти проблемы или пишутся из это серии? Я имею в виду не стирание, а вообще запись - чтение. Использовали ли вы готовые функции, или писали сами?

Батарейки ит зажигалки. Плата от картриджа прикладывается к контактам, нажимается кнопка, подающая питание на МК. Загорелся светодиод-значит запись осуществленна успешно.

post-18720-1212747276_thumb.jpg

Изменено пользователем Tiny

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

В прошивках что мне попадались, цифры серийника были обычно в этом диапазоне.

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

Кстати, лучше делать проверку модели в первых 8 ячейках - вдруг что, и у 4720 сложнее дамп чем у 4200 - серийник записан в нескольких местах, если менять его только в одной строке, принтер может не принять картридж.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Внес в программу корректировку ограничивающую диаппазон номера картриджа. Спасибо за и нформацию!

Меняю я только указанные мною ячейки. Остальные не трогаю, поэтому и не проверяю. Во время моих проверок памяти в программаторе другие ячейки не изменялись.

Вначале я тоже хотел сам функции написать. Для этого начал изучать методику чтения-стирания- записи памяти 24СХХ. Но так и не закончил. Написал программу используя готовые функции CodeVision. Если будет время - снова возьмусь. Хотя и нет гарантии, что я сделаю лучше. Не известно почему возникают проблемы. Ланконели так и не усовершенствовал свой PonyProg, чтобы он мог читать все микросхемы памяти 24-й серии, а не определенных производителей.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Диапазон 0x30-0x39 происходит из кодов ASCII 0х30 - это код цифры "0", 0х39 - это код цифры "9"

 

Когда то очень давно я работал в сервисе и пользовался ПониПрогом для работы с 24СХХ и у меня были проблемы с чтением атмеловских микросхем, иногда проблема решалась подключением небольшого конденсатора, только не помню на какую линию SDA или SCL, конденсатор порядка 10-20пикофарад, такое решение было найдено в результате поиска проблемы с чтением, было выяснено что иногда при подключении осциллографа чтение проходило успешно, а входная емкость его была 10pF.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Присоединяйтесь к обсуждению

Вы можете написать сейчас и зарегистрироваться позже. Если у вас есть аккаунт, авторизуйтесь, чтобы опубликовать от имени своего аккаунта.

Гость
Ответить в этой теме...

×   Вставлено с форматированием.   Вставить как обычный текст

  Разрешено использовать не более 75 эмодзи.

×   Ваша ссылка была автоматически встроена.   Отображать как обычную ссылку

×   Ваш предыдущий контент был восстановлен.   Очистить редактор

×   Вы не можете вставлять изображения напрямую. Загружайте или вставляйте изображения по ссылке.

×
×
  • Создать...