Welcome! Log In Create A New Profile

Advanced

Repetier-Firmware 0.82.2 + Gen7 1.4.1 + Delta printer

Posted by kolergy 
Repetier-Firmware 0.82.2 + Gen7 1.4.1 + Delta printer
May 07, 2013 12:12PM
Dear all,

This a bit a newbee question, I am building a Rostock like delta printer controlled by Gen7 1.4.1 (Atmega 644 @20Mhz I expected the little overclock of the gen7 could be beneficial on a delta where controller speed is an issue)

Since the Repetier Firmware (V0.82.2) which seems the most advanced for delta printers I tried to install it. I started to set the configuration.h and uploaded it to the board with no problems.

When I run Repetier host (V0.56 OSX) It says Unknown Firmware. The strange thing is that if I change back the type of printer (#define DRIVE_SYSTEM 3) to cartesian (0) It recognise the firmware fine and I'm able to move the Steppers.

- Dose anyone had similar Issue?
- Would there be an incompatibility between the delta mode & the Gen7?

I'll continue to give it a go but in parallel I will try the mdified Marlin.

Thanks for your feedback

Kolergy
Re: Repetier-Firmware 0.82.2 + Gen7 1.4.1 + Delta printer
May 07, 2013 01:45PM
If you see "Unkown firmware" that means the printer has not answered on the M115 command, so the host does not see what it got connected to. When cartesian printer work, it is most likely a memory problem. The delta printer requires much more ram then the cartesian. Have you increased any queuing values? The main memory usage is here:
#define DELTA_CACHE_SIZE (MAX_DELTA_SEGMENTS_PER_LINE * MOVE_CACHE_SIZE)

so reducing MOVE_CACHE_SIZE or MAX_DELTA_SEGMENTS_PER_LINE helps a lot reducing memory usage.

Or try disabling sd card if you have it activated.


Repetier-Software - the home of Repetier-Host (Windows, Linux and Mac OS X) and Repetier-Firmware.
Repetier-Server - the solution to control your printer from everywhere.
Visit us on Facebook and Twitter!
Re: Repetier-Firmware 0.82.2 + Gen7 1.4.1 + Delta printer
May 12, 2013 03:24PM
Hello to all,

I'm Nailson Roveta, I'm from Brazil and I'm riding a rostock (delta printer). I'm exactly the same problem presented by fellow Kolergy.

Colleague Kolergy which firmware you are using in your printer?

I'm using a board GEN7 with ATMEGA644P 20MHz.

If you want to know a little of my printer following links:

[www.youtube.com]
[www.youtube.com]

Regards to all and thanks for the help.

Nailson Roveta
Re: Repetier-Firmware 0.82.2 + Gen7 1.4.1 + Delta printer
May 12, 2013 04:44PM
I think I know the problem. You are using a 644 with only 4 kb ram. As I already said, the delta code needs much more ram then normal printer. The megas that are known to work have 8kb ram. As a solution you could use the 1284 which has 16 kb ram and is pin compatible.


Repetier-Software - the home of Repetier-Host (Windows, Linux and Mac OS X) and Repetier-Firmware.
Repetier-Server - the solution to control your printer from everywhere.
Visit us on Facebook and Twitter!
Re: Repetier-Firmware 0.82.2 + Gen7 1.4.1 + Delta printer
May 12, 2013 08:12PM
I'll try to get a μC atmega1284 to perform the tests. Here in Brazil will be hard to buy one of these, but I'll find a way.

Thank you so much for your help.

Nailson Roveta
Re: Repetier-Firmware 0.82.2 + Gen7 1.4.1 + Delta printer
May 13, 2013 11:31AM
Thnak you Repiter for the advice it seems to partially work, by reducing the memory requirements I managed to have the board connect to Repetier-Host:

- I'm able to control the extruder temperature even though I had to change pins.h for the following in the Gen7 1.4.1 as I had to plug the extruder temp on the bed to have a measurement.
#define TEMP_0_PIN 1 // was originally 0
#define TEMP_1_PIN 0 // was originally 1

- I'm not able to get the steppers to move @ when I try the M119 command to check the status of the endstops it dose not return anything. anyway I'm not totally sure but I think I've tried all the possible combinations for the endstop settings. and when I run in normal Cartesian settings I manage to have movement in the steppers

Hi Nailson, Nice work you are doing on your machine. I think As soon as I can I will try to get a 1284 as well, the difficulty is to be able to flash the boot loader.

By the way the Details of the Printer I'm building is on Thingiverse: [www.thingiverse.com]

Edited 2 time(s). Last edit at 05/13/2013 11:37AM by kolergy.
Re: Repetier-Firmware 0.82.2 + Gen7 1.4.1 + Delta printer
May 13, 2013 11:40AM
Memory is a real problem when it gets to low. It can overwrite existing data causing unwanted effects. Try

#define DEBUG_FREE_MEMORY

for testing. So you can see that you have still memory left. I guess you need around 400-500 bytes of free memory for actions between memory tests. Do this only for testing. Debug memory can cause crashes from time to time.

With the end stops, if I'm right the gen7 has only 3 min end stops, While you need 3 max endstops. In pins.h the pin numbers for max endstops are -1. Change them to use the min end stops instead and also adjust
#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

Edited 1 time(s). Last edit at 05/13/2013 11:41AM by repetier.


Repetier-Software - the home of Repetier-Host (Windows, Linux and Mac OS X) and Repetier-Firmware.
Repetier-Server - the solution to control your printer from everywhere.
Visit us on Facebook and Twitter!
Re: Repetier-Firmware 0.82.2 + Gen7 1.4.1 + Delta printer
May 13, 2013 12:21PM
Thanks I tried the debug, My question might sound silly but where should I see the memory value displayed ? because it dose not seem to be displayed in the log of Repetier-Host.

Concerning the end stops I have 3 micro-switches on the max of each axes that return 5V when free & 0V when activated by a contact.

Here is the end stops set-up of the configuration.h:
// ##########################################################################################
// ##                            Endstop configuration                                     ##
// ##########################################################################################

/* By default all endstops are pulled up to high. You need a pullup if you
use a mechanical endstop connected with gnd. Set value to false for no pullup
on this endstop.
*/
#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

//set to true to invert the logic of the endstops
#define ENDSTOP_X_MIN_INVERTING false
#define ENDSTOP_Y_MIN_INVERTING false
#define ENDSTOP_Z_MIN_INVERTING false
#define ENDSTOP_X_MAX_INVERTING true
#define ENDSTOP_Y_MAX_INVERTING true
#define ENDSTOP_Z_MAX_INVERTING true

// Set the values true where you have a hardware endstop. The Pin numbe ris taken from pins.h.

#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

//If your axes are only moving in one direction, make sure the endstops are connected properly.
//If your axes move in one direction ONLY when the endstops are triggered, set ENDSTOPS_INVERTING to true here



//// ADVANCED SETTINGS - to tweak parameters

// For Inverting Stepper Enable Pins (Active Low) use 0, Non Inverting (Active High) use 1
#define X_ENABLE_ON 0
#define Y_ENABLE_ON 0
#define Z_ENABLE_ON 0

// Disables axis when it's not being used.
#define DISABLE_X false
#define DISABLE_Y false
#define DISABLE_Z false
#define DISABLE_E false

// Inverting axis direction
#define INVERT_X_DIR false
#define INVERT_Y_DIR false
#define INVERT_Z_DIR false

//// ENDSTOP SETTINGS:
// Sets direction of endstops when homing; 1=MAX, -1=MIN
#define X_HOME_DIR -1
#define Y_HOME_DIR -1
#define Z_HOME_DIR 1

// Delta robot radius endstop
#define max_software_endstop_r true

//If true, axis won't move to coordinates less than zero.
#define min_software_endstop_x false
#define min_software_endstop_y false
#define min_software_endstop_z false

//If true, axis won't move to coordinates greater than the defined lengths below.
#define max_software_endstop_x true
#define max_software_endstop_y true
#define max_software_endstop_z true

// If during homing the endstop is reached, ho many mm should the printer move back for the second try
#define ENDSTOP_X_BACK_MOVE 5
#define ENDSTOP_Y_BACK_MOVE 5
#define ENDSTOP_Z_BACK_MOVE 5

// For higher precision you can reduce the speed for the second test on the endstop
// during homing operation. The homing speed is divided by the value. 1 = same speed, 2 = half speed
#define ENDSTOP_X_RETEST_REDUCTION_FACTOR 2
#define ENDSTOP_Y_RETEST_REDUCTION_FACTOR 2
#define ENDSTOP_Z_RETEST_REDUCTION_FACTOR 2

// When you have several endstops in one circuit you need to disable it after homing by moving a
// small amount back. This is also the case with H-belt systems.
#define ENDSTOP_X_BACK_ON_HOME 1
#define ENDSTOP_Y_BACK_ON_HOME 14
#define ENDSTOP_Z_BACK_ON_HOME 0

// You can disable endstop checking for print moves. This is needed, if you get sometimes
// false signals from your endstops. If your endstops don't give false signals, you
// can set it on for safety.
#define ALWAYS_CHECK_ENDSTOPS false

// maximum positions in mm - only fixed numbers!
// For delta robot Z_MAX_LENGTH is maximum travel of the towers and should be set to the distance between the hotend
// and the platform when the printer is at its home position.
// If EEPROM is enabled these values will be overidden with the values in the EEPROM
#define X_MAX_LENGTH 180
#define Y_MAX_LENGTH 180
#define Z_MAX_LENGTH 510

// Coordinates for the minimum axis. Can also be negative if you want to have the bed start at 0 and the printer can go to the left side
// of the bed. Maximum coordinate is given by adding the above X_MAX_LENGTH values.
#define X_MIN_POS -180
#define Y_MIN_POS -180
#define Z_MIN_POS 0

Re: Repetier-Firmware 0.82.2 + Gen7 1.4.1 + Delta printer
May 13, 2013 01:36PM
You see the memory messages in the log. Every time a now low memory is reached, it is written in the log.

If I understood you right, your switch pin is connected to gnd via a switch. The 5v come from the pullup resistor. In that case inverting = true and pullup = true are correct.


Repetier-Software - the home of Repetier-Host (Windows, Linux and Mac OS X) and Repetier-Firmware.
Repetier-Server - the solution to control your printer from everywhere.
Visit us on Facebook and Twitter!
Re: Repetier-Firmware 0.82.2 + Gen7 1.4.1 + Delta printer
May 13, 2013 01:46PM
So if I see noting in the log This means Memory level is ok ?
Re: Repetier-Firmware 0.82.2 + Gen7 1.4.1 + Delta printer
May 13, 2013 02:10PM
No,
you should see at least one message at startup. You should see something like
Free RAM:3984

The original define is at the top of repetier.h if you want to enable it there.


Repetier-Software - the home of Repetier-Host (Windows, Linux and Mac OS X) and Repetier-Firmware.
Repetier-Server - the solution to control your printer from everywhere.
Visit us on Facebook and Twitter!
Re: Repetier-Firmware 0.82.2 + Gen7 1.4.1 + Delta printer
May 14, 2013 10:54PM
Dear, good evening!

I changed the μC ATMEGA644 by µCAtmega1284 and the problem disappeared. My printer is already behaves like a Rostock. Now just get along with the necessary settings and complete the assembly.

Thanks for the tip Repetier and Kolergy.

Best regards

Nailson Roveta
Sorry, only registered users may post in this forum.

Click here to login