View previous topic :: View next topic |
Author |
Message |
notbad
Joined: 10 Jan 2013 Posts: 68
|
Need advice in designing a small printer |
Posted: Fri Mar 07, 2014 1:17 pm |
|
|
Hi
I'm designing a small printer in which a PIC is going to control an inkjet cartridge.
The picture to be printed is sent from a PC application to my hardware as a monochrome bitmap.
The size of the picture is almost 40 KB.
When the picture is being printed on media, data bits are fed to the cartridge at speed of 16 bits per 2 uS.
I'm thinking of storing the data on a 64 KB 16-bit SRAM first, and then at print time, increasing the address bus and feeding it directly to the cartridge.
Is this a good solution? What part number do you recommend for the SRAM?
Thanks in advance |
|
![](templates/subSilver/images/spacer.gif) |
Ttelmah
Joined: 11 Mar 2010 Posts: 19368
|
|
Posted: Fri Mar 07, 2014 3:14 pm |
|
|
Have you really considered just how much work this is going to involve. Mechanism to move the cartridge. Another to move the paper. Paper detection. Drivers for all the nozzles. System to hold the cartridge. Detection of the zero point for the cartridge. Detection of the ink level from the cartridge. Drive rollers etc.. This is a lot of work. Have you looked at an 'off the shelf' solution. Samsung Bixolon SRP-500?.
Best Wishes |
|
![](templates/subSilver/images/spacer.gif) |
notbad
Joined: 10 Jan 2013 Posts: 68
|
|
Posted: Fri Mar 07, 2014 3:38 pm |
|
|
Thanks Ttelmah
Actually the mechanics is very simple and it's almost ready. The cartridge does not move. The printing media(a box) moves beneath it once. Driver for nozzles is ready too.
I'm looking for a way to transfer data from PC to PIC (maybe an FT232), store it in the PIC, and then feed it to the cartridge. |
|
![](templates/subSilver/images/spacer.gif) |
temtronic
Joined: 01 Jul 2010 Posts: 9174 Location: Greensville,Ontario
|
|
Posted: Fri Mar 07, 2014 6:27 pm |
|
|
Is the printhead a 16bit wide device? If so it does make some sense to have a 16bit wide SRAM (or FRAM ) as it's easier to 'follow' the data.
However it might be easier to use a large I2C EEPROM for the task as you say the program is in 2 steps.
1) get the image data from a PC via a serial link
2) printout the image
in 1) a simple loop to capture the data, buffer it, write to eeprom, when done flash a green light saying 'done/ready to print'.
in 2) a 'press of a 'print' button' to send the data to the printhead.
There is far less wiring involved with an I2C device than the SRAM , something to consider, as well as price. This would allow for a cheaper PIC to be used as well.
hth
jay |
|
![](templates/subSilver/images/spacer.gif) |
notbad
Joined: 10 Jan 2013 Posts: 68
|
|
Posted: Fri Mar 07, 2014 9:02 pm |
|
|
Thank you Jay
Yes, the print head is 16bit wide.
Thing is, as I mentioned in my first post, when the print media is passing under the print head, it's like "Go, go, go".
New 16 bit data should be clocked out in a 2 microseconds period. I think an EEPROM is not fast enough for this.
Any ideas? |
|
![](templates/subSilver/images/spacer.gif) |
Ttelmah
Joined: 11 Mar 2010 Posts: 19368
|
|
Posted: Sat Mar 08, 2014 3:10 am |
|
|
I'd seriously say you don't want to be switching memory busses around. Have you considered looking at one of the PIC24's, with DMA?. Remembering that when printing, the bus is going to have to be synchronised to things like the paper movement, having more control than just clocking the data out is likely to be more reliable in the long run.
On the memory, look at something like the the AS7C1026B-12. Commonly used in video cards, so very reasonably priced. 64K*16, and under $2, in one off quantities.
I still have a 'nasty suspicion', you are going to find the paper handling suddenly goes downhill, when you come out of the lab. Real paper can be damp, stored incorrectly, etc. etc., and getting this reliable is very different in the 'real world'!....
Hope I'm wrong, but 'beware'. |
|
![](templates/subSilver/images/spacer.gif) |
temtronic
Joined: 01 Jul 2010 Posts: 9174 Location: Greensville,Ontario
|
|
Posted: Sat Mar 08, 2014 7:24 am |
|
|
Ok, maybe I'm looking at this wrong but a 40KB bitmap is 20KB of 16 bit wide data, at 2us per 'print some dots', that's 40,000 us for the entire image. 40,000 us is .04 seconds = 40ms. Seems like a very,very fast inkjet 'device'.
I'm assuming this is a simple X-axis only drive, not X-Y capable?
jay |
|
![](templates/subSilver/images/spacer.gif) |
asmboy
Joined: 20 Nov 2007 Posts: 2128 Location: albany ny
|
|
Posted: Sat Mar 08, 2014 7:19 pm |
|
|
it is my understanding that a typical inkjet dispenser head might operate in the range of 200 to 500 discrete dots/sec- ie:
one dot=ON and OFF time for media or head to move .
at that rate we are talking more like 5 msec per dot-cycle, which leaves lots of processing time
variations in duty cycle during the dispense time determine saturation.
at 2usec, are saying you intend to implement a 500khz dot-cycle?
how many dots/second do you think you are going to apply ?
and what kind of amazing piezo pump and pressurizer have you got ?
this sounds like one fabulous project!!!
what preparatory or similar work have you done before this ?
and for what application? |
|
![](templates/subSilver/images/spacer.gif) |
Ttelmah
Joined: 11 Mar 2010 Posts: 19368
|
|
Posted: Sun Mar 09, 2014 1:00 am |
|
|
Agreed. Suspect some orders of magnitude lost here....
The _fastest_ inkjet printhead in the world at present, is done by Kyocera. 64000 dots/sec from each nozzle.
Best Wishes |
|
![](templates/subSilver/images/spacer.gif) |
notbad
Joined: 10 Jan 2013 Posts: 68
|
|
Posted: Sun Mar 09, 2014 5:06 am |
|
|
I haven’t done similar work and don’t know much about printing and stuff like “dots per second”. I’m gonna start simple. Fire some nozzles and see what happens. The timing of 2 us I said, is mentioned in page 35 of this document.
Anyway, thanks for the input. I took a look at PIC24 family and they look great. DMA sounds a little complicated for me though. I’m gonna go do some research. |
|
![](templates/subSilver/images/spacer.gif) |
temtronic
Joined: 01 Jul 2010 Posts: 9174 Location: Greensville,Ontario
|
|
Posted: Sun Mar 09, 2014 5:39 am |
|
|
Please post a link to the inkjet cartridge that you are using, I for one need more details on the proper interfacing of it.
jay |
|
![](templates/subSilver/images/spacer.gif) |
notbad
Joined: 10 Jan 2013 Posts: 68
|
|
Posted: Sun Mar 09, 2014 7:27 am |
|
|
The link I posted in my previous post is all I got. Looks like these devices are not supposed to be used by third parties. So It's kinda hackery .
I think I should study more on this. |
|
![](templates/subSilver/images/spacer.gif) |
temtronic
Joined: 01 Jul 2010 Posts: 9174 Location: Greensville,Ontario
|
|
Posted: Sun Mar 09, 2014 7:36 am |
|
|
As much as I like a challenge, now we know it's NOT a real project as nobody can buy parts..
Without real hardware, this is really just a 'mindgame' and I have enough of them already.
I'm done with this thread...
jay |
|
![](templates/subSilver/images/spacer.gif) |
notbad
Joined: 10 Jan 2013 Posts: 68
|
|
Posted: Sun Mar 09, 2014 9:44 am |
|
|
What do you mean it's not a real project?
My intention was not to waste anyone's time.
And regarding to the original question(PIC+SRAM), I kind of got my answer.
Thanks |
|
![](templates/subSilver/images/spacer.gif) |
asmboy
Joined: 20 Nov 2007 Posts: 2128 Location: albany ny
|
|
Posted: Sun Mar 09, 2014 11:11 am |
|
|
the only info i can find that might translate to "dot cycles" ---
we have this in the patent app;
Quote: |
For a 12 KHertz firing frequency of F |
which looks like 83.3 usecs to me.
damned fast -but the 2usec spec seems( in the obtuse language of the patent ) to refer to the on-time resolution of the dot cycle, not the dot cycle frequency. |
|
![](templates/subSilver/images/spacer.gif) |
|