Welcome! Log In Create A New Profile

Advanced

Marlin Delta Firmware Issue

Posted by ayouden 
Re: Marlin Delta Firmware Issue
September 17, 2014 12:57PM
I have downloaded and put the new config_adv.h into the marlin folder.

When I get to the office tomorrow I will try again.

If this doesn't fix it I don't know what will!

sad smiley
Re: Marlin Delta Firmware Issue
September 17, 2014 03:58PM
Repetier firmware might work!

If that also does not work it is a hardware problem...

Edited 1 time(s). Last edit at 09/17/2014 04:15PM by 3D-ES.


RS-Online Ormerod #263, Kossel mini with Minitronics, Prusa i3 MK2
Re: Marlin Delta Firmware Issue
September 18, 2014 04:48AM
Hey,

I tried Repetier Firmware once and for the life of me I couldn't get it to work!
Re: Marlin Delta Firmware Issue
September 18, 2014 05:12AM
Just discovered something very odd!

[forums.reprap.org]

Could this be the reason why?

Thanks
Re: Marlin Delta Firmware Issue
September 18, 2014 09:09AM
What happens when you home twice?

I would expect that it goes through the same motions twice,
if the motors don't move the second time, it can be a short-circuit...

Can you attach a photo of your board that shows how the wires are connected?
Perhaps somebody who owns a Ramps board recognizes something strange..?


RS-Online Ormerod #263, Kossel mini with Minitronics, Prusa i3 MK2
Re: Marlin Delta Firmware Issue
September 18, 2014 09:16AM
Here are the images of my Ramps 1.4.

Also I can do G28 as many times as I want and it still homes perfectly!

Edited 1 time(s). Last edit at 09/18/2014 09:17AM by ayouden.
Attachments:
open | download - IMAG0623.jpg (562.1 KB)
open | download - IMAG0624.jpg (513.1 KB)
open | download - IMAG0625.jpg (531.1 KB)
Re: Marlin Delta Firmware Issue
September 18, 2014 01:03PM
Your hardware config looks good (to me...)

I am going to try Repetier on my Kossel mini this weekend,
do you remember what your problems were with Repetier?


RS-Online Ormerod #263, Kossel mini with Minitronics, Prusa i3 MK2
Re: Marlin Delta Firmware Issue
September 18, 2014 01:23PM
Yea,

For some reason, I could not get it to home!

I kept on getting this message when i tried to home the machine:

Warning:Invalid delta coordinate

And nothing moved at all!
Re: Marlin Delta Firmware Issue
September 19, 2014 02:39AM
After you home your printer it does not want to move down,
have you tried to move it up? Just to see what happens?


RS-Online Ormerod #263, Kossel mini with Minitronics, Prusa i3 MK2
Re: Marlin Delta Firmware Issue
September 19, 2014 04:04AM
Okay, So when I do G28 then G1 Z300 (Max should be 250)

The printer doesn't move but when I send M114, the Z is at 300. Which is shouldn't be!

I have attached a screenshot of this.


-----


EDIT:

I have max_software_endstops set to false. Hence why it can happily go to 300

Edited 1 time(s). Last edit at 09/19/2014 05:54AM by ayouden.
Attachments:
open | download - Screen Shot 2014-09-19 at 08.59.56.png (90 KB)
Re: Marlin Delta Firmware Issue
September 19, 2014 05:03PM
This is so strange...

Your printer moves repeatedly to X0, Y0, Z250 when instructed by G28,
but it refuses to move when the move is started by G1, but updates Z.

What are the differences between a G28 and a G1 move?

Perhaps it has something to do with the feedrate?

G28 homes with a feedrate set in Configuration.h
G1 uses a feedrate setting that can be changed...

Perhaps something overwrites the default feedrate used by G1?
You can try to specify a feedrate for the move: G1 Z200 F4000


RS-Online Ormerod #263, Kossel mini with Minitronics, Prusa i3 MK2
Re: Marlin Delta Firmware Issue
September 19, 2014 05:18PM
Hmmm, that is a good idea!

I won't be able to gain access to the 3D Printer until Monday sadly!

I have a few Ideas to try and narrow down what it is.

I have a spare Ramps 1.4 shield which I can swap to see if it is the shield.

I also have an old Sanguinololu board somewhere, but the location of said item is proving to be tricky to locate!

With any luck I will have a few fixes to try on Monday.

I would like to know how you get on with Repetier Firmware this weekend!

Thanks
Re: Marlin Delta Firmware Issue
September 21, 2014 02:21PM
My printer is printing with Repetier firmware at the moment, looking good!

I have made a log of the things I did to get it running,
I will post it here when I am done editting and translating!


RS-Online Ormerod #263, Kossel mini with Minitronics, Prusa i3 MK2
Re: Marlin Delta Firmware Issue
September 21, 2014 02:52PM
Hey,

I am glad you got it working!

And I am extremely grateful that you are logging the issues and errors + fixes.

and Good News!

I have found my Sanguinololu Board!

I will have a play on Monday and it should work as it worked with my old cartesian printer.

If it doesn't work I know it is firmware.

If it does then it must be the Mega or the Ramps shield.

And I can test the shield with using my current shield from my current printer.

So, with any luck. I should know what is broken by the end of tomorrow!

Thanks
Re: Marlin Delta Firmware Issue
September 22, 2014 05:00AM
Well this has made my life a lot harder!

My Sanguinololu board doesn't work!

It has exactly the same issue as my Ramps 1.4.

What the hell is going on?!
Re: Marlin Delta Firmware Issue
September 22, 2014 05:13AM
If you have EEPROM enabled, it can contain corrupted settings.

M503 shows you the current settings in EEPROM
M502 resets the settings by loading firmware defaults
M500 stores the reloaded default values in EEPROM

Perhaps you can try giving it a reset after that, just to be sure...


RS-Online Ormerod #263, Kossel mini with Minitronics, Prusa i3 MK2
Re: Marlin Delta Firmware Issue
September 22, 2014 05:19AM
GOD DAMMIT!!!

I had a number wrong in the Printer Set-up.

I had put 29mm rather than 92mm

29mm is an Impossible value, hence why it crashed when i tried to move it!

ARGH!!!
Re: Marlin Delta Firmware Issue
September 22, 2014 05:46AM
Here you have my first version of the Repetier log:

Printer type: Kossel mini without probe
Firmware version used: Repetier 0.91
Hardware version used: Minitronics 1.1

Used internet resources

This is the official Repetier installation manual
This is the archive I have installed on my printer
This is a youtube video that shows some steps
This is a blog of another Marlin-Repetier conversion

Edit Configuration.h and pins.h

I did not know which settings were stored in EEPROM,
so I made sure there were default values for everything.

This is the list of changes I made to make it work:

Configuration.h:83 Select hardware, 702 = Minitronics

#define MOTHERBOARD 702

Configuration.h:107 Printer type, 3 = Delta printer

#define DRIVE_SYSTEM 3

Configuration.h:127 My machine has 16 teeth pulleys

#define PULLEY_TEETH 16

Configuration.h:139 Minitronics has 32 micro steps

#define MICRO_STEPS 32

Configuration.h:161 Z axis step count equal to X and Y

#define ZAXIS_STEPS_PER_MM 98.425196

Configuration.h:174 Set geared extruder steps per mm

#define EXT0_STEPS_PER_MM 900

Configuration.h:202 Extruder connector is not inversed

#define EXT0_INVERSE false

Configuration.h:600 Mechanical endstops connected with GND

#define ENDSTOP_PULLUP_X_MIN false
#define ENDSTOP_PULLUP_Y_MIN false
#define ENDSTOP_PULLUP_Z_MIN false
#define ENDSTOP_PULLUP_X_MAX true
#define ENDSTOP_PULLUP_Y_MAX true
#define ENDSTOP_PULLUP_Z_MAX true

Configuration.h:613 My endstops TRIGGER when they are pushed

#define ENDSTOP_X_MIN_INVERTING false
#define ENDSTOP_Y_MIN_INVERTING false
#define ENDSTOP_Z_MIN_INVERTING false
#define ENDSTOP_X_MAX_INVERTING false
#define ENDSTOP_Y_MAX_INVERTING false
#define ENDSTOP_Z_MAX_INVERTING false

Configuration.h:617 My machine only has endstops at the top

#define MIN_HARDWARE_ENDSTOP_X false
#define MIN_HARDWARE_ENDSTOP_Y false
#define MIN_HARDWARE_ENDSTOP_Z false
#define MAX_HARDWARE_ENDSTOP_X true
#define MAX_HARDWARE_ENDSTOP_Y true
#define MAX_HARDWARE_ENDSTOP_Z true

Configuration.h:643 The stepper connectors are not reversed

#define INVERT_X_DIR false
#define INVERT_Y_DIR false
#define INVERT_Z_DIR false

Configuration.h:649 Home in direction of the MAX endstops

#define X_HOME_DIR 1
#define Y_HOME_DIR 1
#define Z_HOME_DIR 1

Configuration.h:657 Disable software min endstops

#define min_software_endstop_x false
#define min_software_endstop_y false
#define min_software_endstop_z false

Configuration.h:662 Disable software max endstops

#define max_software_endstop_x false
#define max_software_endstop_y false
#define max_software_endstop_z false

Configuration.h:669 All axis should move the same distance

#define ENDSTOP_Z_BACK_MOVE 5

Configuration.h:681 All axis should move the same distance

#define ENDSTOP_Z_BACK_ON_HOME 1

Configuration.h:692 Define default values, overwritten by EEPROM

#define X_MAX_LENGTH 170
#define Y_MAX_LENGTH 170
#define Z_MAX_LENGTH 255.3 See "Correcting Z_MAX_LENGTH"

Configuration.h:725 Dimensions different from my Marlin config...

#define DELTA_DIAGONAL_ROD 213.5
#define DELTA_MAX_RADIUS 170
#define END_EFFECTOR_HORIZONTAL_OFFSET 23
#define CARRIAGE_HORIZONTAL_OFFSET 25

Configuration.h:774 See "Correcting PRINTER_RADIUS"

#define PRINTER_RADIUS 155

Configuration.h:792 See "Correcting endstop offsets"

#define DELTA_X_ENDSTOP_OFFSET_STEPS 0
#define DELTA_Y_ENDSTOP_OFFSET_STEPS 0
#define DELTA_Z_ENDSTOP_OFFSET_STEPS 6

Configuration.h:832 Correcting the max feedrate of the Z axis

#define MAX_FEEDRATE_X 200
#define MAX_FEEDRATE_Y 200
#define MAX_FEEDRATE_Z 200

Configuration.h:837 Correcting the homing feedrate of the Z axis

#define HOMING_FEEDRATE_X 80
#define HOMING_FEEDRATE_Y 80
#define HOMING_FEEDRATE_Z 80

Configuration.h:888 Correcting max printing acceleration of the Z axis

#define MAX_ACCELERATION_UNITS_PER_SQ_SECOND_X 1000
#define MAX_ACCELERATION_UNITS_PER_SQ_SECOND_Y 1000
#define MAX_ACCELERATION_UNITS_PER_SQ_SECOND_Z 1000

Configuration.h:893 Correcting max moving acceleration of the Z axis

#define MAX_TRAVEL_ACCELERATION_UNITS_PER_SQ_SECOND_X 2000
#define MAX_TRAVEL_ACCELERATION_UNITS_PER_SQ_SECOND_Y 2000
#define MAX_TRAVEL_ACCELERATION_UNITS_PER_SQ_SECOND_Z 2000

The compiler gave me the following error messages

Printer.cpp:651:2: error #error You have defined hardware x max endstop without pin assignment. Set pin number for X_MAX_PIN
Printer.cpp:661:2: error #error You have defined hardware y max endstop without pin assignment. Set pin number for Y_MAX_PIN
Printer.cpp:671:2: error #error You have defined hardware z max endstop without pin assignment. Set pin number for Z_MAX_PIN

It is time to edit pins.h!

I could not open pins.h in Arduino and used an external editor,
I had to restart Arduino to get rid of that compiler error...

In pins.h I searched for "MOTHERBOARD == 702" (Minitronics)

Pins.h:1717 Swap MIN and MAX pins, delta uses MAX endstops

#define ORIG_X_MIN_PIN -1
#define ORIG_X_MAX_PIN 5

#define ORIG_Y_MIN_PIN -1
#define ORIG_Y_MAX_PIN 2

#define ORIG_Z_MIN_PIN -1
#define ORIG_Z_MAX_PIN 6

After that I could compile Repetier firmware and upload it.

Testing basic commands using the Arduino serial monitor

M115 - Request firmware version

FIRMWARE_NAME:Repetier_0.91
FIRMWARE_URL:[github.com]
PROTOCOL_VERSION:1.0
MACHINE_TYPE: Delta
EXTRUDER_COUNT:1
REPETIER_PROTOCOL:2
Printed filament:0.00m
Printing time:0 days 0 hours 0 min

M105 - Checking if temperatures stay low

T:26.74 /0 B:28.02 /0 B@:0 @:0

M119 - Requesting endstop status

x_max:H y_max:H z_max:H When endstops were pressed

x_max:L y_max:L z_max:L When endstops were released

G28 - Home works

The Repetier way of homing is different from Marlin deltabot.

M114 - Request current position

X:0.00 Y:0.00 Z:250.0 E:0.00

M503 - Read current EEPROM settings:

EPR:2 75 115200 Baudrate
EPR:3 129 0.000 Filament printed [m]
EPR:2 125 0 Printer active [sec]
EPR:2 79 0 Max. inactive time [ms,0=off]
EPR:2 83 360000 Stop stepper after inactivity [ms,0=off]
EPR:3 11 200.0000 Steps per mm
EPR:3 23 200.000 Max. feedrate [mm/s]
EPR:3 35 80.000 Homing feedrate [mm/s]
EPR:3 39 20.000 Max. jerk [mm/s]
EPR:3 133 0.000 X home pos [mm]
EPR:3 137 0.000 Y home pos [mm]
EPR:3 141 0.000 Z home pos [mm]
EPR:3 145 170.000 X max length [mm]
EPR:3 149 170.000 Y max length [mm]
EPR:3 153 255.350 Z max length [mm]
EPR:3 59 1000.000 Acceleration [mm/s^2]
EPR:3 71 2000.000 Travel acceleration [mm/s^2]
EPR:3 881 213.500 Diagonal rod length [mm]
EPR:3 885 106.000 Horizontal radius [mm]
EPR:3 925 170.000 Max. radius [mm]
EPR:1 891 70 Segments/s for travel
EPR:1 889 180 Segments/s for printing
EPR:1 893 0 Tower X endstop offset [steps]
EPR:1 895 0 Tower Y endstop offset [steps]
EPR:1 897 6 Tower Z endstop offset [steps]
EPR:3 901 210.000 Alpha A(210):
EPR:3 905 330.000 Alpha B(330):
EPR:3 909 90.000 Alpha C(90):
EPR:3 913 0.000 Delta Radius A(0):
EPR:3 917 0.000 Delta Radius B(0):
EPR:3 921 0.000 Delta Radius C(0):
EPR:3 933 0.000 Corr. diagonal A [mm]
EPR:3 937 0.000 Corr. diagonal B [mm]
EPR:3 941 0.000 Corr. diagonal C [mm]
EPR:0 106 1 Bed Heat Manager [0-3]
EPR:0 107 255 Bed PID drive max
EPR:0 124 80 Bed PID drive min
EPR:3 108 196.000 Bed PID P-gain
EPR:3 112 33.020 Bed PID I-gain
EPR:3 116 290.000 Bed PID D-gain
EPR:0 120 255 Bed PID max value [0-255]
EPR:3 200 900.000 Extr.1 steps per mm
EPR:3 204 30.000 Extr.1 max. feedrate [mm/s]
EPR:3 208 10.000 Extr.1 start feedrate [mm/s]
EPR:3 212 4000.000 Extr.1 acceleration [mm/s^2]
EPR:0 216 1 Extr.1 heat manager [0-3]
EPR:0 217 140 Extr.1 PID drive max
EPR:0 245 60 Extr.1 PID drive min
EPR:3 218 24.0000 Extr.1 PID P-gain/dead-time
EPR:3 222 0.8800 Extr.1 PID I-gain
EPR:3 226 80.0000 Extr.1 PID D-gain
EPR:0 230 255 Extr.1 PID max value [0-255]
EPR:2 231 0 Extr.1 X-offset [steps]
EPR:2 235 0 Extr.1 Y-offset [steps]
EPR:1 239 1 Extr.1 temp. stabilize time [sec]
EPR:1 250 150 Extr.1 temp. for retraction when heating [C]
EPR:1 252 0 Extr.1 distance to retract when heating [mm]
EPR:0 254 255 Extr.1 extruder cooler speed [0-255]
EPR:3 241 0.000 Extr.1 advance K [0=off]
EPR:3 246 0.000 Extr.1 advance L [0=off]

M206 - Write specific setting to EEPROM

M206 T P S for data_type 0-2 (all integer types)
M206 T P X for data_type 3 (float)

M503 gives all the information that you need

EPR:1 897 0 Tower Z endstop offset [steps]
M206 T1 P897 S6

EPR:2 75 115200 Baudrate
M206 T2 P75 S115200

EPR:3 885 104.000 Horizontal radius [mm]
M206 T3 P885 X106

M500 - Store current settings in EEPROM

M502 - Reset settings to firmware defined values

Correcting endstop offsets (without a probe)

It is very difficult to position my endstops exactly,
I have chosen to correct the differences in software.

This step took some time, the usual way to do this is with a probe.
If you use a bed probe then you can probably skip this whole step.

It turned out to be very easy when I found out about G131 and G132

- Run G28 to home all axis
- Run G131 to set extruder offset position to 0
- Run G84 to disable steppers until next move
- Place a ruler under the carriage
- Move the carriage down to the ruler
- Repeat this with the other two axis
- All axis are now on an equal height
- Run G132 S1 to 'home' and count offset steps

Tower 1:0
Tower 2:0
Tower 3:6

These values are directly applied in memory,
With G132 S1 it is also stored in EEPROM.

For backup I also updated the value in the firmware.

Correcting Z_MAX_LENGTH (parameter 153)

I did this by measuring the Z distance after homing,
my Z refused to go below 0, so I 'faked' the height.

Set the maximum Z height to beyond the actual limit:

M206 T3 P153 X260

Move the nozzle down to the platform and do the paper test.
M114 tells the current Z value: Z = 4.7 -> 260 - 4.7 = 255.3

Store the adjusted value in memory and rehome to check again:

M206 T3 P153 X255.3

Correcting PRINTER_RADIUS

This removes mountain / valley error in XY moves.

If PRINTER_RADIUS is too low the nozzle moves 'over a mountain'.
If PRINTER_RADIUS is too high the nozzle moves 'through a valley'.

Tweak Configuration.h until the nozzle moves straight in XY direction,
use the paper test in the center, move in X and Y direction from there.

Hope you get this working, let me know if you have any questions!

Edited 3 time(s). Last edit at 09/22/2014 08:09AM by 3D-ES.


RS-Online Ormerod #263, Kossel mini with Minitronics, Prusa i3 MK2
Re: Marlin Delta Firmware Issue
September 22, 2014 06:04AM
Quote
ayouden
GOD DAMMIT!!!

I had a number wrong in the Printer Set-up.

I had put 29mm rather than 92mm

29mm is an Impossible value, hence why it crashed when i tried to move it!

ARGH!!!

Now you point your finger to that very specific spot, I see it too! eye rolling smiley
92 is still a low value, but perhaps your printer is smaller than mine...?




RS-Online Ormerod #263, Kossel mini with Minitronics, Prusa i3 MK2
Re: Marlin Delta Firmware Issue
September 22, 2014 07:07AM
Yes, my printer is very, very small!

And thanks for that log you did!

If I get any errors I think it will come very handy!

Thanks
Re: Marlin Delta Firmware Issue
October 23, 2015 02:29AM
Please help,
I self made a delta type printer, 3 endstops on top of each axes,window 7, ramp 1.4,arduino mega 2560,Reprap discount full graphic smart controller
Then I use marlin firmware (replace the configuration and configuration from the marlin "example_configurations" >Delta through the "Visual Studio Code" and copy the entire file to paste onto the marline firmware configuration.h and the configuration adv.h)
Compile Ok,upload Ok,but it move "autohome" at beginning ,many time trial later,it move but only one axes not all three axes move toward at the same and to hit the endstops,
When I move them manually to a random position and press print from the SD card it move looks normally,and after it run through to finish,then stop at where it is.
Anyone out there can instruct me to "PRINT"
Help! Please
Sorry, only registered users may post in this forum.

Click here to login