12/30/2018 at 10:33 •
I would add this to the instructions as well, but Hackaday.io is a bit special in that it wants me to edit ALL instructions at the same time.
Someone made a mistake on the driver board V3.01 (it was me). The pullup for the nozzle check signal is pulled to 12V, not 3.3V. This means that an input for the Teensy is being pulled to 12V most of the time. I myself have not experienced any issues whatsoever with this, but I suspect some other people I have been talking to have experienced issues (broken Teensy's).
I am working right now on a V3.02 design that will pull the check to the right voltage. I advise anyone who want to make this not to use the V3.01 driver.
However this new design will not fix the problem for people who already have a board. Below is a fix for this issue. TL;DR is tombstone the resistor and solder a wire to the nearest 3.3V.
The culprit is R8 (shown here as P8, because the silkscreen is worn off). Desolder it.
You are now left with 2 pads. The pad closest to the R8 silkscreen is the check pin. The pad furthest away from R8 silkscreen is 12V. Solder one side of the resistor you desoldered (or another 10k resistor) with one side to the check pin, facing up (tombstoning it).
Now a wire needs to be soldered from a 3.3V pin to the side of the 10k resistor facing up. R11 and R12 have 3.3V on the pads closest to the silkscreen. First solder a wire to the R11 or R12, then bend the wire to R8 and solder it to the side of the resistor facing up.
12/08/2018 at 11:18 •
One of the biggest annoyances of Oasis for me has been the spreader. It does an amazing job spreading a new layer, but it has one quite big flaw. It drags powder back.
This dragging back the powder should not be happening. The pistons lower to move out of the way of the spreader. However, there is quite a bit of overshoot after the piston, and there is powder on either side of the piston as well. This is the powder that is being moved when the gantry moves back.
The first reason I know it does is because I can see powder being moved when the spreader moves back, the second reason is because there is powder behind the spreader and this heap of powder gets bigger every new layer. The third reason is that in the build piston there is an edge of powder that is moved from the overshoot, back into the build piston. The excess powder in the build piston is actually a serious problem that I do not want.
This problem is cause by the spreader not being perfectly concentric, and some slop in the mechanisms. There are plenty of things I can fix here, but I am going to make the spreader lifting.
The requirements are simple. When the spreader is on, the roller must be down. When the spreader is off, the roller must be up. The positioning needs to have a high repeat accuracy. It must also not move up under the load of powder.
I chose a central shaft in 608 bearings to move the spreader on. This way, the spreader moves in it's entirety, and not only left or right. There are plenty of adjustment options I can make, but the old adjustments turned out to be perfectly adequate.
I run GRBL, so I do not have many options for driving it. Hobby servo's are not an option here, GRBL does not really support them. The only reasonable options that do not require many modifications are solenoids and electromagnets. 12V is one position, 0V is another (with a spring). I chose electromagnets since I had them (Specifically, this one)
In the video you can see the spreader moving down (snapping into the electromagnet) when the roller is powered, and springing back up when the power is removed. The up position is a bit springy, but that is OK.
Because the spreader is now lifting, I will change the software so I can toggle between moving the pistons out of the way or not. For the lifting spreader, I do not need to move the pistons down, saving a second or 2 on every new layer. This software will not be shared instantly, There is more I want to do. The CAD will be uploaded shortly.
The old spreader works fine for the people who are building Oasis right now. The new one is just a little better at the cost of complexity.
11/05/2018 at 06:44 •
I have spent the past few months working hard to get Oasis ready before the deadline of the Hackaday Prize. While I am of course a bit sad that I did not win, I knew that I was going against some great projects. Congratulations to all the winners.
My goal for the past few months has been to get Oasis 'working'. Printing, as good as I can in the time I have. Now that I no longer have any deadlines, I will dial the amount of work I put in Oasis a bit back. This does not mean that I will stop it, not at all. 3DP has been really interesting to me for the past few years, and I still want to make it better, but I need to catch up with other things too, something that I made little time for the past few months.
While it may take a while, these are the things I hope work on with Oasis for the coming time (not in order):
So far I have been printing with original Zcorp materials. This is not really going to work well on a cheap(ish) and open source DIY powder printer. Zcorp powder and binder is REALLY expensive. I have had my eyes on several recipes since Plan B year ago. I compiled the most notable ones here. Now that I have a machine that is workable, I will finally test some of these recipes.
My main focus will be ceramics, then gypsum. Other material options such as sand and maybe metal will be for an unplanned future.
Cleaning parts is difficult. For Plan B I built a box with gloves and an air pump to clean the parts. While this works surprisingly well. I want to make a better tool using better parts. This will be a negative pressure chamber with better recovery of the powder. I also want more pressure for the cleaning air. Lastly, I hope I can make it somewhat portable.
Firmware works, sort of. Both the decoding of printing lines and the printing happens in the main loop. Because of this, I cannot print much faster than 50mm/s right now, while the absolute max should be around 400mm/s. I do not hope to get the maximum speed without FPGA's but I do hope I can reach around 200mm/s without much fuss.
To get to this speed I hope to offload all of the inkjetting code to interrupts and DMA. If I manage that, I will instantly lose the biggest bottleneck in the code. Set up inkjetting for one burst using interrupts, and letting it trigger through DMA. I might need to update the controller side of the PCB to make it work, but that is a small price to pay for higher speeds in my opinion.
I also want to add features such as virtual speed and hardware trigger so it can print without an encoder, making it more usable to other people as well.
Python I had to learn from scratch. If I would write it again now, I would do a lot of it completely different. And so I probably will. Too many points to mention, but I will make it faster, more stable, more usable, and to fix a problem I still have, make it output Plan B code as well.
Another thing I want to do in software is make it usable without 3DP. I have yet to think of a way to make a universal inkjet driver for use in other projects, but it is something that I would be really interested in.
I have been getting requests for assembled printhead drivers. I ran the numbers for an assembled driver, and I get to the $150-200 range. Right now, with all the software and firmware in a meh state, I really am not comfortable selling it at those prices. I will take effort to make the price go down by redesigning it, and improve the software so it will work for more people and I actually feel comfortable selling it at higher prices.
I want to find a way to print in full color. There are several options. One is to add a CMY head. HP has ones that are compatible with the HP45 connector. It is narrower however, limiting print speed. I can also make a driver for 5x HP45 printhead. More expensive, but a lot faster. What I decide on will be for later, but I do want to get full color available at some point.
A new printer
Oasis is a prototype machine. An easy to alter proof of concept. If people want to get easy access to 3DP printing, an easier to build design will be needed. While I will keep Oasis the prototype, at some point when I have fixed ALL the other things, I will design a better, easier to build and assemble printer. This is not going to be next year, but I do plan on it.
Until then any questions you have can always be asked.
11/02/2018 at 19:05 •
I sell HP45 connectors on Tindie. In order to prevent the misery that is the connector falling apart, I am writing this guide.
The kit of the HP45 connector contains several parts:
- 1 Fully assembled, capped HP45 connector;
- 2 #6x3/8 screws to mount the connector
- 2 Resin washers to get the right depth for the screws
- 5 Spare pins and springs for if you lose one (or five)
The footprint of the HP45 connector is in the design files, or as a separate download here. This footprint should be on a PCB of 1.6mm (or thicker) since the 52 springs will push against the PCB. The pads should also be gold plated, since the springs only make direct contact, and are not soldered in place.
Mounting the connector
To mount the HP45 connector you will need a Phillips 1 screwdriver and a 2.5mm Allen wrench.
- Take the HP45 connector and place it pins facing up, so you see the screw head.
- Remove the screw using the 2.5mm Allen wrench (but do NOT lift the connector up).
- Flip the HP45 connector WHILE holding the back cover on the back.
- When the pins are facing down, you can remove the back cover to expose the springs.
- Align the PCB with the 3 centering pins, and place the PCB over the connector.
- Take the 2 washers and screws and place them in the 2 outer most holes (3.3ish millimeters).
- Push on the PCB to make all the springs compress so there is no gap between the PCB and the connector.
- Take the Phillips screwdriver and screw the screws into the connector. Do not over tighten, this will strip the threads you make out of the plastic.
The connector is now ready for use.
10/24/2018 at 18:49 •
Yes it can print a Benchy. It took a few tries because Oasis is still a bit finicky and Benchy was quite challenging, even in 3DP, but it looks great.
One fun property of 3DP that is really weird for me to get used to is that I really do not care about orientation, but very much about Z-height. Because of this, I printed Benchy on it's side. It took around an hour to print at layer height 0.2mm. Currently adding a new layer takes 8-10 seconds. Benchy is 30mm'ish wide. This totals 25 minutes of new layers.
Cleaning and infiltrating it was quite difficult. I did not want to damage it, and my depowdering setup is not perfect yet. I did miss a few small spots, but I got almost all of the powder out.
The Benchy looks really nice, though it is a bit more rough than an FDM printed part. The text on the back of the boat is not visible, the text on the bottom is. All tiny details are visible. A curious thing I noticed is that the side facing down was a lot more smooth than the side facing up. I suspect I used too much binder, and the binder wicked to the layers below, smoothing out the part. The layers facing up cannot wick into unbound binder, and so stairs are visible here.
Now that I have printed a decent Benchy, I think I am now legally allowed to call Oasis a real 3D printer.
(PS. should I be spending a whole log on a Benchy? Probably not, but I don't care, because Benchy)
10/16/2018 at 20:05 •
Oasis is designed mostly around standard 3D printer parts. However due to some technical challenges with 3DP, there are a few specialty parts I cannot design around. In this log I hope to explain what they are, where I got them, and what alternatives are possible.
Spreader + motor
One of the most important parts of powder printing is the spreader, A round, smooth roller. It is also one of the more difficult parts to get, and possibly the biggest compromise I had to make to ease of getting the parts. In Plan B, first I did without, which did not work. Then I had to jump through a lot of hoops to make one anyway, that worked somewhat. Now I am blessed to work at a company that can order at Misumi. Misumi, is magical. They have everything. The spreader is a standard(ish) part at misumi, 'SSFRHQ20-200-F20-P5-T20-Q5'.
If you can buy at Misumi, do that. I have included a drawing of the spreader, 'OA-Y20-P13-00'. This is exactly what you buy at Misumi. If you have access to a lathe, you can make the spreader yourself. It does need to be concentric and smooth, but other than that should not be difficult.
To drive the spreader a motor is required. For this I am using a cheap 25mm gearmotor. I used 300 rpm @ 12V, which seems about right.
Between the motor and the spreader is a timing belt. I use GT2, and use a closed belt of 120mm long. They are available through the usual internet suspects. Timing pulleys can also be found here if you have trouble finding them. All used pulleys are GT2, 20T, 6mm width. The pulley on the spreader motor is 3D printed for 'pulley not being available' reasons. I advise against printing the other pulleys.
The printhead and the motion driver are controlled by separate controllers. To synchronize them I use an encoder strip. These things are common in inkjet printers anyway, and are not that hard to get.
For the actual encoder I use a 'AVAGO HEDS-9740#150', a 150 lines per inch optical encoder head. Most component suppliers list them, but do not have them in stock. Places like ebay do sell them. The tape can also be found on Ebay. you'll need a matching 150 lines per inch tape.
Oasis uses mostly standard 3D printer bearings (608, 624, 625, preferably ZZ, LM8UU). However, on some places special bearings are needed. The spreader takes 685-ZZ (685-2Z) bearings. I cannot easily provide a link, but ebay has them in bulk.
Oasis is built around aluminium extrusion profile. 2 types of profiles are used. 30x30 and 30x60. There is not much to the profiles. They need to be 30mm, have a groove of 8mm, and the hole in the middle of the profile needs to be able to take an M8 thread. Not all profiles will need M8, but some do. You'll also need 30x30 angles, and 60x60 (2x30 long) angles. The exact type of nut you'll use is unimportant, but I prefer profile nuts that can be inserted after assembly.
I bought mine at Misumi because I was already ordering. I suggest finding a supplier near you. In the BOM, the Misumi name is given, but the number in the order number is the required length. You can use that to cut your profiles.
10/09/2018 at 18:44 •
There now is a video of Oasis
I will not add much more to this log, since I spent the last week making this (^) video. I can now work on finishing the file packages and instructions for other people to be capable of making this printer.
One last thing that will be clarified in the previous log: https://www.tindie.com/products/Dragonator/hp45-printhead-connector/. I now sell the HP45 connector on Tindie.
Because logs are ordered by when the first draft was made, not when it was published, putting my 2 weeks ago started log behind this one.
09/27/2018 at 19:03 •
I refilled my printhead with actual Zcorp binder. I got this stuff from a friend of mine a while ago, and it will allow me to get a bit of a baseline before I start messing with my own binders and powders.
The first important step is to print a new carriage. I thought the refill port was on the front, I though wrong. It is on the bottom. I want to plug the printhead with a screw and o-ring, so I need a hole there. I ran out of the faint blue, so I will be using the much nicer dark blue.
To get a good idea of what the HP45 is, go here: http://wandel.ca/hp45_anatomy/. It has some great pictures of the HP45 itself and some explanations that will become important. Summary, a spring loaded tank that holds the ink under a vacuum.
I needed a few things to refill the printhead. The first is the binder. I also added some ink so I can see what I am printing. I chose blue because I like it. I also needed a syringe with needle, a lot of paper towels and running water. Refilling printheads is messy. You cannot believe how much ink can be diluted and still be completely black. Last I needed a suction head so I can draw the ink through the nozzles. This is a tool I 3D printed and added a o-ring to. It works shockingly well considering I spent 5 minuted designing it.
Interesting note, the blue color of the prints now comes from the binder, not the powder. This is how you can add full color. CMYK and binder and you have a full color printer. I will investigate this after this first part of the project is done, but it is not part of the scope of this project itself.
The rough list of steps needed to clean and refill a HP45 printhead:
- Take the sticker of the bottom;
- Push the ball sealing the printhead into the printhead;
- Squeeze (milk) the ink out of the printhead (it does not simply drain);
- Suction last ink through the nozzles using the tool;
- Fill with water/alcohol mix (or plain water for some of the repeats);
- Combination of milking the printhead and sucking ink through the nozzles;
- Repeat step 5 and 6 till water comes out clean;
- Refill printhead with binder (and optional ink, I did 1/20 cyan ink);
- Clamp the printhead with a strong clamp. The head should not have any air in it;
- Cap the hole. I used an M4 screw with a 3.5mm ID o-ring;
- Release the clamp;
- Suck the binder through the nozzles using the suction tool;
- The printhead now ready for use;
I will post a proper guide later, mainly because I cannot save drafts in guides and like to write over a few days. I have plenty more pictures and detailed steps available, but I also have 100 other tasks that need doing right now.
A thing I discovered very quickly is that the vacuum on the printhead is really necessary. Previously I just filled the head without the clamp. After a single burst of ink there was ink leaking from the printhead. I then opened the head, clamped the body with a clamp, and closed it again. This time it printed perfectly.
Another thing you will find out (I did at least) is that refilling a printhead is messy. Once the ink touches your hand, it stays there. My hands are various nice shades of black and blue. Next time I will be wearing gloves.
I have heard (but not confirmed) that you can replace the milking and sucking with a centrifuge. I have no centrifuge here, so for me it will stay a mystery, but it is a nice thought.
I will be printing with this binder for the coming few days, trying to dial in the ink percentage and trying to print some nice objects.
More coming soon, this project is now really moving.
09/25/2018 at 19:13 •
In the previous logs I have barely mentioned the interfacing with the HP45, although it is quite an important part of this project. The best I did was this log, where I spent 62 words on the problem. In this log I will give some more background on what the problem with the HP45 is and how to work with it.
When you look at it the problem is quite simple. The HP45 has too many pads. Reliably connecting to 2 or 3 pads is simple. Reliably connecting to 52 is a bit more difficult. Depending on what pad you lose, you can lose between 14 and 22 nozzles. The problem with this many pads is so big most manufacturers don't bother with it anymore. They just put some more electronics in the printhead itself. The HP45 is between the first inkjet printheads where they were figuring it out, and the later printheads where they optimized the design.
Pogo pin connector
My first way of connecting to the HP45 is with a pogo pin board. I have had breakouts and full drivers built this way. They are built on 2 boards to give the pins stability and to make routing somewhat possible with a 2 layer board. It is practically impossible to route without more than 2 layers, because all pogo pins are essentially through hole, and you cannot reach all the pins at once.
In all fairness, it worked quite well. It is not perfect though. The pogo pins are only 0.8mm thick and so are incredibly fragile. In most printhead carriers you inert the printhead from the top. This means it is easy to hit the pins sideways while loading a printhead. This has happened, and the pins cannot take any sideways load and simply bent. The pins are soldered to both boards, so if a pin gets bent, you have to desolder it from both boards at the same time. I have done this, but it is the absolute worst job to do.
Cue the HP45 connector
Fabulous, isn't it?
The HP45 connector is a purpose built connector that has 52 pogo pins in a single plastic housing. It does not have the travel of my own pogo pin circuit (not that you need it), but it has pins that you can hit sideways without breaking them. Also it does not solder in place, but makes contact with the PCB pads, giving more freedom in routing. In my case I can now route on a single 2 sided PCB.
The HP45 connector is founds here: https://www.cfconn.com/product-show_14712/. It is also on Alibaba through the same supplier. While it states it can supply small quantities for under $10, my experience is that those prices start happening at size 100. You get these connectors unassembled, dropping an assembled one is cause for much tears.
I myself have bought a batch at CFConn. I now have way to many. I sell them on Tindie right now. I will start selling more HP45 related components later when the documentation is finished.
The HP45 connector uses tiny gold plated springs and pins in a plastic housing to make connection to the HP45. The travel is about 1.5mm on each pin.
3 locating pins locate the connector to the PCB. 3 holes can be used to mount the connector. the 2 outer holes are 2.8mm, the inner hole is 3.85mm. I use the 2 outer holes with M3 cutting into the holes, but I am still looking for proper plastic screws. To make a connection with this printhead, you'll need 52 located pads on a (preferably gold plated) PCB. I have included the KiCAD files on the page of the connector, here on my own site, or is in the electronics section of the source files.
I currently have 2 boards, a breakout board that breaks the 52 pins out to 2 2x10 pin boxed headers (grounds are shared) and 1 driver board. The driver board also needs a controller to work, which is a separate board stacked on the driver board through 2 headers.
The carriage holds the HP45 controller, and deserves a bit more attention on its own. It is a part that should be very usable on it's own. I will order more components and make an assembly guide for the whole printhead on it's own with another set of parts. Can't promise when, it might take a few weeks, but I will. Remind me if I forget.
09/24/2018 at 18:51 •
Not much, not amazing, but prints nonetheless.
I have made all modifications to 3D print in the last few weeks. Now all I need is to try out more, and make the improvements to make it better. Currently I am printing in original Zcorp powder with HP45 ink. I got this powder (and binder) from a friend a few years ago. I have yet to experiment with my own powders and have only tested with this so far. I printed a 12mm diameter by 3mm disk as a proof of concept. The part was strong enough for removal and cleaning.
There are a few limitations at this moment. I have not yet had the time to modify printheads. This means I am printing in pure ink. This means that 1. my print is extremely black and 2. the green strength (untreated part strength) is poor. The powder has a lot of chunks, hairs and other contaminants in it. I still need to filter it through a mesh some time. I have to use the depowdering tools I made for Plan B (http://ytec3d.com/depowdering-station/). I have no good superglue anymore to infiltrate the parts, so I have no pictures of finished parts. The part broke while infiltrating with bad superglue.
Those are all the tiny problems left. I can easily fix them with some time though, so it is all right.
Pistons and new layer
The pistons now have seals in them. I have used sponge for a while because it is low friction and flexible. I have a little leak on the feed piston to fix, but other than that it is powdertight.
While preparing to print, I made some final tweaks to the new layer function. I have made it so the last motion is always up. Even on movements down it will now move down too far, and back up again. This is to ensure accuracy. By always moving in the same direction you prevent the backlash in the leadscrew causing problems. I cannot move both pistons at the same time due to GRBL 4th axis issues, so moving pistons is not terribly fast.
The current sequence is:
- Move to the back of the feed piston*;
- raise the feed, lower the build;
- starts spreader and move to overshoot position;
- stop spreader, move pistons down by clearance distance*.
(*all piston movements will go down first so they always move up)
I finally added the polycarbonate to the frame of Oasis and it looks amazing. This cover serves to keep the dust from printing in, and the dust and junk from me being there out. I wanted to have it on before the powder would sit for longer times in the open.
I finally wired the USB cable through the ribbon cable (no good photo's :( ) This was the plan all along, but now with the cover in place I needed to do it. Else I have no way of connecting a USB to the printhead with the cover closed. I will try and finish up the wiring diagram of Oasis now that I am finished.
(near) future updates
I realized that I need to give some more information on the actual HP45 connector side of things. I will do this soon'ish, as well as actually making the HP45 connector (and some of the boards) available for sale. The connectors are hard to come by in small quantities, so I had to buy a lot of them.
I will fix the printing and post processing issues I have right now, and maybe print a few more challenging parts. I will also attempt to refill a head with actual binder in the near future.
Hackaday prize video in a few weeks.
I will also start on making some of the assembly instructions, and file packages available. I do not think many people would want to start on this yet (while it is still a working prototype) but I won't let missing files be the limitation.