Re: New experimental firmware: all kinematics in host July 30, 2017 06:57AM |
Registered: 7 years ago Posts: 1 |
Re: New experimental firmware: all kinematics in host July 30, 2017 08:37PM |
Registered: 7 years ago Posts: 7 |
Re: New experimental firmware: all kinematics in host August 09, 2017 05:05AM |
Registered: 11 years ago Posts: 23 |
Re: New experimental firmware: all kinematics in host August 09, 2017 07:42AM |
Registered: 11 years ago Posts: 126 |
Re: New experimental firmware: all kinematics in host August 09, 2017 07:47AM |
Registered: 11 years ago Posts: 23 |
Re: New experimental firmware: all kinematics in host August 09, 2017 08:03AM |
Registered: 11 years ago Posts: 126 |
# This file serves as documentation for config parameters of delta # style printers. One may copy and edit this file to configure a new # delta printer. Only parameters unique to delta printers are # described here - see the "example.cfg" file for description of # common config parameters. # DO NOT COPY THIS FILE WITHOUT CAREFULLY READING AND UPDATING IT # FIRST. Incorrectly configured parameters may cause damage. # The stepper_a section describes the stepper controlling the front # left tower (at 210 degrees). This section also controls the homing # parameters (homing_speed, homing_retract_dist) and maximum tower # length (position_max) for all towers. [stepper_a] step_pin: ar54 dir_pin: ar55 enable_pin: !ar38 step_distance: .01 endstop_pin: ^ar2 homing_speed: 50.0 position_endstop: 296.78 position_max: 300 # The stepper_b section describes the stepper controlling the front # right tower (at 330 degrees) [stepper_b] step_pin: ar60 dir_pin: ar61 enable_pin: !ar56 step_distance: .01 endstop_pin: ^ar15 position_endstop: 296.78 # The stepper_c section describes the stepper controlling the rear # tower (at 90 degrees) [stepper_c] step_pin: ar46 dir_pin: ar48 enable_pin: !ar62 step_distance: .01 endstop_pin: ^ar19 position_endstop: 296.78 [extruder] step_pin: ar26 dir_pin: ar28 enable_pin: !ar24 step_distance: .0022 nozzle_diameter: 0.400 filament_diameter: 1.750 max_extrude_only_distance: 5000.0 heater_pin: ar10 sensor_pin: analog13 sensor_type: ATC Semitec 104GT-2 control: pid pid_Kp: 22.2 pid_Ki: 1.08 pid_Kd: 114 min_extrude_temp: 100 min_temp: 1 max_temp: 250 [heater_bed] heater_pin: ar8 sensor_pin: analog14 sensor_type: EPCOS 100K B57560G104F control: watermark min_temp: 1 max_temp: 130 # Extruder print fan (omit section if fan not present) [fan] pin: ar9 hard_pwm: 1 [mcu] #serial: /dev/ttyACM0 serial: /dev/serial/by-id/usb-Arduino__www.arduino.cc__0042_75439323835351E0F140-if00 baud: 250000 pin_map: arduino [printer] kinematics: delta # This option must be "delta" for linear delta printers max_velocity: 300 max_accel: 3000 max_z_velocity: 150 # For delta printers this limits the maximum velocity (in mm/s) of # moves with z axis movement. This setting can be used to reduce the # maximum speed of up/down moves (which require a higher step rate # than other moves on a delta printer). delta_arm_length: 333.0 # Length (in mm) of the diagonal rods that connect the linear axes # to the print head delta_radius: 174.75 # Radius (in mm) of the horizontal circle formed by the three linear # axis towers. This parameter may also be calculated as: # delta_radius = smooth_rod_offset - effector_offset - carriage_offset motor_off_time: 600
Re: New experimental firmware: all kinematics in host August 09, 2017 08:14AM |
Registered: 11 years ago Posts: 23 |
Re: New experimental firmware: all kinematics in host August 09, 2017 11:52AM |
Registered: 14 years ago Posts: 107 |
Quote
micheleamerica
The position and radius corrections are determined by the auto calibration procedure and serve to counter any printer mechanical issue (bad build to make it short), such as the angles between towers not being exactly 120°, or the length of the diagonal rods not being all exactly the same.
Re: New experimental firmware: all kinematics in host August 09, 2017 03:35PM |
Registered: 11 years ago Posts: 23 |
Re: New experimental firmware: all kinematics in host August 09, 2017 07:47PM |
Registered: 14 years ago Posts: 107 |
Quote
micheleamerica
My bad... I missed the tower angle parameter. Can you please detail what is the reference (zero angle) and how adjustments could be made on those parameters (clockwise or counter-clockwise)?
Quote
I'll take a look at the code and compare it with code of firmwares that take the diagonal rod corrections per tower. Nonetheless I think you "virtual tower" method is very different from what is done is other firmwares to determine the stepper movements and that it will render any comparison complex to say the least.
Quote
In any case thanks for the details.
One additional question. My current setup has a number of configuration parameters stored in the EEPROM of the RADDS card. If I upload your controller code will I lose the contents of the EEPROM or will they still be there if I go back to the MK4duo firmware?
Re: New experimental firmware: all kinematics in host August 16, 2017 12:29AM |
Registered: 7 years ago Posts: 16 |
Re: New experimental firmware: all kinematics in host August 16, 2017 11:34AM |
Registered: 14 years ago Posts: 107 |
Quote
MarkLogan
Hi Kevin - I'm interested in trying this out on my D-bot core x/y printer. I have a few questions:
1) In the example configs I'm seeing a position-endstop for z that is non-zero. Even in the corex/y sample its 0.5 and others in this forum I've seen at 0.1. Is there a reason that shouldn't be 0?
Quote
2) My hotend thermistor I believe is supported. However my heat bed would be 'type 11' in the Marlin config (sorry don't have the code here to look up the actual type). Would the fix for that be as simple as adding the new values to heater.py and then specifying in the config?
Quote
3) Is PID supported for the heatbed too? I don't think I saw it in any of the example configs - just wanted to confirm.
Quote
I think that's it for now.
Thanks for your great work on this project.
Mark
edit: Took out my question about multiple steppers for Z. Realized the two motors are being driven by the one stepper.
Re: New experimental firmware: all kinematics in host August 16, 2017 03:20PM |
Registered: 7 years ago Posts: 16 |
Ah, OK, I get it. I was thinking of the endstop as zero as opposed to where the head hits the bed. Based on my bed leveling I think I'll set this to 0.1 and give it a try. May need some tweaking.Quote
KevinOConnor
Hi Kevin - I'm interested in trying this out on my D-bot core x/y printer. I have a few questions:
1) In the example configs I'm seeing a position-endstop for z that is non-zero. Even in the corex/y sample its 0.5 and others in this forum I've seen at 0.1. Is there a reason that shouldn't be 0?
Zero is the point where the head would contact the bed (when the head is heated). I don't recommend placing the end-stop at zero because it risks the head colliding with the bed during homing (the switch is only triggering when the head contacts the bed). I'd recommend adjusting the switch to be a small distance (eg, 0.5mm) away so that the switch triggers before the head comes in contact with the bed. Almost all switches can then be over-driven a small distance so, for example, the head can still move to 0.2mm even if the switch triggers at 0.5mm.
Better yet, though, would be to home towards z-max if you can. I've found that to be easier to tune and it eliminates all the frustration with head crashes.
Quote
2) My hotend thermistor I believe is supported. However my heat bed would be 'type 11' in the Marlin config (sorry don't have the code here to look up the actual type). Would the fix for that be as simple as adding the new values to heater.py and then specifying in the config?
Yes - the Steinhart-Hart coefficients just need to be added to the top of heater.py.
Quote
3) Is PID supported for the heatbed too? I don't think I saw it in any of the example configs - just wanted to confirm.
It should work.
Quote
Thanks!
-Kevin
Re: New experimental firmware: all kinematics in host August 17, 2017 12:40AM |
Registered: 7 years ago Posts: 16 |
Quote
MarkLogan
Quote
2) My hotend thermistor I believe is supported. However my heat bed would be 'type 11' in the Marlin config (sorry don't have the code here to look up the actual type). Would the fix for that be as simple as adding the new values to heater.py and then specifying in the config?
Yes - the Steinhart-Hart coefficients just need to be added to the top of heater.py.
Perfect, I'll populate it.
Re: New experimental firmware: all kinematics in host August 17, 2017 10:58AM |
Registered: 14 years ago Posts: 107 |
Quote
MarkLogan
Seems I spoke a little soon on the Steinhart-Hart coefficients. I did a bunch of searching and couldn't find the values. I found calculators and tried to generate the values from datasheet, but they didn't seem right. So then I tried to replicate the coefficients you had for the already supported thermistors based on the values in the datasheets - and that didn't work. During my searching I did find the values you have, so no question yours are right. I just can't figure out how to generate the correct values. Any suggestions on how to do it or where I should look?
The thermistor I'm looking to support is 11 in marlin:
* 11 : 100k beta 3950 1% thermistor (4.7k pullup)
Re: New experimental firmware: all kinematics in host August 17, 2017 03:22PM |
Registered: 14 years ago Posts: 107 |
Quote
KevinOConnor
Quote
MarkLogan
Seems I spoke a little soon on the Steinhart-Hart coefficients. I did a bunch of searching and couldn't find the values. I found calculators and tried to generate the values from datasheet, but they didn't seem right. So then I tried to replicate the coefficients you had for the already supported thermistors based on the values in the datasheets - and that didn't work. During my searching I did find the values you have, so no question yours are right. I just can't figure out how to generate the correct values. Any suggestions on how to do it or where I should look?
The thermistor I'm looking to support is 11 in marlin:
* 11 : 100k beta 3950 1% thermistor (4.7k pullup)
It looks like that table in Marlin was generated before Marlin used the Steinhart-Hart calculations. Looks like the table was produced with an old Marlin using:
createTemperatureLookupMarlin.py --r0=100000 --t0=25 --beta=3950 --r1=0 --r2=4700 --num-temps=50
From wikipedia we can translate that to Steinhart-Hart using:
c0=1/(t0 + 273.15) - ln(r0)/beta
c1=1/beta
c2=0
However, if you can find the datasheet for the thermistor, it'd probably be best to directly calculate the Steinhart-Hart coefficients from three temperature => resistance measurements.
Re: New experimental firmware: all kinematics in host August 18, 2017 12:16AM |
Registered: 7 years ago Posts: 16 |
Quote
KevinOConnor
Quote
KevinOConnor
Quote
MarkLogan
Seems I spoke a little soon on the Steinhart-Hart coefficients. I did a bunch of searching and couldn't find the values. I found calculators and tried to generate the values from datasheet, but they didn't seem right. So then I tried to replicate the coefficients you had for the already supported thermistors based on the values in the datasheets - and that didn't work. During my searching I did find the values you have, so no question yours are right. I just can't figure out how to generate the correct values. Any suggestions on how to do it or where I should look?
The thermistor I'm looking to support is 11 in marlin:
* 11 : 100k beta 3950 1% thermistor (4.7k pullup)
It looks like that table in Marlin was generated before Marlin used the Steinhart-Hart calculations. Looks like the table was produced with an old Marlin using:
createTemperatureLookupMarlin.py --r0=100000 --t0=25 --beta=3950 --r1=0 --r2=4700 --num-temps=50
From wikipedia we can translate that to Steinhart-Hart using:
c0=1/(t0 + 273.15) - ln(r0)/beta
c1=1/beta
c2=0
However, if you can find the datasheet for the thermistor, it'd probably be best to directly calculate the Steinhart-Hart coefficients from three temperature => resistance measurements.
It turns out the code wont handle a c3=0. So, I reworked the code a bit. With the latest code you can now directly add three temperature & resistance measurements to heater.py, or you can use a new "NTC 100K beta 3950" config setting.
-Kevin
Re: New experimental firmware: all kinematics in host August 18, 2017 01:46PM |
Registered: 7 years ago Posts: 16 |
Re: New experimental firmware: all kinematics in host August 18, 2017 04:32PM |
Registered: 14 years ago Posts: 107 |
Quote
MarkLogan
Well that went far smoother than I expected. I had a couple of config changes I needed to make to get the right movement direction and endstops. Otherwise it really just worked. The temperature on the heat bed was rock steady with the new thermistor type that was added and my existing PID values.
I printed 3 XYZ cubes at varying speeds: 80mm/s (my normal speed with Ramps board), 150 mm/s and 120 mm/s. They came out really well except at the top of the 'Y'. Interested in any suggestions as to what I could tweak to clean that up.
Re: New experimental firmware: all kinematics in host August 19, 2017 01:31PM |
Registered: 7 years ago Posts: 16 |
Quote
KevinOConnor
Quote
MarkLogan
Well that went far smoother than I expected. I had a couple of config changes I needed to make to get the right movement direction and endstops. Otherwise it really just worked. The temperature on the heat bed was rock steady with the new thermistor type that was added and my existing PID values.
I printed 3 XYZ cubes at varying speeds: 80mm/s (my normal speed with Ramps board), 150 mm/s and 120 mm/s. They came out really well except at the top of the 'Y'. Interested in any suggestions as to what I could tweak to clean that up.
Have you tuned pressure advance (as described here)? If you haven't, I suspect you'll see a noticeable improvement on your prints at high speed with it tuned.
I'm not sure why the Y is suffering (more than X is). Maybe when the head moves during the printing of that face of the cube there is more slop on the axis? You could try printing the cube when it is rotated to see if it is something to do with the Y or something to do with printing in that orientation.
-Kevin
Re: New experimental firmware: all kinematics in host August 19, 2017 02:11PM |
Registered: 7 years ago Posts: 11 |
Re: New experimental firmware: all kinematics in host August 19, 2017 05:55PM |
Registered: 14 years ago Posts: 107 |
Quote
chapelhill
I then struggled to get Z working and there seems to be some speed issue?
I had steps configured to .0004961 (Wrong I know but within 80% of actual), but with Z configured with any max speed over 10 mm/s which i think would be approx 18,000 pulses a second the firmware would stop and halt MCU as soon as you try to home Z. I have uploaded Kllipy log in case it helps.
Quote
I notice second homing on Z seems to be slower, is there a place to alter the second homing speed.?
Re: New experimental firmware: all kinematics in host August 19, 2017 06:35PM |
Registered: 7 years ago Posts: 16 |
Quote
MarkLogan
Quote
KevinOConnor
Quote
MarkLogan
Well that went far smoother than I expected. I had a couple of config changes I needed to make to get the right movement direction and endstops. Otherwise it really just worked. The temperature on the heat bed was rock steady with the new thermistor type that was added and my existing PID values.
I printed 3 XYZ cubes at varying speeds: 80mm/s (my normal speed with Ramps board), 150 mm/s and 120 mm/s. They came out really well except at the top of the 'Y'. Interested in any suggestions as to what I could tweak to clean that up.
Have you tuned pressure advance (as described here)? If you haven't, I suspect you'll see a noticeable improvement on your prints at high speed with it tuned.
I'm not sure why the Y is suffering (more than X is). Maybe when the head moves during the printing of that face of the cube there is more slop on the axis? You could try printing the cube when it is rotated to see if it is something to do with the Y or something to do with printing in that orientation.
-Kevin
Quick update:
I tried to calibrate the pressure advance. I printed the test squares from 0 up to .25 and really I don't see much difference. My printer has a long bowden tube, not sure if that would mean I should go higher. Note that they all look pretty good so its not an issue of bad to better, its pretty consistently good.
Next I set the pressure_advance to 0.2 and the look ahead back to 0.01 and printed the xyz cube at 120 mm/s again. I cranked the part fan up and the 'Y' was not prefect but it was better. The corners were also improved a bit so I think the pressure_advance helped there. Finally I rotated the cube so the Y was at the front and the X was to the left (rather than X at front and Y at right). The whole cube came out perfectly, both the X and the Y. I'm going to try one more test where I rotate it the other way so the X will be on the right and the Y will be on the back.
Outside of this tweaking I have not run into any problems at all - very stable, very consistent results.
Re: New experimental firmware: all kinematics in host August 21, 2017 10:41AM |
Registered: 9 years ago Posts: 10 |
Re: New experimental firmware: all kinematics in host August 28, 2017 03:49PM |
Registered: 7 years ago Posts: 11 |
Re: New experimental firmware: all kinematics in host August 28, 2017 09:48PM |
Registered: 14 years ago Posts: 107 |
Quote
chapelhill
Hi all.
I tried pressure advance on my corexy with it set to 0.20 ( I think that was default) but time parameter at 0. I have a geared extruder and over regions with lots of zig zig my extruder was going net further and further backwards leaving small regions with no filament. This was the object
v-block
It also sounded like it was hammering the extruder and pushed out PTFE from fitting but that could just be my settings.
I have presumed that pressure advance works in partnership with retraction settings.
Re: New experimental firmware: all kinematics in host August 29, 2017 02:31AM |
Registered: 7 years ago Posts: 11 |
Re: New experimental firmware: all kinematics in host August 29, 2017 11:00AM |
Registered: 14 years ago Posts: 107 |
Quote
chapelhill
I followed instructions as per pressure advance document in increments of 0.05 and could not really see any difference in quality on corners of box but it is a new build where I still have some learning to do so left it at the final setting which I think was 0.2.
Quote
On subsequent prints I noticed on the short stroke diagonal in-fill sections on you could see the extruder going further and further backwards so that at the end of each pass the extruder was further back than the start of each pass about as much as you would expect it to go forwards. This was on a slower first layer too.
If the extruder finishes further back than starting point after trying to extrude material there has too be some issue with the calculation perhaps only on corexy kinematics as this was a diagonal in fill. I simply disabled pressure advance and was able to print first layers successfully.
Quote
It also sounded like it was hammering the extruder and pushed out PTFE from fitting but that could just be my settings.
Re: New experimental firmware: all kinematics in host August 29, 2017 12:28PM |
Registered: 7 years ago Posts: 16 |
Quote
KevinOConnor
Quote
chapelhill
I followed instructions as per pressure advance document in increments of 0.05 and could not really see any difference in quality on corners of box but it is a new build where I still have some learning to do so left it at the final setting which I think was 0.2.
Interesting. Some users (along with my printer) report significant results with pressure_advance. Other users, like yourself, report no difference. Do you have a bowden or direct drive extruder? Did you see blobs at the corners of the test object even on the first print (with pressure_advance set to zero)?
In any case, definitely choose the lowest pressure_advance value that shows the desired quality. So, if you don't see any quality difference, go with a value of 0.
-Kevin
Re: New experimental firmware: all kinematics in host August 29, 2017 01:35PM |
Registered: 7 years ago Posts: 11 |