Welcome! Log In Create A New Profile

Advanced

Ramps 1.4, Repetier and Opto-end stops

Posted by SvdSinner 
Ramps 1.4, Repetier and Opto-end stops
February 03, 2016 09:46PM
(FYI - I've got a solid engineering background, but this is my first time using a Ramps board, so I might be making a newb mistake.)
I've gutted the electronics from a fried DaVinci printer and am replacing them with a Ramps 1.4 setup w/smart controller. I've hooked up the end stops and the servos and have begun testing them for functionality. Using the Ramps test code, I've confirmed the steppers are all functional. However, when I upload Repetier 0.92, the 12864 LCD works fine, and the menus appear functional, but I'm unable to control the steppers via the Position menu.

I think the big issue is that the Opto-end stops are not being read correctly. They are properly hooked up to X-, Y- and Z-, and I've confirmed (via DMM) that the signal is changing (5v High, .2V low) each time the beam is blocked or unblocked. Additionally, the end stops have LEDs showing their state, so I can see they are changing. Regardless of the voltage on the input pins, all ends stops show "ON" on the LCD.

Here is how I have them configured in configuration.h: (All default, except I switched the ENDSTOP_PULLUP values to false. Switching them back to true didn't help, either.)

// ################ Endstop configuration #####################

#define ENDSTOP_PULLUP_X_MIN false
#define ENDSTOP_X_MIN_INVERTING true
#define MIN_HARDWARE_ENDSTOP_X true
#define ENDSTOP_PULLUP_Y_MIN false
#define ENDSTOP_Y_MIN_INVERTING true
#define MIN_HARDWARE_ENDSTOP_Y true
#define ENDSTOP_PULLUP_Z_MIN false
#define ENDSTOP_Z_MIN_INVERTING true
#define MIN_HARDWARE_ENDSTOP_Z true
#define ENDSTOP_PULLUP_X_MAX true
#define ENDSTOP_X_MAX_INVERTING false
#define MAX_HARDWARE_ENDSTOP_X false
#define ENDSTOP_PULLUP_Y_MAX true
#define ENDSTOP_Y_MAX_INVERTING false
#define MAX_HARDWARE_ENDSTOP_Y false
#define ENDSTOP_PULLUP_Z_MAX true
#define ENDSTOP_Z_MAX_INVERTING false
#define MAX_HARDWARE_ENDSTOP_Z false
#define max_software_endstop_r true

#define min_software_endstop_x false
#define min_software_endstop_y false
#define min_software_endstop_z false
#define max_software_endstop_x true
#define max_software_endstop_y true
#define max_software_endstop_z true
#define ENDSTOP_X_BACK_MOVE 5
#define ENDSTOP_Y_BACK_MOVE 5
#define ENDSTOP_Z_BACK_MOVE 2
#define ENDSTOP_X_RETEST_REDUCTION_FACTOR 3
#define ENDSTOP_Y_RETEST_REDUCTION_FACTOR 3
#define ENDSTOP_Z_RETEST_REDUCTION_FACTOR 3
#define ENDSTOP_X_BACK_ON_HOME 1
#define ENDSTOP_Y_BACK_ON_HOME 1
#define ENDSTOP_Z_BACK_ON_HOME 0
#define ALWAYS_CHECK_ENDSTOPS 1



What am I doing wrong? What can I check to fix this?

When I watch the serial monitor, the only issue I see is that it complains that I haven't hooked up the thermistors yet.
Re: Ramps 1.4, Repetier and Opto-end stops
February 04, 2016 08:30PM
I'm using opto endstops with ramps and repetier, and at least with mine they need to be set as non-inverting:

#define ENDSTOP_PULLUP_X_MIN false
#define ENDSTOP_X_MIN_INVERTING false
#define MIN_HARDWARE_ENDSTOP_X true


However, if that was the only problem you'd still be able to see the values change when querying with m119, and it sounds like you're not getting that?

Edited 1 time(s). Last edit at 02/04/2016 08:30PM by JamesK.
Re: Ramps 1.4, Repetier and Opto-end stops
February 06, 2016 06:13PM
Quote
JamesK
if that was the only problem you'd still be able to see the values change when querying with m119, and it sounds like you're not getting that?

Precisely. The only other thing I've noticed is that they begin as "OFF", until I try to move the steppers, and then they immediately flip to ON, and stay ON until I do a reset.
Re: Ramps 1.4, Repetier and Opto-end stops
February 06, 2016 06:44PM
Can you post a photo of the endstop connections on the ramps?
Re: Ramps 1.4, Repetier and Opto-end stops
February 08, 2016 10:49AM
I'm using Marlin_Ramps_Epcos_i3v firmware and still having problems with my end stops and the rotation of my Z motors, I can only get the Z motors to rotate way and the end stops are not working at all. What setting need to be changed?
Re: Ramps 1.4, Repetier and Opto-end stops
February 08, 2016 10:55AM
[Edit - ah, my bad - different people posting, I should read more carefully smiling smiley ]

I thought you were using Repetier - you swapped? It will probably be less confusing if you stick to one or the other until you have everything working, and Repetier has the benefit of the online config tool to make life easier.

Edited 1 time(s). Last edit at 02/08/2016 02:42PM by JamesK.
Re: Ramps 1.4, Repetier and Opto-end stops
February 08, 2016 02:31PM
the endstops.
Attachments:
open | download - 20160208_122553_resized.jpg (255.2 KB)
open | download - 20160208_122612_resized.jpg (213.2 KB)
Re: Ramps 1.4, Repetier and Opto-end stops
February 08, 2016 02:45PM
Hi Yar, your endstops and wiring look fine, so we need to check what's configured in the firmware. Can you post the parts of the configuration.h that relate to the endstops and homing? If you test with m119 with and without holding each endstop down does anything change?
Re: Ramps 1.4, Repetier and Opto-end stops
February 08, 2016 03:32PM
Sorry other than checking with Repetier-Host don't know how to check the m119 file. but here's what you ask for. (I hope.)



===========================Mechanical Settings===========================
//===========================================================================

// Uncomment the following line to enable CoreXY kinematics
// #define COREXY

// corse Endstop Settings
//#define ENDSTOPPULLUPS // Comment this out (using // at the start of the line) to disable the endstop pullup resistors

#ifndef ENDSTOPPULLUPS
// fine Enstop settings: Individual Pullups. will be ignord if ENDSTOPPULLUPS is defined
#define ENDSTOPPULLUP_XMAX
#define ENDSTOPPULLUP_YMAX
#define ENDSTOPPULLUP_ZMAX
#define ENDSTOPPULLUP_XMIN
#define ENDSTOPPULLUP_YMIN
//#define ENDSTOPPULLUP_ZMIN
#endif

#ifdef ENDSTOPPULLUPS
// #define ENDSTOPPULLUP_XMAX
// #define ENDSTOPPULLUP_YMAX
// #define ENDSTOPPULLUP_ZMAX
#define ENDSTOPPULLUP_XMIN
#define ENDSTOPPULLUP_YMIN
#define ENDSTOPPULLUP_ZMIN
#endif

// The pullups are needed if you directly connect a mechanical endswitch between the signal and ground pins.
const bool X_ENDSTOPS_INVERTING = true; // set to true to invert the logic of the endstops.
const bool Y_ENDSTOPS_INVERTING = true; // set to true to invert the logic of the endstops.
const bool Z_ENDSTOPS_INVERTING = true; // set to true to invert the logic of the endstops.
#define DISABLE_MAX_ENDSTOPS

// 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
#define E_ENABLE_ON 0 // For all extruders

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

#define INVERT_X_DIR false // for Mendel set to false, for Orca set to true
#define INVERT_Y_DIR true // for Mendel set to true, for Orca set to false
#define INVERT_Z_DIR false // for Mendel set to false, for Orca set to true
#define INVERT_E0_DIR true // for direct drive extruder v9 set to true, for geared extruder set to false
#define INVERT_E1_DIR false // for direct drive extruder v9 set to true, for geared extruder set to false
#define INVERT_E2_DIR false // for direct drive extruder v9 set to true, for geared extruder set to 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

#define min_software_endstops false //If true, axis won't move to coordinates less than HOME_POS.
#define max_software_endstops true //If true, axis won't move to coordinates greater than the defined lengths below.
// Travel limits after homing
#define X_MAX_POS 200
#define X_MIN_POS 0
#define Y_MAX_POS 270
#define Y_MIN_POS 0
#define Z_MAX_POS 180
#define Z_MIN_POS 0

#define X_MAX_LENGTH (X_MAX_POS - X_MIN_POS)
#define Y_MAX_LENGTH (Y_MAX_POS - Y_MIN_POS)
#define Z_MAX_LENGTH (Z_MAX_POS - Z_MIN_POS)

// The position of the homing switches
//#define MANUAL_HOME_POSITIONS // If defined, MANUAL_*_HOME_POS below will be used
//#define BED_CENTER_AT_0_0 // If defined, the center of the bed is at (X=0, Y=0)

//Manual homing switch locations:
#define MANUAL_X_HOME_POS 0
#define MANUAL_Y_HOME_POS 0
#define MANUAL_Z_HOME_POS 0

//// MOVEMENT SETTINGS
#define NUM_AXIS 4 // The axis order in all axis related arrays is X, Y, Z, E
#define HOMING_FEEDRATE {50*60, 50*60, 50, 0} // set the homing speeds (mm/min)

// default settings

#define DEFAULT_AXIS_STEPS_PER_UNIT {80,80,4000,100} // default steps per unit for ultimaker {78.7402,78.7402,200*8/3,760*1.1}920
#define DEFAULT_MAX_FEEDRATE {500,500,100,25} // (mm/sec)
#define DEFAULT_MAX_ACCELERATION {9000,9000,100,10000} // X, Y, Z, E maximum start speed for accelerated moves. E default values are good for skeinforge 40+, for older versions raise them a lot.

#define DEFAULT_ACCELERATION 60 // X, Y, Z and E max acceleration in mm/s^2 for printing moves
#define DEFAULT_RETRACT_ACCELERATION 60 // X, Y, Z and E max acceleration in mm/s^2 for r retracts

// Offset of the extruders (uncomment if using more than one and relying on firmware to position when changing).
// The offset has to be X=0, Y=0 for the extruder 0 hotend (default extruder).
// For the other hotends it is their distance from the extruder 0 hotend.
// #define EXTRUDER_OFFSET_X {0.0, 20.00} // (in mm) for each extruder, offset of the hotend on the X axis
// #define EXTRUDER_OFFSET_Y {0.0, 5.00} // (in mm) for each extruder, offset of the hotend on the Y axis

// The speed change that does not require acceleration (i.e. the software might assume it can be done instanteneously)
#define DEFAULT_XYJERK 20.0 // (mm/sec)
#define DEFAULT_ZJERK 0.4 // (mm/sec)
#define DEFAULT_EJERK 5.0 // (mm/sec)
Re: Ramps 1.4, Repetier and Opto-end stops
February 08, 2016 04:53PM
Is the Z endstop different to the others? You have the pull-up for z-min commented out.

You can use repetier-host to send m119 to query the end stop status. In manual control, when connected to the printer type m119 into the g-code text entry box and press send. The result should show up in the console. Check what the status is with none of the endstops triggered, then hold each one down in turn and send m119 each time. Make sure that the status for the expected end stop changes.
Re: Ramps 1.4, Repetier and Opto-end stops
February 08, 2016 05:52PM
Ok did the test and here is what I got... its greek to me, can you make heads or tails out of it? I wish I would have gotten a plug and play 3d printer....


15:40:46.024 : OpenGL version:4.5.13399 Compatibility Profile Context 15.201.1151.0
15:40:46.040 : OpenGL extensions:GL_AMDX_debug_output GL_AMDX_vertex_shader_tessellator GL_AMD_conservative_depth GL_AMD_debug_output GL_AMD_depth_clamp_separate GL_AMD_draw_buffers_blend GL_AMD_multi_draw_indirect GL_AMD_name_gen_delete GL_AMD_performance_monitor GL_AMD_pinned_memory GL_AMD_query_buffer_object GL_AMD_sample_positions GL_AMD_seamless_cubemap_per_texture GL_AMD_shader_stencil_export GL_AMD_shader_trace GL_AMD_texture_cube_map_array GL_AMD_texture_texture4 GL_AMD_transform_feedback3_lines_triangles GL_AMD_vertex_shader_layer GL_AMD_vertex_shader_tessellator GL_AMD_vertex_shader_viewport_index GL_ARB_ES2_compatibility GL_ARB_ES3_1_compatibility GL_ARB_ES3_compatibility GL_ARB_arrays_of_arrays GL_ARB_base_instance GL_ARB_blend_func_extended GL_ARB_buffer_storage GL_ARB_clear_buffer_object GL_ARB_clear_texture GL_ARB_clip_control GL_ARB_color_buffer_float GL_ARB_compatibility GL_ARB_compressed_texture_pixel_storage GL_ARB_compute_shader GL_ARB_conditional_render_inverted GL_ARB_conservative_depth GL_ARB_copy_buffer GL_ARB_copy_image GL_ARB_cull_distance GL_ARB_debug_output GL_ARB_depth_buffer_float GL_ARB_depth_clamp GL_ARB_depth_texture GL_ARB_derivative_control GL_ARB_direct_state_access GL_ARB_draw_buffers GL_ARB_draw_buffers_blend GL_ARB_draw_elements_base_vertex GL_ARB_draw_indirect GL_ARB_draw_instanced GL_ARB_enhanced_layouts GL_ARB_explicit_attrib_location GL_ARB_explicit_uniform_location GL_ARB_fragment_coord_conventions GL_ARB_fragment_layer_viewport GL_ARB_fragment_program GL_ARB_fragment_program_shadow GL_ARB_fragment_shader GL_ARB_framebuffer_no_attachments GL_ARB_framebuffer_object GL_ARB_framebuffer_sRGB GL_ARB_geometry_shader4 GL_ARB_get_program_binary GL_ARB_get_texture_sub_image GL_ARB_gpu_shader5 GL_ARB_gpu_shader_fp64 GL_ARB_half_float_pixel GL_ARB_half_float_vertex GL_ARB_imaging GL_ARB_instanced_arrays GL_ARB_internalformat_query GL_ARB_internalformat_query2 GL_ARB_invalidate_subdata GL_ARB_map_buffer_alignment GL_ARB_map_buffer_range GL_ARB_multi_bind GL_ARB_multi_draw_indirect GL_ARB_multisample GL_ARB_multitexture GL_ARB_occlusion_query GL_ARB_occlusion_query2 GL_ARB_pipeline_statistics_query GL_ARB_pixel_buffer_object GL_ARB_point_parameters GL_ARB_point_sprite GL_ARB_program_interface_query GL_ARB_provoking_vertex GL_ARB_query_buffer_object GL_ARB_robust_buffer_access_behavior GL_ARB_sample_shading GL_ARB_sampler_objects GL_ARB_seamless_cube_map GL_ARB_seamless_cubemap_per_texture GL_ARB_separate_shader_objects GL_ARB_shader_atomic_counters GL_ARB_shader_bit_encoding GL_ARB_shader_image_load_store GL_ARB_shader_image_size GL_ARB_shader_objects GL_ARB_shader_precision GL_ARB_shader_stencil_export GL_ARB_shader_storage_buffer_object GL_ARB_shader_subroutine GL_ARB_shader_texture_image_samples GL_ARB_shader_texture_lod GL_ARB_shading_language_100 GL_ARB_shading_language_420pack GL_ARB_shading_language_packing GL_ARB_shadow GL_ARB_shadow_ambient GL_ARB_stencil_texturing GL_ARB_sync GL_ARB_tessellation_shader GL_ARB_texture_barrier GL_ARB_texture_border_clamp GL_ARB_texture_buffer_object GL_ARB_texture_buffer_object_rgb32 GL_ARB_texture_buffer_range GL_ARB_texture_compression GL_ARB_texture_compression_bptc GL_ARB_texture_compression_rgtc GL_ARB_texture_cube_map GL_ARB_texture_cube_map_array GL_ARB_texture_env_add GL_ARB_texture_env_combine GL_ARB_texture_env_crossbar GL_ARB_texture_env_dot3 GL_ARB_texture_float GL_ARB_texture_gather GL_ARB_texture_mirror_clamp_to_edge GL_ARB_texture_mirrored_repeat GL_ARB_texture_multisample GL_ARB_texture_non_power_of_two GL_ARB_texture_query_levels GL_ARB_texture_query_lod GL_ARB_texture_rectangle GL_ARB_texture_rg GL_ARB_texture_rgb10_a2ui GL_ARB_texture_snorm GL_ARB_texture_stencil8 GL_ARB_texture_storage GL_ARB_texture_storage_multisample GL_ARB_texture_swizzle GL_ARB_texture_view GL_ARB_timer_query GL_ARB_transform_feedback2 GL_ARB_transform_feedback3 GL_ARB_transform_feedback_instanced GL_ARB_transform_feedback_overflow_query GL_ARB_transpose_matrix GL_ARB_uniform_buffer_object GL_ARB_vertex_array_bgra GL_ARB_vertex_array_object GL_ARB_vertex_attrib_64bit GL_ARB_vertex_attrib_binding GL_ARB_vertex_buffer_object GL_ARB_vertex_program GL_ARB_vertex_shader GL_ARB_vertex_type_10f_11f_11f_rev GL_ARB_vertex_type_2_10_10_10_rev GL_ARB_viewport_array GL_ARB_window_pos GL_ATI_draw_buffers GL_ATI_envmap_bumpmap GL_ATI_fragment_shader GL_ATI_separate_stencil GL_ATI_texture_compression_3dc GL_ATI_texture_env_combine3 GL_ATI_texture_float GL_ATI_texture_mirror_once GL_EXT_abgr GL_EXT_bgra GL_EXT_bindable_uniform GL_EXT_blend_color GL_EXT_blend_equation_separate GL_EXT_blend_func_separate GL_EXT_blend_minmax GL_EXT_blend_subtract GL_EXT_compiled_vertex_array GL_EXT_copy_buffer GL_EXT_copy_texture GL_EXT_direct_state_access GL_EXT_draw_buffers2 GL_EXT_draw_instanced GL_EXT_draw_range_elements GL_EXT_fog_coord GL_EXT_framebuffer_blit GL_EXT_framebuffer_multisample GL_EXT_framebuffer_object GL_EXT_framebuffer_sRGB GL_EXT_geometry_shader4 GL_EXT_gpu_program_parameters GL_EXT_gpu_shader4 GL_EXT_histogram GL_EXT_multi_draw_arrays GL_EXT_packed_depth_stencil GL_EXT_packed_float GL_EXT_packed_pixels GL_EXT_pixel_buffer_object GL_EXT_point_parameters GL_EXT_polygon_offset_clamp GL_EXT_provoking_vertex GL_EXT_rescale_normal GL_EXT_secondary_color GL_EXT_separate_specular_color GL_EXT_shader_image_load_store GL_EXT_shader_integer_mix GL_EXT_shadow_funcs GL_EXT_stencil_wrap GL_EXT_subtexture GL_EXT_texgen_reflection GL_EXT_texture3D GL_EXT_texture_array GL_EXT_texture_buffer_object GL_EXT_texture_compression_bptc GL_EXT_texture_compression_latc GL_EXT_texture_compression_rgtc GL_EXT_texture_compression_s3tc GL_EXT_texture_cube_map GL_EXT_texture_edge_clamp GL_EXT_texture_env_add GL_EXT_texture_env_combine GL_EXT_texture_env_dot3 GL_EXT_texture_filter_anisotropic GL_EXT_texture_integer GL_EXT_texture_lod GL_EXT_texture_lod_bias GL_EXT_texture_mirror_clamp GL_EXT_texture_object GL_EXT_texture_rectangle GL_EXT_texture_sRGB GL_EXT_texture_sRGB_decode GL_EXT_texture_shared_exponent GL_EXT_texture_snorm GL_EXT_texture_storage GL_EXT_texture_swizzle GL_EXT_timer_query GL_EXT_transform_feedback GL_EXT_vertex_array GL_EXT_vertex_array_bgra GL_EXT_vertex_attrib_64bit GL_IBM_texture_mirrored_repeat GL_KHR_context_flush_control GL_KHR_debug GL_KHR_robust_buffer_access_behavior GL_KHR_robustness GL_KTX_buffer_region GL_NV_blend_square GL_NV_conditional_render GL_NV_copy_depth_to_color GL_NV_copy_image GL_NV_depth_buffer_float GL_NV_explicit_multisample GL_NV_float_buffer GL_NV_half_float GL_NV_primitive_restart GL_NV_texgen_reflection GL_NV_texture_barrier GL_OES_EGL_image GL_SGIS_generate_mipmap GL_SGIS_texture_edge_clamp GL_SGIS_texture_lod GL_SUN_multi_draw_arrays GL_WIN_swap_hint WGL_EXT_swap_control
15:40:46.040 : OpenGL renderer:AMD Radeon HD 6620G
15:40:46.040 : Using fast VBOs for rendering is possible
15:45:43.942 : Printer reset detected - initalizing
15:45:43.957 : start
15:45:43.957 : echo: External Reset
15:45:43.957 : Marlin 1.0.0
15:45:43.957 : echo: Last Updated: Feb 7 2016 8-24-14 22:21:41 | Author: (Maker Farm Inc, i3v Prusa)
15:45:43.957 : Compiled: Feb 7 2016
15:45:43.957 : echo: Free Memory: 5492 PlannerBufferBytes: 1232
15:45:43.957 : echo:Using Default settings:
15:45:44.285 : FIRMWARE_NAME:Marlin V1; Sprinter/grbl mashup for gen6 FIRMWARE_URL:[www.mendel-parts.com] PROTOCOL_VERSION:1.0 MACHINE_TYPE:MakerFarm EXTRUDER_COUNT:1
15:45:44.317 : X:0.00Y:0.00Z:0.00E:0.00 Count X: 0.00Y:0.00Z:0.00
15:45:44.317 : echo:Active Extruder: 0
15:45:44.348 : echo:Active Extruder: 0
15:46:28.832 : Reporting endstop status
15:46:28.832 : x_min: open
15:46:28.832 : y_min: open
15:46:28.832 : z_min: TRIGGERED
15:47:04.176 : Reporting endstop status
15:47:04.176 : x_min: open
15:47:04.176 : y_min: open
15:47:04.176 : z_min: open
15:47:16.317 : echo:endstops hit: Z:2.10
15:47:16.973 : echo:endstops hit: Z:2.10
15:47:17.426 : echo:endstops hit: Z:2.10
15:47:17.723 : echo:endstops hit: Z:2.10
15:47:17.988 : echo:endstops hit: Z:2.10
15:48:46.676 : Reporting endstop status
15:48:46.676 : x_min: open
15:48:46.676 : y_min: open
15:48:46.676 : z_min: open
Re: Ramps 1.4, Repetier and Opto-end stops
February 08, 2016 07:00PM
OK, that's progress. The first time you ran m119 the printer reported that the Z min endstop was activated - were you expecting that? And the second time the Z min wasn't activated, again did that match what was happening at the printer? If not, it may be because the pull-up for Z min was commented out in the config file. With a micro switch end stop, if you don't have the pull-up configured the input can change more or less at random which will give very confusing results. So, if the Z endstop seems to be behaving randomly, take out the // at the beginning of this line in the configuration.h

//#define ENDSTOPPULLUP_ZMIN
Re: Ramps 1.4, Repetier and Opto-end stops
February 08, 2016 07:36PM
ok did the test again took out the //. now nothing is working.



17:31:50.278 : OpenGL version:4.5.13399 Compatibility Profile Context 15.201.1151.0
17:31:50.278 : OpenGL extensions:GL_AMDX_debug_output GL_AMDX_vertex_shader_tessellator GL_AMD_conservative_depth GL_AMD_debug_output GL_AMD_depth_clamp_separate GL_AMD_draw_buffers_blend GL_AMD_multi_draw_indirect GL_AMD_name_gen_delete GL_AMD_performance_monitor GL_AMD_pinned_memory GL_AMD_query_buffer_object GL_AMD_sample_positions GL_AMD_seamless_cubemap_per_texture GL_AMD_shader_stencil_export GL_AMD_shader_trace GL_AMD_texture_cube_map_array GL_AMD_texture_texture4 GL_AMD_transform_feedback3_lines_triangles GL_AMD_vertex_shader_layer GL_AMD_vertex_shader_tessellator GL_AMD_vertex_shader_viewport_index GL_ARB_ES2_compatibility GL_ARB_ES3_1_compatibility GL_ARB_ES3_compatibility GL_ARB_arrays_of_arrays GL_ARB_base_instance GL_ARB_blend_func_extended GL_ARB_buffer_storage GL_ARB_clear_buffer_object GL_ARB_clear_texture GL_ARB_clip_control GL_ARB_color_buffer_float GL_ARB_compatibility GL_ARB_compressed_texture_pixel_storage GL_ARB_compute_shader GL_ARB_conditional_render_inverted GL_ARB_conservative_depth GL_ARB_copy_buffer GL_ARB_copy_image GL_ARB_cull_distance GL_ARB_debug_output GL_ARB_depth_buffer_float GL_ARB_depth_clamp GL_ARB_depth_texture GL_ARB_derivative_control GL_ARB_direct_state_access GL_ARB_draw_buffers GL_ARB_draw_buffers_blend GL_ARB_draw_elements_base_vertex GL_ARB_draw_indirect GL_ARB_draw_instanced GL_ARB_enhanced_layouts GL_ARB_explicit_attrib_location GL_ARB_explicit_uniform_location GL_ARB_fragment_coord_conventions GL_ARB_fragment_layer_viewport GL_ARB_fragment_program GL_ARB_fragment_program_shadow GL_ARB_fragment_shader GL_ARB_framebuffer_no_attachments GL_ARB_framebuffer_object GL_ARB_framebuffer_sRGB GL_ARB_geometry_shader4 GL_ARB_get_program_binary GL_ARB_get_texture_sub_image GL_ARB_gpu_shader5 GL_ARB_gpu_shader_fp64 GL_ARB_half_float_pixel GL_ARB_half_float_vertex GL_ARB_imaging GL_ARB_instanced_arrays GL_ARB_internalformat_query GL_ARB_internalformat_query2 GL_ARB_invalidate_subdata GL_ARB_map_buffer_alignment GL_ARB_map_buffer_range GL_ARB_multi_bind GL_ARB_multi_draw_indirect GL_ARB_multisample GL_ARB_multitexture GL_ARB_occlusion_query GL_ARB_occlusion_query2 GL_ARB_pipeline_statistics_query GL_ARB_pixel_buffer_object GL_ARB_point_parameters GL_ARB_point_sprite GL_ARB_program_interface_query GL_ARB_provoking_vertex GL_ARB_query_buffer_object GL_ARB_robust_buffer_access_behavior GL_ARB_sample_shading GL_ARB_sampler_objects GL_ARB_seamless_cube_map GL_ARB_seamless_cubemap_per_texture GL_ARB_separate_shader_objects GL_ARB_shader_atomic_counters GL_ARB_shader_bit_encoding GL_ARB_shader_image_load_store GL_ARB_shader_image_size GL_ARB_shader_objects GL_ARB_shader_precision GL_ARB_shader_stencil_export GL_ARB_shader_storage_buffer_object GL_ARB_shader_subroutine GL_ARB_shader_texture_image_samples GL_ARB_shader_texture_lod GL_ARB_shading_language_100 GL_ARB_shading_language_420pack GL_ARB_shading_language_packing GL_ARB_shadow GL_ARB_shadow_ambient GL_ARB_stencil_texturing GL_ARB_sync GL_ARB_tessellation_shader GL_ARB_texture_barrier GL_ARB_texture_border_clamp GL_ARB_texture_buffer_object GL_ARB_texture_buffer_object_rgb32 GL_ARB_texture_buffer_range GL_ARB_texture_compression GL_ARB_texture_compression_bptc GL_ARB_texture_compression_rgtc GL_ARB_texture_cube_map GL_ARB_texture_cube_map_array GL_ARB_texture_env_add GL_ARB_texture_env_combine GL_ARB_texture_env_crossbar GL_ARB_texture_env_dot3 GL_ARB_texture_float GL_ARB_texture_gather GL_ARB_texture_mirror_clamp_to_edge GL_ARB_texture_mirrored_repeat GL_ARB_texture_multisample GL_ARB_texture_non_power_of_two GL_ARB_texture_query_levels GL_ARB_texture_query_lod GL_ARB_texture_rectangle GL_ARB_texture_rg GL_ARB_texture_rgb10_a2ui GL_ARB_texture_snorm GL_ARB_texture_stencil8 GL_ARB_texture_storage GL_ARB_texture_storage_multisample GL_ARB_texture_swizzle GL_ARB_texture_view GL_ARB_timer_query GL_ARB_transform_feedback2 GL_ARB_transform_feedback3 GL_ARB_transform_feedback_instanced GL_ARB_transform_feedback_overflow_query GL_ARB_transpose_matrix GL_ARB_uniform_buffer_object GL_ARB_vertex_array_bgra GL_ARB_vertex_array_object GL_ARB_vertex_attrib_64bit GL_ARB_vertex_attrib_binding GL_ARB_vertex_buffer_object GL_ARB_vertex_program GL_ARB_vertex_shader GL_ARB_vertex_type_10f_11f_11f_rev GL_ARB_vertex_type_2_10_10_10_rev GL_ARB_viewport_array GL_ARB_window_pos GL_ATI_draw_buffers GL_ATI_envmap_bumpmap GL_ATI_fragment_shader GL_ATI_separate_stencil GL_ATI_texture_compression_3dc GL_ATI_texture_env_combine3 GL_ATI_texture_float GL_ATI_texture_mirror_once GL_EXT_abgr GL_EXT_bgra GL_EXT_bindable_uniform GL_EXT_blend_color GL_EXT_blend_equation_separate GL_EXT_blend_func_separate GL_EXT_blend_minmax GL_EXT_blend_subtract GL_EXT_compiled_vertex_array GL_EXT_copy_buffer GL_EXT_copy_texture GL_EXT_direct_state_access GL_EXT_draw_buffers2 GL_EXT_draw_instanced GL_EXT_draw_range_elements GL_EXT_fog_coord GL_EXT_framebuffer_blit GL_EXT_framebuffer_multisample GL_EXT_framebuffer_object GL_EXT_framebuffer_sRGB GL_EXT_geometry_shader4 GL_EXT_gpu_program_parameters GL_EXT_gpu_shader4 GL_EXT_histogram GL_EXT_multi_draw_arrays GL_EXT_packed_depth_stencil GL_EXT_packed_float GL_EXT_packed_pixels GL_EXT_pixel_buffer_object GL_EXT_point_parameters GL_EXT_polygon_offset_clamp GL_EXT_provoking_vertex GL_EXT_rescale_normal GL_EXT_secondary_color GL_EXT_separate_specular_color GL_EXT_shader_image_load_store GL_EXT_shader_integer_mix GL_EXT_shadow_funcs GL_EXT_stencil_wrap GL_EXT_subtexture GL_EXT_texgen_reflection GL_EXT_texture3D GL_EXT_texture_array GL_EXT_texture_buffer_object GL_EXT_texture_compression_bptc GL_EXT_texture_compression_latc GL_EXT_texture_compression_rgtc GL_EXT_texture_compression_s3tc GL_EXT_texture_cube_map GL_EXT_texture_edge_clamp GL_EXT_texture_env_add GL_EXT_texture_env_combine GL_EXT_texture_env_dot3 GL_EXT_texture_filter_anisotropic GL_EXT_texture_integer GL_EXT_texture_lod GL_EXT_texture_lod_bias GL_EXT_texture_mirror_clamp GL_EXT_texture_object GL_EXT_texture_rectangle GL_EXT_texture_sRGB GL_EXT_texture_sRGB_decode GL_EXT_texture_shared_exponent GL_EXT_texture_snorm GL_EXT_texture_storage GL_EXT_texture_swizzle GL_EXT_timer_query GL_EXT_transform_feedback GL_EXT_vertex_array GL_EXT_vertex_array_bgra GL_EXT_vertex_attrib_64bit GL_IBM_texture_mirrored_repeat GL_KHR_context_flush_control GL_KHR_debug GL_KHR_robust_buffer_access_behavior GL_KHR_robustness GL_KTX_buffer_region GL_NV_blend_square GL_NV_conditional_render GL_NV_copy_depth_to_color GL_NV_copy_image GL_NV_depth_buffer_float GL_NV_explicit_multisample GL_NV_float_buffer GL_NV_half_float GL_NV_primitive_restart GL_NV_texgen_reflection GL_NV_texture_barrier GL_OES_EGL_image GL_SGIS_generate_mipmap GL_SGIS_texture_edge_clamp GL_SGIS_texture_lod GL_SUN_multi_draw_arrays GL_WIN_swap_hint WGL_EXT_swap_control
17:31:50.278 : OpenGL renderer:AMD Radeon HD 6620G
17:31:50.278 : Using fast VBOs for rendering is possible
17:32:07.833 : Printer reset detected - initalizing
17:32:07.864 : start
17:32:07.879 : echo: External Reset
17:32:07.879 : Marlin 1.0.0
17:32:07.879 : echo: Last Updated: Feb 8 2016 8-24-14 17:30:51 | Author: (Maker Farm Inc, i3v Prusa)
17:32:07.879 : Compiled: Feb 8 2016
17:32:07.879 : echo: Free Memory: 4499 PlannerBufferBytes: 1232
17:32:07.879 : echo:Using Default settings:
17:32:10.317 : echoconfused smileyD init fail
17:32:10.348 : FIRMWARE_NAME:Marlin V1; Sprinter/grbl mashup for gen6 FIRMWARE_URL:[www.mendel-parts.com] PROTOCOL_VERSION:1.0 MACHINE_TYPE:MakerFarm EXTRUDER_COUNT:1
17:32:10.395 : X:0.00Y:0.00Z:0.00E:0.00 Count X: 0.00Y:0.00Z:0.00
17:32:10.395 : echo:Active Extruder: 0
17:32:10.395 : Begin file list
17:32:10.395 : End file list
17:32:10.395 : echo:Active Extruder: 0
17:32:26.208 : echo:endstops hit: Z:21.00
17:32:53.223 : echo:endstops hit: Z:31.00
17:33:19.551 : Reporting endstop status
17:33:19.551 : x_min: open
17:33:19.551 : y_min: open
17:33:19.551 : z_min: open
17:33:35.458 : Reporting endstop status
17:33:35.458 : x_min: open
17:33:35.458 : y_min: open
17:33:35.458 : z_min: TRIGGERED
17:34:02.379 : echo:endstops hit: Z:31.10
Re: Ramps 1.4, Repetier and Opto-end stops
February 08, 2016 11:30PM
my last test: no matter which one i use i get Z TRIGGERED.... any thing else to try?
what if I change the firmware?

21:25:31.059 : FIRMWARE_NAME:Marlin V1; Sprinter/grbl mashup for gen6 FIRMWARE_URL:[www.mendel-parts.com] PROTOCOL_VERSION:1.0 MACHINE_TYPE:MakerFarm EXTRUDER_COUNT:1
21:25:31.090 : X:0.00Y:0.00Z:0.00E:0.00 Count X: 0.00Y:0.00Z:0.00
21:25:31.090 : echo:Active Extruder: 0
21:25:31.090 : Begin file list
21:25:31.090 : End file list
21:25:31.090 : echo:Active Extruder: 0
21:26:14.747 : echo:endstops hit: Z:2.10
21:26:40.575 : Reporting endstop status
21:26:40.575 : x_min: open
21:26:40.575 : y_min: open
21:26:40.575 : z_min: TRIGGERED
21:27:01.497 : Reporting endstop status
21:27:01.497 : x_min: open
21:27:01.497 : y_min: open
21:27:01.497 : z_min: open
21:27:24.356 : Reporting endstop status
21:27:24.356 : x_min: open
21:27:24.356 : y_min: open
21:27:24.356 : z_min: TRIGGERED
21:27:45.700 : Reporting endstop status
21:27:45.700 : x_min: open
21:27:45.700 : y_min: open
21:27:45.700 : z_min: TRIGGERED
Re: Ramps 1.4, Repetier and Opto-end stops
February 09, 2016 07:38AM
Ok, so we should just focus on the Z endstop and work out what is going on with that.

First off, is it a micro switch like the others?

You removed the two '/' characters from in front of the //#define ENDSTOPPULLUP_ZMIN so that it now looks like

#define ENDSTOPPULLUP_ZMIN

and then you recompiled and uploaded the new firmware to the mega2560?

In the log you showed above the z_min shows triggered 3 times and open once, but I can't tell what you were pressing at each test. So if you do a series of m119 tests with the Z pressed then not pressed, how does that come out?

Do you have a spare switch that we could temporarily connect to the endstop pins? That would allow us to rule out a broken wire or bad connection?
Re: Ramps 1.4, Repetier and Opto-end stops
February 09, 2016 11:10AM
let me ask you a question, if it jump across the switch should I get a reading then the switch is up or pressed down? I have one new switch when I read between the post (say) pos and neg, when I press down on the switch it OPEN tel off it's CLOSED is that right?
Re: Ramps 1.4, Repetier and Opto-end stops
February 09, 2016 11:13AM
Let me ask you a question, if it jump across the switch should I get a reading then the switch is up or pressed down?
I have one new switch when I read between the post (say) pos and neg, when I press down on the switch it OPEN tel off it's CLOSED is that right?
Re: Ramps 1.4, Repetier and Opto-end stops
February 09, 2016 12:48PM
Hi Yar,

It depends which pins you connect to on the micro-switch. There are three pins, one is common (i.e. you should always connect to that one), normally marked with a 'C' or 'COM'. The other two, one is "normally open" (NO), so if you connect to that marlin will say it's open when the switch is not touched, and triggerred when you press the switch. The other connection is "normally closed", so if you connect to that one marlin will say it is triggered when it isn't pressed, and open when it is pressed. It doesn't really matter which way you connect it up as you can change the firmware to match by setting the *_ENDSTOPS_INVERTING values in configuration.h. What matters is that it always behaves the same way every time you send m119 with the switch in the same position.
Re: Ramps 1.4, Repetier and Opto-end stops
February 09, 2016 03:17PM
okay this is the last test just worked over all the the switch's. m119 test


13:11:02.275 : FIRMWARE_NAME:Marlin V1; Sprinter/grbl mashup for gen6 FIRMWARE_URL:[www.mendel-parts.com] PROTOCOL_VERSION:1.0 MACHINE_TYPE:MakerFarm EXTRUDER_COUNT:1
13:11:02.322 : X:0.00Y:0.00Z:0.00E:0.00 Count X: 0.00Y:0.00Z:0.00
13:11:02.322 : echo:Active Extruder: 0
13:11:02.322 : Begin file list
13:11:02.338 : End file list
13:11:02.338 : echo:Active Extruder: 0
13:11:11.307 : Reporting endstop status
13:11:11.307 : x_min: open
13:11:11.307 : y_min: open
13:11:11.307 : z_min: TRIGGERED
13:11:51.572 : Reporting endstop status
13:11:51.572 : x_min: TRIGGERED
13:11:51.572 : y_min: open
13:11:51.572 : z_min: open
13:12:19.010 : Reporting endstop status
13:12:19.010 : x_min: open
13:12:19.010 : y_min: open
13:12:19.010 : z_min: open
13:12:45.010 : Reporting endstop status
13:12:45.010 : x_min: open
13:12:45.010 : y_min: TRIGGERED
13:12:45.010 : z_min: open
Re: Ramps 1.4, Repetier and Opto-end stops
February 09, 2016 03:26PM
what is this error line 9?
plugged the printer in and tried to movie the heads.


13:20:17.527 : X:0.00Y:0.00Z:0.00E:0.00 Count X: 0.00Y:0.00Z:0.00
13:20:17.527 : echo:Active Extruder: 0
13:20:17.527 : Begin file list
13:20:17.527 : End file list
13:20:17.527 : echo:Unknown command: ".0 B"
13:20:17.589 : Error:No Line Number with checksum, Last Line: 9
13:20:17.589 : Error:Line Number is not Last Line Number+1, Last Line: 9
13:20:17.589 : Resend: 10
13:20:17.621 : echo:Active Extruder: 0
13:20:43.855 : echo:endstops hit: Y:1.99
Re: Ramps 1.4, Repetier and Opto-end stops
February 10, 2016 11:54PM
I would like to know does this temp look right?
Attachments:
open | download - 20160210_213733_resized.jpg (435.3 KB)
Re: Ramps 1.4, Repetier and Opto-end stops
February 11, 2016 06:53AM
That looks pretty high for in around there. I'm not a fan of bringing the +V for the heater bed through the RAMPS board. It's only done to route it through the poly fuse and I don't think it's worth it for the amount of heat generated. I ran +V straight from the power supply via an inline fuse to the bed which dramatically cuts down on the heat build up in the RAMPS. The circuit is switched on the ground side, so that current still passes through the mosfet and the board, but the traces are bigger and the ground connections are commoned, so the current leaves via more connectors and wires.

Temperature wise, you don't really want to see anything above 50 to 60C on the circuit board. Add a heatsink to the heatbed mosfet and provide fan cooling if necessary.
Re: Ramps 1.4, Repetier and Opto-end stops
February 11, 2016 09:02PM
What setting do I use for the heat bed, I have a 270 x 200, it was mendel prusai3 printer. I have tried 3 or 4 and nothing works, tell it to heat it gets to 39.6c and then starts to cool down again, exturder works fine.

here are my settings;

============================Thermal Settings ============================
//===========================================================================
//
//--NORMAL IS 4.7kohm PULLUP!-- 1kohm pullup can be used on hotend sensor, using correct resistor and table
//
//// Temperature sensor settings:
// -2 is thermocouple with MAX6675 (only for sensor 0)
// -1 is thermocouple with AD595
// 0 is not used
// 1 is 100k thermistor - best choice for EPCOS 100k (4.7k pullup)
// 2 is 200k thermistor - ATC Semitec 204GT-2 (4.7k pullup)
// 3 is mendel-parts thermistor (4.7k pullup)
// 4 is 10k thermistor !! do not use it for a hotend. It gives bad resolution at high temp. !!
// 5 is 100K thermistor - ATC Semitec 104GT-2 (Used in ParCan) (4.7k pullup)
// 6 is 100k EPCOS - Not as accurate as table 1 (created using a fluke thermocouple) (4.7k pullup)
// 7 is 100k Honeywell thermistor 135-104LAG-J01 (4.7k pullup)
// 8 is 100k 0603 SMD Vishay NTCS0603E3104FXT (4.7k pullup)
// 9 is 100k GE Sensing AL03006-58.2K-97-G1 (4.7k pullup)
// 10 is 100k RS thermistor 198-961 (4.7k pullup)
//
// 1k ohm pullup tables - This is not normal, you would have to have changed out your 4.7k for 1k
// (but gives greater accuracy and more stable PID)
// 51 is 100k thermistor - EPCOS (1k pullup)
// 52 is 200k thermistor - ATC Semitec 204GT-2 (1k pullup)
// 55 is 100k thermistor - ATC Semitec 104GT-2 (Used in ParCan) (1k pullup)

#define TEMP_SENSOR_0 5
#define TEMP_SENSOR_1 0
#define TEMP_SENSOR_2 0
#define TEMP_SENSOR_BED 3

// Actual temperature must be close to target for this long before M109 returns success
#define TEMP_RESIDENCY_TIME 10 // (seconds)
#define TEMP_HYSTERESIS 3 // (degC) range of +/- temperatures considered "close" to the target one
#define TEMP_WINDOW 1 // (degC) Window around target to start the recidency timer x degC early.

// The minimal temperature defines the temperature below which the heater will not be enabled It is used
// to check that the wiring to the thermistor is not broken.
// Otherwise this would lead to the heater being powered on all the time.
#define HEATER_0_MINTEMP 5
#define HEATER_1_MINTEMP 5
#define HEATER_2_MINTEMP 5
#define BED_MINTEMP 5

// When temperature exceeds max temp, your heater will be switched off.
// This feature exists to protect your hotend from overheating accidentally, but *NOT* from thermistor short/failure!
// You should use MINTEMP for thermistor short/failure protection.
#define HEATER_0_MAXTEMP 250
#define HEATER_1_MAXTEMP 250
#define HEATER_2_MAXTEMP 250
#define BED_MAXTEMP 100

// If your bed has low resistance e.g. .6 ohm and throws the fuse you can duty cycle it to reduce the
// average current. The value should be an integer and the heat bed will be turned on for 1 interval of
// HEATER_BED_DUTY_CYCLE_DIVIDER intervals.
//#define HEATER_BED_DUTY_CYCLE_DIVIDER 4

// PID settings:
// Comment the following line to disable PID and enable bang-bang.
#define PIDTEMP
#define PID_MAX 256 // limits current to nozzle; 256=full current
#ifdef PIDTEMP
//#define PID_DEBUG // Sends debug data to the serial port.
//#define PID_OPENLOOP 1 // Puts PID in open loop. M104/M140 sets the output power from 0 to PID_MAX
#define PID_FUNCTIONAL_RANGE 10 // If the temperature difference between the target temperature and the actual temperature
// is more then PID_FUNCTIONAL_RANGE then the PID will be shut off and the heater will be set to min/max.
#define PID_INTEGRAL_DRIVE_MAX 255 //limit for the integral term
#define K1 0.95 //smoothing factor withing the PID
#define PID_dT ((16.0 * 8.0)/(F_CPU / 64.0 / 256.0)) //sampling period of the temperature routine

// If you are using a preconfigured hotend then you can use one of the value sets by uncommenting it
// Ultimaker
#define DEFAULT_Kp 22.2
#define DEFAULT_Ki 1.08
#define DEFAULT_Kd 114

// Makergear
// #define DEFAULT_Kp 7.0
// #define DEFAULT_Ki 0.1
// #define DEFAULT_Kd 12

// Mendel Parts V9 on 12V
// #define DEFAULT_Kp 63.0
// #define DEFAULT_Ki 2.25
// #define DEFAULT_Kd 440
#endif // PIDTEMP

// Bed Temperature Control
// Select PID or bang-bang with PIDTEMPBED. If bang-bang, BED_LIMIT_SWITCHING will enable hysteresis
//
// uncomment this to enable PID on the bed. It uses the same ferquency PWM as the extruder.
// If your PID_dT above is the default, and correct for your hardware/configuration, that means 7.689Hz,
// which is fine for driving a square wave into a resistive load and does not significantly impact you FET heating.
// This also works fine on a Fotek SSR-10DA Solid State Relay into a 250W heater.
// If your configuration is significantly different than this and you don't understand the issues involved, you proabaly
// shouldn't use bed PID until someone else verifies your hardware works.
// If this is enabled, find your own PID constants below.
//#define PIDTEMPBED
//
//#define BED_LIMIT_SWITCHING

// This sets the max power delived to the bed, and replaces the HEATER_BED_DUTY_CYCLE_DIVIDER option.
// all forms of bed control obey this (PID, bang-bang, bang-bang with hysteresis)
// setting this to anything other than 256 enables a form of PWM to the bed just like HEATER_BED_DUTY_CYCLE_DIVIDER did,
// so you shouldn't use it unless you are OK with PWM on your bed. (see the comment on enabling PIDTEMPBED)
#define MAX_BED_POWER 256 // limits duty cycle to bed; 256=full current


thank you.
Re: Ramps 1.4, Repetier and Opto-end stops
February 11, 2016 09:37PM
Type 1 should be a reasonable enough choice to get things working, assuming you have a fairly normal 100k NTC thermistor. Was that 39C reported by the printer or measured some other way?
Re: Ramps 1.4, Repetier and Opto-end stops
February 13, 2016 09:18PM
Quote
JamesK
Can you post a photo of the endstop connections on the ramps?

I am attaching them as follows to the ramps board:



I've gone through all the connections with my multimeter to prove to myself that:
  • The wiring harnesses are, in fact, connected as above.
  • The signal, in fact, switches from .7V to 4.6V when the beam is blocked.
  • The same opto-endstops read correctly when tested on an UNO.
  • There are no faults in my RAMPS board and the signal pin does, in fact, go to the appropriate pin on my MEGA
  • The same problem happens with Merlin firmware, so this isn't a Repetier bug.

What else can I check?

EDIT: Fixed photo links

Edited 2 time(s). Last edit at 02/14/2016 07:41PM by SvdSinner.
Re: Ramps 1.4, Repetier and Opto-end stops
February 16, 2016 08:21AM
I had a break through last night. I had been using the LCD (a generic Lcd12864 smart controller to determine if the endstops were on or off. I re-read this thread and noticed this:
Quote
JamesK
see the values change when querying with m119

I hooked the mega up to Repetier Host via USB, and discovered that M119 IS giving the correct values.smiling smiley

The problem still remains, that the LCD and the LCD commands are not behaving as expected. I will do more troubleshooting soon to see if any other symptoms go away or change when using repetier host vs the LCD commands.
Sorry, only registered users may post in this forum.

Click here to login