Welcome! Log In Create A New Profile

Advanced

start blob

Posted by lajos 
start blob
May 27, 2013 06:20PM
I finally got my tantillus running.

I'm using the tantillus kisslicer profiles with repetier on an azteeg x1 (couldn't get the tantillus marlin fw to compile). When printing starts, the hotend heats up in the corner and starts drooling some plastic. Then it moves to the middle of the table, homes the z axis while still drooling some plastic. This leaves a blob in the middle of the table.

Then printing starts, but since some of the plastic drained out of the hotend, the skirt doesn't print, and sometimes plastic doesn't start flowing until the first layer starts filling in.

I'm pretty sure I'm missing something. How do i get around the blob in the middle of the table and make sure that the head is primed and ready to go when the skirt starts printing?

Thanks-
-lajos
Re: start blob
May 27, 2013 08:13PM
Attached is a picture to show what's happening. You can see that there's hardly any plastic for the skirt, and even the outline is missing on the first layer. Once the head refills, the rest of the print is perfect.
Attachments:
open | download - IMG_3783.JPG (108.5 KB)
Re: start blob
May 27, 2013 08:53PM
A few possible things.

1) Change the TEMP_RESIDENCY_TIME and/or TEMP_HYSTERESIS (Tantillus Marlin uses 10 and 4)

2) Turn off PID (Tantillus Marlin is set to Bang Bang).

3) You can add a purge to the gcode prefix (start code). Maybe something like G1 E5 F300 possibly after the M109

4) You could add a more elaborate start procedure like a purge and then a wipe along the edge before moving to the center.

5) You could add the azteeg pin profile to the Tantillus version of Marlin or provide it here and I will try and get it added.

Also note that the Tantillus Marlin has some changes like keeping the fan on above a certain temperature to prevent the carriage from over heating, different homing, load and unload options in the LCD menu plus a few others that make it easier to use.


FFF Settings Calculator Gcode post processors Geometric Object Deposition Tool Blog
Tantillus.org Mini Printable Lathe How NOT to install a Pololu driver
Re: start blob
May 27, 2013 09:53PM
Thanks so much for the pointers. I did see that your firmware keeps the fan on, now I just do that manually until I get everything sorted out.

I started with your firmware, but I couldn't compile it. So I got the latest marlin from github and moved some of your changes over, however in the latest marlin they seem to have removed m109 so it didn't work with the kisslicer profiles. Then pronterface drove the carriage into the walls a couple of times, and after a lot of cable retightening I figured that pronterface was better purged from my computer. The repetier host looks nice, it doesn't drive the carriage into walls, so I gave the repetier firmware a try, which seems to be a clone closer to your marlin version. That's probably too much detail ; )

The azteeg x1 is basically a sanguinololu with surface mount components. I went with the azteeg because the seller never shipped my sanguinololu order.

Attached are my changes to the repetier firmware (pin.h only adds pin 4 for the fan, which is the only difference from sanguinololu).

I will change the temp settings and also disable pid. I can add a retract on E before homing, then push some filament before printing starts.

I will also post some pictures of my build once I have the cables tidied up (now a big spider over the dining room table).
Attachments:
open | download - Configuration.h (47.3 KB)
open | download - pins.h (41.3 KB)
Re: start blob
May 27, 2013 10:48PM
I will work on adding the Azteeg to the Tantillus Marlin. For the failure to compile can you try to compile it with Arduino 1.0.1 or newer (not 1.0.0)?

For Repetier you may want to transfer over all the speed settings form the Tantillus Marlin. I see Repetier currently has very different acceleration and max speeds.


FFF Settings Calculator Gcode post processors Geometric Object Deposition Tool Blog
Tantillus.org Mini Printable Lathe How NOT to install a Pololu driver
Re: start blob
May 28, 2013 12:17AM
Yes, I will try compiling with a different arduino sdk. I either have the wrong version, or it's some user error on my part.
Re: start blob
May 29, 2013 01:50PM
I tried compiling the tantillus-marlin firmware from github again, still no go. I got a new arduino 0023 to make sure that wasn't the issue. Here's the errors I get:


ultralcd:34: error: 'LCD_PINS_RS' was not declared in this scope
ultralcd:34: error: 'LCD_PINS_ENABLE' was not declared in this scope
ultralcd:34: error: 'LCD_PINS_D4' was not declared in this scope
ultralcd:34: error: 'LCD_PINS_D5' was not declared in this scope
ultralcd:34: error: 'LCD_PINS_D6' was not declared in this scope
ultralcd:34: error: 'LCD_PINS_D7' was not declared in this scope
Marlin.cpp: In function 'void beep()':
ultralcd:139: error: 'BEEPER' was not declared in this scope
ultralcd:141: error: 'DIOBEEPER_RPORT' was not declared in this scope
ultralcd:141: error: 'DIOBEEPER_WPORT' was not declared in this scope
ultralcd:141: error: 'DIOBEEPER_PIN' was not declared in this scope
ultralcd:141: error: 'DIOBEEPER_WPORT' was not declared in this scope
ultralcd:141: error: 'DIOBEEPER_PIN' was not declared in this scope
ultralcd:141: error: 'DIOBEEPER_WPORT' was not declared in this scope
ultralcd:141: error: 'DIOBEEPER_PIN' was not declared in this scope
ultralcd:141: error: 'DIOBEEPER_WPORT' was not declared in this scope
ultralcd:141: error: 'DIOBEEPER_PIN' was not declared in this scope
ultralcd:143: error: 'DIOBEEPER_RPORT' was not declared in this scope
ultralcd:143: error: 'DIOBEEPER_WPORT' was not declared in this scope
ultralcd:143: error: 'DIOBEEPER_PIN' was not declared in this scope
ultralcd:143: error: 'DIOBEEPER_WPORT' was not declared in this scope
ultralcd:143: error: 'DIOBEEPER_PIN' was not declared in this scope
ultralcd:143: error: 'DIOBEEPER_WPORT' was not declared in this scope
ultralcd:143: error: 'DIOBEEPER_PIN' was not declared in this scope
ultralcd:143: error: 'DIOBEEPER_WPORT' was not declared in this scope
ultralcd:143: error: 'DIOBEEPER_PIN' was not declared in this scope
Marlin.cpp: In function 'void beepshort()':
ultralcd:157: error: 'BEEPER' was not declared in this scope
ultralcd:159: error: 'DIOBEEPER_RPORT' was not declared in this scope
ultralcd:159: error: 'DIOBEEPER_WPORT' was not declared in this scope
ultralcd:159: error: 'DIOBEEPER_PIN' was not declared in this scope
ultralcd:159: error: 'DIOBEEPER_WPORT' was not declared in this scope
ultralcd:159: error: 'DIOBEEPER_PIN' was not declared in this scope
ultralcd:159: error: 'DIOBEEPER_WPORT' was not declared in this scope
ultralcd:159: error: 'DIOBEEPER_PIN' was not declared in this scope
ultralcd:159: error: 'DIOBEEPER_WPORT' was not declared in this scope
ultralcd:159: error: 'DIOBEEPER_PIN' was not declared in this scope
ultralcd:161: error: 'DIOBEEPER_RPORT' was not declared in this scope
ultralcd:161: error: 'DIOBEEPER_WPORT' was not declared in this scope
ultralcd:161: error: 'DIOBEEPER_PIN' was not declared in this scope
ultralcd:161: error: 'DIOBEEPER_WPORT' was not declared in this scope
ultralcd:161: error: 'DIOBEEPER_PIN' was not declared in this scope
ultralcd:161: error: 'DIOBEEPER_WPORT' was not declared in this scope
ultralcd:161: error: 'DIOBEEPER_PIN' was not declared in this scope
ultralcd:161: error: 'DIOBEEPER_WPORT' was not declared in this scope
ultralcd:161: error: 'DIOBEEPER_PIN' was not declared in this scope
Marlin.cpp: In function 'void buttons_init()':
ultralcd:205: error: 'BTN_EN1' was not declared in this scope
ultralcd:206: error: 'BTN_EN2' was not declared in this scope
ultralcd:207: error: 'BTN_ENC' was not declared in this scope
ultralcd:208: error: 'SDCARDDETECT' was not declared in this scope
ultralcd:209: error: 'DIOBTN_EN1_RPORT' was not declared in this scope
ultralcd:209: error: 'DIOBTN_EN1_WPORT' was not declared in this scope
ultralcd:209: error: 'DIOBTN_EN1_PIN' was not declared in this scope
ultralcd:209: error: 'DIOBTN_EN1_WPORT' was not declared in this scope
ultralcd:209: error: 'DIOBTN_EN1_PIN' was not declared in this scope
ultralcd:209: error: 'DIOBTN_EN1_WPORT' was not declared in this scope
ultralcd:209: error: 'DIOBTN_EN1_PIN' was not declared in this scope
ultralcd:209: error: 'DIOBTN_EN1_WPORT' was not declared in this scope
ultralcd:209: error: 'DIOBTN_EN1_PIN' was not declared in this scope
ultralcd:210: error: 'DIOBTN_EN2_RPORT' was not declared in this scope
ultralcd:210: error: 'DIOBTN_EN2_WPORT' was not declared in this scope
ultralcd:210: error: 'DIOBTN_EN2_PIN' was not declared in this scope
ultralcd:210: error: 'DIOBTN_EN2_WPORT' was not declared in this scope
ultralcd:210: error: 'DIOBTN_EN2_PIN' was not declared in this scope
ultralcd:210: error: 'DIOBTN_EN2_WPORT' was not declared in this scope
ultralcd:210: error: 'DIOBTN_EN2_PIN' was not declared in this scope
ultralcd:210: error: 'DIOBTN_EN2_WPORT' was not declared in this scope
ultralcd:210: error: 'DIOBTN_EN2_PIN' was not declared in this scope
ultralcd:211: error: 'DIOBTN_ENC_RPORT' was not declared in this scope
ultralcd:211: error: 'DIOBTN_ENC_WPORT' was not declared in this scope
ultralcd:211: error: 'DIOBTN_ENC_PIN' was not declared in this scope
ultralcd:211: error: 'DIOBTN_ENC_WPORT' was not declared in this scope
ultralcd:211: error: 'DIOBTN_ENC_PIN' was not declared in this scope
ultralcd:211: error: 'DIOBTN_ENC_WPORT' was not declared in this scope
ultralcd:211: error: 'DIOBTN_ENC_PIN' was not declared in this scope
ultralcd:211: error: 'DIOBTN_ENC_WPORT' was not declared in this scope
ultralcd:211: error: 'DIOBTN_ENC_PIN' was not declared in this scope
ultralcd:214: error: 'DIOSDCARDDETECT_RPORT' was not declared in this scope
ultralcd:214: error: 'DIOSDCARDDETECT_WPORT' was not declared in this scope
ultralcd:214: error: 'DIOSDCARDDETECT_PIN' was not declared in this scope
ultralcd:214: error: 'DIOSDCARDDETECT_WPORT' was not declared in this scope
ultralcd:214: error: 'DIOSDCARDDETECT_PIN' was not declared in this scope
ultralcd:214: error: 'DIOSDCARDDETECT_WPORT' was not declared in this scope
ultralcd:214: error: 'DIOSDCARDDETECT_PIN' was not declared in this scope
ultralcd:214: error: 'DIOSDCARDDETECT_WPORT' was not declared in this scope
ultralcd:214: error: 'DIOSDCARDDETECT_PIN' was not declared in this scope
Marlin.cpp: In function 'void buttons_check()':
ultralcd:234: error: 'DIOBTN_EN1_RPORT' was not declared in this scope
ultralcd:234: error: 'DIOBTN_EN1_PIN' was not declared in this scope
ultralcd:234: error: 'BLEN_A' was not declared in this scope
ultralcd:235: error: 'DIOBTN_EN2_RPORT' was not declared in this scope
ultralcd:235: error: 'DIOBTN_EN2_PIN' was not declared in this scope
ultralcd:235: error: 'BLEN_B' was not declared in this scope
ultralcd:236: error: 'DIOBTN_ENC_RPORT' was not declared in this scope
ultralcd:236: error: 'DIOBTN_ENC_PIN' was not declared in this scope
ultralcd:237: error: 'BLEN_C' was not declared in this scope
ultralcd:257: error: 'BLEN_A' was not declared in this scope
ultralcd:259: error: 'BLEN_B' was not declared in this scope
ultralcd:265: error: 'encrot0' was not declared in this scope
ultralcd:266: error: 'encrot3' was not declared in this scope
ultralcd:268: error: 'encrot1' was not declared in this scope
ultralcd:271: error: 'encrot1' was not declared in this scope
ultralcd:274: error: 'encrot2' was not declared in this scope
ultralcd:277: error: 'encrot2' was not declared in this scope
ultralcd:280: error: 'encrot3' was not declared in this scope
ultralcd:283: error: 'encrot3' was not declared in this scope
Marlin.cpp: In member function 'void MainMenu::showPrepare()':
ultralcd:521: error: 'BLEN_C' was not declared in this scope
ultralcd:525: error: 'BLEN_C' was not declared in this scope
ultralcd:542: error: 'BLEN_C' was not declared in this scope
ultralcd:545: error: 'BLEN_C' was not declared in this scope
ultralcd:553: error: 'BLEN_C' was not declared in this scope
ultralcd:557: error: 'BLEN_C' was not declared in this scope
ultralcd:561: error: 'BLEN_C' was not declared in this scope
ultralcd:566: error: 'BLEN_C' was not declared in this scope
ultralcd:571: error: 'BLEN_C' was not declared in this scope
ultralcd:574: error: 'BLEN_C' was not declared in this scope
ultralcd:651: error: 'BLEN_C' was not declared in this scope
Marlin.cpp: In member function 'void MainMenu::showLoad()':
ultralcd:684: error: 'BLEN_C' was not declared in this scope
ultralcd:687: error: 'BLEN_C' was not declared in this scope
ultralcd:691: error: 'BLEN_C' was not declared in this scope
Marlin.cpp: In member function 'void MainMenu::showUnload()':
ultralcd:715: error: 'BLEN_C' was not declared in this scope
ultralcd:718: error: 'BLEN_C' was not declared in this scope
ultralcd:722: error: 'BLEN_C' was not declared in this scope
Marlin.cpp: In member function 'void MainMenu::showAxisMove()':
ultralcd:746: error: 'BLEN_C' was not declared in this scope
ultralcd:760: error: 'BLEN_C' was not declared in this scope
ultralcd:805: error: 'BLEN_C' was not declared in this scope
ultralcd:850: error: 'BLEN_C' was not declared in this scope
ultralcd:885: error: 'BLEN_C' was not declared in this scope
Marlin.cpp: In member function 'void MainMenu::showTune()':
ultralcd:911: error: 'BLEN_C' was not declared in this scope
ultralcd:924: error: 'BLEN_C' was not declared in this scope
ultralcd:960: error: 'BLEN_C' was not declared in this scope
ultralcd:1029: error: 'BLEN_C' was not declared in this scope
ultralcd:1064: error: 'BLEN_C' was not declared in this scope
Marlin.cpp: In member function 'void MainMenu::showControlTemp()':
ultralcd:1138: error: 'BLEN_C' was not declared in this scope
ultralcd:1152: error: 'BLEN_C' was not declared in this scope
ultralcd:1187: error: 'BLEN_C' was not declared in this scope
ultralcd:1221: error: 'BLEN_C' was not declared in this scope
ultralcd:1255: error: 'BLEN_C' was not declared in this scope
ultralcd:1293: error: 'BLEN_C' was not declared in this scope
ultralcd:1352: error: 'BLEN_C' was not declared in this scope
Marlin.cpp: In member function 'void MainMenu::showControlMotion()':
ultralcd:1556: error: 'BLEN_C' was not declared in this scope
ultralcd:1569: error: 'BLEN_C' was not declared in this scope
ultralcd:1603: error: 'BLEN_C' was not declared in this scope
ultralcd:1646: error: 'BLEN_C' was not declared in this scope
ultralcd:1682: error: 'BLEN_C' was not declared in this scope
ultralcd:1717: error: 'BLEN_C' was not declared in this scope
ultralcd:1760: error: 'BLEN_C' was not declared in this scope
ultralcd:1794: error: 'BLEN_C' was not declared in this scope
ultralcd:1829: error: 'BLEN_C' was not declared in this scope
ultralcd:1866: error: 'BLEN_C' was not declared in this scope
ultralcd:1904: error: 'BLEN_C' was not declared in this scope
ultralcd:1943: error: 'BLEN_C' was not declared in this scope
Marlin.cpp: In member function 'void MainMenu::showControl()':
ultralcd:1993: error: 'BLEN_C' was not declared in this scope
ultralcd:1996: error: 'BLEN_C' was not declared in this scope
ultralcd:1999: error: 'BLEN_C' was not declared in this scope
ultralcd:2007: error: 'BLEN_C' was not declared in this scope
ultralcd:2021: error: 'BLEN_C' was not declared in this scope
ultralcd:2036: error: 'BLEN_C' was not declared in this scope
Marlin.cpp: In member function 'void MainMenu::showSD()':
ultralcd:2081: error: 'BLEN_C' was not declared in this scope
ultralcd:2112: error: 'BLEN_C' was not declared in this scope
ultralcd:2112: error: 'SDCARDDETECT' was not declared in this scope
ultralcd:2148: error: 'BLEN_C' was not declared in this scope
Marlin.cpp: In member function 'void MainMenu::showMainMenu()':
ultralcd:2230: error: 'BLEN_C' was not declared in this scope
ultralcd:2233: error: 'BLEN_C' was not declared in this scope
ultralcd:2236: error: 'BLEN_C' was not declared in this scope
ultralcd:2240: error: 'BLEN_C' was not declared in this scope
ultralcd:2249: error: 'DIOSDCARDDETECT_RPORT' was not declared in this scope
ultralcd:2249: error: 'DIOSDCARDDETECT_PIN' was not declared in this scope
ultralcd:2265: error: 'DIOSDCARDDETECT_RPORT' was not declared in this scope
ultralcd:2265: error: 'DIOSDCARDDETECT_PIN' was not declared in this scope
ultralcd:2267: error: 'BLEN_C' was not declared in this scope
Marlin.cpp: In member function 'void MainMenu::update()':
ultralcd:2296: error: 'DIOSDCARDDETECT_RPORT' was not declared in this scope
ultralcd:2296: error: 'DIOSDCARDDETECT_PIN' was not declared in this scope
ultralcd:2323: error: 'BLEN_C' was not declared in this scope
ultralcd:2331: error: 'BLEN_C' was not declared in this scope
Re: start blob
May 29, 2013 03:43PM
Two things.

Which board did you have selected?

Can you try with Arduino 1.0.1 or newer (not 1.0.0)?


FFF Settings Calculator Gcode post processors Geometric Object Deposition Tool Blog
Tantillus.org Mini Printable Lathe How NOT to install a Pololu driver
Re: start blob
May 29, 2013 04:27PM
I have sanguinololu 1.2+ selected (value 62).

I will try a newer arduino sdk.

But finally I'm getting some prints! I modified the gcode prefix to do z homing at 10,10, so now the blob gets cleaned off before the first layer starts. I also had some connection issues, maybe there's some issues with the FTDI driver on win8? Now I'm printing from win7.

This is 30mm tall at 0.15 layer height (looks much better in person, black PLA seems to be hard to take pics):
Attachments:
open | download - IMG_3799.JPG (153.5 KB)
Re: start blob
May 29, 2013 04:35PM
Looks good.

To compile it you will need to comment out the LCD as I assume you do not have pins for them (if you have the pins they need to be added to the pins.h file)

// #define ULTIPANEL
// #define NEWPANEL
#define SDSUPPORT
// #define ULTRA_LCD
// #define LCD_WIDTH 16
// #define LCD_HEIGHT 2

Edited 1 time(s). Last edit at 05/29/2013 04:36PM by Sublime.


FFF Settings Calculator Gcode post processors Geometric Object Deposition Tool Blog
Tantillus.org Mini Printable Lathe How NOT to install a Pololu driver
Re: start blob
May 29, 2013 04:52PM
I don't have an lcd yet, so I'll try disabling it.

By the way, the printer is great. You did an awesome job with the design!
Re: start blob
May 29, 2013 05:29PM
> 1) Change the TEMP_RESIDENCY_TIME and/or
> TEMP_HYSTERESIS (Tantillus Marlin uses 10 and 4)
>
> 2) Turn off PID (Tantillus Marlin is set to Bang
> Bang).

I am curious to hear why you chose these settings.
Re: start blob
May 29, 2013 08:32PM
I was wondering about disabling PID as well. But then I printed some models both ways and with bang bang mode the start seam appears to be less visible, and the object smoother. Seems like it should be the other way around.
Re: start blob
May 29, 2013 10:47PM
goopyplastic Wrote:
-------------------------------------------------------
> > 1) Change the TEMP_RESIDENCY_TIME and/or
> > TEMP_HYSTERESIS (Tantillus Marlin uses 10 and
> 4)
> >
> > 2) Turn off PID (Tantillus Marlin is set to
> Bang
> > Bang).
>
> I am curious to hear why you chose these settings.

For the time I believe it was higher by default at the time I branched Marlin and found this to be better as it oozed less during warm up.

The hysteresis is because Bang Bang can have about that much swing and any less it can never trigger the timer.

As for Bang Bang. When I started with Teacup I found PID worked really well. Then I made a new hotend with lots of print cooling and I could never get PID to work well with it. Then I built Tantillus and started using Marlin and found a similar issue with PID not keeping up to changes in air flow or large changes in flow rate. To make it work correctly you could tune the PID. But in my mind you then end up with a system that tries to maintain temperature instead of reacting to changes. Meaning with PID when you increase flow or turn on the fans it still uses the same PWM until it realizes it need to increase it to maintain the temp. But with Bang Bang it simply turns it on full every time the temp drops below the set temp so it can handle the fans and increased flow. It is true you can tune the PID to use 255 PWM and be really sensitive but then you end up with what is essentially a processor intensive version of Bang Bang. Lastly bang bang is reliable on all hotends and PID really should be tuned which is harder for the average person. Also note that Mendel 90 uses Bang Bang as well.


FFF Settings Calculator Gcode post processors Geometric Object Deposition Tool Blog
Tantillus.org Mini Printable Lathe How NOT to install a Pololu driver
Re: start blob
May 30, 2013 06:23PM
Disabled the lcd and now the tantillus firmware compiles fine. I'll load it up tonight.
Re: start blob
June 01, 2013 09:16PM
I'm ready to upload the tantillus firmware, but I have a question before I mess something up.

You mentioned that the firmware does homing different. What do you mean by that? Does the firmware assume (0,0) position where the head is set at power on?

Currently I have home in front left. My x axis goes left (x=0) to right (x=100). My y axis goes from front (y=0) to back (y=100). Can I achieve that same setup by setting INVERT_X_DIR and INVERT_Y_DIR, or are there more changes under the hood that would be required?
Re: start blob
June 01, 2013 10:12PM
lajos Wrote:
-------------------------------------------------------
> I'm ready to upload the tantillus firmware, but I
> have a question before I mess something up.
>
> You mentioned that the firmware does homing
> different. What do you mean by that? Does the
> firmware assume (0,0) position where the head is
> set at power on?
>
> Currently I have home in front left. My x axis
> goes left (x=0) to right (x=100). My y axis goes
> from front (y=0) to back (y=100). Can I achieve
> that same setup by setting INVERT_X_DIR and
> INVERT_Y_DIR, or are there more changes under the
> hood that would be required?

All the firmwares that I know of assume 0,0 (or home set position) on start up so that should be the same.

I always set 0,0 at the back right corner so the hotend is not in the front where it will burn you but that is just the way the motors are plugged in or as you say the invert direction settings.

The difference with homing is when you press home in the LCD it returns to 0,0 even though it does not have X and Y endstops. It also returns to 0,0 when you enter the file menu on the LCD to ensure it is back at home when you start a print. I do not think I changed anything else with the homing but it was more than a year ago I made the changes so there my memory may be off.


FFF Settings Calculator Gcode post processors Geometric Object Deposition Tool Blog
Tantillus.org Mini Printable Lathe How NOT to install a Pololu driver
Re: start blob
June 02, 2013 10:53AM
Thanks, all that makes sense.

I picked front left for home as it matches the way my cnc is set up, so doesn't require my brain rotating coordinate systems. And sometimes my kids play with the gears, with the carriage in the front I only have to retighten the front and side cables when they are done ; )
Sorry, only registered users may post in this forum.

Click here to login