1

Topic: Filament Winder

For the guide, I am thinking of something shaped like a bubble wand on a servo.   A microswitch behind the spool gets bumped once per rotation, and each time the switched is triggered the servo rotates however many degrees is needed to move the guide 1.75mm.  After 42 rotations are counted (for a 75mm wide spool) the servo changes direction.

Or something can ride along a threaded rod spun by a motor.  Limit switches at each end change the direction of the motor, and can be positioned to match the spool width.  That could be more complex than the first option, but would create linear motion and be easier to adapt to different spool sizes.

2

Re: Filament Winder

I like the second idea. It should be pretty simple to have two switches on each and and just have it swap directions. And instead of counting rotations.. you can just figure out how many times the guide reverses direction to get a full roll than your done.

3

Re: Filament Winder

OK - you are trying to make the filament guide harder that it needs to be.  1 - stepper motor with a threaded rod on it.  2 - adjustable limit switches that tell the outside of the spool. 3 - electronics - 1 flip/flop that uses the preset inputs connected to the limit switch that toggles the direction bit for the stepper motor driver. And a 555 oscillator that is controlled by a pot to adjust to speed of moving back and forth.  It will generate the pulses needed to step the stepper motor as needed.

Or you can use an Arduino programmed to do the same thing.

I don't thing that we need a CRAY computer to figure this out.

Bob Teeter

4

Re: Filament Winder

I'm already using an Arduino to handle the optical sensors and motor speeds.  I'm thinking a continuous rotation servo for the threaded rod because it can plug into the board directly without needing a separate driver like a stepper, and DC motor would need a driver to change its direction.  The guide speed needs to sync with the spool speed, which will be variable to keep the tension constant as it fills up.

5

Re: Filament Winder

Ian - how many pins have you used for the existing configuration?  It appears that you might need 2 more for the travel detection and 2 more for the servo.  Also you could use one for a rotation indicator from the spool either optical or magnetic.  Does their appear to be enough time in the loop to control these additional items?


Bob Teeter

6

Re: Filament Winder

bteeter wrote:

Ian - how many pins have you used for the existing configuration?  It appears that you might need 2 more for the travel detection and 2 more for the servo.  Also you could use one for a rotation indicator from the spool either optical or magnetic.  Does their appear to be enough time in the loop to control these additional items?

I can say there's PLENTY of cpu cycles available. I think right now he's using 2 analogs, 2 PWM. That leaves 4 analogs, and like 9 digital channels. More than enough.

I'm trying to talk him into a ATTiny45. smile

7 (edited by bteeter 2013-04-12 18:44:43)

Re: Filament Winder

Tim - I had not looked at the ATTiny45 or any of its brothers.  Thank you for the info.  I now know exactly how do all the parts for this.

1 - subsystem for the monitoring of the filament loop and controlling a continuous turning servo to control take up on the filament from the extruder.
2 - subsystem for a direction controlled continuous turning server to control the layup of the filament on the spool (back and forth) also using a Hall effect sensor for noting when a full revolution of the spool has been made.
3 - subsystem for  spool control based upon a tension sensor for the filament.

Cost should be about $10.00 per subsystem.

Please note that I am not trying to build the cheapest system around just one that will reliably work.

Bob Teeter

8 (edited by IanJohnson 2013-04-12 19:10:23)

Re: Filament Winder

Right now I'm still using Lyman's method of using friction between a latex roller and the edge of the spool.  With a light enough touch, a bit of tension on the filament will cause the roller to slip, and then turn again when the filament gets slack enough.  It's not that reliable, and not very adjustable.  I had thought of using a roller on the end of a level that pivots on a pot or encoder that will vary the spool speed on the fly.  I think a simpler method would be to just use a limit switch that can be adjusted up or down somehow.  As the tension increases, the filament gets pulled from a curve into a straight iine, bumping the switch.  The spool motor gets turned off until the switch releases. You can control the tension by how close to straight the filament has to get before it hits the switch.   It doesn't matter if the spooling action is a little jerky since it is isolated from the loop.

I'll have a look at using a servo on the puller.  It doesn't seem that it requires a MOSFET which reduces complexity.   I'd like to keep the cost down, but more importantly I want to keep it as easy to put together as possible.

9

Re: Filament Winder

I can make the design with a 16f877a, which will be cheaper then arduino, for sensor two cny70. L298 will be enough for two dc motor. The circuit and firmware will be easy

10

Re: Filament Winder

Just found an interesting video of some pla filament factory in china
flickr . com /photos/esunplafilaments/8507113116/

Sorry cannot post links yet

11

Re: Filament Winder

xasser wrote:

Just found an interesting video of some pla filament factory in china
flickr . com /photos/esunplafilaments/8507113116/

Sorry cannot post links yet

http://www.flickr.com/photos/esunplafil … 8507113116

SD2 with E3D, SD Press, Form 1+
Filastruder
NYLON (taulman): http://www.soliforum.com/topic/466/nylon/

12

Re: Filament Winder

I'm trying to talk him into a ATTiny45.

The ATTiny45 only has 5 IO pins, right?  I need a few more than that.  Also it looks like loading a program into one is a bit complicated if you don't already have an Arduino.  There will be enough people scared of the idea of soldering components onto a PCB, let alone assembling a cable to program it.  If I were producing kits I could flash them all, but I would want the firmware to be easily modded by the end user.

You can get Uno clones for as low as $12, so the cost savings isn't that great compared to convenience.

13

Re: Filament Winder

IanJohnson wrote:

I'm trying to talk him into a ATTiny45.

The ATTiny45 only has 5 IO pins, right?  I need a few more than that.  Also it looks like loading a program into one is a bit complicated if you don't already have an Arduino.  There will be enough people scared of the idea of soldering components onto a PCB, let alone assembling a cable to program it.  If I were producing kits I could flash them all, but I would want the firmware to be easily modded by the end user.

You can get Uno clones for as low as $12, so the cost savings isn't that great compared to convenience.

6 if you don't need the reset.

Make sure your source for clones is quality - I've gotten a bum one before.

14

Re: Filament Winder

IanJohnson wrote:

I'm trying to talk him into a ATTiny45.

The ATTiny45 only has 5 IO pins, right?  I need a few more than that.  Also it looks like loading a program into one is a bit complicated if you don't already have an Arduino.  There will be enough people scared of the idea of soldering components onto a PCB, let alone assembling a cable to program it.  If I were producing kits I could flash them all, but I would want the firmware to be easily modded by the end user.

You can get Uno clones for as low as $12, so the cost savings isn't that great compared to convenience.

Do you need analog ports?

15

Re: Filament Winder

I'm using analog ports to read the sensors and switching the motor based on the reading being > or < 750.   Actual difference between open and shaded will vary a bit depending on ambient light so I wanted that to be adjustable via firmware.  I also have 3 pots.  One to control the Max puller speed and one to control the Min puller speed so you can dial in a smooth movement of the loop between the sensors, and the third pot controls the spool speed.

That's 5 analog ports, also there are PWM outputs for the puller motor, spool motor, and guide motor.  And then digitial inputs for the switch that counts spool rotations and a switch used to turn the spool motor on and off to maintain a constant tension.  So 10 pins altogether.

16

Re: Filament Winder

IanJohnson wrote:

I'm using analog ports to read the sensors and switching the motor based on the reading being > or < 750.   Actual difference between open and shaded will vary a bit depending on ambient light so I wanted that to be adjustable via firmware.  I also have 3 pots.  One to control the Max puller speed and one to control the Min puller speed so you can dial in a smooth movement of the loop between the sensors, and the third pot controls the spool speed.

That's 5 analog ports, also there are PWM outputs for the puller motor, spool motor, and guide motor.  And then digitial inputs for the switch that counts spool rotations and a switch used to turn the spool motor on and off to maintain a constant tension.  So 10 pins altogether.

You can use microchips 18F1230, which has 5 hardware pwm ports and 4 Analog ports. Try this.

17

Re: Filament Winder

serkanc wrote:

You can use microchips 18F1230, which has 5 hardware pwm ports and 4 Analog ports. Try this.

Not practical, for a number of reasons:

1.) will require a programmer on the user-side for firmware updates
2.) will require a PCB, which Ian may not be interested in mass producing
3.) will require learning a new IDE
4.) will not save much money over an Arduino clone, once (2) is accounted for

18

Re: Filament Winder

I think a PCB shield may be necessary or at least desirable to streamline the connections.  It could be done with a breadboard and Arduino stuck to the back, which is messy but accessible.  This project is what prompted me to start to learn about electronics, so designing a PCB with a microcontroller from scratch is still beyond me.  The Arduino is easy and there is plenty of educational resources out there.  If I keep the project accessible to beginners like myself, then that many more people can build it and improve it.

19 (edited by serkanc 2013-04-17 21:44:31)

Re: Filament Winder

elmoret wrote:
serkanc wrote:

You can use microchips 18F1230, which has 5 hardware pwm ports and 4 Analog ports. Try this.

Not practical, for a number of reasons:

1.) will require a programmer on the user-side for firmware updates
2.) will require a PCB, which Ian may not be interested in mass producing
3.) will require learning a new IDE
4.) will not save much money over an Arduino clone, once (2) is accounted for

You are right. Attiny84 has enough pwm channels and analog ports

20

Re: Filament Winder

Here is my idea for the spool mounting/drive system.  There is a M8 threaded rod mounted in the back board with nuts and washers, with 2 608 bearings held in place on it with lock nuts, maybe 5" apart.  A 3/4" Class 200 PVC pipe slides on over the bearings.  Class 200 has thinner walls than Schedule 40, and is common at Lowes and Home Depot.  The ID is slightly bigger than a 608, but if you wrap a couple of layers of electrical tape around the bearings it will make a snug fit.

The big gear slides over the pipe and gets held in place by a small screw.  The motor with the small gear is on the end of an arm which can be swung up to disengage the gears when you want the spool to spin freely.

The big gear has 4 holes which hold screws that stick out and engage with matching holes on the side of the spool.  The printed sides of the spool are just under 6" in diameter, and press fit into 2" schedule 40 PVC pipe.  That makes the spool about the same size as the Solidoodle spools.  A 2" hub makes for a bit of a tight wind, but if you have a S3 you can print an 8" spool with 3" pipe for the hub.

You should be able to just slide the spool on to the winder, make sure it notches in with the screws, and be good to go.  If you want to use it to wind filament at high speed, you can lift the motor off of it and crank it with your finger.  Or you can make a disc with a stem on one side to chuck into a drill, and screws sticking out the other side to engage the alignment holes on the spool.

Top view

http://solidoodletips.files.wordpress.com/2013/04/spool-top.jpg

http://solidoodletips.files.wordpress.com/2013/04/spool-front.jpg

http://solidoodletips.files.wordpress.com/2013/04/spool-hub.jpg

http://solidoodletips.files.wordpress.com/2013/04/spool-bearings.jpg

http://solidoodletips.files.wordpress.com/2013/04/spool-end.jpg

21

Re: Filament Winder

Hey Ian,

I am off in $10.50 Arduino Land.  Experments with 4 LEDs as photo senors are looking very promising. Advantage of the LED's is extreme dynamic range without saturating like a photo transistor.  The White Big Momma LED light source is so bright that there is like no ambient or 50/60Hz noise, and filament shadows are forming up very well.  Plan is to have software do an initial calibrate at power on, with no filament, to adjust the geometry max gains of each sensor and then do a cubic spline curve fit on real time data to find minima of shadow. (My son shamed me into this; I was just going to hack it)   If all goes well, should be able to interpolate a few bits of extra position resolution between each of the 3mm sensor LEDs to feed into a PID.  If the filament goes out of range, with 4 sensors, firmware knows if it exited above or below.  Running 100 samples per second.  Almost as good as using a camera.  Stay tuned.

How big do you think the detect zone needs to be between the light source and detectors?


-Nick

22

Re: Filament Winder

It actually works!  4 LED sensors an one WBM emitter.  It is able to identify the filament's position continously infront of and between each LED.  Arduino is collecting raw data and sending to a PC which is running the cubic spline and then displaying the shadow waveforms (red curve) real time.  White vertical indicates position of the filament which is in the center of the shadow.  Four red verticals are the LED sample data.  Position jitter is slightly higher between LEDs, but is well under 1/4 the center to center LED spacing, and more like 1/8.  That would put it at +/-0.24mm.  Algorithm will easily port to the Arduino, just easier to proto it on a PC for the graphics.  Array autocals at power up.  Not an issue right now, but plan to add long term ambient and drift compensation.
https://dl.dropboxusercontent.com/u/51501423/Sensor1.JPG
https://dl.dropboxusercontent.com/u/51501423/Sensor2.JPG

23

Re: Filament Winder

WBM emitter?

Cool stuff. Absolutely crazy to see the developments beta testers are making.

24

Re: Filament Winder

White Big Momma 140000mcd 10mm white eBay junk box LEDs circa 2006.   Won't burn paper, but you don't want to look into it.  Narrow beam.  Similar to LED  Need to pickup some named Cree LEDs from Mouser with a real data sheet and part number as a reference.  Once you have the Arduino, total parts cost for this sensor is under $1.

This is CRAZY.  Never would have thought it was possible.  Might be able to create an Arduino Library for it.  Ultimate goal is a short distance direct pull capstan.

25

Re: Filament Winder

Ian -0.02mm diameter change? Interesting question.  dunno.  This setup is measuring position, so we'd have to translate the diameter question into a position question, like running the filament over a guide and measuring the apparent shift in center when the diameter changes.  Linear sensor may still be the way to go for diameter, at least in the short term.  Need to think about it.  Made some Arduino tweaks and now the position resolution is now about +/- 0.1mm without averaging.  Still needs more Arduino work.

Ian - I think at one point you were experimenting with direct pull.  The problem is the extruder rate is bursty.  If the capstan could tightly regulate the amount of sag, do you think we'd see good results?

Previously, I had talked about good results with a 40" span between the extruder and capstan with a 14" sag.  If we could get the span below 12" by tighly regulating the sag, it would make for something that would still fit on a desktop.