www.elektronik.si
DS2430 za kartušo

www.elektronik.si -> Osnove programiranja PIC-a v Assembler-ju

Avtor: novinec26Kraj: Maribor PrispevekObjavljeno: Sre Jan 04, 2012 10:49 am    Naslov sporočila:  DS2430 za kartušo
----------------------------------------------------------------------------
Pozdravljeni.

Prosil bi za pomoč in sicer bi rad ponovno sprogramil omenjen čip. Čip služi za večji tiskalnik in ima funkcijo štetja strani, ko je kartuša prazna jo napolnim z novim prahom, vendar tiskalnik ne zazna da je kartuša polna, zato moram ob vsakem polnjenju kupit tudi ploščico ki je na sliki, seveda pa ni poceni pa še dolg nabavni rok je. Sem pa dobil informacijo da se da na nek način ta čip na ploščici sprogramirat zato prosim če bi mi kdo to pomagal naredit. Nekaj malega osnov imam z programiranjem v večini pa je to igranje z ledicami na 16F84.

Hvala za vsakršno pomoč.

Avtor: a.vidmarKraj: Postojna PrispevekObjavljeno: Sre Jan 04, 2012 1:46 pm    Naslov sporočila:  
----------------------------------------------------------------------------
Napiši za kateri tiskalnik gre, bo šlo lažje naprej.

Avtor: novinec26Kraj: Maribor PrispevekObjavljeno: Sre Jan 04, 2012 2:04 pm    Naslov sporočila:  
----------------------------------------------------------------------------
Gre za MIMAKI JV3

Avtor: igoKraj: Krško PrispevekObjavljeno: Sre Jan 04, 2012 2:49 pm    Naslov sporočila:  
----------------------------------------------------------------------------
DS2430 je navaden 1-wire eeprom. Rabiš novo ploščico, da z nje prebereš program, oziroma informacijo o polni kartuši.
Tiskalnik potem vsakič prebere stanje kartuše in vpisuje podatke o izpraznjenosti.
Ko bo kartuša prazna, v eeprom spet vpišeš informacijo o polni kartuši.

Zadeva je dejansko na ravni 1-wire branja/pisanja in 16F84.

Sam sem to napravil za CYMK kartuše na tiskalniku za tiskanje plakatov in sem dal kar 4 tipke, s katerimi izberem barvo, ki jo hočem vpisati. Barve se črpajo iz 10litrskih posod (prej drage 400ml kartuše s čipi), ko začivka, da je kartuša prazna, pa samo preprogramiram ploščico na ustrezno barvo in se tiska dalje.

Avtor: LinuxFuterKraj: Novo mesto PrispevekObjavljeno: Sre Jan 04, 2012 3:07 pm    Naslov sporočila:  
----------------------------------------------------------------------------
Če si bolj vešč v linuxu kot pa v elektroniki ti lahko pomaga http://owfs.org/ projekt, ki ti omogoča dostop do česarkoli podprtega/standardnega na 1Wire vodilu, kjer je vsebina dostopna preko datotečnega sistema (tako kot sicer na linuxu kjer je vse datoteka... ). Edino kar še rabiš je vmesnik za povezavo PC <-> 1Wire vodilo.

Avtor: igoKraj: Krško PrispevekObjavljeno: Sre Jan 04, 2012 9:52 pm    Naslov sporočila:  
----------------------------------------------------------------------------
novinec26 je napisal/a:
Pozdravljen!
Upam da ne zameriš ker ti pišem kr na ZS.

Bi mi prosim poomagal tole rešit?
Najprej me zanima kako si prebral podatke iz čipa, mislim z katerim programom in kako si povezal ploščico z PC?
Ne zamerim, samo gre za sestavljen projekt, ki se ga ne da v celoti rešiti na daljavo.
Piši tu na forumu, ker lahko pomagam samo glede PIC programčka, glede ostalega pa ne.

Moj programček za 1-wire branje in pisanje imam drugje in ga lahko med vikendom pripnem sem. Je za 16F628A, a se ga zlahka prevede, da bo ustrezal PIC-u, ki ga boš ti uporabil.

Najprej moraš izdelati mini tiskanino in stvar sestaviti. Poleg osnovnih elementov okrog PIC-a rabiš še eno tipko in dve izpostavljeni ostri konici ali dva mini krokodilčka za povezavo na tiskanino od DS2430.

Če si že programiral 16F84, potem verjetno imaš nek PIC programator. Lahko z zmožnostjo ICSP, ali programiranja po starem s prestavljanjem čipov.
Z Microchipovim brezplačnim programom MPLAB napišeš programček za branje 1-wire in ga vpišeš v PIC.

Potem poskrbiš za dober spoj na 1-wire kontaktih in prebereš vsebino DS2430.

Ta vsebina se bo shranila v RAM in prepisala v notranji eeprom od PIC-a.
Del programčka za vpisovanje v DS2430 bo pa to vsebino prebral iz eeproma od PIC-a in jo shranil v DS2430. Samo za to nalogo 16F84 povsem zadostuje.

Avtor: novinec26Kraj: Maribor PrispevekObjavljeno: Čet Jan 05, 2012 9:52 am    Naslov sporočila:  
----------------------------------------------------------------------------
Torej če sem prav razumel, moram naredit vezje za 16F84, na katerega bom iz novega DS2430 kopiral vsebino in jo potem kopiral na rabljene DS2430?
Jas imam PIC kit 2 in testno ploščo z PIC 16F887 ( kupil sem to skupaj) in me zanima ali bi šlo z tem kar imam.

Avtor: igoKraj: Krško PrispevekObjavljeno: Čet Jan 05, 2012 10:49 am    Naslov sporočila:  
----------------------------------------------------------------------------
novinec26 je napisal/a:
Torej če sem prav razumel, moram naredit vezje za 16F84, na katerega bom iz novega DS2430 kopiral vsebino in jo potem kopiral na rabljene DS2430?
Jaz imam PIC kit 2 in testno ploščo z PIC 16F887 ( kupil sem to skupaj) in me zanima ali bi šlo z tem kar imam.
Ja, tako je. Ni treba ravno s 16f84, omenjam ga, ker si ga omenjal ti. Tudi z 16f887 bi šlo in ga lahko uporabiš, da ne kupuješ drugega, čeprav je za tako enostavno nalogo dovolj zmogljiv vsak PIC z vsaj 32byti eeproma in 1kB programskega prostora.

Kot začasno lahko kar iz testne ploščice povlečeš dve žici. Eno za GND in drugo iz prostega pina, ki mu dodaš 4,7k pull-up upor, tipke pa verjetno že imaš. Vpišeš programček in je to to.

Avtor: novinec26Kraj: Maribor PrispevekObjavljeno: Čet Jan 05, 2012 11:53 am    Naslov sporočila:  
----------------------------------------------------------------------------
Ja tipko ima samo eno, me pa zanima na kateri pin je najbolje priključit? Prilagam pa načrt moje testne ploščice.

Avtor: igoKraj: Krško PrispevekObjavljeno: Čet Jan 05, 2012 2:30 pm    Naslov sporočila:  
----------------------------------------------------------------------------
Napravi en mini vmesnik, ki se natakne na ICSP konektor.

Na vmesniku bo ženska letvica za na ICSP, 4k7 upor med Vdd in RB7 ter dve zadevici (mini krokodilčka, testna pada, ...) s katerima boš vzpostavil stik med vmesnikom in kontaktoma na DS2430 ploščici.

Pa tako moraš napraviti, da se ga ne bo dalo narobe natakniti na ICSP ali med seboj zamenjati priključkov do ploščice.

Avtor: novinec26Kraj: Maribor PrispevekObjavljeno: Sob Jan 07, 2012 10:41 am    Naslov sporočila:  
----------------------------------------------------------------------------
Naredil sem ta mini vmesnek, če sem prav razumel potem bi to moglo bit prav. Prosim če pogledaš na sliki če je vezava prava.

Avtor: BranezKraj: Koprivnica (HR), Hoče (SLO) PrispevekObjavljeno: Sob Jan 07, 2012 11:20 am    Naslov sporočila:  
----------------------------------------------------------------------------
Meni se ne zdita ti ploščici isti, čeprav piše na sliki: spredaj - zadaj


Avtor: novinec26Kraj: Maribor PrispevekObjavljeno: Sob Jan 07, 2012 11:33 am    Naslov sporočila:  
----------------------------------------------------------------------------
ja to sta isti, skenirana je iz obeh strani.

Avtor: red_mambaKraj: Edinburgh PrispevekObjavljeno: Sob Jan 07, 2012 12:49 pm    Naslov sporočila:  
----------------------------------------------------------------------------
novinec26 je napisal/a:
ja to sta isti, skenirana je iz obeh strani.


se pravi ko jo i ene strani pogledas sta 2 okrogli izvrtini, ko jo pa obrnes rata pa ena podolgovata Mr. Green

Avtor: novinec26Kraj: Maribor PrispevekObjavljeno: Sob Jan 07, 2012 12:52 pm    Naslov sporočila:  
----------------------------------------------------------------------------
Sta dve isti ploščice skenirani skupaj vsaka iz svoje strani, razlikujeta se samo pri luknjah. Se oproščam.

Avtor: milan62Kraj: Kranj PrispevekObjavljeno: Sob Jan 07, 2012 7:19 pm    Naslov sporočila:  
----------------------------------------------------------------------------
novinec26 je napisal/a:
Sta dve isti ploščice skenirani skupaj vsaka iz svoje strani, razlikujeta se samo pri luknjah. Se oproščam.


Hm, kakšne ocene si imel ( imaš ) pri pouku slovenščine ?

1. sta dve isti ploščici
2. "isti ploščici" ni isto kot "enaki ploščici"

LP

Avtor: igoKraj: Krško PrispevekObjavljeno: Sob Jan 07, 2012 8:12 pm    Naslov sporočila:  
----------------------------------------------------------------------------
novinec26 je napisal/a:
Naredil sem ta mini vmesnek, če sem prav razumel potem bi to moglo bit prav. Prosim če pogledaš na sliki če je vezava prava.
Vezava je v redu.

V priponki je moj programček. Mislim, da je bila to takrat končna verzija.
Zadeva je za 16F628A. Če imaš drug PIC, moraš ustrezno prilagoditi BeriEE in PisiEE. Prekopiraš ju iz PIC datasheeta. EproNas shraniš v EEADR, EproPod v EEDATA preostanka morata biti natanko takšna, kot je predvideno.
Spremeniti boš moral tudi glavo programa z definicijami registrov.

Na RB,0 imaš tipko, kar je v redu.
Na RB,7 je DS2430, kar je v redu.
Ledico boš moral pa v programu prestaviti. Popraviš kLedica equ b'00010000' in v pUtripa spremeniš PORTB v PORTA.

cblock se začne na 0x20. Če imaš drugačen PIC, ga po potrebi prestavi in uredi kRamNas equ 0x30 .

Avtor: novinec26Kraj: Maribor PrispevekObjavljeno: Ned Jan 08, 2012 9:13 am    Naslov sporočila:  
----------------------------------------------------------------------------
Hvala, zelo lepo. Glede na to da je program narejen za PIC16F628A in to za 4 barve sem se odločil da naredim novo ploščico za PIC16F628A z štirimi tipkami. Bi te prosil za načrt če ga še imaš kje.
Na pripeti sliki je označen PIC16F876 in me zanima zakaj je tukaj naveden PIC16F876A, če je program narejen za PIC16F628A?

Avtor: igoKraj: Krško PrispevekObjavljeno: Ned Jan 08, 2012 5:16 pm    Naslov sporočila:  
----------------------------------------------------------------------------
Tisti 16F876A je pač ostanek, ker sem program sestavljal iz večih drugih.
Najprej sem dejansko nameraval uporabiti 876A, ker ima možnost pisati v lasten programski prostor. Po prvotnih željah sem napravico nameraval uporabiti še za nekaj drugega in shraniti 4*256=1024 bytov v tabelo z razširjenim dosegom.
Potem pa sem vsebino DS-ja shranil kar v EE in oklestil vse skupaj na 628A.

Načrta nimam, ker sem tistih par malenkosti sestavil kar na univerzalni luknjasti ploščici in vse skupaj stlačil v ohišje flomastra za poudarjanje teksta.

Avtor: novinec26Kraj: Maribor PrispevekObjavljeno: Ned Jan 08, 2012 6:15 pm    Naslov sporočila:  
----------------------------------------------------------------------------
Bi prosil če se da komu narisat načrt, mi ni čisto jasno kako bi tole naredil.

Avtor: BranezKraj: Koprivnica (HR), Hoče (SLO) PrispevekObjavljeno: Ned Jan 08, 2012 6:55 pm    Naslov sporočila:  
----------------------------------------------------------------------------
d'oh!
Kaj ne vidiš da je tisti 876A samo v komentarju.
Težko bo, če teh par elementov ne znaš narisati-zvezati.

Avtor: novinec26Kraj: Maribor PrispevekObjavljeno: Ned Jan 08, 2012 7:56 pm    Naslov sporočila:  
----------------------------------------------------------------------------
Hvala, zdaj pa grem tole naredit.

Avtor: novinec26Kraj: Maribor PrispevekObjavljeno: Pon Jan 16, 2012 9:29 am    Naslov sporočila:  
----------------------------------------------------------------------------
Pozdravljeni.
Končno sem naredil to ploščico (časovno mi ni šlo prej), je pa problem da ne deluje tako kod je opisano v programu.

Če DS2430 ni priklopljen, ledica sveti ( v programu pa piše da UTRIPA 10101010 v korakih 250ms ).

Če ob vklopu napajanja ni prisisnjena nobena tipka, ledica sveti (v programu pa piše da ledica ne sveti)

Če so ob vklopu napajanja za 6,4sekunde prisisnjene vse 4 tipke, ledica sveti cca 7 sekund, nato se izklopi ( v programu pa piše da se ledica vklopi)

Zdaj pa me zanima a sem jas kaj narobe naredil ali je z programom kaj narobe?

Avtor: igoKraj: Krško PrispevekObjavljeno: Tor Jan 17, 2012 1:12 am    Naslov sporočila:  
----------------------------------------------------------------------------
Gornja sličica ima DS vezan na RB5. V programu je vezan na RB7.
Priklop DS popravi v programu ali na tiskanini.

Ledica je vezana med + in RB4. Program je napisan za vezavo med RB4 in GND.
Funkcija ledice je pač obrnjena, ampak to niti ni pomembno. Tisto utripanje je bolj okrasna zadeva, da vidiš, da se nekaj dogaja.

Avtor: novinec26Kraj: Maribor PrispevekObjavljeno: Tor Jan 17, 2012 8:43 am    Naslov sporočila:  
----------------------------------------------------------------------------
Hvala za obrazložitev. Mislim da sem pravilno popravil.

Avtor: soscomputer2008 PrispevekObjavljeno: Pon Apr 02, 2012 11:39 am    Naslov sporočila:  
----------------------------------------------------------------------------
Prav tako je potrebno zgraditi ta programer za isti čip
da bi lahko mimo materiala je potrebno, gibanja, nove ne morem prenesti priponk.
Zahvaljujem se vam iz

Avtor: igoKraj: Krško PrispevekObjavljeno: Pon Apr 02, 2012 9:33 pm    Naslov sporočila:  
----------------------------------------------------------------------------
soscomputer2008 je napisal/a:
Prav tako je potrebno zgraditi ta programer za isti čip
da bi lahko mimo materiala je potrebno, gibanja, nove ne morem prenesti priponk.
Zahvaljujem se vam iz
Please write in English language, or in your native language (I hope not too exotic) without dialects or internet short words.

I wrote the program for ink cartridges with DS2340 eeprom. When you have new cartridge, you read eeprom content and save it to PIC. When the cartridge is low on ink, you fill it with new ink and overwrite eeprom content. So the cartridge is "always full". It is possible to manipulate (read/write) with 4 colours (4 x 32 bytes).

Program is in PIC assembler language, fully commented, but in Slovenian language. And sometimes with č/š/ž, sometimes with c/s/z .

Avtor: soscomputer2008 PrispevekObjavljeno: Čet Apr 26, 2012 4:19 pm    Naslov sporočila:  
----------------------------------------------------------------------------
la lingua madre &egrave; l' italiano , non so se ci sono problemi.

come dicevo nel post precedente, anche io ho la necessit&agrave; di resettare gli stessi chip ds2430 montati su pcb identici.
le cartucce sono ss21 mimaki.
ho a disposizione sia i chip nuovi vergini , che i vecchi esauriti.
ho provato con l' adattatore DS9097U ma riesco a leggere e scrivere poche informazioni, e le cartucce rimancono ancora vuote, questo perche il DS2430 ha una parte intenna non scrivibile con tale dispositivo, o mi sbaglio?
per leggere e scrivere totalemente un DS2430 c&egrave; bisogno per forza di un programmatore pic, micro c e assembler?
se faccio semplicemente read della nuova e write della vecchia?

Avtor: igoKraj: Krško PrispevekObjavljeno: Pet Apr 27, 2012 10:22 pm    Naslov sporočila:  
----------------------------------------------------------------------------
Italian language is OK, but I will answer in English language. gogle translate

If you have DS9097U adapter, you do not need to use PIC MCU and my program.

You need a new cartridge.
With DS9097U software (driver) you should:
- read 32 bytes (256bit) of DS2340 EEprom content (from address 0x0000 to 0x001F)
- store data into a file SS21NEW.*** ; (*** = txt, hex, bin, ... file type)
The file will be stored in your computer, do not loose it.

After every printing the DS2340 content is changed .
Before every printing the printer reads the content of DS, and it stops printing, if there is not enough ink in the cartridge.

Every time when the cartridge is empty, you should:
- fill ink into an old empty cartridge
- run DS9097U software
- write a file SS21NEW.*** into DS2340.

After this procedure an empty cartridge will be "new" and "full" of ink.

Avtor: soscomputer2008 PrispevekObjavljeno: Pon Jun 18, 2012 12:32 pm    Naslov sporočila:  
----------------------------------------------------------------------------
This was good for old machines Mimaki JV2 JV3 as jv22.
the new machines as CJV30 does not work, certainly for the fact that each ds2430 ​​has a unique id and is calculated along with the rest of the data.
I have a programmer (ds kit) credits them with key resets, but every time a credit scale.
to 'run out of credits you contact the supplier for refilling.

Avtor: igoKraj: Krško PrispevekObjavljeno: Pon Jun 18, 2012 3:09 pm    Naslov sporočila:  
----------------------------------------------------------------------------
About unique ID ...
Fortunately my printer is "stupid" enough and it does not check ID of DS2430.

Write a unique name on each new cartridge and save its content into a file with the same name.

When the cartridge is empty, overwrite its content from a file with the same name.

It should work.

BTW: I am still waiting for 1-wire devices with programmable ID. I hope that Dallas does not have exclusive rights to use 1-wire protocol.

Avtor: oarecare PrispevekObjavljeno: Tor Apr 09, 2013 4:04 pm    Naslov sporočila:  
----------------------------------------------------------------------------
Does anybody know if it works on JV33 or not?

Regards

Avtor: durotron PrispevekObjavljeno: Sre Mar 12, 2014 10:17 am    Naslov sporočila:  
----------------------------------------------------------------------------
I am looking for a similar realization using atmel avr processors.
Anyone did this?

Best regards
Stefan

Avtor: igoKraj: Krško PrispevekObjavljeno: Čet Mar 13, 2014 6:26 pm    Naslov sporočila:  
----------------------------------------------------------------------------
Probably not in Slovenia (2 million people, small number of printers).

I think that every middle experienced Atmel programmer should understand, what the program must do. On demand read and write DS EE content with 1-wire protocol.

I do not have PCB file, because I made that simple circuit on "1000-holes" plate and made housing from a textsurfer pen.

Avtor: 65wer46s PrispevekObjavljeno: Čet Okt 11, 2018 1:35 am    Naslov sporočila:  
----------------------------------------------------------------------------
Hello!
Sorry for reviving an old topic and for my lack of knowledge in Slovenian language.

This is the only information that I found on the internet about DS2430A chips that are used on Mimaki, Roland and probably other printers too.

I began looking into the information stored in these chips after my printer refused a full cartridge and also because I also had a few that just expired with more than 50% ink left in them.

Until now I have made:
- a reader/writer for DS2430A and reader DS2431 chips
Any arduino compatible board can be used. Device is menu driven and can be controlled by serial port. Dumps data, loads data, writes data and can also change just specific bytes in the chip.

- a DS2430A emulator
Almost any arduino compatible board can be used. After loading data, the printer accepts it as a normal chip. Data can be loaded by serial connection at startup, will be saved to internal eeprom and can be read/written by the printer. To work, data from a good chip is needed. The printer stores ink levels related to chip ID so refilling chip is not possible.

I gathered a few chips from SS21 ink cartridges and dumped the data for analysis.
Ink color, expiration date, used ink, remaining ink can be read freely and are in "cleartext". Sadly some bytes seem to be some sort of CRC that I didn't yet found out. I have a pretty good idea which bytes are the CRC but not how to calculate them.
I am looking for help or more info on this subject.

If this information is interesting, if anyone wants it or maybe can help me then please reply.
Otherwise sorry again for reviving this old topic for nothing.

Avtor: igoKraj: Krško PrispevekObjavljeno: Čet Okt 11, 2018 2:20 pm    Naslov sporočila:  
----------------------------------------------------------------------------
It is actually not necessary to know the meaning of data (byte on location) that is written in EEprom.
Data that is written in new, unused and full cartridge is valid and it matches to the unique 1-wire address of DS2430 .
All you have to do is read data before you insert cartridge into printer and store that data to a file on an external location.
Then a printer does what a printer has to do.
When the cartridge is empty, you do not have to care about the unuseful data, CRC and other bytes with unknown meaning or even being encoded with 1-wire address.

You just refill the cartridge with ink and overwrite the EE content with the content of file that was read from exactly that cartridge (1-wire address, ...), when it was new.
Printer will check if the data is valid and it will always be.


Added: Uhhh ... cartridge expiration date ... when did they add this ???
d'oh!
Sorry ... I wish you happy reverse engineering Neutral .

Avtor: 65wer46s PrispevekObjavljeno: Čet Okt 11, 2018 8:36 pm    Naslov sporočila:  
----------------------------------------------------------------------------
I already tried writing back the data from a full cartridge, doesn't work anymore.
At least not on my Mimaki JV150, on this model it's impossible to increase available ink.
When doing this, the printer blacklists the chip also for other printers.
It is possible to decrease the ink level though... Brick wall


Looks like the new printer lines remember used cartridges and they show them as unusable if ink levels are changed compared to what the printer expects.

Changing the cartridge id (using emulator) works if 1 byte in EEPROM is changed correspondingly too. Looks like autoreset chips work the same way (at each power on they increase one byte in ROM ID and adjust last byte in EEPROM to match).

From what I gathered until now, there are 4 places for CRC's.
1st for ink type and colour
2nd for expiration date
3rd for ink levels
4th probably for the whole data + ROM ID

Avtor: igoKraj: Krško PrispevekObjavljeno: Pet Okt 12, 2018 3:25 pm    Naslov sporočila:  
----------------------------------------------------------------------------
Maybe date manipulation in printer would be easier way to achive that cartridge "never" expires Anxious

Try to change create and last modified date of file you want to print to tomorrow to check if the printer complains about files "from the future" Smile . Just set computer time to tomorrow, create and save a file, change comp time to today and send file to print.

It is possible that you would need to create some kind of an "island of the past" inside of your network

Avtor: 65wer46s PrispevekObjavljeno: Pon Okt 15, 2018 9:56 am    Naslov sporočila:  
----------------------------------------------------------------------------
Good idea, but it should be easier to reset the printer's internal clock to production date.

Actually I already tried that. The printer will happily accept expired cartridges but will complain about newer ones with the message "Expiry".

Would you happen to have some dumps from SS21 cartridges? I am in need of some more to compare some findings. I think I may be on to something about their CRC method.

Avtor: igoKraj: Krško PrispevekObjavljeno: Pet Okt 19, 2018 11:09 am    Naslov sporočila:  
----------------------------------------------------------------------------
Sorry. I do not have old cartridges and/or DS chips from them. I did this reader/writer long time ago for my friend who had an old Roland printer.

Now he has an Epson printer and he uses original cartridges (he did not want listen to me to buy a more expensive model with refillable system d'oh! ).

Stran 1 od 1

Powered by phpBB © 2001,2002 phpBB Group