I realised that I had the means to run the test to confirm that the GM8 gearmotor could turn the 3/8ths inch threaded rod with no problems without having to build the whole z-axis platform to prove it.
The GM8 was able to turn the 3/8ths inch rod in it's bearings with considerable brio and no noticable load. That bodes well.
It also became obvious that the short drive shaft on the GM motor series presents special problems for making useful couplings. I hadn't realised how much I had come to depend on the coupling that Adrian made for the Mk II. :-s
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
It was a purely practical matter. For these lengths I could probably get by with 1/4-28 threaded rods. I happened to have 3/8-24 stock on hand, though, so that's what I'm going with for the moment.
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
I finally got caught up enough with the billable hours to devote a little time to Tommelise this afternoon. I ran into a few annoying problems.
The bolt holes on the GM8 motors are too small to seat either metric M3 bolts or American 4-40 machine bolts. You can get finer American machine bolts than that but nothing long enough to be of any use. I need about 75-100 mm length in order to effectively use those holes. It looks like I am going to have to design something a slide/lock motor mount to do the job. That will be nice in a way, because it is something that a RepRap could easily make. Making up a non-RepRap lashup of one is going to be a little tricky, though.
I also got some .25 inch steel drill rods for the base, horizontal (z) axis and found some nice nylon sleeves that should reduce friction of the guide rods with the frame for the sliding work surface.
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
I was able to get two pieces of double strength glass in 320x320 mm sizes from the scrap barrel at Orchard for $0.99. :-)
I also got the fixings for trying to make a connector between the thrust nut and the threaded rod that allows for free motion in a plane perpendicular to the rod. I decided that it is likely that most people who build repraps in the first few generations are going to be faced with having to deal with studding that isn't quite straight.
The problem with the scheme is that you need to bracket the coupling nut with two fender washers. The coupling nut is just over one inch. Try finding poplar that is 1 inch thick. :-P I settled for gluing two strips together and then filed a couple of millimetres off of the coupling nut so that the thicknesses would match. :-S
Right now I'm waiting for the glue to dry well enough for me to continue. :-)
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
I took a few moments off and measured the maximum translation rate of Tommelise's y-axis (new standard) positioning table with the 12v GM8. I got right at 1.8 mm/sec.
At a 45 degree crosshatch extrusion that means that we can get a 1.8x2^.5 = 2.55 mm/sec xy translation speed.
Given that extruding a .8 mm diameter thread we can get 0.5 mm^2 x 3600 sec/hr = 1800 mm^3/hr or 1.8 cm^3/hr at an extrusion rate of 1 mm/sec
At the max rate we can expect 1.8x2.55 = 4.6 cm^3/hr max extrusion rate. From Vik's experience on the Developer's Blog he gets about 73% head travel actually spent extruding. That means that we have 4.6x0.73 = 3.4 cm^3/hr practical extrusion rate. That's about 2.4 kg/month.
Sounds like the first thing I need to do is make a 1:2 ratio gear set to double that 2.55 mm/sec up to 5.1 mm/sec. That would enable us to extrude 4.8 kg/month.
I could also buy some 3/8-10 pitch acme thread rods and avoid having to do the gear box. That would get me a 6.5 mm/sec max xy translation rate which would give me slightly better performance at a somewhat higher cost.
Decisions... decisions... :-s
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
I could also just buy standard 3/8-16 coarse thread studding. That would get me 3.8 kg/month to start and 7.2 with a 1:2 gear add-on. That would be the cheapest way to improve performance. That would require that I do that nasty looking xz (new standard) rotational plane coupling, though.
Hmmm...
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
The Stratasys is quite slow at building big chunky things.
But remember that complexity is free. So we've found that the trick is to build lightweight structures made from mostly air - much faster, much cheaper, and no extra manufacturing cost...
And if you use a simple intuitive engineer's knowledge of second moments of area, you get things that are more than strong enough.
When in doubt, make a hole in it...
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
While I agree with that, for the most part, it would seem to me that the more open work the structure you were trying to extrude the bigger the ratio would be between the distance the extruder head had to travel and the distance that it was extruding.
It's easy enough to see how you could reduce the mass of a component by 75% by spending more time with 3D modeling and opening up the structure. I doubt you'd be cutting down the build time by 75%, though.
What's your experience, Adrian?
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
It's true that there are more jumps the more holes you have. But their number is very small compared with the zig-zag to-and-fro of infill, which all happens without any jumps. You only get one or two jumps per hole.
Roughly the jumps are proportional to the linear dimensions of the object, whereas the amount of infill is proportional to the area.
So, if d is a characteristic dimension of the object,
infill length, i = c.d^2
jump length, j = k.d
and k has to be an awful lot bigger than c before jumps start to become significant.
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
BTW, what is to stop us from creating light envelopes of CAPA filled with support material? We might well be able to reduce the mass of CAPA in some printed artifacts even more that way. :-)
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
I'm past that major deadline for billable hours and so had a few hours this morning for Tommelise. It turns out that one of the vertical axis towers for Godzilla can be salvaged as the x-axis positioning stage for Tommelise. I've got to come up with a design that can handle the Z-axis platform, but that should be possible.
I also disassembled the x-axis of Godzilla to salvage the lumber and discovered that the 3/8-24 threaded rod I had used in that axis was MUCH straighter than the one I am currently using in the y-axis platform of Tommelise. When I swapped that out the xz sliding joint is hardly needed. I'm keeping it all the same. It's a good idea. :-)
With a little luck today I'll get Tommelise's x-axis finished and tested. If not, this weekend for sure.
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
I put in an order with Solarbotics this morning for half a dozen 12v replacement motors (US$1.75/each) so that I can upgrade my gearmotors from 6v. I also discovered that the GM8 isn't a good choice for the x-axis in that there is an issue with clearance. I'm replacing that GM8 with a GM9, which is basically the motor that Adrian uses for the Mk II on steroids.
The 6v motors will run under load for about 3 months according to a commercial user of the Solarbotics GM series motors. The motor fails after that. I'm not sure whether the bearing or the bushing is what fails. According to Dan Gates at Solarbotics the 12v motor is made better than the 6v and can be expected to last considerably longer. At a cost of US$1.75 for a replacement, though, it doesn't really matter very much.
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
Wowzie! The motors I ordered Monday afternoon arrived this morning. Canadian post, unlike their commercial courier services, seems to work rather well.
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
One of the unexpected problems that I've encountered placing the shaft encoder on the far end of the threaded drive rod of the y-axis is that you have to have the threaded drive shaft very solidly locked down so that it won't accidently impact the encoder chip.
It of course makes sense that the threaded drive shaft has to be solidly locked down if you plan on doing any real work with the reprap since you can't wish away play in the system.
I sorted out the problem with lock washers that set two nuts, one on either side of each bearing.
I've been running the horizontal work surface back and forth to make sure that it won't shake loose. I may try to use some nail polish to set the nuts down on the threaded drive shaft more solidly.
In the morning I will install the shaft encoder and try to get the pseudostepper rolling.
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
I had acquired all the electronics parts to create the pseudostepper/limits switch for Tommelise week before last but was delayed by a long-awaited visit by a former boss of mine at the CSIR in South Africa. I got him on the plane home Thursday and am now caught up enough to spend a few hours working on my reprap. :-)
Since I already have a prototype board that will run two 12v pseudosteppers build up around a PIC 16F877A, I'm going to go ahead and use it rather than build up a new board, for now anyway.
I'm pretty sure that I can accomodate at least the horizontal plane x and y-axis controls on this board. What I'm thinking is that I will put the isolate the logic to proceed from a command to take a step to taking the step in two separate routines for the two axes and then drive them with a central routine that translates a start and stop point on the x and y plane received from the serial loop into coordinated pulse commands for the two motors.
The limiting factor at the moment seems to be the amount of space that I have on the Euroboard/Stripboard that I am using. I would like to get the control logic for the Mk II into the same PIC. That would make things quite tidy. Whether I can manage that with a 20 MHz 16F877A remains to be seen, however.
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
Okay, it's been a long time since I seriously tried to fire up one of my control boards. Mercifully, I remembered to check out everything from the RS232 port step by step out to the controller board. It takes a while to do that, but it saves a lot of time and trouble if you've forgotten something or got a connection wrong. It also joggs my memory and helps me to remember all the nuances of the later tasks in the sequence.
Anyhow, the serial board is okay. I also got what look like reliable 19,200 baud serial comms going on the 16F877A controller board.
I sat down with that board this morning and discovered that I'd hot-wired it to do 5v motor controls last time I fooled with it. I put that right and installed a 470 uF capacitor on the 12v supply side and a 100 uF capacitor on the 5v side. I used electrolytics in both cases. The 470 uF is a bit chunky, but there's room on for it. :-)
Now to see if I can do a little PWM exercise before I start trying to hook up the encoder.
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
As I blogged I got the shaft encoder mounted and wired up. Oddly though, it didn't want to give me good signals yesterday. I fired it up today and it's giving great signal pulses. Now to wire it into the board and setting up the interrupt handler so that it can send the signal counts to the PC. :-)
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
Okay, I've shifted over the code that did pseudostepping on the PIC16F628A board to the PIC16F877A board. I had to shift some of the port pins around for the different controller board in the code.
It works pretty well, though. So, I can do pseudostepping with a 12v GM8 solarbotics motor with AS5035 magnetic shaft encoder feedback on the y-axis on Tommelise. In the morning I am going to work with the firmware for a bit and then see if I can integrate the Hamamatsu P5587 IR chip for limits detection. I built up a test board for this one some months ago and got it working, so there shouldn't be any big scary things happening with getting it going.
Once I am happy with that I plan to hook up the other channel on the 754410 controller chip to run the X-axis using the same code.
So far I've used about 750 words of the 8K I've got available. I expect that I'm going to try to run the Mk II off of this board, too with another 754410 to run the GM3 motor driving the polymer pump and maybe a TIP 110/120 to do the heater on the extruder barrel.
I may try to run the Z-axis off of the other channel on the second 754410. Since the Z-axis control is an entirely separate operation from the x and y axes, however, I may isolate that in a 16F628A board. That will give me two boards on my RS232 loop.
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
Hmmm... It's going to take some trickier programming to get two pseudosteppers working on the same PIC than I thought. Turns out that the waitMS command isn't really interrupt driven but generates interrupts all the same to access the timers.
Yuck! Oh well, onward and upward. :-p
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
I realised that I had the means to run the test to confirm that the GM8 gearmotor could turn the 3/8ths inch threaded rod with no problems without having to build the whole z-axis platform to prove it.
The GM8 was able to turn the 3/8ths inch rod in it's bearings with considerable brio and no noticable load. That bodes well.
It also became obvious that the short drive shaft on the GM motor series presents special problems for making useful couplings. I hadn't realised how much I had come to depend on the coupling that Adrian made for the Mk II. :-s
Just wondering why you have chosen 3/8ths rather than other smaller rods for example.
It was a purely practical matter. For these lengths I could probably get by with 1/4-28 threaded rods. I happened to have 3/8-24 stock on hand, though, so that's what I'm going with for the moment.
I finally got caught up enough with the billable hours to devote a little time to Tommelise this afternoon. I ran into a few annoying problems.
The bolt holes on the GM8 motors are too small to seat either metric M3 bolts or American 4-40 machine bolts. You can get finer American machine bolts than that but nothing long enough to be of any use. I need about 75-100 mm length in order to effectively use those holes. It looks like I am going to have to design something a slide/lock motor mount to do the job. That will be nice in a way, because it is something that a RepRap could easily make. Making up a non-RepRap lashup of one is going to be a little tricky, though.
I also got some .25 inch steel drill rods for the base, horizontal (z) axis and found some nice nylon sleeves that should reduce friction of the guide rods with the frame for the sliding work surface.
I just run a 3mm drill down them. It takes off hardly any material, but you can then use M3 screws with no problem.
I'll try that on one of them. The thinness of the walls of the bolt holes isn't exactly reassuring, though. :-(
I was able to get two pieces of double strength glass in 320x320 mm sizes from the scrap barrel at Orchard for $0.99. :-)
I also got the fixings for trying to make a connector between the thrust nut and the threaded rod that allows for free motion in a plane perpendicular to the rod. I decided that it is likely that most people who build repraps in the first few generations are going to be faced with having to deal with studding that isn't quite straight.
The problem with the scheme is that you need to bracket the coupling nut with two fender washers. The coupling nut is just over one inch. Try finding poplar that is 1 inch thick. :-P I settled for gluing two strips together and then filed a couple of millimetres off of the coupling nut so that the thicknesses would match. :-S
Right now I'm waiting for the glue to dry well enough for me to continue. :-)
I took a few moments off and measured the maximum translation rate of Tommelise's y-axis (new standard) positioning table with the 12v GM8. I got right at 1.8 mm/sec.
At a 45 degree crosshatch extrusion that means that we can get a 1.8x2^.5 = 2.55 mm/sec xy translation speed.
Given that extruding a .8 mm diameter thread we can get 0.5 mm^2 x 3600 sec/hr = 1800 mm^3/hr or 1.8 cm^3/hr at an extrusion rate of 1 mm/sec
At the max rate we can expect 1.8x2.55 = 4.6 cm^3/hr max extrusion rate. From Vik's experience on the Developer's Blog he gets about 73% head travel actually spent extruding. That means that we have 4.6x0.73 = 3.4 cm^3/hr practical extrusion rate. That's about 2.4 kg/month.
Sounds like the first thing I need to do is make a 1:2 ratio gear set to double that 2.55 mm/sec up to 5.1 mm/sec. That would enable us to extrude 4.8 kg/month.
I could also buy some 3/8-10 pitch acme thread rods and avoid having to do the gear box. That would get me a 6.5 mm/sec max xy translation rate which would give me slightly better performance at a somewhat higher cost.
Decisions... decisions... :-s
I could also just buy standard 3/8-16 coarse thread studding. That would get me 3.8 kg/month to start and 7.2 with a 1:2 gear add-on. That would be the cheapest way to improve performance. That would require that I do that nasty looking xz (new standard) rotational plane coupling, though.
Hmmm...
The Stratasys is quite slow at building big chunky things.
But remember that complexity is free. So we've found that the trick is to build lightweight structures made from mostly air - much faster, much cheaper, and no extra manufacturing cost...
And if you use a simple intuitive engineer's knowledge of second moments of area, you get things that are more than strong enough.
When in doubt, make a hole in it...
While I agree with that, for the most part, it would seem to me that the more open work the structure you were trying to extrude the bigger the ratio would be between the distance the extruder head had to travel and the distance that it was extruding.
It's easy enough to see how you could reduce the mass of a component by 75% by spending more time with 3D modeling and opening up the structure. I doubt you'd be cutting down the build time by 75%, though.
What's your experience, Adrian?
It's true that there are more jumps the more holes you have. But their number is very small compared with the zig-zag to-and-fro of infill, which all happens without any jumps. You only get one or two jumps per hole.
Roughly the jumps are proportional to the linear dimensions of the object, whereas the amount of infill is proportional to the area.
So, if d is a characteristic dimension of the object,
infill length, i = c.d^2
jump length, j = k.d
and k has to be an awful lot bigger than c before jumps start to become significant.
That's great to hear! I'll be carving away at things in AoI then . :-D
BTW, what is to stop us from creating light envelopes of CAPA filled with support material? We might well be able to reduce the mass of CAPA in some printed artifacts even more that way. :-)
I'm past that major deadline for billable hours and so had a few hours this morning for Tommelise. It turns out that one of the vertical axis towers for Godzilla can be salvaged as the x-axis positioning stage for Tommelise. I've got to come up with a design that can handle the Z-axis platform, but that should be possible.
I also disassembled the x-axis of Godzilla to salvage the lumber and discovered that the 3/8-24 threaded rod I had used in that axis was MUCH straighter than the one I am currently using in the y-axis platform of Tommelise. When I swapped that out the xz sliding joint is hardly needed. I'm keeping it all the same. It's a good idea. :-)
With a little luck today I'll get Tommelise's x-axis finished and tested. If not, this weekend for sure.
I put in an order with Solarbotics this morning for half a dozen 12v replacement motors (US$1.75/each) so that I can upgrade my gearmotors from 6v. I also discovered that the GM8 isn't a good choice for the x-axis in that there is an issue with clearance. I'm replacing that GM8 with a GM9, which is basically the motor that Adrian uses for the Mk II on steroids.
The 6v motors will run under load for about 3 months according to a commercial user of the Solarbotics GM series motors. The motor fails after that. I'm not sure whether the bearing or the bushing is what fails. According to Dan Gates at Solarbotics the 12v motor is made better than the 6v and can be expected to last considerably longer. At a cost of US$1.75 for a replacement, though, it doesn't really matter very much.
Wowzie! The motors I ordered Monday afternoon arrived this morning. Canadian post, unlike their commercial courier services, seems to work rather well.
One of the unexpected problems that I've encountered placing the shaft encoder on the far end of the threaded drive rod of the y-axis is that you have to have the threaded drive shaft very solidly locked down so that it won't accidently impact the encoder chip.
It of course makes sense that the threaded drive shaft has to be solidly locked down if you plan on doing any real work with the reprap since you can't wish away play in the system.
I sorted out the problem with lock washers that set two nuts, one on either side of each bearing.
I've been running the horizontal work surface back and forth to make sure that it won't shake loose. I may try to use some nail polish to set the nuts down on the threaded drive shaft more solidly.
In the morning I will install the shaft encoder and try to get the pseudostepper rolling.
I had acquired all the electronics parts to create the pseudostepper/limits switch for Tommelise week before last but was delayed by a long-awaited visit by a former boss of mine at the CSIR in South Africa. I got him on the plane home Thursday and am now caught up enough to spend a few hours working on my reprap. :-)
Since I already have a prototype board that will run two 12v pseudosteppers build up around a PIC 16F877A, I'm going to go ahead and use it rather than build up a new board, for now anyway.
I'm pretty sure that I can accomodate at least the horizontal plane x and y-axis controls on this board. What I'm thinking is that I will put the isolate the logic to proceed from a command to take a step to taking the step in two separate routines for the two axes and then drive them with a central routine that translates a start and stop point on the x and y plane received from the serial loop into coordinated pulse commands for the two motors.
The limiting factor at the moment seems to be the amount of space that I have on the Euroboard/Stripboard that I am using. I would like to get the control logic for the Mk II into the same PIC. That would make things quite tidy. Whether I can manage that with a 20 MHz 16F877A remains to be seen, however.
Okay, it's been a long time since I seriously tried to fire up one of my control boards. Mercifully, I remembered to check out everything from the RS232 port step by step out to the controller board. It takes a while to do that, but it saves a lot of time and trouble if you've forgotten something or got a connection wrong. It also joggs my memory and helps me to remember all the nuances of the later tasks in the sequence.
Anyhow, the serial board is okay. I also got what look like reliable 19,200 baud serial comms going on the 16F877A controller board.
I sat down with that board this morning and discovered that I'd hot-wired it to do 5v motor controls last time I fooled with it. I put that right and installed a 470 uF capacitor on the 12v supply side and a 100 uF capacitor on the 5v side. I used electrolytics in both cases. The 470 uF is a bit chunky, but there's room on for it. :-)
Now to see if I can do a little PWM exercise before I start trying to hook up the encoder.
PWM's works okay. Now I guess I've got to hook up an encoder on the y-axis positioning stage and get that wired into the board.
As I blogged I got the shaft encoder mounted and wired up. Oddly though, it didn't want to give me good signals yesterday. I fired it up today and it's giving great signal pulses. Now to wire it into the board and setting up the interrupt handler so that it can send the signal counts to the PC. :-)
I've wired up another AS5035 and so far it is giving good signals. I'll be wiring the signal into the 16F877A board this afternoon. Wish me luck.
Okay, I've shifted over the code that did pseudostepping on the PIC16F628A board to the PIC16F877A board. I had to shift some of the port pins around for the different controller board in the code.
It works pretty well, though. So, I can do pseudostepping with a 12v GM8 solarbotics motor with AS5035 magnetic shaft encoder feedback on the y-axis on Tommelise. In the morning I am going to work with the firmware for a bit and then see if I can integrate the Hamamatsu P5587 IR chip for limits detection. I built up a test board for this one some months ago and got it working, so there shouldn't be any big scary things happening with getting it going.
Once I am happy with that I plan to hook up the other channel on the 754410 controller chip to run the X-axis using the same code.
So far I've used about 750 words of the 8K I've got available. I expect that I'm going to try to run the Mk II off of this board, too with another 754410 to run the GM3 motor driving the polymer pump and maybe a TIP 110/120 to do the heater on the extruder barrel.
I may try to run the Z-axis off of the other channel on the second 754410. Since the Z-axis control is an entirely separate operation from the x and y axes, however, I may isolate that in a 16F628A board. That will give me two boards on my RS232 loop.
Hmmm... It's going to take some trickier programming to get two pseudosteppers working on the same PIC than I thought. Turns out that the waitMS command isn't really interrupt driven but generates interrupts all the same to access the timers.
Yuck! Oh well, onward and upward. :-p