This will work for anyone that has a D12 pin set on their ramps board. They often say "Servos" underneath them and if you happen to be using a BLTouch, like I am, you should have that plugged into the D11 pins. I highly recommend the BLTouch, by the way, but back on topic. If you have this (or, better yet, a dedicated PS_ON pin!) then you can continue. You'll also need to be able to edit your Marlin firmware and flash it to your board.
Parts
- (1) Momentary push button (normally open) I got mine from work and can't find it online, but you want something that can handle direct mains voltage. I'd go with something rated for 250V or greater -- mine is rated for 350V and works great. I found some on Amazon that are similar: link, link, link
- (1) Solid state relay (SSR) that will handle 5V on one side and mains voltage on the other. This is the one I'm using.
- (1) 250V 5A fuse. Here's a 5 pack for 3 bucks
- (1 if using OctoPrint) 10V 22000uF electrolytic capacitor
- Heat-shrink tubing (optional, but safer with it)
- 14 AWG wire
Only needed if you use my enclosure design
- A couple M3 screws to mount the SSR to the enclosure
- (4) 2-32 x 3/8" self-tapping screws (or similar) to screw the enclosure shut
Wiring schematic
Assembly
I bought a new power cord as the one that came with the printer was flimsy and only had two leads. I got mine at Lowe's or Home Depot but it's similar to this one that has 16 AWG wire in it. I just cut the end off (the side without the metal prongs!).
Assembly is easy if you can follow a wiring schematic (linked above), so I won't type it all out step by step unless someone gets stuck -- then feel free to post and I'll do what I can to help You can skip the capacitor if you're not using OctoPrint.
Here's a picture of my board with the wire that controls the relay connected to D12 and a BLTouch connected to D11
Everything wired up, before I screwed the enclosure shut. I put some hot glue around the top of the capacitor to make sure the leads are insulated.
All closed up and working Firmware update
The only thing you need to change is in Configuration.h around line 210. POWER_SUPPLY has to be changed to 2
Code: Select all
#define POWER_SUPPLY 2
Implementation (gcode)
In your slicing program you'll need to add some commands to the "end gcode" section. I only know where that is for Simplify3D (Process settings -> Scripts tab -> Ending Script). You should wait until it cools before shutting down so heat doesn't creep up through your heat-break and melt filament up where it shouldn't be melted, causing a big headache. So, something like this:
Code: Select all
M117 Cooling down ; display message on LCD
M109 R30 ; set extruder to and wait until temp reaches 30°C
M81 ; power off
Enclosure STL Files
https://www.thingiverse.com/thing:2581181