Hacking the Xaar 128 printhead

Powder and inkjet printing
hawkeye
Posts: 1
Joined: Tue Aug 29, 2017 4:35 pm

Re: Hacking the Xaar 128 printhead

Post by hawkeye »

Hello,

Could anyone confirm the compatibility of IPA as cleaning solution with xaar 128 ?
Philipp
Posts: 34
Joined: Sat Mar 12, 2016 10:55 am

Re: Hacking the Xaar 128 printhead

Post by Philipp »

evomotors wrote:About the adapter:
You can find this one on eBay and other online sources to convert the Xaar 128 header to 16p IDS cable.
Image
Hello everybody,
I also have such an adapter. When measuring the pinout I noticed that the signals MISO and READY are not forwarded.

I have now connected the READY signal to an extra line.
Unfortunately, I can not get it, to print the image from the "image.h" . The printhead always prints all the nozzles at once, creating a wide bar.

Does anyone have an idea of what I could have done wrong?

Many Thanks
Philipp
Wonko
Posts: 110
Joined: Sat Aug 15, 2015 8:13 pm

Re: Hacking the Xaar 128 printhead

Post by Wonko »

Well, it seems like you are half way there. Getting any ink out is already a great achievement! If all nozzle fire, either your data transfer is messed up, or your ink head is broken. The pin that shifts data into the head, that decides which nozzles will fire, is MOSI. Ideally, look at MOSI and SPI Clock (SCK) on an analog scope connected to the head, and make sure that data arrives at the correct time at the head. If not, MOSI may be shorted out with another pin. You may also not actually shift any data in at all. In that case, either the chip select signals are not applied at all (~SS1, ~SS2), or the SPI Clock signal is missing. Lastly, the CPU on the Xaar head needs its own 1MHz clock signal on CLK.

A good way of verifying the SPI is to connect MISO back to the controller. If you shift more than 64 bits into one SSx, the first bits shifted in should now shift out of the Xaar back into your CPU.
Philipp
Posts: 34
Joined: Sat Mar 12, 2016 10:55 am

Re: Hacking the Xaar 128 printhead

Post by Philipp »

Hello,
I have now observed my error many program cycles. Sometimes the upper half of the nozzles work, sometimes all nozzles work and then again only the lower half of the nozzles. And sometimes no nozzles work.
I can hear well whether the piezzos are working or not.
I have the impression as if the image is enlarged, but that can't be.
Unfortunately the MISO signal cannot be connected, this is not carried out in the adapter. And I won't get my new adapters until a few days later.

I should say I'm using Kyle's firmware.

Many greetings
Philipp
herbkanis
Posts: 1
Joined: Tue Feb 13, 2018 2:14 am

Re: Hacking the Xaar 128 printhead

Post by herbkanis »

Hi,
Are you still talking about the Xaar? I'm attempting to write a controller for an Epson piezo printhead.
Would you be willing to share your code and schematics?
Thanks,
Herb
Wonko
Posts: 110
Joined: Sat Aug 15, 2015 8:13 pm

Re: Hacking the Xaar 128 printhead

Post by Wonko »

The Epson printhead has a completely different interface than the Xaar head. I did not find specifications, but in general, the Xaar head has three supply voltages and a simple SPI interface. The Epson head, AFAIK, requires a quite complex power supply that uses a voltage pattern. The digital control uses shift registers. I have no layout or software to drive those.
Philipp
Posts: 34
Joined: Sat Mar 12, 2016 10:55 am

Re: Hacking the Xaar 128 printhead

Post by Philipp »

Hello, guys,
My print head is still doing the same nonsense.
Today I finally had the opportunity to attach an oscilloscope to the CLK signal.
The signal has 1.4MHz, I guess this is a source of error.
Tomorrow I'd like to start a new experiment with a different frequency.
regards
Philipp
Wonko
Posts: 110
Joined: Sat Aug 15, 2015 8:13 pm

Re: Hacking the Xaar 128 printhead

Post by Wonko »

It should be 1MHz (or slightly less, if you use a timer on the CPU and don;t have a matching divider)
Philipp
Posts: 34
Joined: Sat Mar 12, 2016 10:55 am

Re: Hacking the Xaar 128 printhead

Post by Philipp »

Hello, guys,
I managed to reduce the CLK signal to 1MHz by increasing "OCR1A = 11; //7;" from 7 to 11.
When I look at SCK, the frequency is much higher than 1.4 MHz. Is that admissible?

TCCR1A = _BV (COM1A0); // toggle OC1A on compare match
OCR1A = 11; //7; // top value for counter OCR1A = Pin11
// UNO //TCCR1B = _BV (WGM12) | _BV (CS10); // CTC mode, prescaler clock/1
TCCR1B = _BV (WGM12) | _BV (CS10); // CTC mode, prescaler clock/1

regards
Philipp
Wonko
Posts: 110
Joined: Sat Aug 15, 2015 8:13 pm

Re: Hacking the Xaar 128 printhead

Post by Wonko »

It says on page 25 that the maximum frequency for SCK is 2MHz. I use bit banging, so I am well below that.

This is the code I used to get close to 1MHz on CLK from my Arduino Uno:

Code: Select all

const int XaarCLK = 3;    // Pin 15: <- 1MHz clock
  // Generate 1MHz for the ink cartridge in hardware
  // also: https://github.com/JChristensen/gpsFreq/blob/master/examples/t2_1MHz/t2_1MHz.ino
  // also: http://arduino.stackexchange.com/questions/16698/arduino-constant-clock-output
  TCCR2A = 0x23;
  TCCR2B = 0x09;
  OCR2A = 15;
  OCR2B = 7;
  pinMode(XaarCLK, OUTPUT);
Post Reply