Welcome! Log In Create A New Profile

Advanced

Firmware change proposals

Posted by dc42 
Firmware change proposals
January 07, 2014 11:42AM
I'm ready to submit my Ethernet changes (plus a small improvement to the temp calculation) to RRP via Github, and waiting for RRP to tell me how they want me to do this. In the meantime, there are a couple of other firmware changes I am considering:

1. Z probing. I am finding that after I define the Z probe value with G31, if I execute a G30 z-probe and then do a G31, it has overshot by a variable amount that corresponds to up to 0.1mm. So I would like to slow down the Z-rate when the probe reading is getting near to the target.

2. Fan control. The fan is quite noisy and I find the noise irritating when the printer is idling. I would like to use the fan control mosfet. I would have it run the fan when either the extruder target temperature is greater than 45C, or the extruder temperature is greater than 45C, or an extruder temperature sensor error is reported; and not run the fan at other times.

Comments, anyone?

Edited 1 time(s). Last edit at 01/07/2014 11:49AM by dc42.



Large delta printer [miscsolutions.wordpress.com], E3D tool changer, Robotdigg SCARA printer, Crane Quad and Ormerod

Disclosure: I design Duet electronics and work on RepRapFirmware, [duet3d.com].
Re: Firmware change proposals
January 07, 2014 11:48AM
Hi dc42,

awesome work you do on the Ormerod winking smiley

I like No2 much, because it's really annoying hearing the fan all the time.

Markus


XBee & electronics blog: [lookmanowire.blogspot.com]
Re: Firmware change proposals
January 07, 2014 12:01PM
+1 on the fan control from me too.thumbs up

Thanks


Mark

Ormerod #350
Re: Firmware change proposals
January 07, 2014 12:50PM
Perfectly stated...
+1 on the fan control from me too.thumbs up


Ormerod #007 (shaken but not stirred!)
Re: Firmware change proposals
January 07, 2014 12:59PM
thumbs up good with both of them, thanks!
Re: Firmware change proposals
January 07, 2014 10:43PM
Like the fan suggestion.

I am looking at the sensor/Z homing I think it may be possible to compensate for external light in software
but it is going to take a bit of testing to verify if my idea will work.

There is also a couple if issues with the G-code interpreter or DDA that need to be fixed;
G92 does not work correctly which is not really much of a problem once you realise what is going wrong
and a bit more of a problem XYZ co-ordinated moves do not work, which means that gcode from cura
does not work correctly and probably code from slic3r if you enable the spiral vase option.
I am going to have a try to fix these and would be interested also in what the procedure/feeling is for user
contributed code to the RepRapFirmware tree is.


Chris
Re: Firmware change proposals
January 08, 2014 02:25AM
@chriscain
Could the Home All Axis command also be considered as well.
Something like move Z up 10mm, Home X, Home Y, move to defined on board location X1, Y1 and then Home Z.

A new Goto start position, i.e. go to X1 and Y1 with Z homed would be useful.


Ormerod #007 (shaken but not stirred!)
Re: Firmware change proposals
January 08, 2014 02:09PM
You could do both of these by just editing the macros/built in's on the SD card.

Chris
Re: Firmware change proposals
January 08, 2014 02:23PM
You could add a button in Pronterface to do most of these things (they can link to scripts), as well as editing the code in the SD cards sys folder (you need to update firmware use these).

I'm not sure about the fan. The heater PID settings are based on the fan being on all the time, though it's not very likely to cause problems at 40C, and you're more likely to turn the heater off than set it to 30C or 50C. I think there is a danger that it could be switched off by mistake, which is why we hardwire it into 12V. The other problem is that you may want to use the 'fan' output for a controlled, secondary fan, and this would be far better put to use as a proper fan for bed cooling, or as an exhaust fan for a heated chamber (good for printing ABS). Our current design uses one fan for both cooling the hot end and the filament as it prints, but having more control over the print environment is preferable. Turning off the fan just because it is annoying when not printing seems a little bit of an overkill!

dc42 - I'll ask Adrian tomorrow about slowing down the z probing.

Ian
RepRapPro tech support

Edited 1 time(s). Last edit at 01/08/2014 02:32PM by droftarts.
Re: Firmware change proposals
January 08, 2014 02:26PM
Quote
chriscain
G92 does not work correctly which is not really much of a problem once you realise what is going wrong

I presume you mean that bed plane compensation and/or orthogonal axis compensation is applied to the values you submit?

Quote
chriscain
I am going to have a try to fix these and would be interested also in what the procedure/feeling is for user contributed code to the RepRapFirmware tree is.

I'm still waiting to find out - RRP haven't yet responded to my requests.

Edited 1 time(s). Last edit at 01/08/2014 02:26PM by dc42.



Large delta printer [miscsolutions.wordpress.com], E3D tool changer, Robotdigg SCARA printer, Crane Quad and Ormerod

Disclosure: I design Duet electronics and work on RepRapFirmware, [duet3d.com].
Re: Firmware change proposals
January 08, 2014 05:23PM
Hi Ian, I only just noticed that your latest post to this thread arrived while I was replying to the previous post, so I didn't notice your post.

I appreciate that the fan could be switched off by mistake. That is why I was not proposing to put in under user control, rather to have it come on automatically unless three conditions are met (target extruder temp < 45C, actual extruder temp < 45C, no extruder temp error). Also useful would be to use the processor watchdog timer to force a reset in case the processor locks up, and to remove R79 from the Duet board and substitute a pulldown resistor so that the fan is on by default.

In your experience of RepRap users, how common is it to add a secondary fan that needs to be controlled independently?

Re Z-probing, I see that there is already a constant in the firmware that defines the rate at which z-probing occurs. However, I was looking to use a lower rate than the default only for the last few mm. If you've just finished a tall print, it is already annoying enough that homing the z-axis happens rather slowly, and I would rather not slow it down further.



Large delta printer [miscsolutions.wordpress.com], E3D tool changer, Robotdigg SCARA printer, Crane Quad and Ormerod

Disclosure: I design Duet electronics and work on RepRapFirmware, [duet3d.com].
Re: Firmware change proposals
January 08, 2014 06:05PM
A controllable fan is very common on other repraps, and is very handy to control bridging and overhangs. Some hot ends don't use a fan for cooling, though this is becoming more common now.

Re Z probing; perhaps a better method would be that it descends fast, even if it passes the value set, but then does a move up, then back down slow. This is the usual homing behaviour on other repraps. I'll add it to the list....

Ian
RepRapPro tech support
Re: Firmware change proposals
January 08, 2014 06:15PM
Quote
droftarts
Re Z probing; perhaps a better method would be that it descends fast, even if it passes the value set, but then does a move up, then back down slow. This is the usual homing behaviour on other repraps. I'll add it to the list....

Why better? Surely it would be faster not to overshoot in the first place? But either method would be an improvement.



Large delta printer [miscsolutions.wordpress.com], E3D tool changer, Robotdigg SCARA printer, Crane Quad and Ormerod

Disclosure: I design Duet electronics and work on RepRapFirmware, [duet3d.com].
Re: Firmware change proposals
January 09, 2014 05:13AM
It would be preferable to home the Z axis in the 'up' direction (Z+) to remove backlash, so a slight overshoot and going back up to position be quite good.


Mark

Ormerod #350
Re: Firmware change proposals
January 09, 2014 05:51AM
Quote
markm
It would be preferable to home the Z axis in the 'up' direction (Z+) to remove backlash, so a slight overshoot and going back up to position be quite good.

Yes, but this applies to positioning the head at Z=0, not to "homing" to the IR sensor calibration point at Z=1mm or whatever. What I think really matters is that the calibration point is approached during homing in the same direction as it was established originally. I establish the calibration point by manually setting the nozzle just above the bed, then going up 2mm and then down 1mm, then taking the G31 reading.

At the risk of contacting the bed, I guess after homing to the sensor calibration point and then going down to Z=0, you could go down another 0.05mm or so and then up by the same amount.



Large delta printer [miscsolutions.wordpress.com], E3D tool changer, Robotdigg SCARA printer, Crane Quad and Ormerod

Disclosure: I design Duet electronics and work on RepRapFirmware, [duet3d.com].
Re: Firmware change proposals
January 09, 2014 06:14AM
Hello All

Just an idea but any chance for adding in SPI support for future external devices like a control panel to actually control the printer like what Pronterface does or just a display on what its doing.
These external devices could be controlled via a microcontroller of some sort and would be connected to the expansion socket which has the required SPI pins along with 2 SPI slave selects as well as the require +5 and +3.3 power rails.

We could have the duet board send out a hello message at start-up and/or every interval when the printer is idle.
Then any devices connected would hear the hello message and respond with their address and ID-Type and the Sam Device would either send data to or receive data from them depending on the ID-Type.

If no external devices are detected then it does what it does now.

Any comments on this?

Thanks.

Paul


RS Ormerod No 436
Re: Firmware change proposals
January 09, 2014 06:25AM
I really like the idea of an external control panel, ideally to be able to inch and home the axes, set and check temps and to run gcodes from SD card.


RS Ormerod #472
Re: Firmware change proposals
January 09, 2014 06:46AM
Hello Tim

Quote
tim_h
I really like the idea of an external control panel, ideally to be able to inch and home the axes, set and check temps and to run gcodes from SD card.

Yeah, I was thinking more on the calibration of the Z axis and the aligning of the bed, very tiresome having to move it a bit via Pronterface turn round bend down and look at the nozzle and repeat, by having an external control panel at the front of the printer would make life a lot easier smiling smiley
Also it could (if added) handle transfers from a larger SD card to the SD card on the duet, this larger SD card socket would make it easier to insert and remove from the unit due to it being at the front of the unit and not at the back.

Paul


RS Ormerod No 436
Re: Firmware change proposals
January 09, 2014 07:59AM
The idea of adding ethernet and a control panel is that you can control the printer from your mobile device - we don't have any plans to add a display. However, SPI is enabled on the board - it controls the stepper drivers (so Adrian tells me). We think it's probably broken out to some pins, but you'll have to refer to the schematics.

Ian
RepRapPro tech support
Re: Firmware change proposals
January 09, 2014 08:16AM
The advantage of a physical buttons to inch the axes is you don't have to look at them to use them. When you are making fine adjustments (to set the Z for example) you need to be looking at the machine, not your phone or clicking a mouse cursor in a box.

Is is possible to control the web interface with the PC cursor keys or the number pad, this would give similar functionality with the existing hardware?


RS Ormerod #472
Re: Firmware change proposals
January 09, 2014 09:12AM
Hello Ian

Quote
reprappro
The idea of adding ethernet and a control panel is that you can control the printer from your mobile device - we don't have any plans to add a display. However, SPI is enabled on the board - it controls the stepper drivers (so Adrian tells me). We think it's probably broken out to some pins, but you'll have to refer to the schematics.

Ian
RepRapPro tech support

Yeah, Adrian is right, it uses in on the expansion board, I never looked at that board until now sad smiley

Just thought it would be cool that's all.

Paul


RS Ormerod No 436
Re: Firmware change proposals
January 10, 2014 03:29AM
The SPI, I2C and serial lines are all channeled to the expansion board, and from there to a further header.

I2Cbus 0 is used to control both digipots to set the stepper current, one on the Duet and one on the Duex4 (current expansion board)

So there is a free I2C bus, SPI bus and serial lines which could be used for a display if someone was to write the code for the firmware (or port the existing Marlin code)

Tony



[blog.think3dprint3d.com]
Sorry, only registered users may post in this forum.

Click here to login