UMO / UMO+ Firmware

Topics related to printer firmware
User avatar
Neotko
Reactions:
Posts: 1142
Joined: February 7th, 2016, 7:02 pm
Location: Madrid
3D Printer(s): UMO+ x2.5
Contact:

Re: UMO / UMO+ Firmware

Post by Neotko »

I been testing pid bed. It clearly needs pid autotune so for now I have desactivate it.

When using it the bed temp changed sudently 2-3C and it never stabilize. Also leds started to blink slightly a bit and was quite disturbing. I suppose it just need a pid tunning but that's a lot of time since I would need to do it in 3 machines. I will do it but in a few weekends.

The led blink happens on the 3 umo+ I think it's just a power saving feature, but was weird because one of my umo+ has a 280W meanwell powersupply.
User avatar
Neotko
Reactions:
Posts: 1142
Joined: February 7th, 2016, 7:02 pm
Location: Madrid
3D Printer(s): UMO+ x2.5
Contact:

Re: UMO / UMO+ Firmware

Post by Neotko »

Got some time and after doing BED pid and pid and pid...

M304 P50.81 I8.36 D72.32

Seems to be very stable now with this pid.

Oh also, now that it has this PID the led's don't blink, so far...

Also... The most problematic part. Even with M500 they are not stored on the rom. So when you turn off/on the pid goes to the default.
User avatar
Amedee
Reactions:
Posts: 599
Joined: February 15th, 2016, 11:10 am
Location: Brussels, Belgium
3D Printer(s): UMO / UMO+
Contact:

Re: UMO / UMO+ Firmware

Post by Amedee »

Interesting, as it is quite different from default value (which I took over from the UM2 firmware).
It is consistent with your previous post as with an higher P and I it would correct stronger and faster, which tend to explains the oscillations you got.

I'll try to run auto-tune on my printer to see if I can confirm these values.

And yes, I can confirm the bed PID is not stored in EEPROM, I can add that in the next release...
User avatar
Neotko
Reactions:
Posts: 1142
Joined: February 7th, 2016, 7:02 pm
Location: Madrid
3D Printer(s): UMO+ x2.5
Contact:

Re: UMO / UMO+ Firmware

Post by Neotko »

No biggie indeed. I need to run the same pid on the other printer with original board. But I run out of time for experiments for the morning. Back to the print print print design print :D
User avatar
Neotko
Reactions:
Posts: 1142
Joined: February 7th, 2016, 7:02 pm
Location: Madrid
3D Printer(s): UMO+ x2.5
Contact:

Re: UMO / UMO+ Firmware

Post by Neotko »

Hi @Amedee

Could I make a 'easy' request for your firmware branch?

UM2 firmware has this:
#define EXTRUDER_0_AUTO_FAN_PIN -1
#define EXTRUDER_1_AUTO_FAN_PIN -1
#define EXTRUDER_2_AUTO_FAN_PIN -1
#define EXTRUDER_AUTO_FAN_TEMPERATURE 40
#define EXTRUDER_AUTO_FAN_SPEED 255 // == full speed

UMO+ firmware has this:
#define EXTRUDER_0_AUTO_FAN_PIN -1
#define EXTRUDER_1_AUTO_FAN_PIN -1
#define EXTRUDER_2_AUTO_FAN_PIN -1
#define EXTRUDER_AUTO_FAN_TEMPERATURE 50
#define EXTRUDER_AUTO_FAN_SPEED 255 // == full speed

The difference it's that on um2.1.4 boards, because of that definition, the 5v fan starts when the hotend it's at 40, on umo+ if you have a 2.1.4 board it will start at 50C. It's a small change, and will only affect umo+ 2.1.4 users that install a 5v fan for the hotend (e3d or um2).

The other difference on temperature.cpp it's on
void checkExtruderAutoFans()

UM2 has a check for more than 1 extruders, but it doesn't seems to be important at all since there's only 1 5v autofan plug with transistor, must be a check for other boards.
User avatar
Amedee
Reactions:
Posts: 599
Joined: February 15th, 2016, 11:10 am
Location: Brussels, Belgium
3D Printer(s): UMO / UMO+
Contact:

Re: UMO / UMO+ Firmware

Post by Amedee »

Make sense, you'll get it with the next commit....
(Not sure it will be today -- I am a bit tired and I don't like to commit when I don't have a clear mind ;) )
User avatar
Amedee
Reactions:
Posts: 599
Joined: February 15th, 2016, 11:10 am
Location: Brussels, Belgium
3D Printer(s): UMO / UMO+
Contact:

Re: UMO / UMO+ Firmware

Post by Amedee »

Neotko wrote: The other difference on temperature.cpp it's on
void checkExtruderAutoFans()

UM2 has a check for more than 1 extruders, but it doesn't seems to be important at all since there's only 1 5v autofan plug with transistor, must be a check for other boards.
Actually the tricky part is there ;)
Just changing the configuration wouldn't do anything as there is no pin defined.

Look at this commit: some magic needs to be done as this fan is not on an Arduino port.

Not a bit deal, but is is not 'just' changing the temperature ;)
User avatar
Neotko
Reactions:
Posts: 1142
Joined: February 7th, 2016, 7:02 pm
Location: Madrid
3D Printer(s): UMO+ x2.5
Contact:

Re: UMO / UMO+ Firmware

Post by Neotko »

Really? I did check both pins.h on um2 firmware and umo+ and the pins are the same, nothing different defined. That's the part that was weird, I did keep tracking the variables but I found nothing different on both marlins.
User avatar
Neotko
Reactions:
Posts: 1142
Joined: February 7th, 2016, 7:02 pm
Location: Madrid
3D Printer(s): UMO+ x2.5
Contact:

Re: UMO / UMO+ Firmware

Post by Neotko »

Image

The MAX6675_SS seems like a PWM thingy...
User avatar
Neotko
Reactions:
Posts: 1142
Joined: February 7th, 2016, 7:02 pm
Location: Madrid
3D Printer(s): UMO+ x2.5
Contact:

Re: UMO / UMO+ Firmware

Post by Neotko »

Holy mother... Seems they did hide it quite well on um2 firmware the hotend fan.

Part on temperature.cpp

//For the UM2 the head fan is connected to PJ6, which does not have an Arduino PIN definition. So use direct register access.
DDRJ |= _BV(6);
if (current_temperature[0] > EXTRUDER_AUTO_FAN_TEMPERATURE
#if EXTRUDERS > 1
|| current_temperature[1] > EXTRUDER_AUTO_FAN_TEMPERATURE
#endif
#if EXTRUDERS > 2
|| current_temperature[2] > EXTRUDER_AUTO_FAN_TEMPERATURE
#endif
)
{
PORTJ |= _BV(6);
}else{
PORTJ &=~_BV(6);
}
}
User avatar
Amedee
Reactions:
Posts: 599
Joined: February 15th, 2016, 11:10 am
Location: Brussels, Belgium
3D Printer(s): UMO / UMO+
Contact:

Re: UMO / UMO+ Firmware

Post by Amedee »

Neotko wrote:Really? I did check both pins.h on um2 firmware and umo+ and the pins are the same, nothing different defined. That's the part that was weird, I did keep tracking the variables but I found nothing different on both marlins.
That's the point, the fan is on the PJ6 ping on the ATmega micro-controller, but this pin is not defined in Arduino, as on a real Arduino board it is not connected -- you need to access it using directly the Port Registers (See Arduino doc).
So you cannot define it in the pin.h file and that's why you don't see anything.
Daid just 'hacked' the temperature.cpp (this line and the next ones) to address the pin directly.
This is the part of the code that needs to be taken over...
User avatar
Amedee
Reactions:
Posts: 599
Joined: February 15th, 2016, 11:10 am
Location: Brussels, Belgium
3D Printer(s): UMO / UMO+
Contact:

Re: UMO / UMO+ Firmware

Post by Amedee »

Seems that you did figured out in the meantime ;)
User avatar
Neotko
Reactions:
Posts: 1142
Joined: February 7th, 2016, 7:02 pm
Location: Madrid
3D Printer(s): UMO+ x2.5
Contact:

Re: UMO / UMO+ Firmware

Post by Neotko »

Yeah, triple checked, that's the missing part, they point to the PJ6 using a direct call on temperature.cpp So no matter what the other parts say the 5v fan won't start on umo+ firmware unless this it's added... Really Ultimaker should keep track of their boards a little bit better. This added part looks like a fast fix
User avatar
Amedee
Reactions:
Posts: 599
Joined: February 15th, 2016, 11:10 am
Location: Brussels, Belgium
3D Printer(s): UMO / UMO+
Contact:

Re: UMO / UMO+ Firmware

Post by Amedee »

Yeah... it is not a very clean hack, I am not sure I would have done it that way.

But on the other hand, they have this firmware dedicated to their UM2 line of printers, so they don't have to look at compatibility with any other stuff so I guess it makes some sense...
User avatar
Neotko
Reactions:
Posts: 1142
Joined: February 7th, 2016, 7:02 pm
Location: Madrid
3D Printer(s): UMO+ x2.5
Contact:

Re: UMO / UMO+ Firmware

Post by Neotko »

Woohoo You men work fast!

I'll have soon a china 2.1.4 Schrodinger um2 board, in 2-3 weeks or so... I'll ask to the guy that has 2.1.4 on youmagine to test it :D
Post Reply

Return to “Firmware”