i have been messing around with adding the code for a more dynamic temperature control to bring down the hysteresis to 1 degree up and down. to allow for a very higher precision of control. unfortunately i cannot really test it out because i don't have a unit to test anymore. I have one left over in the garage that i will put together until then i will just be working on the code side. v1.1.1 is just me working on it. v1.2 will contain those changes.
After first batch of kickstarter units have been sent we now have the production version of the mulstistruder v1.0. Is now set and now improvements will be set on top of this design. The mechanics and the electronics. posted to this blog entry is pictures of the multistruder v1.0 and posts after this are improvements onto the multistruder v1.0.
Multistruder Operating System v1.1 release
Added AA (analog Amplifier) calibration number offset. This offset allows your to get the correct Temperature Current to display.
Fixed some issue with double switching pages by adding delays
removed some data points from each screen and moved them around.
All updates live on gethub update to your controller. video on how to do that coming soon.
i have comprised the bill of materials (for steel) after setting the first batch of kickstarter units as version 1.0
Multistruder BOM (steel):
3/4" Square Tube 1/16" Wall 2" long (two required)
3/4" Square Tube 1/16" Wall 4" long (one required)
5/8" Square Tube 1/16" Wall 12" long (two required (second one required for version 1.1))
2" x 4.5" x 1/4" Plate (one required)
4" x 12" x 1/8" Plate (one required)
4" x 4" x 1/8" Plate (one required)
4" x 4" x 1/4" Plate (one required)
3.5" x .5" x 3/16" Bar (three required)
This will be posted on a permanent document page on my site. as well as on my github (github will only contain
I'm now considering what the actual benefit of a pwm controlable fan to keeping the filament diameter consistent. How much will dropping the CFM in half cause the filament to come out with more diameter consistency.
After looking back over the design. I think that the best way to control how quickly the filament solidifies after it is extruded (this controls the stretching and ovality) is to slide the cooling fan mount farther away from the nozzle. This allows the filament to cool after and allow it to stretch more before solidifying.
The pin that would be used to control the pwm fan could be used to control other options.
So for the design I was thinking about doing 1 of two options. Option 1: still have a pwm fan that can be controlled but then use that pin that controls the speed on some other expansion module or feature later on (thus the fan will be 100% speed all the time). Option 2: change the pwm fan in for a quieter non pwm fan to save that one pin.
I am leaning towards doing option 1. I will keep you guys posted on what I decided.
i know that some people that buy the Multistruder want to make their own custom colors that are exactly what they want. So i wanted to add a mixing feature. This feature is pretty simple the Arduino UNO brain running "MOS" will just change the direction of the motors direction and cause the pellets to be pulled upwards instead of pushed downwards. This will cause the two colors (usually clear and a solid color) to be mixed together evenly without you having to manual mix it. All you would need to do is get the desired ratio in two mixing cups and just poor them into the reservoir and click mix on the software and the machine will mix it before starting to extrude.
I have been experimenting with the Dual H Bridge PWM controller. One of the big up sides of these electronics is that if you supply 12v to power the motors that the controller controls the controller has a internal voltage regulator that takes in the 12v and releases a regulated 5v source.
I experimented with this 5v supply and i can actually power the Arduino through the VIN pin. this 5v supply can also power the ssr relay and every other 5v logic electronic which everything is.
Thus the Multistruder no longer requires the buck transformer that takes regulates 12v down to 5-7v (which is exactly what the PWM Controller does)
I am going to be determining the max current output of the PWM Controllers internal regulator
I have been busy making sure that all the features and electronics will work on the Arduino Uno platform. The Arduino Uno R3 has 14 Digital pins and 5 Analog pins. I have mapped out all the pins that multistruder take up.
The Break Down (what i have seen as of now):
Multistruder Base Model
5 Analog Pins and 2 Digital Pins for TFT Touchscreen
4 Digital Pins for SD Card
1 Digital Pin for Thermocouple Amp
3 Digital Pin for PWM Motor Control
1 Digital Pin for SSR Relay for Heater
Multistruder Expansion Modules
1 Digital Pin for Spooler PWM Motor Control
1 Analog Pin for Pressure Sensor (FSR)
1 Analog PWM Servo for Correct wrapping on Spooling
After all of this i only have 1 Digital Pin left for anything else however 2 other Digital Pins are optional
i find that their needs to be a extra 2 items added to the Multistruder base model.
the two new items being a thrust bearing, and a "buck" step down transformer from 12v to 5v.
Thrust Bearing is going to be installed between the coupler and the motor plate. This should take all vertical load (resin resisting being pushed out downward thus pushing upwards on the motor) off the motor thrust bearing and put that stress on a harder external thrust bearing.
Step Down Transformer i found as a need to power the Solid State Relay with 5 volt power in order to allow it to switch on and off properly because the Arduino does not have enough power to power it from its terminals. i now decided that i could have the Arduino be powered off the transformer itself.
I had an idea to make a "checklist" screen as the coarse calibration per every resin you want to extrude. This screen will just give you some basic questions that you answer with yes or no and with these answers the system will change settings in order to get you to the fine calibration process.
bellow is a picture from what I wrote out on my white board for a prototype for this "checklist" screen. Again sorry for the handwriting it really is bad. questions are also written out below
is it extruding?
does it look like filament or is it dripping?
is it really thin?
is it coiling on the floor?
what is the manufactures recommended extrusion temp?
target filament diameter?
The "MOS" system is the brain of the Multistruder and this system controls the extruder by talking to the subcontroller boards.
So far i have a couple sub controller boards that will be on the Multistruder.
Dual H Bridge: PWM speed control of the extrusion motor currently up to 2A of power (this might be a problem if i decide to go with stepper motor power). It can also control a second motor which would be the motor for the automatic spooler. If it is a stepper motor it would take up both bridges and would require another board to control the automatic spooler motor.
Solid State Relay Board: Turns on and off the AC power to the heater band that melts the plastic
ThermoCouple Digital Amplifier: Amplifies the signal of the k type thermocouple to allow for the Arduino UNO to be able to read the temperature.
PWM Controlable Filament Cooling Fan: Will accept PWM signal from the Arduino UNO and allow for speed control.
The important thing to distinguish between the Multistruder and other extruders is the "MOS" Multistruder Operating system that allows you to quickly get to your target diameter size and dimensional accuracy.
If you don't have the "MOS" on other extruders you will need to have a piece of paper and pencil to track all the calibration steps. You would need to write down your starting temp, extrusion speed, and cooling fan speed. Then extrude, if you are under/over size you change 1 of the 3 variables and keep the other 2 constant, write down what you changed, then extrude again. You then check how the diameter changed and then write a equation on how much you changed that variable compared to how much the diameter changed. Then you keep calibrating those variables (while keeping in mind that you want to maximize extrusion speed and minimize heater usage) tell you get it right.
"MOS" does this automatically using algorithms that i write from me spending the time doing the process above. so all you have to do using the Multistruder and the "MOS" system is enter the extrusion temp, start the extrusion answer some questions on screen (coarse calibration), then go to precise calibration were you just tell it your current filament diameter and what diameter you want, it will then get your current diameter to your target diameter. It will basically do the Manual process above but all you have to do is tell it your current filament diameter and it will change stuff for you. And if you were to add the expansion modules this would be done automatically without you even needing to tell it the filament diameter.
The system will then save that preset and resin type so you can change types of plastic or change manufactures of resin (ex: pla to abs) extrude the new type of plastic and then switch back to that previous resin and it will have those presets saved so all you have to do is load that preset into system and just hit start. Without "MOS" you would have to go through your notebook and find those settings then enter those into the system.
More on this feature as it develops.
I have been working on adding on a cooling fan. So I modeled and printed a bracket that attaches to the Multistruder steel stand. Then I printed another bracket that slides onto the other 3d printed braked that a 80mm fan attaches to. For the fan I'm thinking about getting a 80mm fan PWM controllable fan with at least 26 CFM. This will be controllable to from the Arduino to control the amount of stretch that the filament undergoes because of its own weight.
I still need to print a fan deflector. The deflector basically is a duct that funnels the cooling air over the filament as well as preventing the cooling air from touching the extrusion cap and cooling the cap.
I also came up with another add on to the Multistruder OS that I now nicknamed "MOS". Its another "page" that allows for quicker coarse calibration when you add on a new plastic type. Its basically a checklist screen that asks you some basic yes or no questions. For example a question could be "does the extruded plastic drip out the nozzle or does it look like filament?". If you say no to that question it will drop the extrusion temp and then prompt you after another couple minutes if the answer is now yes. Another question is "Is the filament extruding?". If the answer to the question is yes then the controller will increase extrusion temp.
I also added on all the "sub controller" code into the MOS system to control all the electronics on the Multistruder. I also changed it back to Manual mode so next week I can have all the controllers controlling the Multistruder and finish the Multistruder Production Prototype.
I should be finished with the Mulitstruder Production Prototype next week stay tuned.
I started to work on the Multistruder OS or the MOS. I will talk about the two main modes as I start to flesh them out this coming weekend. The two modes being automatic mode and manual mode. check out this quick video of me going over and example of an MOS example.
Multistruder OS Example