Sensor wires for the bed power supply

Bed sparking protection and logging

In a previous post I described some safety electronics for Squirty the RepRap that will switch off power to the printer if the hotend got too hot or if the bed was powered for too long. In this post I’ll describe an upgrade to that system and a setup to allow logging of safety information to a Raspberry Pi.

Some of the feedback I got on the safety system pointed out that it wouldn’t protect against a bad power connection to the heated bed. A bad connection at this point is a common problem and can cause sparking, melting of the terminal or even fire. To protect against this possibility I soldered two sensing wires to the bed terminals. These are connected to a potential divider made up of a 470k and 100k resistor, which will reduce a 19V level on the sensing wire to 3.3V. The output from these potential dividers then can be read by analog pins on the Freaduino I am using to control the safety cutoff.

Sensor wires for the bed power supply
Sensor wires for the bed power supply

I have edited the firmware so that the printer will now be switched off if the voltage on the positive bed power supply falls below 18V, and if the voltage on the negative bed power supply rises above 1V. I tested the cutoff by pulling out the power supply wires.

There are now several ways that the safety cutoff can be activated. That means if you leave a print going and come back to find that the cutoff has been activated you have no way of knowing what went wrong. To get around this problem I connected the Freaduino to my OctoPi host using a USB cable, and wrote a shell script that will log output from the Feaduino to a text file automatically. That way you can inspect the end of the log to see what went wrong.

Connection between freaduino and raspberry pi
Connection between freaduino and raspberry pi

Log output
Log output

The updated firmware is available on github and there are instructions below on creating the shell script to log the safety system output to a raspberry pi.

Create a new shell script using sudo nano printer_safety_logging.sh

#1/bin/bash
echo "Safety logging active"
echo "Safety logger Pi switched on at: " >> /home/pi/safety_log.txt
date '+%A %D %X' >> /home/pi/safety_log.txt
echo "" >> /home/pi/safety_log.txt
cat /dev/ttyACM0 >> /home/pi/safety_log.txt

Make it executable with sudo chmod +x printer_safety_logging

Add the script to startup by opening rc.local (sudo nano /etc/rc.local) and adding the following line just before exit 0


sh /home/pi/printer_safety_logging.sh &

The 14th piece , indicated with the tweezers, is the best. The more squashed pieces have plastic pushed up into furrows. The less squashed ones have gaps between the infill and poor adhesion

Multi Setting Calibration Prints

3D printing is, of course, the most frustrating hobby in all existence. Browse through any 3D printing forum and alongside the beautiful prints you’ll come across posts that compress incandescent rage into a few choice words like “I’m throwing my ******* printer out the window”. In my case most of this rage comes down to keeping the printer properly calibrated, in particular keeping a correct height for the first layer. 90% of my failed prints fail because of some issue with the first layer, and often it is because the height is wrong. In theory you should be able to set the height correctly using the time-honoured piece of paper technique, but it always requires a little bit of dialing in for the best quality. This post describes a way of simplifying that dial in process by printing multiple test pieces in a single print with a range of starting heights.
Continue reading

The screw allows the new quickset nozzle to be held in place in the old heatsink block. Note the positioning of the nozzle is too low here - the top of the heatbreak should be lined up with the heatsink block

Unmelting a printer

After my printer almost killed me I needed to get my hands on a new hotend. RepRapPro, which made my printer kit, has unfortunately closed down so I got a new nozzle, heater block, heatsink block, heater cartridge and thermistor from emaker.io. The nozzle is the new “quickset” design, which is clamped in place rather than screwed into the heatsink block. It’s also designed for a dual nozzle setup, so rather than having one central slot for a hotend it has one on either side. This dual setup requires a different design of x-carriage, which could be easily printed if one’s printer is not melted. Since mine was VERY melted I could have gone and used someone else’s printer, but that would have required leaving the house and possibly even social interaction, so I tried to think up a way of setting it up with the parts I had.
Continue reading

IMG_5133

Meltdown

After a period of relevant dormancy, Squirty has had a lot of work done recently. I have replaced most of the original plastic parts, which were starting to crack, and put in new bearings. I also designed a new x-carriage ducted fan adaptor that put better air flow on the printed part and put in aluminium pulleys to replace the badly worn plastic ones. I’d even made some progress rebuilding the case after its destruction in 2014. Little did I know the printing gods had a plan ready to knock poor Squirty back and severely terrify me into the bargain.
Continue reading

skyline

New York Timelapse

I’m much better at acquiring kit for projects than I am at building them, so I tend to have a lot of Raspberry Pis lying around. I’m very lucky to have access to a beautiful view of the New York skyline at the moment, so I thought one good use (partially inspired by the House of Cards opening sequence) would be to do a timelapse of the cityscape.
Continue reading

Screen Shot 2016-02-28 at 10.07.26 PM

Measuring a 3D Printer Bed’s Flatness

Once I got my printer’s z-probe and autoleveling set up I was struck with a sudden paranoia that my printer bed was saddled. The standard autoleveling in Marlin can deal with a printer bed that is not level, but it cannot fully correct for a bed that is not entirely planar*, e.g. one that is bowed or saddled. To try and set my paranoia to rest I decided to test whether my bed was truly flat.
Continue reading

Alternating stripes of tape - one "sticky side up" piece of tape is held by two adjacent "sticky side down" pieces

Stripey kapton tape for glass beds

Some time ago I put a borosilicate glass bed on Squirty. I really like it because PLA will stick firmly to it when it is hot, but will pop off easily once it cools down. It is also really easy to clean. The only issue I had was how to attach it to the aluminium print bed surface. I know a lot of people use binder clips, but they have the disadvantage of slightly reducing the print area and also jut out above the print surface, risking collisions with the nozzle. Up until now my approach was to use kapton tape along the sides of the bed. It wasn’t a great solution because the glass still could slide back and forth slightly relative to the aluminium bed and it also tended to peel off over time. Today it occured to me that what I needed was double sided kapton tape. Such a thing does exist, but rather than ordering it I decided to cheat by alternating stripes of kapton tape with one “sticky side up” piece of tape stuck down by two “sticky side down” pieces. This arrangement holds the glass in place really firmly and yet I think I could still remove the bed without causing any damage.

This is a really simple idea that probably should have occurred to me years ago, but I am unreasonably pleased with it!

The bad old days. Tape around the side of the bed ineffectively holding the glass in place
The bad old days. Tape around the side of the bed ineffectively holding the glass in place

Alternating stripes of tape - one "sticky side up" piece of tape is held by two adjacent "sticky side down" pieces
Alternating stripes of tape – one “sticky side up” piece of tape is held by two adjacent “sticky side down” pieces

The solution to the collision problem - spacers that hold the Melzi board further away from the frame

Melzi holder and new wiring

In the last couple of posts I described how I put a z-probe onto Squirty the RepRap. Adding the z-probe meant new wires. These wires ended up jumbled all over the place and occasionally got caught on the z-axis threaded rods, causing all manner of chaos to break out. The z-probe also requires a lot of clearance, which means that the printer carriage spends more time up at the top of the build area than it used to. Once up there, it has a nasty habit of bumping into the Melzi control board. To try and tidy things up, I collected all the wiring for the z-probe and ducted fan components together and designed a new set of Melzi holding clips.

Continue reading