Page 37 of 37

Re: Hacking the Xaar 128 printhead

Posted: Sat Jul 01, 2023 7:14 pm
by Wonko
Try to find the Saar 128 manual. It describes also the pressure of the ink at the head (it is actually supposed to be negative).

You can test if your communication is working by fully connecting the serial bus and checking if the data that is pushed in on the MISO pin also comes out again on the MOSI pin after passing the nozzles (just send more data than you have nozzles). The manual will also give you all the necessary timing information. Make sure to measure signals with a scope to verify that they are really there and the timing is correct. Lastly, don;t forget to prove the head clock data (!MHz, IIRC).

Re: Hacking the Xaar 128 printhead

Posted: Mon Jul 17, 2023 8:22 pm
by least_force
gogatam wrote: Sun Jun 25, 2023 2:07 pm
Wonko wrote: Wed Jun 21, 2023 12:19 pm Pin 24 of the printhead "READY" is an output from the printhead to the Arduino if you choose to connect it. If READY is high, you can check nFIRE. It is switched high a soon as two of the three firing cycles got triggered. I have no idea what "nReady" signal you are referring to.

Yes, MISO, MOSI and SCK must be assigned connections between the Arduino and the printhead. MOSI is the actual data from the Arduino to the head. SCK is the clock signal that tell the printhead when to read from the MOSI line. MISO is only used if you control more than one printhead through a single serial connection. Either nSS1 or nSS2 must be set to low when transmitting pixel data to teh head.

My code and PCBs are here: https://github.com/MatthiasWM/Xaar128 . No power supply PCB though.
Hi, Wonko!
We are trying to get our head to work, but there are problems with printing. We took Gkyle's code as a basis (https://github.com/gkyle/xaar128 ), we hear a sound coming from the head and everything seems to be working. The problem lies in the presentation of the material. We use a photopolymer that we feed through the tube, but it flows out without running the code. When you run the code, the material does not come out in the volume in which it should come out. Can you please tell me how to control the flow of material so that there is not too much of it and, at the same time, enough for printing?
Inkjet inks are typically around the thickness of water, and at most, high fat milk. If this is a photopolymer ink for 3D printing I guarantee you will not be able to eject it.

Re: Hacking the Xaar 128 printhead

Posted: Mon Jul 24, 2023 8:22 am
by veterok
Does anybody else have the problem, that pin 9 is not working anymore? It once produced a 1 MHz square wave, but now it just completely stopped working. I tried other codes, that use pin 9 for generating a pwm signal... but it never worked.

Re: Hacking the Xaar 128 printhead

Posted: Mon Jul 24, 2023 11:06 am
by Wonko
Pin 9 is marked as TEST 0, and the discs say "not required for operation, should not be connected".For pin 28 however, marked CLK, you must provide a 1 MHz clock signal to the print head. No PWM, just a 50:50 clock.

Re: Hacking the Xaar 128 printhead

Posted: Tue Jul 25, 2023 7:31 am
by veterok
Wonko wrote: Mon Jul 24, 2023 11:06 am Pin 9 is marked as TEST 0, and the discs say "not required for operation, should not be connected".For pin 28 however, marked CLK, you must provide a 1 MHz clock signal to the print head. No PWM, just a 50:50 clock.
Hey, yeah sorry I actually meant pin 28, on the arduino uno its assigned to pin 9. I switched the uno to a nano and it works now. I get the 1 MHz clock signal on CLK and my electronic circuit produces 35V for the printhead. Yesterday I connected the printhead, but unfortunately it didnt jet. Somehow the arduino IDE acts up, after I connect the printhead with the FFC connector. It shows, that no arduino is connected when I try to upload the code. I always have to restart the IDE and reconnect the arduino to my laptop. I'm not sure, if the problem lies in the nano, but it uses the same microcontroller as the uno, so that doesn't make sense.

I use the code from gkyle and I don't understand some parts:

Code: Select all

#include "Arduino.h"
//#include "carriage.h"
#include "xaar128.h"

int PENDING = 200;
int CYCLES = 1;

Xaar128 xaar128;
 
void setup (void) {
  Serial.begin(115200);

  //Carriage carriage;
  xaar128.init();

  // Set up a 1mHZ square wave for Xaar state machine CLK.
  // http://forum.arduino.cc/index.php?topic=103370.0
  TCCR1A = _BV(COM1A0);              // toggle OC1A on compare match
  OCR1A = 7;                         // top value for counter
  // UNO //TCCR1B = _BV(WGM12) | _BV(CS10);   // CTC mode, prescaler clock/1
  TCCR1B = _BV(WGM12) | _BV(CS10);   // CTC mode, prescaler clock/1

  Serial.print("Begin: ");
  Serial.println(PENDING);

  float steps = 0.0;
  float fails = 0.0;

  //carriage.init(LOW);
  xaar128.powerUp();
  delay(1000);

  for (int c=0; c<CYCLES; c++) {
    for (int p=0; p < PENDING; p++) {
      xaar128.loadData(p);
      delayMicroseconds(1);
      if (!xaar128.fire()) fails++;
      //carriage.step();
      steps++;
    }
    /*
    carriage.changeDir();
    for (int p=0; p < PENDING; p++) {
      carriage.step();
    }
    carriage.changeDir();
    */
  }

  delay(100);
  xaar128.powerDown();
  //carriage.shutdown();  
  printSummary(fails, steps);
}

void printSummary(float fails, float steps) {
  Serial.println("Done.");
  float f = fails / steps;
  Serial.print("Steps: ");
  Serial.print(steps);
  Serial.print("    Fails: ");
  Serial.print(fails);
  Serial.print("    Failure Rate: ");
  Serial.println(f, 4);
}

void loop (void) {} // end of loop
Where does it print? There's no fire in the main code. It is just defined in the header file. Or do I have to write something into the loop, so that it works? And why does the printhead power down in the setup? Shouldn't there be some code in the loop and after it prints, it powers down? :?

Re: Hacking the Xaar 128 printhead

Posted: Mon Oct 23, 2023 4:58 pm
by swifti
Has anyone tried to supply ink via a syringe to provide negative pressure? To me it seems like the easiest way to test code without dealing with a complex ink supply system, but I'm unsure if the negative pressure will be too much.
Capture.PNG
Capture.PNG (322.05 KiB) Viewed 80788 times