Welcome! Log In Create A New Profile

Advanced

Help! I2C Oled display overloads Arduino 2560

Posted by karabas 
Help! I2C Oled display overloads Arduino 2560
December 23, 2015 10:07AM
I tried oled i2c display 128x64 (U8GLIB_SSD1306_I2C) for cartesian printer ( arduino mega2560 + RAMPS1.4) and printing is stuttering on small gear like models that causes small blobs. I tried last MarlinKimbra, last Marlin RC, last Repetier 0.92 with the same result.
I have heard that it's possible I2C conflict with EEPROM but I disabled EEPROM in Configuration.h
When I print the same gcode with RRD Smartcontroller ( non graphic) the print is good.

I attached gcode ( cura, PLA settings) model is rrd smartcontroller button

Edited 2 time(s). Last edit at 12/24/2015 07:23AM by karabas.
Attachments:
open | download - encoder_button.zip (297.4 KB)
Re: Help! I2C Oled display overloads Arduino 2560
December 24, 2015 04:08PM
You have reached the limits of the mega 2560... (it is only 16mhz!)

Basically the mega is to slow to run a 128x64 display without hick-ups. This is more noticeable on delta's but is there on Cartesian printers
Mostly effects prints with lots of little segments

Printing from SD helps some..

Time to look at 32 bit controllers. Smoothieboard, or Duet or Radds (on Arduino-Due) or if your very brave ramps-fd (on Arduino-Due)

Edited 2 time(s). Last edit at 12/24/2015 04:13PM by Dust.
Re: Help! I2C Oled display overloads Arduino 2560
December 24, 2015 04:56PM
You could also look at Replicape/Redeem or MachineKit if you wanted to go another step up.
Re: Help! I2C Oled display overloads Arduino 2560
December 25, 2015 02:45AM
On my delta/RAMPS combo, I had to reduce refresh rate for my character LCD to make the printer run smooth. Even worse, when running a graphic LCD...
Only drawback then was the extended reaction time, when I tried to navigate through the menus.
If you're good in coding, you can rewrite Marlin to only refresh a few lines per loop, instead of the whole display. That would free plenty of CPU-time.
Someone on Github mentioned, he had done it already, but never came up with the code ( AFAIK ).
-Olaf
Sorry, only registered users may post in this forum.

Click here to login