Leaderboard
-
in Tutorials
- All areas
- Blog Entries
- Blog Comments
- Links
- Links Comments
- Links Reviews
- Tutorials
- Tutorial Comments
- Tutorials Reviews
- Support Replies
- Comments
- Files
- File Comments
- File Reviews
- Images
- Image Comments
- Image Reviews
- Albums
- Album Comments
- Album Reviews
- Topics
- Posts
- Records
- Record Comments
- Record Reviews
- Status Updates
- Status Replies
-
Year
-
All time
August 27 2021 - May 2 2025
-
Year
May 2 2024 - May 2 2025
-
Month
April 2 2025 - May 2 2025
-
Week
April 25 2025 - May 2 2025
-
Today
May 2 2025
- Custom Date
-
All time
Popular Content
Showing content with the highest reputation since 05/02/2024 in Tutorials
-
This Guide Is Maintained Over At Github - Click Here Installation of EDDY USB V1 and Raspberry Pi ----------------------------------------------------------------------------------------------- WARNING [KAMP aka Klipper-Adaptive-Meshing-Purging] should be removed from your klipper prior to using Eddy. Please comment out the include line. ie #[include ./KAMP/adaptive_meshing.cfg] from your KAMP_SETTINGS.cfg Instead KAMP has been integrated into klipper as of January 2024 and you should use the ADAPTIVE=1 option in your BED_MESH_CALIBRATION calls. You can find more [Information on Adaptive Mesh Here] ----------------------------------------------------------------------------------------------- WARNING - As it stands, Eddy requires the use of BTT's fork of klipper found [HERE]. This is included in the guide under steps 13. - This will be merged into mainline klipper at some stage and the guide will be updated once it happens. Until then this is a STRICT REQUIREMENT. ----------------------------------------------------------------------------------------------- Compiling Firmware 1. SSH into raspberry PI 2. Type cd ~/klipper make menuconfig 3. Use these settings in the attached image to compile the firmware. 4. Once set, hit 'Q' and when asked, select yes to save. 5. Type the following to compile the firmware. make 6. Disconnect power to Eddy 7. Push and hold boot button on Eddy (Its next to where the cable plugs in) and at the same time, plug in the cable to your Raspberry Pi 8. SSH into raspberry Pi 9. Type the following into the command line. You should see eddy. lsusb 10. Type the following into command line. cd ~/klipper 11. Then type into command line. make flash FLASH_DEVICE=2e8a:0003 Remember to change 2e8a:0003 to your device ID you found in step 9 12. Type into the command line. The found device will be what you enter into your klipper config under [mcu eddy] for the Serial variable. ls /dev/serial/by-id/* ----------------------------------------------------------------------------------------------- NOTE You need to change from the main branch of klipper to BTTs branch as discussed in the warning at the top of the page. This is only temporary and will be updated accordingly. Still accurate as of **13-05-2024**. ----------------------------------------------------------------------------------------------- 13. Change to BTT klipper by entering the following via SSH git remote add eddy https://github.com/bigtreetech/klipper git fetch eddy git checkout eddy/eddy 14. Type into command line sudo reboot Printer Configuration ----------------------------------------------------------------------------------------------- IMPORTANT Z Endstop If you want to enable Z-Homing/Endstop, under your [stepper_z] in printer.cfg change ``` endstop_pin: PA5 to endstop_pin: probe:z_virtual_endstop and comment out or remove position_endstop: 0 ----------------------------------------------------------------------------------------------- 15. Add the following to your printer.cfg making sure to adjust for your bed size and probe position ----------------------------------------------------------------------------------------------- IMPORTANT Adjust your **x_offset** and **y_offset** to match your probe position relative to your nozzle. You can do that following these steps found [HERE] ----------------------------------------------------------------------------------------------- [mcu eddy] serial: /dev/serial/by-id/usb-Klipper_rp2040_4550357129142D58-if00 [temperature_sensor btt_eddy_mcu] sensor_type: temperature_mcu sensor_mcu: eddy min_temp: 10 max_temp: 100 [probe_eddy_current btt_eddy] sensor_type: ldc1612 z_offset: 1.0 #i2c_address: i2c_mcu: eddy i2c_bus: i2c0f x_offset: 0 # Set according to the actual offset relative to the nozzle y_offset: 20 # Set according to the actual offset relative to the nozzle data_rate: 500 [temperature_probe btt_eddy] sensor_type: Generic 3950 sensor_pin: eddy:gpio26 horizontal_move_z: 2 [bed_mesh] horizontal_move_z: 2 speed: 300 mesh_min: 10, 10 mesh_max: 220, 220 probe_count: 9, 9 algorithm: bicubic [safe_z_home] home_xy_position: 125, 125 z_hop: 10 z_hop_speed: 25 speed: 200 Live Current Calibration 16. Place Eddy Approx. 20mm above the bed. 17. From Mainsail or Fluidd run command LDC_CALIBRATE_DRIVE_CURRENT CHIP=btt_eddy 18. Type SAVE_CONFIG to save the drive currant to your config Z Offset Calibration ----------------------------------------------------------------------------------------------- IMPORTANT If using a printer with Quick Gantry Leveling (Voron etc) perform it now to ensure the gantry is level and to prevent the nozzle rubbing into the bed. ----------------------------------------------------------------------------------------------- 19. Home X and Y axes with command G28 X Y` 20. Make sure you dont have a bed heightmap loaded. 21. Move Nozzle to Centre of the bed with G0 X125 Y125 F6000 (adjust for your bed size) 22. Start Manual Z-Offset Calibration by typing PROBE_EDDY_CURRENT_CALIBRATE CHIP=btt_eddy (TIP: Go a little lower than you normally would) ----------------------------------------------------------------------------------------------- IMPORTANT Perform another Quick Gantry Leveling (Voron etc) ----------------------------------------------------------------------------------------------- 23. Once completed use SAVE_CONFIG Bed Mesh Calibration 24. Home All Axes 25. Use command BED_MESH_CALIBRATE METHOD=scan SCAN_MODE=rapid 26. Once completed use SAVE_CONFIG Temperature Compensation Calibration (Eddy USB ONLY) ----------------------------------------------------------------------------------------------- CAUTION The following steps (27-36) are for Eddy USB Only. Eddy Coil doesnt have temperature compensation so these steps should be disregarded. ----------------------------------------------------------------------------------------------- 27. Home All Axes and move Z 10 above bed 28. Set idle timeout SET_IDLE_TIMEOUT TIMEOUT=36000 29. Record ambient temp of the BTT Eddy Sensor 30. Set max temp for bed (i.e 100c) and set typical temperature for hotend (200c) 31. Wait for BTT Eddy temp to stabilize then record temp. 32. Return to room temp by turning off bed and hotend ----------------------------------------------------------------------------------------------- TIP If you have a high range to test between ambient and max eddy temp from step 25, you can change the value of STEP=3 to STEP=5 to save you some time. Ideally you want as many calibration points as possible for the best use of eddy but I found for range between 30c-50c a STEP value of 3 was sufficient. ----------------------------------------------------------------------------------------------- 33. Run PROBE_DRIFT_CALIBRATE PROBE=btt_eddy TARGET=50 STEP=3 (target should be the temp you recorded of the max recorded temp from step 31. 34. Using [the paper method] adjust your Z offset. 35. Turn on your heat bed and nozzle to same values as step 30 36. As Eddy temp rises at each 3c (STEP=3) increment, you will automatically be asked to set the z-offset when prompted using the paper test. NOTE By default the calibration procedure will request a manual probe every 2C between samples until the TARGET is reached. The temperature delta between samples can be customized by setting the STEP parameter in PROBE_DRIFT_CALIBRATE. The following additional gcode commands are available during drift calibration. PROBE_DRIFT_NEXT may be used to force a new sample before the step delta has been reached. PROBE_DRIFT_COMPLETE may be used to complete calibration before the TARGET has been reached. ABORT may be used to end calibration and discard results. TIP You might not reach your target temperature, thats okay. You can end the test by using command PROBE_DRIFT_COMPLETE to finish. 37. Youre all done! Make sure you LIVE ADJUST your z-offset with your first print to really home it in. Bed Mesh Calibrate Parameters Some probes, such as Eddy, are capable of "scanning" the surface of the bed. That is, these probes can sample a mesh without lifting the tool between samples. To activate scanning mode, the `METHOD=scan` probe parameter should be passed in the `BED_MESH_CALIBRATE` gcode command. To accommodate these probes the following additional `probe_parameters` are available to BED_MESH_CALIBRATE: SCAN_MODE=[detailed | rapid]: Choses the scan mode. The `detailed` mode will pause and collect samples at each probe point. The `rapid` mode will travel on a continuous path with no pauses, collecting samples near each probe point. SCAN_SPEED=[speed]: The maximum X/Y travel velocity of the tool when performing a scan. The default is the value of the `speed` option in the configuration. SAMPLE_TIME=[time]: The time, in seconds, the tool pauses for sample collection in `detailed` scan mode. The default is .1 seconds. SAMPLES_RESULT=[option]: The type of averaging to perform on collected samples. Available options are: standard: All collected samples are averaged. centered: Samples are sorted by value. The first and last quarters are discarded and the remaining samples are averaged. weighted: Samples closer to the desired probe location are assigned more weight in the average than samples farther from the location. Bed Mesh Scan Height The scan height is set by the `horizontal_move_z` option in `[bed_mesh]`. In addition it can be supplied with the `BED_MESH_CALIBRATE` gcode command via the `HORIZONTAL_MOVE_Z` parameter. The scan height must be sufficiently low to avoid scanning errors. Typically a height of 2mm (ie: `HORIZONTAL_MOVE_Z=2`) should work well, presuming that the probe is mounted correctly. It should be noted that if the probe is more than 4mm above the surface then the results will be invalid. Thus, scanning is not possible on beds with severe surface deviation or beds with extreme tilt that hasn't been corrected. Rapid (Continuous) Scanning When performing a `rapid` scan one should keep in mind that the results will have some amount of error. This error should be low enough to be useful on large print areas with reasonably thick layer heights. Some probes may be more prone to error than others. It is not recommended that rapid mode be used to scan a "dense" mesh. Some of the error introduced during a rapid scan may be gaussian noise from the sensor, and a dense mesh will reflect this noise (ie: there will be peaks and valleys). Bed Mesh will attempt to optimize the travel path to provide the best possible result based on the the configuration. This includes avoiding faulty regions when collecting samples and "overshooting" the mesh when changing direction. This overshoot improves sampling at the edges of a mesh, however it requires that the mesh be configured in a way that allows the tool to travel outside of the mesh. [bed_mesh] speed: 120 horizontal_move_z: 5 mesh_min: 35, 6 mesh_max: 240, 198 probe_count: 5 scan_overshoot: 8 - scan_overshoot _Default Value: 0 (disabled)_\ The maximum amount of travel (in mm) available outside of the mesh. For rectangular beds this applies to travel on the X axis, and for round beds it applies to the entire radius. The tool must be able to travel the amount specified outside of the mesh. This value is used to optimize the travel path when performing a "rapid scan". The minimum value that may be specified is 1. The default is no overshoot. If no scan overshoot is configured then travel path optimization will not be applied to changes in direction. Extras & Notes START PRINT Macro Add the following to your start print macro to enable adaptive bed mesh using Eddy BED_MESH_CALIBRATE SCAN_MODE=rapid METHOD=scan ADAPTIVE=1 # FAQ - Frequently Asked Questions Eddy is performing Z Hops when running Bed Mesh Make sure you are using the correct macro call. BED_MESH_CALIBRATE SCAN_MODE=rapid METHOD=scan Remove or alter KAMP - Adaptive Bed Mesh and any custom BED_MESH_CALIBRATE macros. Use klipper adaptive mesh instead or alternatively do not include KAMP/Adaptive_Meshing.cfg in your KAMP_Settings.cfg [Information on Adaptive Mesh Here] Known Issues BTT Knomi will cause z-hops, please edit you KNOMI.CFG specifically this line. SET_GCODE_VARIABLE MACRO=_KNOMI_STATUS VARIABLE=probing VALUE=True BTT_BED_MESH_CALIBRATE SET_GCODE_VARIABLE MACRO=_KNOMI_STATUS VARIABLE=probing VALUE=False so that it looks like this SET_GCODE_VARIABLE MACRO=_KNOMI_STATUS VARIABLE=probing VALUE=True BTT_BED_MESH_CALIBRATE SCAN_MODE=rapid METHOD=scan SET_GCODE_VARIABLE MACRO=_KNOMI_STATUS VARIABLE=probing VALUE=False Which Eddy version should I use? It depends on your needs. Eddy USB and Eddy Coil are nearly identical, however Eddy Coil is more for toolhead boards and connects via I2C connectors. Eddy Coil cannot be used for z-homing as a z-endstop as it doesnt feature temperature compensation.2 points
-
Disclaimer. There are limits to what you can convert. Complex models with lots of fillets and chamfers are very difficult if not impossible to convert. This tutorial is will allow you to convert most simple parts so that they can be readily modified to suit your needs. OK, with that out of the way, let's get started. 1. Launch Fusion 360. Fusion will automatically open a "New Design" and that is where we'll start. 2. Navigate to the mesh environment buy clicking "MESH" on the top portion of the Fusion window. The menu along the top will change and the icons will look like the ones in the picture below. 3. Fusion employs a workflow that that moves from left to right along the top of the screen. What I mean by this is that the first icon you click will be the furthest to the left and your next step will be one of the icons to the right of the first one and so on. The icons are also grouped to follow the workflow as well. Our workflow is Create -> Prepare -> Modify and it's labeled under the icons.. So let's click the "Insert Mesh" icon in the "Create" section, it's the 1st one on the left (Yellow Hexagon with blue arrow). When you do, a window will appear where you can navigate and select your mesh object (STL). Click the object, click "Open" and your mesh object will appear inside of Fusion. Fusion gives you the chance to orient, move, scale the object before you commit but, most of the time you just need to accept the default by clicking OK. 4. Next we'll create "Face Groups". Click the "Generate Face Groups" icon (above PREPARE). Select the mesh you just imported and click the "Preview" checkbox to view the mesh groups. As you can see Fusion has grouped the faces based on an angle threshold. Most of the time the default value will get you where you need to be. Of course you can modify the angle value and experiment if you don't get desired results. Basically you want discreet groups as is shown below. Where you run into trouble is when there are a lot of radii on the part and the groups start to run into each other. I'll do another tutorial on reverse engineering a part for the parts that you can't convert in the near future. So, Now that I'm satisfied with my mesh groups... Click OK to accept. 5. Next we'll convert the mesh to an editable solid. Click the "Convert Mesh" icon. It's the far right icon in the "Modify" section of the top menu. Select the mesh body. Make sure the Operation is set to Parametric and the Method is set to Prismatic. Click OK to accept and that's it! All done, easy peasy. The part will turn grey indicating that it's now an editable solid. 6. Now that we have an editable solid we leave the "MESH" environment and switch to the "SOLID" environment so that we can modify the part. Good luck and happy creating!1 point
-
So: in my past tutorial I've explained you how to measure the actual values of your hot end and bed to reliably transfer material profiles across your printers modifying them accordingly... What if bring you a way to harmonise your profile across your printers? I know there is people here that sticks to a single combo board/extruder/thermistor... therefore the error between printers will be minimal. However for the rest of mere mortals that use whatever hotend was available, and batches of thermistors sold by weight from the finest china, the errors btween printers can be over 25 degrees. For example while doing the previous tutorial i found out that moving the duet board from RRF to klipper was under reading by 15 degrees... And the fysect board in my zero was over reading by 9... that basically means that any material that i tune in the zero, if try to print it with the same settings in the duet machine, it will definitely be over melted. here I present you the pull_up resistor value in klipper (by default 4700ohms). What is a pullup resistor you will ask? Is basically a resistor included as a reference in a circuit where the resistance value of the sensor can't be measured so this passive resistor in the circuit, works as refference. If you modify the value of this resistor in klipper, it will alter the reading on the thermistor allowing you to tune your readings and leaving them spot on no matter the brand of your board or how chinese is your thermistor. Start as before. Go to your preferred printer and preheat the hot end to your desired temperature. Stick the probe inside, and check the reading onto the nozzle. It will likely be off. If it is reading over, you will need to decrease your pull_up resistor value (remember the starting point is 4700) If is reading under, you will need to increase said value. By how much i hear you ask... well... is a bit of an art, but I warrant you that you'll match it close enough at the 3rd iteration. I've found that modifying the resistor value by twice the percentage error, is a decent approach. Example: Target reading: 250. actual reading: 235 Pull_up value 4700 250-235=15 If 250 is 100% then 15 is 6% 6%x2= 12% New resistor value= 4700+(4700x12/100)=5226. Save config and reboot. Repeat operation. Till the measurement in your thermocouple reader is within 2 degrees of your reading. Go across your printers and do the same. Now you will have the exact same reading across all your printers. Example of my duet cartesian vs my micron, and the resulting values. Now. Note that you will only be able to tune spot on a limited range of temperatures, and if you try to heat at 300 sfter tunning at 250 you will likely be off by 6/8 degrees. However, and I have prooven this with 5 different setups, they all will be off by the same ammount or very similar. In my case I have checked the readings from 200 to 330 and tuning it at 250. All the printers individualy have had an error of no more than 8 degrees but more importantly the error across all of them was under 2 degrees, that makes the profile perfectly transferable. Notes: *to be repeated if you change thermistors or thermistors wiring.... ie adding a connector *let stabilise the temperature for at least 2 minutes in each reading point.1 point