Any Azteeg X5 owners, a little help please.

A place to talk about user-made mods and upgrades to their machines
User avatar
626Pilot
ULTIMATE 3D JEDI
Posts: 1720
Joined: Tue May 14, 2013 12:52 pm

Re: Any Azteeg X5 owners, a little help please.

Post by 626Pilot »

Thanks! That works perfectly.

Today I'll work on getting the Z probe set up, and then refine the X5 mount. Hopefully I can have the mount published on Thingiverse soon. I want to design it so you can use the caphead screws and plastic bushings from the RAMBo. (The bushings are because it needs to be stood off, due to the screws holding the board to the mount.) You'll still need four M3 screws and nylock nuts.

Once this is all set up, I'd like to do a thread in the Rostock forum about upgrading to the X5 Mini. If the Z probe works for me as well as it has for the other guy, I think we can finally declare the fix for weird Z=0 behavior.

The firmware is a little raw... understandable, as it's still new... for example, it doesn't report the hot end duty cycle to Repetier, which is a problem for me. However, the way it manages the fan automatically by hot end temperature is a real winner. And unlike my RAMBo, it doesn't just randomly decide to stop responding to extrude requests.

I reorganized the config file to make it easier to get at commonly changed values. (Also, with the extruder step direction inverted - this is necessary for some reason.) I will post it after I have the Z probe stuff figured out.
Polygonhell
ULTIMATE 3D JEDI
Posts: 2430
Joined: Mon Mar 26, 2012 1:44 pm
Location: Redmond WA

Re: Any Azteeg X5 owners, a little help please.

Post by Polygonhell »

The dir pins might well have to be inverted, I just found the pairs, wired them up and flipped the dir pins as necessary, they probably don't match the wiring on your RostockMax.
Almost all of of the delta settings can be written automatically to an override file, but PID values must be updated in the config file after you run M303, you also have to specify the extruder when you run M303.
User avatar
626Pilot
ULTIMATE 3D JEDI
Posts: 1720
Joined: Tue May 14, 2013 12:52 pm

Re: Any Azteeg X5 owners, a little help please.

Post by 626Pilot »

The X/Y/Z directions don't have to be inverted, but the extruder does. What's an override file and how do I use it? Also, I notice I have to fully power cycle the board to get it to reread the config - even if I sync and unmount, the reset button isn't enough. Is that normal?
Polygonhell
ULTIMATE 3D JEDI
Posts: 2430
Joined: Mon Mar 26, 2012 1:44 pm
Location: Redmond WA

Re: Any Azteeg X5 owners, a little help please.

Post by Polygonhell »

Reset works for me.
The override file is created by one of the M Codes, there is a list on the smoothie site.
User avatar
626Pilot
ULTIMATE 3D JEDI
Posts: 1720
Joined: Tue May 14, 2013 12:52 pm

Re: Any Azteeg X5 owners, a little help please.

Post by 626Pilot »

Alright, I got the Z probe working. I had to modify the mount to work with my under-slung E3D, which I've uploaded to Thingiverse.

To put it simply, the calibration sucks! It digs in near X and raises something like 0.3mm near Y. There is no setting for me to tell Smoothieware what the offset to the probe is, so it helplessly assumes that the probe is at the extruder nozzle. In reality, the probe is about 50mm away, so its assumptions are WAAAAAY off.

Not sure what to do about this except weep for a little while. However, I should be able to publish the mount soon. I can get decent performance at 0.2mm layer height if I don't go too far from the center. I posted a thread about it here: http://smoothieware.org/forum/t-920408/ ... t-settings" onclick="window.open(this.href);return false;
Polygonhell
ULTIMATE 3D JEDI
Posts: 2430
Joined: Mon Mar 26, 2012 1:44 pm
Location: Redmond WA

Re: Any Azteeg X5 owners, a little help please.

Post by Polygonhell »

The offset shouldn't matter a huge amount for the radius calibration, it will unfortunately matter for the endstop calibration, though again I believe it does gradient decent and these should converge.
My offsets more like 20mm, so I don't see much error.
The radius calibration is just doing simple gradient decent, for all it matters it could just measure any two points as long as one is guaranteed to be nearer the center than the other. In fact thinking about it measuring all 4 might actually make it worse because crossing the center point win the probe introduces at least one false minima and one bad measurement could make the chances of convergence much worse.
User avatar
626Pilot
ULTIMATE 3D JEDI
Posts: 1720
Joined: Tue May 14, 2013 12:52 pm

Re: Any Azteeg X5 owners, a little help please.

Post by 626Pilot »

If anyone needs a working config for a Rostock MAX, here's mine. There are some settings under zprobe.* that won't take effect in the stock firmware (only my test branch cares about them) but they shouldn't interfere with anything. The geometry is set to use the new carriage horizontal offset suggested by SeeMe (37.5 instead of 35).

Code: Select all

# Robot module configurations : general handling of movement G-codes and slicing into moves
# By 626Pilot of the SeeMeCNC forums, based on mhackney's default file & reorganized for quicker editing
# Thanks to Polygonhell and Flateric for the help!


# The gamma tower height is used for all towers on delta robots
# Rest of the tower config is below, under Endstops
# ---------------------------------------------------------------------
gamma_max                                    355


# Delta Geometry
# ---------------------------------------------------------------------
# arm_radius is DELTA_RADIUS in Repetier
# DELTA_RADIUS = PRINTER_RADIUS - END_EFFECTOR_HORIZONTAL_OFFSET - CARRIAGE_HORIZONTAL_OFFSET
#              = 199.0          - 33                             - 37.5
#              = 128.5
# ---------------------------------------------------------------------
arm_solution                                 linear_delta     # default linear_delta, you can also try kossel
arm_radius                                   128.5            # this is the horiontal distance from hinge to hinge when the effector is centered
arm_length                                   269.00           # length of the delta arms (hopefully they're all the same!)


# Optional Z probe, see http://smoothieware.org/zprobe
# To calculate offset_x/y/z:
# - Heat up the hot end with filament loaded
# - Jog the hot end down to the print surface, leaving a little dot of plastic
# - Deploy the probe, jog it until the probe tip touches the dot, and record the values in offset_x/y/z
# ---------------------------------------------------------------------
probe                                        endstop
probe_pin                                    1.29             # optional pin for probe
zprobe.enable                                true             # set to true to enable a zprobe
zprobe.probe_pin                             1.29!^           # pin probe is attached to if NC remove the !, default 1.29!^
zprobe.slow_feedrate                         10               # mm/sec probe feed rate
zprobe.fast_feedrate                         75               # move feedrate
zprobe.debounce_count                        100              # set if noisy
zprobe.probe_radius                          100              # how far out from bed center to probe
zprobe.probe_height                          15               # how much above bed to start probe (give the probe enough height that the tip doesn't drag when moving!)
zprobe.probe_offset_x                        0                # distance between the probe and the center of the effector
zprobe.probe_offset_y                        0                # these are represented in the ZProbe class as offset_x/y/z
zprobe.probe_offset_z                        4.36             # height above print surface at which the probe triggers


# Speeds
# ---------------------------------------------------------------------
default_feed_rate                            8000             # Default rate ( mm/minute ) for G1/G2/G3 moves
default_seek_rate                            8000             # Default rate ( mm/minute ) for G0 moves
mm_per_arc_segment                           0.25             # Arcs are cut into segments ( lines ), this is the length for these segments
                                                              # Smaller values mean more resolution, higher values mean faster computation
mm_per_line_segment                          5                # Lines can be cut into segments (not useful with cartesian robots).
delta_segments_per_second                    250              # segments per second used for deltas


# Arm solution configuration : Cartesian robot. Translates mm positions into stepper positions
# ---------------------------------------------------------------------
alpha_steps_per_mm                           213.3333         # Steps per mm for alpha stepper
beta_steps_per_mm                            213.3333         # Steps per mm for beta stepper
gamma_steps_per_mm                           213.3333         # Steps per mm for gamma stepper


# Planner module configuration : Look-ahead and acceleration configuration
# ---------------------------------------------------------------------
acceleration                                 1000             # Acceleration in mm/second/second.
acceleration_ticks_per_second                1000             # Number of times per second the speed is updated
planner_queue_size                           32               # DO NOT CHANGE THIS UNLESS YOU KNOW EXACTLY WHAT YOUR ARE DOING
junction_deviation                           0.04             # Similar to the old "max_jerk", in millimeters, see : https://github.com/grbl/grbl/blob/master/planner.c#L409


# Endstops
# ---------------------------------------------------------------------
endstops_enable                              true             # the endstop module is enabled by default and can be disabled here
delta_homing                                 true             # forces all three axis to home a the same time regardless of what is specified in G28
alpha_max_endstop                            1.24^            #
alpha_homing_direction                       home_to_max      # or set to home_to_max and set alpha_max
alpha_min                                    0                # this gets loaded after homing when home_to_min is set
alpha_max                                    0                # this gets loaded after homing when home_to_max is set
beta_max_endstop                             1.26^            #
beta_homing_direction                        home_to_max      #
beta_min                                     0                #
beta_max                                     0                #
gamma_max_endstop                            1.28^            #
gamma_homing_direction                       home_to_max      #
gamma_min                                    0                #
# gamma_max moved to top of file, since it's one of the most frequenly adjusted settings


# Homing
# ---------------------------------------------------------------------
alpha_fast_homing_rate_mm_s                  120              # feedrates in mm/second
beta_fast_homing_rate_mm_s                   120              # "
gamma_fast_homing_rate_mm_s                  120              # "
alpha_slow_homing_rate_mm_s                  10               # "
beta_slow_homing_rate_mm_s                   10               # "
gamma_slow_homing_rate_mm_s                  10               # "
alpha_homing_retract_mm                      5                # distance in mm
beta_homing_retract_mm                       5                # "
gamma_homing_retract_mm                      5                # "

# These can be used instead of adjusting the endstop screws
alpha_trim                                   0                # software trim for alpha stepper endstop (in mm) - moves down
beta_trim                                    0                # software trim for beta stepper endstop
gamma_trim                                   0                # software trim for gamma stepper endstop


# Stepper module configuration
# ---------------------------------------------------------------------
microseconds_per_step_pulse                  1                # Duration of step pulses to stepper drivers, in microseconds
minimum_steps_per_minute                     1200             # Never step slower than this
base_stepping_frequency                      100000           # Base frequency for stepping, higher gives smoother movement


# Stepper module pins ( ports, and pin numbers, appending "!" to the number will invert a pin )
# ---------------------------------------------------------------------
alpha_step_pin                               2.1              # Pin for alpha stepper step signal
alpha_dir_pin                                0.11             # Pin for alpha stepper direction
alpha_en_pin                                 0.10             # Pin for alpha enable pin
alpha_current                                0.9              # X stepper motor current
alpha_max_rate                               30000.0          # mm/min actuator max speed
x_axis_max_speed                             30000.0          # mm/min cartesian max speed

beta_step_pin                                2.2              # Pin for beta stepper step signal
beta_dir_pin                                 0.20             # Pin for beta stepper direction
beta_en_pin                                  0.19             # Pin for beta enable
beta_current                                 0.9              # Y stepper motor current
beta_max_rate                                30000.0          # mm/min
y_axis_max_speed                             30000.0          # mm/min

gamma_step_pin                               2.3              # Pin for gamma stepper step signal
gamma_dir_pin                                0.22             # Pin for gamma stepper direction
gamma_en_pin                                 0.21             # Pin for gamma enable
gamma_current                                0.9              # Z stepper motor current
gamma_max_rate                               30000.0          # mm/min
z_axis_max_speed                             30000.0          # mm/min


# Extruder module configuration
# ---------------------------------------------------------------------
extruder_module_enable                       true             # Whether to activate the extruder module at all. All configuration is ignored if false
extruder_steps_per_mm                        191.472          # Steps per mm for extruder stepper
extruder_default_feed_rate                   600              # Default rate ( mm/minute ) for moves where only the extruder moves
extruder_acceleration                        1000             # Acceleration in mm/sec^2 only used for retracts
extruder_max_speed                           200              # mm/sec NOTE only used for retracts

extruder_step_pin                            2.0              # Pin for extruder step signal
extruder_dir_pin                             0.5!             # Pin for extruder dir signal
extruder_en_pin                              0.4              # Pin for extruder enable signal
delta_current                                2.0              # Extruder stepper motor current (Kysan NEMA17s are rated 1.2A)


# Hotend temperature control configuration
# temperature_control.hotend.thermistor can be one of the following:
# EPCOS100K, RRRF100K, RRRF10K, Honeywell100k, Semitec, or HT100K
# (source: src/modules/tools/temperaturecontrol/Thermistor.cpp)
# ---------------------------------------------------------------------
temperature_control.hotend.enable            true             # Whether to activate this ( "hotend" ) module at all. All configuration is ignored if false.
temperature_control.hotend.thermistor_pin    0.24             # Pin for the thermistor to read
temperature_control.hotend.heater_pin        2.5              # Pin that controls the heater
temperature_control.hotend.thermistor        Semitec          # see src/modules/tools/temperaturecontrol/TemperatureControl.cpp:64 for a list of valid thermistor names
temperature_control.hotend.set_m_code        104              #
temperature_control.hotend.set_and_wait_m_code 109            #
temperature_control.hotend.designator        T                #


# Hotend PID configuration
# These values are from an E3D v5 hot end with a part cooling fan duct.
# ---------------------------------------------------------------------
temperature_control.hotend.p_factor          30
temperature_control.hotend.i_factor          1
temperature_control.hotend.d_factor          15


# Heated bed PID configuration
# temperature_control.bed.thermistor can be one of the following:
# EPCOS100K, RRRF100K, RRRF10K, Honeywell100k, Semitec, or HT100K
# (source: src/modules/tools/temperaturecontrol/Thermistor.cpp)
# ---------------------------------------------------------------------
temperature_control.bed.enable               true             #
temperature_control.bed.thermistor_pin       0.23             #
temperature_control.bed.heater_pin           2.7              #
temperature_control.bed.beta                 3974             #
temperature_control.bed.thermistor           Honeywell100K    # 
temperature_control.bed.set_m_code           140              #
temperature_control.bed.set_and_wait_m_code  190              #
temperature_control.bed.designator           B                #

# uncomment followng to use bang bang isntead of PID for the bed (best for relay conrolled hotbeds)
#temperature_control.bed.bang_bang            false            # set to true to use bang bang control rather than PID
#temperature_control.bed.hysteresis           2.0              # set to the temperature in degrees C to use as hysteresis when using bang bang


# Switch module for fan control
# ---------------------------------------------------------------------
switch.fan.enable                            true             #
switch.fan.input_on_command                  M106             #
switch.fan.input_off_command                 M107             #
switch.fan.output_pin                        2.4              #


# Automatically toggle a switch at a specified temperature
# (ueful to turn on a fan or water pump to cool the hotend)
# ---------------------------------------------------------------------
temperatureswitch.hotend.enable	             true             #
temperatureswitch.hotend.type                fan              # select which MOSFET to use, fan or misc (small MOSFETs)
temperatureswitch.hotend.threshold_temp      60.0             # temperature to turn on (if rising) or off the switch
temperatureswitch.hotend.heatup_poll         5                # poll heatup at 15 sec intervals
temperatureswitch.hotend.cooldown_poll       5                # poll cooldown at 60 sec intervals


# For allowing the board to shut off your ATX power supply
# ---------------------------------------------------------------------
# switch.psu.enable                            true           # turn atx on/off
# switch.psu.input_on_command                  M80            #
# switch.psu.input_off_command                 M81            #
# switch.psu.output_pin                        2.13o!         # open drain, inverted


# LCD Panel http://smoothieware.org/panel
# ---------------------------------------------------------------------
panel.enable                                 false            # set to true to enable the panel code
panel.lcd                                    viki_lcd         # set type of panel also viki_lcd, i2c_lcd is a generic i2c panel, panelolu2
panel.encoder_a_pin                          3.25!^           # encoder pin
panel.encoder_b_pin                          3.26!^           # encoder pin
panel.i2c_pins                               3                # set i2c channel to use

panel.menu_offset                            1                # some panels will need 1 here

panel.alpha_jog_feedrate                     6000             # x jogging feedrate in mm/min
panel.beta_jog_feedrate                      6000             # y jogging feedrate in mm/min
panel.gamma_jog_feedrate                     200              # z jogging feedrate in mm/min

panel.hotend_temperature                     220              # temp to set hotend when preheat is selected
panel.bed_temperature                        60               # temp to set bed when preheat is selected


# Azteeg specific settings do not change
# ---------------------------------------------------------------------
currentcontrol_module_enable                 true             #
digipot_max_current                          2.4              # max current
digipot_factor                               106.0            # factor for converting current to digipot value
return_error_on_unhandled_gcode              false            #


# Pause button
# ---------------------------------------------------------------------
pause_button_enable                          true             #


# Serial communications configuration ( baud rate default to 9600 if undefined )
# ---------------------------------------------------------------------
uart0.baud_rate                              115200           # Baud rate for the default hardware serial port
second_usb_serial_enable                     false            # This enables a second usb serial port (to have both pronterface and a terminal connected)

# Laser module configuration
# ---------------------------------------------------------------------
laser_module_enable                          false            # Whether to activate the laser module at all. All configuration is ignored if false.
#laser_module_pin                             2.7             # this pin will be PWMed to control the laser
#laser_module_max_power                       0.8             # this is the maximum duty cycle that will be applied to the laser
#laser_module_tickle_power                    0.0             # this duty cycle will be used for travel moves to keep the laser active without actually burning

# Switch module for spindle control
# ---------------------------------------------------------------------
#switch.spindle.enable                        false           #
User avatar
626Pilot
ULTIMATE 3D JEDI
Posts: 1720
Joined: Tue May 14, 2013 12:52 pm

Re: Any Azteeg X5 owners, a little help please.

Post by 626Pilot »

I spoke about doing an Azteeg X5 mount earlier, and it's all finished. Should work with the same screws that came for mounting the RAMBo. For securing the board to the mount, I used flat-headed #6-32s because they fit perfectly into the countersunk holes. Enjoy!
Attachments
Azteeg X5 Mount.jpg
User avatar
626Pilot
ULTIMATE 3D JEDI
Posts: 1720
Joined: Tue May 14, 2013 12:52 pm

Re: Any Azteeg X5 owners, a little help please.

Post by 626Pilot »

Does anyone know why the X5s take so long to boot? I have to wait about 20 seconds every time I reset it before I can connect.
Polygonhell
ULTIMATE 3D JEDI
Posts: 2430
Joined: Mon Mar 26, 2012 1:44 pm
Location: Redmond WA

Re: Any Azteeg X5 owners, a little help please.

Post by Polygonhell »

626Pilot wrote:Does anyone know why the X5s take so long to boot? I have to wait about 20 seconds every time I reset it before I can connect.
If I had to guess, it probably has to do with the bootloader having to initialize the SDCard to load the firmware. I assume it checks the SDCard copy of the code against the copy in it's internal Flash. But that probably shouldn't take anything like 20s. It's hard to know without going through the code, some hardware requires significant delays when initializing, and if smoothie supports optional hardware, it might have to wait on timeouts to see if it's present.
n108bg
Printmaster!
Posts: 35
Joined: Sun Mar 06, 2016 2:28 am

Re: Any Azteeg X5 owners, a little help please.

Post by n108bg »

Just out of curiosity, has anyone mounted a PT100 to their x5, or should i go back to the stock sensor if i go with the x5?
Post Reply

Return to “Mods and Upgrades”