David Pilling |
Main »
3D PrintingCovers mid 2016 to mid 2017, later 3D stuff is on separate wiki pages see the index I got a lot of parts and few instructions, the most useful thing was the photo in the ebay listing. However it was fun working out how it went together and didn't take long. Initially it would not extrude, I found the motor driver carrier for the extruder motor had a bad solder joint. After fixing that it still would not extrude properly. I replaced the A4988 stepper motor controller carrier with one based on the TI DRV8825 and it all worked. Picture of motor drivers, two A4988 and two DRV8825, these are oriented the same way around (as regards pin function e.g. power supply pins), notice the small variable resistors ('pots') are on opposite ends. The picture shows the correct way to twiddle the variable resistor to increase current - the last, purple, one works the opposite way to the others. It is necessary to remove two jumpers on the electronics board when using the DRV8825 because it can do 32 microsteps per step and the jumper setting for 16 microsteps is different. Upgrading the extruder A new hotend heater block with 5 mm throat was needed. There's scope to fit the throat the wrong way around. I eventually ended up with the loose PTFE tubing at the heater end. A thin M5 nut is needed. Half height will do, but I came across a much thinner one, maybe from a volume control. All this fits without any metal work. I also changed to a 0.2 mm nozzle, results were better, but slower. I soon moved back to 0.4 mm (via 0.3 mm) as the best compromise of speed and quality. I then had a series of failed prints. One variety consisted of the filament pilling up in the extruder mechanism. This was due to my fitting the extruder fan heatsink the wrong way around (filament gets hot and instead of being pushed through the hotend it bends and spills out). I also had episodes of the heater cartridge coming out of the hotend and molten plastic running out of the threads around the throat. What I learnt is that the various nuts and grub screws should be tightened whilst the hotend is hot. More hot ends followed, another ebay one was a lot better designed than the first, and then I moved to E3d v6 clones. My designs for fitting these are here E3D v6 Mount and E3D v6 Bowden. [3] is a useful reference on the MK8 extruder. X axis idler tensioner Fitting failure Upgrading the firmware I set off using an ICSP programmer, the idea being to read the old firmware just in case I could not get the new version to work and to install a boot loader. The SD card socket should contain the necessary connections. I used an USBasp programmer and arvdude. [7] explains the pinout of the SD socket and notes that one cannot rely on the polarising lug on the socket - mine is the opposite way around to the photo in the reference. Anyway I failed miserably to get avrdude to communicate with the processor. I gave up and simply used the Arduino IDE and programmed new firmware via the usual USB connection. In other words the Arduino boot loader was already present in the processor. A combination of following the diff of the default Marlin configuration file with the Geeetech version, and having printed out the settings for the original firmware got me a new version of Marlin which appears to do everything the original firmware did. Safety The printer has a heated bed and an extruder heater (hotend), both are controlled by the printer's micro-controller via MOSFETs - thermistors provide temperature measurement. One possibility is a software crash when the heaters are on. Another is the MOSFETs going short-circuit. A more interesting event is the thermistors becoming mechanically disconnected from the heaters - it is easy enough for the heater cartridge to come out of the hotend. The Marlin firmware has code to spot this sort of "thermal runaway", however enabling it is optional and a test of the original firmware led me to believe it was not enabled. The result of any of these is a heater being powered on continuously and getting hotter until heat generation is balanced by radiation. That may be harmless or it may ignite the plastic in the printer. On my printer there is a piece of wood under the heated bed. The auto ignition temperature of wood is 180 °C and for PLA is of the order of 340 °C. When I was a child I pulled an old electric blanket to pieces and was intrigued to find a bi-metal thermal cutout inside it. Old fashioned (CRT) colour televisions (which once had a reputation for bursting into flames) were by their later days full of special versions of components (like resistors) which would cause them to fail safely. Here there is no such physically based independent cut off. Whilst fitting a thermal fuse to the heated bed I also replaced its thermistor which from the start had been showing 30 °C at room temperature (around 16 °C). In reality the heated bed when continuously powered will not get above 80 °C due to heat losses, but the power supply and connections are likely to overheat when supplying high current for a long time. Mains power insulation was not good, nowhere near the standard of approved equipment, but I thought it was good enough for someone experienced with electricity. Eventually I found an exposed piece of metal carrying the live side of the mains. Z axis couplers Eventually I replaced the threaded rods with lead screws, these are 8 mm diameter, 2 mm pitch, 8 mm lead, 4 threads, one revolution drives the nut 8 mm forward. Levelling the bed The other thing one can do with a dial gauge is measure the accuracy of movements in the X, Y and Z directions. See 3D Printer Motion Accuracy. My initial experience of levelling the bed turned out to be "beginners luck", eventually it became a nightmare of hours spent twiddling. An automatic system is essential, I devised my own based on a strain gauge, which is described here - Z axis probing and auto bed levelling. This is a huge improvement and gives fantastic results. Motion resolution Stability Upgrades Conclusions But not well enough, I wish I'd not imagined I could improve the printer. It is not true that every upgrade improves results; which upgrades are worth the effort is something one learns. Whoever put the printer package together had done a good job of picking components. If I was starting again I would keep printing a test piece to see if results were improving. Some upgrades were essential like fixing the broken pulley, others like upgrading the firmware were simple and gave a good return. Photos show how the printer ended up looking. Marlin compilation woes In file included from /tmp/arduino_build_286188/sketch/ultralcd.cpp:39:0: dogm_lcd_implementation.h:85: error: 'DOGLCD_CS' was not declared in this scope U8GLIB_DOGM128 u8g(DOGLCD_CS, DOGLCD_A0); // HW-SPI Com: CS, A0 dogm_lcd_implementation.h:85: error: 'DOGLCD_A0' was not declared in this scope U8GLIB_DOGM128 u8g(DOGLCD_CS, DOGLCD_A0); // HW-SPI Com: CS, A0 I'd uncommented:
|
David Pilling's Wiki Set view |
Page last modified on April 08, 2022, at 12:08 AM - Powered by PmWiki pmwiki-2.3.31 (pmwiki-2.3.31) |