Page 14 of 19

Re: UMO / UMO+ Firmware

Posted: August 10th, 2016, 10:17 am
by Neotko

Re: UMO / UMO+ Firmware

Posted: August 12th, 2016, 5:52 am
by antiklesys
Isn't this "dangerous" for the glass bed / nozzle?
Not having a physical limit could have the nozzle hit hard on a glass corner potentially shattering it...or am I missing something?

Re: UMO / UMO+ Firmware

Posted: August 12th, 2016, 6:49 am
by Neotko
If it fails to hit the endstop yea, but afaik, um2 does that all the time. It hits the bottom endstop and moves up to the area defined by the firmware, so it's more or less the same. Did a lot of test with this new position (video on the link) and it works over and over.

Ofc it 'could' miss. But well, it can happen also with the umo+ top endstop and this it's what happens :D (this user had a smaller endstop on this umo+ kit because Ultimaker sent it with the 'small' endstop not the one that umo+ uses that it's actually longer)



Ofc, this to work needs to redefine the minimum area to move to re-hit the endstop by 5-10mm and disable the endstops limit on the firmware, and define the position of the endstop to be 10-20mm, that would allow to redefine 0 by changing this value. I plan to try it again next week when I get some free time again.

Re: UMO / UMO+ Firmware

Posted: August 13th, 2016, 2:02 am
by Amedee
Do you have a dial indicator (messuhr) to see is homing is accurate with the switch in that position?

Re: UMO / UMO+ Firmware

Posted: August 13th, 2016, 2:57 am
by Neotko
Sure, good idea! I'll print a holder

Re: UMO / UMO+ Firmware

Posted: August 13th, 2016, 2:05 pm
by Neotko
Amedee wrote:Do you have a dial indicator (messuhr) to see is homing is accurate with the switch in that position?
Well.. today I was going to arrange some test with a gauge dial I have.... but the z endstop died...

https://ultimaker.com/en/community/2212 ... ply-153663

Anyhow it works, and works quite nice!

If you don't plan to do this, can you point me on the right direction to learn how to add a new item on the menu to control the M206 Z value?

Also one question, since I need to build my firmware from your build, where can I edit the fan min pwm? Now my fan it's too low to work and I don't find it :D

Re: UMO / UMO+ Firmware

Posted: August 13th, 2016, 2:37 pm
by Neotko
The option that would allow to reset this it's " //MENU_ITEM(gcode, MSG_SET_ORIGIN, PSTR("G92 X0 Y0 Z0")); ??

Could this be used this way?

Home, Move z until the hotend it's on the Z desired, then 'Set origin' ? Or that just resets the origin? Also ofc that doesn't look like M206 that can be actually saved on the rom...

Re: UMO / UMO+ Firmware

Posted: August 13th, 2016, 4:59 pm
by Amedee
I need to look at this more in detail....

I have a race week-end in Germany, and I need to travel for my work the week after, so I don't think I'll be able to do anything before September...
So yes, I definitely will work on that, but can't deliver fast ;)

Re: UMO / UMO+ Firmware

Posted: August 14th, 2016, 12:26 pm
by Neotko
Amedee wrote:I need to look at this more in detail....

I have a race week-end in Germany, and I need to travel for my work the week after, so I don't think I'll be able to do anything before September...
So yes, I definitely will work on that, but can't deliver fast ;)

Ok did a quick fix, for this :D

Edited the lcd_prepare_move_z on the ultralcd.cpp

And added a line

static void lcd_prepare_move_z()
{
if (encoderPosition != 0)
{
refresh_cmd_timeout();
current_position[Z_AXIS] += float((int)encoderPosition) * 0.05;
encoderPosition = 0;
#ifdef DELTA
calculate_delta(current_position);
plan_buffer_line(delta[X_AXIS], delta[Y_AXIS], delta[Z_AXIS], current_position[E_AXIS], manual_feedrate[Z_AXIS]/60, active_extruder);
#else
plan_buffer_line(current_position[X_AXIS], current_position[Y_AXIS], current_position[Z_AXIS], current_position[E_AXIS], manual_feedrate[Z_AXIS]/60, active_extruder);
#endif
lcdDrawUpdate = 1;
}
if (lcdDrawUpdate)
{
lcd_implementation_drawedit(PSTR("Z"), ftostr31(current_position[Z_AXIS]));
add_homeing[2] = current_position[Z_AXIS];
}
if (LCD_CLICKED)
{
lcd_quick_feedback();
currentMenu = lcd_prepare_menu;
encoderPosition = 0;
}
}


By doing this, I can move the bed manually to 0, open this 'Move Z' (that I have renamed to MOVE Z OFFSET) then I move it pass the endstop and slowly up until it touches, that generates a Z OFFSET that fits like a glove on the M206 Z value (add_homeing[2]) so I only need to hit store settings, and voila!

Now I can redefine the Z with this. Not quite elegant indeed, but I can rewrite the offset without connecting the computer at anytime :D

Re: UMO / UMO+ Firmware

Posted: August 14th, 2016, 3:30 pm
by Neotko
Been thinking about this mod, and I think it could be easily finish.

It would need that when pressing this changed option, it would move to HOME, then you readjust the distance, that would be a negative value, and then you convert from negative to positive the value and insert it on the add_homeing[2] variable. That would make a perfect fast Z relevel right?

I'm right about this?

Would as easy as making a sequence, first the bed goes touch the endstop, then I do a simple add_homeing[2] = -current_position[Z_AXIS];

Should that work to convert the negative into positive?

Re: UMO / UMO+ Firmware

Posted: August 14th, 2016, 3:55 pm
by Neotko
Umm that would limit the offset advantages, like using it to make the printer work on a unfinished print since this assumes that the 0 offset would be always after the endstop (neg value).

Of course making a new option for resume (create a new offset to resume a print) would be as easy as making a new option that would get the existing offset and - the new vaue and insert it as the new temporal offset value.

Of course now that I think of this, it's as easy as using the other gcodes to make a temporary 0 offset.

Anyway, with the endstop on this position (or the default umo+) it's impossible to resume a print since the hotend/bed kiss each other to know the z. To resume a print you really would need a endstop on the bottom like um2 does.

Re: UMO / UMO+ Firmware

Posted: August 15th, 2016, 6:41 am
by Neotko

Re: UMO / UMO+ Firmware

Posted: August 17th, 2016, 4:36 am
by antiklesys
Guess people will have to cut the UMO frame if they don't have the second feeder holes (like me :P)
This won't work mounted anywhere else...am I right?

Re: UMO / UMO+ Firmware

Posted: August 17th, 2016, 4:48 am
by Neotko
The fastest workaround on UMO it's to disable to the top endstop (remove it) and work like a um2 with only the Z endstop of the bottom. It need's a 'invert' endstop 0 or something like that on the firmware, and it might need that as soon as the machine it's turn on it should move to home (bottom z) to avoid problems (and a faster start when clicking 'print').

Re: UMO / UMO+ Firmware

Posted: August 17th, 2016, 6:55 am
by antiklesys
I see.
I guess I'll stick to standard or eventually cut a few holes.
Can't home Z at the bottom due the current amount of modifications implemented on the machine :P