Hello All,
I just wanted to share the successful result:
The only target for me right now is filament detection. 5 kg filament consumed so fast with no sense.
Hello All,
I just wanted to share the successful result:
The only target for me right now is filament detection. 5 kg filament consumed so fast with no sense.
@Dougal1957
Hi, here is the link of the video of breef info about components and measurement proof of belt teeth .
Youtube Link: for the homing calibration and teeth
Dear All,
I have prepared a G-code reversing tool Console App just to use to reverse motion of the print to be able to test best position to rewind Using C#. Please feel free to use the source if you find it useful. for sometimes it will help us to work manually. But I still required the tool DWC plugin or SBC function.
https://github.com/tunerji/G-Rewind
While reversing code, the code blocks sharing Feed rates and Z height had to be critically analyzed. That's why it was a bit important to review the code a few times.
However, it is temporary solution to me and we still need to make interface buttons and functions to run drive back and forward. The method might need to different way of capturing feed-rate and Z values in real time, once reversed, it use that one.
I assume if we tag all line having G0 and G1 commands as F and Z height of each X and Y coordinates, it might be easy to produce reversing go code in real time at the client side.
However like my case, if paused, machine might lift head and we might need to disable macros like pause and resume too.
as you may notice, in the g-code, Feed rate and Z coordinate has to be shifted and placed on right place, by respecting their groups like G0 and G1 and F Values. My reversing app does that if you like to inspired from there.
Example G-Code Snippet
G1 F1500 X0.00 Y-550 Z1.25 ; Move to coordinates with feed rate of 1500
G0 F4000 X0.00 Y0.00 ; Rapid move to new coordinates
G1 F1200 X476.314 Y275 ; Controlled move to new coordinates
G1 X0.00 Y0.00 ; Move back to start point
Reversed G-Code Example
After processing with G-Rewind, the G-code might look like this:
G1 X0.00 Y0.00 Z1.25 ; Move back to start point
G0 F4000 X0.00 Y0.00 ; Rapid move to previous coordinates
G1 F1500 X476.314 Y275 ; Controlled move to previous position
G1 X0.00 Y-550 ; Reverse move to the starting coordinates
By the way, we have one more financial support candidate a friend of mine, who is wiling to donate 500 too. Therefore, we have total 1000 budget for now. We might rise more who is required to use it like my case. If you may accept, besides my method or code generation support, I can handover you my portion donation. Please feel free to reach me in private talk about it.
@dc42 Thanks for the support. Unfortunately, I am in quarantine. As soon as I finish it I will try again.
@dc42 Hi
Yes, it is 10 mm pitch and revolution 140 mm I have just confirmed steps/mm was correct. During the homing, as soon as the first or second limit switch engaged, the last motor slow down almost 8 times. and homing failed. One or a few pass then homing success.
This is the video about the issue.
Link: Youtube video of Giant Delta Testing and issues.
@dc42 it is actually 10 mm. Because it is 3 meter high that's looks small.
Hello All,
Dyze-Design typhoon hot-end brief info:
I had a very difficult time getting it to work Dyze-Design typhoon hot-end.
The heating block long and high-density plastic extrusion capacity one of the highest in the range. IT can extrude 1 kg per hour, heating up to 480 celsius with no problem. The heating block contains two individual heaters and two sensors to maintain the temperature on the long tube.
The problems we faced in the beginning:
Therefore complication starts.
The solution for now temporarily:
Suggestion by David(@dc42)
Tuning those coupled heaters may work better using the following procedure;
Set the M570 limits for those heaters very high.
Find some parameters that allow you to heat both heaters at once to the target temperature.
With heater #1 at its normal operating temperature, tune heater #2 with the target temperature equal to its normal operating temperature.
Now set heater #2 to its normal operating temperature and tune heater #1.
If you continue to get "Temperature rising too slowly" errors, the fix is to reduce the gain or heating rate parameter. That's the M307 R parameter in 3.2RC1 and later.
Therefore I have found the parameters as advised:
I have set M570 on the S parameter at 240 ( position in the config after the M307 and M950 parameters.
I have set the M307 parameters;
M307 H1 A550 C180 D2.0 S0.35 V24.3 B0
M307 H2 A550 C239 D2.7 S0.5 V24.3 B0
You may see the different S parameters which are PWM settings.
In conclusion; I realize the present Reprap time and delay-dependent on algorithms are not really efficient, some cases not sufficient too, especially for the industry and advanced systems like the Dyze-Design Typhoon hot-ends.
Because the heating material is not gained temperature linear in time. If you measure the temperature peak after the cut-off, the difference between peak and cut-off should be the main value of concentration. If the peak temperature above the target range, cut-in temperature could be reduced, or if the cut is below the target range reduces the PWM and increase the cut-in temperature just equal to or above the cut-in.
Therefore, by implementing this main opportunity;
I believe I know the way it should be, If you like, please guide or contribute that we achieve success.
Kind Regards
Serkan
@Phaedrux width of the belt 25 mm.
@jay_s_uk said in Cold extrusion even the one of the pair disabled:
Thanks, I will definitely try this one. However, can I backup the existing firmware?
Dear All,
I have prepared a G-code reversing tool Console App just to use to reverse motion of the print to be able to test best position to rewind Using C#. Please feel free to use the source if you find it useful. for sometimes it will help us to work manually. But I still required the tool DWC plugin or SBC function.
https://github.com/tunerji/G-Rewind
While reversing code, the code blocks sharing Feed rates and Z height had to be critically analyzed. That's why it was a bit important to review the code a few times.
However, it is temporary solution to me and we still need to make interface buttons and functions to run drive back and forward. The method might need to different way of capturing feed-rate and Z values in real time, once reversed, it use that one.
I assume if we tag all line having G0 and G1 commands as F and Z height of each X and Y coordinates, it might be easy to produce reversing go code in real time at the client side.
However like my case, if paused, machine might lift head and we might need to disable macros like pause and resume too.
as you may notice, in the g-code, Feed rate and Z coordinate has to be shifted and placed on right place, by respecting their groups like G0 and G1 and F Values. My reversing app does that if you like to inspired from there.
Example G-Code Snippet
G1 F1500 X0.00 Y-550 Z1.25 ; Move to coordinates with feed rate of 1500
G0 F4000 X0.00 Y0.00 ; Rapid move to new coordinates
G1 F1200 X476.314 Y275 ; Controlled move to new coordinates
G1 X0.00 Y0.00 ; Move back to start point
Reversed G-Code Example
After processing with G-Rewind, the G-code might look like this:
G1 X0.00 Y0.00 Z1.25 ; Move back to start point
G0 F4000 X0.00 Y0.00 ; Rapid move to previous coordinates
G1 F1500 X476.314 Y275 ; Controlled move to previous position
G1 X0.00 Y-550 ; Reverse move to the starting coordinates
By the way, we have one more financial support candidate a friend of mine, who is wiling to donate 500 too. Therefore, we have total 1000 budget for now. We might rise more who is required to use it like my case. If you may accept, besides my method or code generation support, I can handover you my portion donation. Please feel free to reach me in private talk about it.
I assume, it is not easy. You know better, hardware and software capabilities of the DUET, I am suggesting as user.
In my past I had a CNC machine 20 years old, it could find the position of the tool head and allow me to start from there, where I lost the tool and changed. I assume it is easier way. I know that I suggested complicated way that, but would maybe better and professional.
What if I offer preparing python or C# script could handle the tasks and you help to fix in the DWC interface? We could even start with script. I believe I will start making reversing post processor for now and revers the sequence geode. and as soon as satisfied, I will mark the position and second task the skip the initial code.
We really need to take it serious and rise a fund for that job. It could save tons of plastic globally.
@sozkan said in Reverse G-Code sequence to find last successful point.:
So then,
May I request a new future update in the interface?
I can donate personally 500 Euros and invite people for donation and contribution of this future for the successful result.
Because large print outs such as my case and many people plastics are wasted to restart!
We can save our pockets and environment!
Feature Request: Enhanced Print Recovery via G-code Reversal
Overview
I'm proposing a new feature in the Duet3D firmware that would significantly enhance the ability to recover and continue a print after an interruption, such as an extruder clog. Currently, large prints can be difficult to restart precisely due to changes in temperature and positioning. To mitigate wasted material and time, I suggest the implementation of a sophisticated print recovery method that allows for the reversal of G-code to a previous successful layer.
Step-by-Step Implementation:
Capture the Last Successful Coordinate
Automated Capture: Implement a feature that periodically logs the current XYZ position and the corresponding G-code line number.
Manual Capture: Allow users to manually record the position and line number where the print was paused or failed.
Parse the G-code to Identify the Last Successful Point
Load G-code: Develop a tool or script to load the G-code file.
Identify Closest Match: The tool should search the G-code for the coordinates closest to the last successful position recorded.
Reverse the Movement Sequence
Reverse Movements: From the identified point, reverse the sequence of movement commands (G1) while excluding extrusion commands.
Negate Coordinates: Reverse the direction of each movement command to create a G-code sequence that retraces the printhead's path.
Prepare the Reversed G-code
Coordinate Adjustment: Negate the movements in the G-code while keeping extrusion (E) commands commented out.
Temperature Control: Ensure that the nozzle temperature is maintained or adjusted as necessary during this process.
Control Movement Speed
Adjust Feed Rate: Modify the feed rate (F) within the G-code to control the speed of the reverse movements.
Stepwise Reversal and Verification
Small Steps: Execute the reversed G-code in small, controlled steps, allowing for manual verification of the printhead’s position.
Adjustment: Provide the option to adjust the G-code or manually fine-tune the printhead’s position as needed.. Adjustment like step or multi step coordinate jump back and forward. Manual position changes should be in the adjustment as well. for some case motor step or temperature change effect on sensors.
Resume Printing
Prepare G-code: Once alignment is confirmed, prepare the original G-code to resume printing.
Skip to the Last Successful Point: Start the G-code from the identified successful point, ensuring all settings (temperature, extrusion mode, etc.) are correct.
Continue Printing: Execute the G-code to continue the print seamlessly.
Conclusion
This feature would greatly enhance print recovery options in the event of a failure, saving both time and material, especially for large or complex prints. I believe this enhancement aligns well with the innovative spirit of the Duet3D community and could be a valuable addition to the firmware. I'm willing to contribute to the development process and even offer a personal donation of 1000 Euros to support this feature's implementation.
So then,
May I request a new future update in the interface?
I can donate personally 500 Euros and invite people for donation and contribution of this future for the successful result.
Because large print outs such as my case and many people plastics are wasted to restart!
We can save our pockets and environment!
Hello,
Is there any ways to return back without canceling present print, just return back where last successful print, It is kind of semi-automated process.
It could even be possible if the job seems finished but machine had issues during the print. We simply run G code in reverse to find last successful place and forward.
Best Regards
Serkan
@deckingman Not exactly all parameters provided by Dyze, because heaters on the same blocks influence each other, tuning was quite difficult and took many trial and time to find those settings. As far as I remember earlier time PID tuning was not possible together. I had to run one by one. if it is possible, I would definitely run PID tuning if it is possible to run together. However, bangbang mode especially on heated bed works problem free.
@T3P3Tony said in Cold extrusion even the one of the pair disabled:
@sozkan ok yes so those are defined as i would expect them.
It may be an issue with the temperature sensor, is it always sensor 1 that that has the issue? Maybe look at temporarily switching them?
I thought about, but Dyze made everything very tight with their pcb connection, It is impossible. However I have replaced the block completely with new ones, still the same.
@T3P3Tony said in Cold extrusion even the one of the pair disabled:
@sozkan are you saying both extruder heaters are in the same heating block? If so how do you have the tool defined? normally you would have that as a single tool, with multiple heaters.
Yes, two heaters on the same block with individual driver and sensors tool defined as single one as the dyze design`s recommended parameters :
; HotEnd
M308 S1 P"spi.cs1" Y"rtd-max31865" ; configure sensor 1 as PT100 on pin e0temp
M308 S2 P"spi.cs2" Y"rtd-max31865" ; configure sensor 2 as PT100 on pin e1temp
M950 H1 C"e0heat" T1 ; create nozzle heater output on e0heat and map it to sensor 1
M950 H2 C"e1heat" T2 ; create nozzle heater output on e1heat and map it to sensor 2
M307 H1 B1 S0.36 ; 2.5 mm;
M307 H2 B1 S0.51 ; 2.5 mm nozzle
M570 H0 P5 T5 S240 ; H heater, T tolerance degree, S second persist.
M570 H1 P30 T30 S10 ; H heater, T tolerance degree, S second persist.
M570 H2 P30 T30 S10 ; H heater, T tolerance degree, S second persist.
M143 H1 S480 ;Set temperature max temp:
M143 H2 S480 ;Set temperature max temp:
M106 P0 I-1 ; no fan so disable it.
; Tools
M563 P0 D0 H2:1 F0 S"Typhoon" ; define tool 0
G10 P0 X0 Y0 Z0 ; set tool 0 axis offsets
G10 P0 R0 S0
@jay_s_uk said in Cold extrusion even the one of the pair disabled:
Thanks, I will definitely try this one. However, can I backup the existing firmware?
Dear Duet3D Community members and Admins,
Thankfully, I have successfully build and tuned nearly perfect situation a one of the largest Delta 3D printer with your contribution. We will build much more larger ones that present built was really good experience for us.
However, rarely having an issue in the middle of the printing one of the heater on the same heating core goes on emergency mode, eighter extreme or low temperature warning. But it is causing a big waste if happens.
The extreme temperature error as you may see in the photo that suddenly appearing and it disabling the one of the heater and continue printing with one! Since two heater set and specified in the config as single heating core it is cousing stress on the extruder motor and crushed the gears.
As you can see second heater shown 159.5 and printing stopped! Despite the one heater disabled, before stopping it, it continue printing until the second sensors shown low temperature. However during this time problems caused cold extrusion, drive gears and motors stress and and failed print output and few hundreds euros damage and several kilo waste of materials.
Things could be better if possible in firmware:
Could you please recommend what could be solutions to fix and avoid this problem?
I still could not figure out why it is happening!
I have tried: