Printer IoT jamming

Breakout boards, sensors, Drawdio, Game of Life, other Adafruit kits, etc.

Moderators: adafruit_support_bill, adafruit

Printer IoT jamming

Postby nrdufour » Thu Apr 26, 2012 1:33 pm

Hello,

I have finally built the thermal printer project successfully and made a few tests.
But it seems that when the arduino is printing to it the paper is jamming.
I tried the hardware test (printer button + main button) and it's printing perfectly the ascii table and flawlessly.

Is there something I'm missing ?

Thank you

Nicolas
nrdufour
 
Posts: 15
Joined: Mon Apr 23, 2012 10:36 am

Re: Printer IoT jamming

Postby adafruit » Thu Apr 26, 2012 4:03 pm

you can change the darkness/speed setting in the arduino code, sometimes that makes a difference? also check if the rollers are clean
User avatar
adafruit
 
Posts: 10485
Joined: Thu Apr 06, 2006 3:21 pm
Location: nyc

Re: Printer IoT jamming

Postby nrdufour » Thu Apr 26, 2012 5:20 pm

Ah yes good point.

I let it run for an afternoon with a few tweets. It seems to run better for some reason.

This is a nice piece :) I'm probably going to plug it with our project Refuge!

Thanks for the help!

Nicolas
nrdufour
 
Posts: 15
Joined: Mon Apr 23, 2012 10:36 am

Re: Printer IoT jamming

Postby mwalz » Thu Apr 26, 2012 6:37 pm

I had the same problem after assembling my IoT. I noticed that the IoT is power sensitive. If the power is a bit weak or you don't have it plugged in all the way, the paper can appear to jam or the print color is light. When it's plugged in and connected via USB, it seems to print better. I'm going to try a higer amperage adapter and see if that helps.
mwalz
 
Posts: 2
Joined: Thu Apr 26, 2012 6:34 pm

Re: Printer IoT jamming

Postby chrislovin » Thu Apr 26, 2012 7:01 pm

I put my kit together today and it printed the first tweet flawlessly. But every tweet after that hasn't worked. It only printed the header block on the second tweet and every tweet after that is just a black line. It's not advancing the paper at all and now it doesn't even make any noise when it's "printing." The only way I can tell it's received a tweet is that the power button stops blinking and glows solid.

Is there a way to do a test print?

Any ideas? Is it hardware, or should I trouble shoot some section of the wiring?

Thanks for the help!
chrislovin
 
Posts: 3
Joined: Wed Apr 18, 2012 10:05 am

Re: Printer IoT jamming

Postby chrislovin » Fri Apr 27, 2012 10:27 am

Played with it more this morning. the printer is working fine, receiving tweets and all of that. If I catch it printing and give the printer paper a little tug it will print everything. So, I'm thinking there is too much tension between the print head and the roller.
chrislovin
 
Posts: 3
Joined: Wed Apr 18, 2012 10:05 am

Re: Printer IoT jamming

Postby elakin » Fri Apr 27, 2012 12:06 pm

I've had some issues with my IoT printer jamming as well. What i found was if i comment out the inverse AND underline code, the printer tweets just fine. But, if either is still enabled it'll print out a line of inverse/underline and get "stuck".

This appears to be a mechanical issue -- if i try to print out a line of inverse/underline text, then re-upload the program to the Arduino with the underline/inverse commented out, it *still* won't print until the paper is pulled up a bit (and there's a slight feel of something becoming unstuck when doing that). After that, it prints just fine.

The change:
Code: Select all
        // Output to printer
        printer.wake();
        //printer.inverseOn();
        printer.write(' ');
        printer.print(fromUser);
        for(i=strlen(fromUser); i<31; i++) printer.write(' ');
        //printer.inverseOff();
        //printer.underlineOn();
        printer.print(timeStamp);
        for(i=strlen(timeStamp); i<32; i++) printer.write(' ');
        //printer.underlineOff();
        printer.println(msgText);
        printer.feed(3);
        printer.sleep();


It's kind of a bummer, since the inverse & underlining definately make things look much better, but it's better than not working at all ;) So if you're having issues with printing, give this a try to see if it alleviates the issue.

On a side note, which may or may not be related, the small button on the thermal printer itself doesn't appear to fully work on my unit. If i hold it down when powering up the unit, it prints out the test page fine. However, once the unit is on, pressing the button doesn't do anything -- and AFAIK it's supposed to feed the paper.
elakin
 
Posts: 3
Joined: Fri Apr 27, 2012 11:48 am

Re: Printer IoT jamming

Postby chrislovin » Fri Apr 27, 2012 2:42 pm

interesting...

I just printed a test print and it went along just fine until it got to the inverse section of the first tweet...

Guess I'll be commenting out inverse printing as well. Thanks for your help!
chrislovin
 
Posts: 3
Joined: Wed Apr 18, 2012 10:05 am

Re: Printer IoT jamming

Postby mwalz » Fri Apr 27, 2012 6:24 pm

elakin, I found the same thing. I thought it was a power issue initially, but also found that inverse is a problem. It's definitely a bummer. Here is what I found:

- Inverse on the first print line of a new block of text is definitely a problem.
- Printing some line feeds before the inverse on a first line helps (sometimes).
- Printing a whole line of inverse is problematic. If you only print inverse on a portion of a line, it doesn't 'jam' as much.
- It seems to be all the spaces in the inverse printing that cause the problem (in the Gutenbird example). It does not advance properly. Coincidentally, we've had similar problems with a Seiko printer (small receipt style printer).

I changed the code in jsonParse and had much better luck (almost no 'jams'):
Code: Select all
        // Output to printer
        separator = 205;
        printer.wake();
        printer.feed(1);
        for(i=0; i<32; i++) printer.write(separator);
        printer.println();
        printer.doubleHeightOn();
        printer.println(fromUser);
        printer.doubleHeightOff();
        printer.underlineOn();
        printer.print(timeStamp);
        for(i=strlen(timeStamp); i<32; i++) printer.write(' ');
        printer.underlineOff();
        printer.feed(2);
        printer.println(msgText);
        for(i=0; i<32; i++) printer.write(separator);
        printer.println();
        printer.feed(3);
        printer.sleep();


Hope that helps someone.
mwalz
 
Posts: 2
Joined: Thu Apr 26, 2012 6:34 pm

Re: Printer IoT jamming

Postby majoragee » Sun Apr 29, 2012 7:38 am

I'm having the exact same problem with the printer and have been since it was brand new a week or two ago. It seems to jam up on anything that requires slow motion of the roller, especially inverse printing. Like the others have mentioned, a little tug on the paper roll lets it resume printing, but otherwise it will keep printing everything on the same line of the paper. I thought at first the paper roll had bound up, but it's always spinning freely when I open it up to check. I've still had it jam up a few times on regular-style text.

It seems like a lot of people are having problems...are there printers out there that can print inverse line after line without any problems? I guess what I mean is: are these defective, or is it just a limitation of the hardware? And should I expect the same thing if I buy another one?
majoragee
 
Posts: 2
Joined: Sun Apr 29, 2012 7:26 am

Re: Printer IoT jamming

Postby adafruit » Mon Apr 30, 2012 2:55 pm

the BPA-free paper we carry is slighly different than what we originally carried, and its not as 'slippery' - we'll update the code to be a little gentler on it
User avatar
adafruit
 
Posts: 10485
Joined: Thu Apr 06, 2006 3:21 pm
Location: nyc

Re: Printer IoT jamming

Postby pburgess » Mon Apr 30, 2012 4:24 pm

Trying to reproduce the issue here...

If anyone has a canonical simple "this consistently jams every time" sketch they could post, that'd be really helpful in tracking this down. Thanks!
User avatar
pburgess
 
Posts: 1331
Joined: Sun Oct 26, 2008 1:29 am

Re: Printer IoT jamming

Postby elakin » Tue May 01, 2012 5:14 pm

How 'bout this program. When it receives a newline on the serial port, it'll print progressively longer lines of inverse text. I found on my printer the lines started showing artefacts at 11 inverse characters, on a line, and completely jammed at 22.

Code: Select all
#include <SPI.h>
#include <Adafruit_Thermal.h>
#include <SoftwareSerial.h>

const int
  led_pin         = 3,           // To status LED (hardware PWM pin)
  printer_RX_Pin  = 5,           // Printer connection: green wire
  printer_TX_Pin  = 6,           // Printer connection: yellow wire
  printer_Ground  = 7;           // Printer connection: black wire
 
Adafruit_Thermal printer(printer_RX_Pin, printer_TX_Pin);

void setup() {
  Serial.begin(57600);
  Serial.print("Initializing...");
  pinMode(printer_Ground, OUTPUT);
  digitalWrite(printer_Ground, LOW);  // Just a reference ground, not power
  analogWrite(led_pin, 255);          // just turn on the power led.
  printer.begin();
  printer.sleep();
  Serial.println("Done");
}

void loop() {
  if (Serial.available() && Serial.read() == 0x0a) {
    Serial.println("It's printing time!");
    printer.wake();
    printer.println("Looking for inverse text jam point");
    for (int i = 1; i <= 30; i++) {
      Serial.print("Bold chars: ");
      Serial.println(i, DEC);
      if (i < 10) printer.print('0');
      printer.print(i);
      printer.inverseOn();
      for (int j=1; j <= i; j++) {
        printer.print(' ');
      }
      printer.inverseOff();
      printer.println();
    }
    printer.feed(2);
    printer.sleep();
  }
}
elakin
 
Posts: 3
Joined: Fri Apr 27, 2012 11:48 am

Re: Printer IoT jamming

Postby elakin » Tue May 01, 2012 5:27 pm

And here's the output:

Image
elakin
 
Posts: 3
Joined: Fri Apr 27, 2012 11:48 am

Re: Printer IoT jamming

Postby pburgess » Wed May 02, 2012 2:50 pm

Alrighty, I've tweaked the print settings, and this seems to avoid jams with the new paper. The Github repository has been updated with the latest. Please let me know if you continue to encounter any difficulties. And thanks for the test sketch! That simplified things muchly.
User avatar
pburgess
 
Posts: 1331
Joined: Sun Oct 26, 2008 1:29 am

Next

Return to Other Adafruit products

Who is online

Users browsing this forum: No registered users and 2 guests

Stuff to buy from the Adafruit store and links to product documentation!


New Products [100]

Raspberry Pi[80]
 
FLORA[23]
 
Bunnie Studios[9]
 
FPGA[1]
 
mbed[11]
Arduino[60]
 
NETduino[14]
 
BeagleBone[24]
 
Android[6]
 
XBee[10]
More Dev Boards[30]


 
BoArduino[8]
 
SpokePOV[4]
 
TV-B-Gone[4]
 
MiniPOV[3]
 
SIM reader[3]
 
Microtouch[5]
 
Clocks & Watches[18]
 
Drawdio[4]
 
Brain Machine[1]
 
Game of Life[2]
 
MintyBoost[2]
More DIY Kits[16]


 
MaKey MaKey[3]
 
Tweet-a-Watt[5]
 
Young Engineers[33]
 
Discover Electronics[2]
 
Snap Circuits[4]
 
littleBits[3]
 
Project packs[8]


 
Breakout Boards[33]
LCDs & Displays[48]
Components & Parts[69]
Batteries & Power[49]
EL Wire/Tape/Panel[52]
LEDs[108]
 
Wireless[14]
Cables[60]
 
Lasers[6]
Sensors/Parts[145]
 
Enclosures/Cases[11]
 
Solar[11]
 
RFID / NFC[13]
Prototyping[69]
 
iDevices[13]
Tools[71]
 
Wearables[39]
 
CNC[37]
 
Robotics[29]
 
3D printing[1]
 
Materials[24]


 
Stickers[41]
 
Skill badges[55]
 
Books[25]
 
Circuit Playground[7]
 
Gift Certificates[4]