-
Bed leveling
10/06/2022 at 10:16 • 0 commentsAs the MakrBBot III only has a LCD display and controller, there is no easy way to manually level the bed. I used just to connect it to my computer, and use Pronterface to manually move the nozzle to all four corners and adjust the screws. But this does get annoying, and it would be nice just to do this from the controller. Apparently Marlin 2.0 has a menu option to move to the corners, but I just reverted to Marlin 1.19.
Then I found this video from Martin Zeman where he comes up with a very simple solution to this. It is a simple gcode file that just moves the nozzle to all four corners, pausing in between movements so you can adjust the bed.
; Bed leveling with absolute positions for MakerBot III G90 ; Absolute Positioniong G28 ; Home all axis G1 Z5 ; Lift Z axis 5 mm G1 X15 Y15 ; Move to first corner M0 ; Pause print to place paper under nozzle G1 Z0 ; Z axis to 0 M0 ; Pause print G1 Z5 ; Lift Z axis 5 mm G1 X15 Y135 ; Move to second corner M0 G1 Z0 ; Z axis to 0 M0 ; Pause print G1 Z5 ; Lift Z axis 5 mm G1 X160 Y135 ; Move to third corner M0 G1 Z0 ; Z axis to 0 M0 ; Pause print G1 Z5 ; Lift Z axis 5 mm G1 X160 Y15 ; Move to fourth corner M0 G1 Z0 ; Z axis to 0 M0 ; Pause print G28 ; Home G1 Z10 ; Lift Z axis 10 mm
It's the same as in the video, only I added a pause after the move and before lowering the nozzle so you have time to put the piece of paper in place.
You probably would have to heat the nozzle first so there is no hardened filament at the nozzle tip. I suppose you could add this to the gcode as well, but I always pre-heat manually through the menu.
-
Tuning Trouble
09/27/2022 at 20:37 • 0 commentsWhile tuning the printer I hit two really annoying issues.
First: Compiling MARLIN 2.0 takes up to 5 minutes, whatever I try. This makes iterating settings a really painful procedure. So during one test I accidentally used my 'old' Marlin installation that I had installed on my previous printer. I immediately noticed something was wrong, since this compiled and loaded in less than a minute. Which made me think. Why did I actually use version 2 ? Since the controller board is a simple RAMPS1.4 on an Arduino Mega, there is no need to inclue all these advanced options that are only for 32 bit systems. And version 1.1.9 is marked for Long Term Support', so it is definitely not abandoned. Easy choice, I reverted to 1.1.9.1, and this works really fine.
Next was an issue with Pronterface, which I use for testing and tuning steppers, extruder, temperature etcetera. It is just the easiest way to manually control all the motors. The only thing I could not get to work was the Manual Extrude. This just failed with the warning 'Maximum extrusion lenght exceeded'. Apparently it always wanted to extrude 1000 mm, which is indeed way more than expected. But I could not enter a different value for extrude length or speed ! First I thought this was a bug in PrintRun, but eventually I found the solution on forum:
'I solved it by right clicking on the executable pronterface.exe, go to properties, compatibility tab and check "Override high DPI scaling behavior. Scaling performed by:" and select "application" in the dropdown menu.'
And indeed, now when I start Pronterface, the Lenght and Speed fields are there, and you can enter values in them. It looks like they were simply hidden, or covered by the buttons due to a DPI scaling problem. That's why I never had this problem on an 'old' computer that did not have a high DPI screen. -
Starting Up
12/30/2021 at 20:11 • 0 commentsThe firmware of choice is Marlin 2.0, the most recent version as of today. After checking the config files and setting everything as I'd expect it to be for this printer it somehow would not compile. Well, it did do the 5 minute compile, but stopped at the linker phase with a 'avr-gcc.exe: The filename or extension is too long' message. Finally found out that I had to upgrade my Arduino IDe to at least version 1.9 to make this work, and so it did.
Next started 'Pronterface' for testing. And immediately found out that X and Y axis are swapped. So I had to set it to 'COREYX'
// Enable one of the options below for CoreXY, CoreXZ, or CoreYZ kinematics, // either in the usual order or reversed //define COREXY //#define COREXZ //#define COREYZ #define COREYX
The cheap Dual Drive Extruder seems to work fine, and is found to have 415 steps / mm. Now I first followed these instructions to calibrate : https://mattshub.com/blogs/blog/extruder-calibration
This procedure led me to believe that I needed 625 steps/mm, but then the first prints were heavily overextruded. So I decided to go for the 415 steps, which should be correct for this type of extruder. And it is. The 625 number probably was caused by setting my extrude speed too high, so the hot end could not cope with that and slowed down the extruder motor, causing it to skip steps./** * Default Axis Steps Per Unit (steps/mm) * Override with M92 * X, Y, Z [, I [, J [, K]]], E0 [, E1[, E2...]] */ #define DEFAULT_AXIS_STEPS_PER_UNIT { 80, 80, 400, 415 }
Set the temperature sensors. Both the bed and the hot-end have these glass covered thermistors, known as 'Epcos Thermistor, 100K'
#define TEMP_SENSOR_0 1 #define TEMP_SENSOR_BED 1
And enable the Controller board. I used the (super cheap) Ramps LCD controller board.
// // RepRapDiscount Smart Controller. // https://reprap.org/wiki/RepRapDiscount_Smart_Controller // // Note: Usually sold with a white PCB. // #define REPRAP_DISCOUNT_SMART_CONTROLLER
This has a SD card slot, but it has to be enabled in MARLIN explicitely.
/** * SD CARD * * SD Card support is disabled by default. If your controller has an SD slot, * you must uncomment the following option or it won't work. */ #define SDSUPPORT
-
Design Complete
12/30/2021 at 16:58 • 0 commentsThrough iteration, and modifying the drawing to match the build, I finalized the design:
For anyone who's interested: the DesignSpark file is in the 'Files' section. Later on I will produce a series of .stl files for all plastic parts, but they will probably go on PrusaPrinters or Thingiverse.
Use it however you like. But it would nice to hear from any other builders.
-
Handmade Rollers
11/29/2021 at 08:37 • 0 commentsThe CoreXY mechanism requires at least 8 rollers for guiding the belts. And so the set of 10 ball-bearings (set of 10 for MakerBeam) that I had seemed a good candidate for making the rollers. These bearings are 5 mm thick, have an outer diameter of 13 mm and 3 mm hole.
And it worked out fine. Had to fine tune the model a few times for a tight fit, but in the end rollers looked great and rolled very smooth.
-
Belt routing, as I see it
11/26/2021 at 19:54 • 0 commentsAfter drawing the frame, and adding the pulleys in the correct position, I decided I had to draw the belts as well, just to see if my assumptions were right. And they were. It looks like this is going to fit exactly as expected.
-
Parts on both sides
11/22/2021 at 19:39 • 0 commentsA disadvantage of using the free edition of DesignSpark is the inability to mirror any solid object. For a printer, which needs most parts on both sides, this is inconvenient. So I created all parts on one side, exported them as .STL, and used Cura to mirror them. Afterwards it is also possible to import the mirrored parts into DesignSpark. But the imported parts are less easy to edit than the originals since they now now longer consist of basic shapes. So all rounded corners and holes are now multi-facet surfaces, which makes them cumbersome to handle.