Right pulley block |
The x-axis plate is contoured for mass savings, which I extended to the 3D printed pulley blocks for aesthetics. The M3 screws were also shifted around some.
I also pressed-in the linear bearings to the old aluminum x-axis plate and test assembled it on the printer.
The good news it that is slides well, and I think I got the linear bearing spacing correct. The bad news is that this let me see a bending mode I hadn't thought of until now. Previously, I analyzed what I thought was worst case: both motors being used to apply max force such that the x-axis was maximally accelerated in y. I applied this y acceleration to the FEA model with both ends of the x-axis restrained. This is not the worst case, though. For corexy, in order to move diagonally, one motor applies force while the other does not. This causes both the X and Y axes to translate, resulting in diagonal motion. Here's the basic corexy belt layout I discussed a few posts ago:
If you spin the bottom right motor clockwise, for example, that will pull the x axis carriage in -X and the whole x-axis in +Y, resulting in diagonal movement. All of the belts are still tensioned, but belts H and D are tensioned more, by exactly the force required to accelerate the axes' masses, and that force is applied by the motor torque to the pulley. Because H (and D, M and J, but they don't matter for this discussion) has more tension, there is a net torque on the X axis assembly about Z, which has to be countered by the Y axis linear bearings. Remember how I said linear bearings don't handle torque loads well? Oops. But there's another problem. If the X-axis is not very stiff, then the net force in segment H will cause the X-axis to be bent. My design is essentially a beam supported by two rollers, or if you think of the system as static, a pin (pulley P1) and a roller (the linear bearing under P2). This is causes a different mode shape, one that results in more deflection than the previously analyzed case, despite using the force of only one motor instead of two.
I removed the Y axis acceleration (left gravity), left the radial roller supports in the linear bearing holes, left the fixed support in one of the shoulder bolt (pulley) holes, and applied half the previous force (one motor only) to the other shoulder bolt hole. This caused negligible Z deflection, but the Y deflection of one side relative to the other was about 1.8mm! Yikes.
This is the bending mode I was seeing with just the linear bearings and aluminum x-axis plate (no steel rail)...I was able to move them about 5-10mm relative to each other. If there's any play at all in the bearings or frame (impossible to remove all of it), and if the beam connecting them isn't perfectly rigid (never is), then the linear bearings can move axially relative to each other. In the FEA case above, no displacement in X of the linear bearing surface was allowed (bearing or frame slop), so it's likely that the real world deflection would be > 1.8mm.
The frame will be stiffer when the 12mm rods/shafts are locked in place (set screws) and the acrylic shell is on, but that won't eliminate bending in the rods and aluminum brackets holding them. There's also no way to the play between the undersized rods (talked about previously) and the linear bearings...I can add some pretension, but I don't think it'll be enough. Accelerating much slower (~factor of 10, ugh) also fixes this problem, but slow printing was something about this printer I was trying to fix. Ultimately, the right way to handle this problem is to make the X-axis stiff enough to not deflect significantly, which I'm not sure how to do at this point.
The weird thing is that other corexy's aren't immune to this, including ones with rail guides. Linear rails are designed to handle torque, but they still don't limit axial motion, which is where this bending mode comes from. This X-axis design is actually stiffer than Railcore II's unsupported MGN12 rail, at least according to my FEA, so how does that printer work so well? This lead me to re-examine my model inputs, specifically what I'm using for force and acceleration.
I first used just the motor torque and pulley radius to calculate a force. I then used an online calculator for stepper motors that accounts for rotor inertia, applies a factor for reducing the holding torque to a more realistic torque value in order to reduce positioning error, and applies another factor for microstepping torque reduction. I could have written my own simulation program, and have for (much larger) linear motion applications before, but meh...if a calculator exists, why not use it. This dropped the max per motor acceleration to 3 m/s2 from a previous 32 m/s2. I also checked forums for maximum real world accelerations for other high performance corexy printers. It seems that 6-20 m/s2 are about the maximum. 20 m/s2 results in 200mm/s in 1mm and 0.01s. I'll probably redo these analyses with that.
Update: I re-ran the final design with 20m/s2 and 6m/s2. 2*20m/s2 in case 1 (the bending mode shown previously) resulted in a Y deflection of 0.062mm, and 0.55mm at the nozzle and 1mm at the unconstrained y bearing block for case 2 (the bending mode shown above). 2*6m/s2 in case 1 resulted in a Y deflection of 0.017mm, and 0.16mm at the nozzle and 0.3mm at the unconstrained y bearing block for case 2. The Y deflection for 20m/s2 is still unacceptable, and I'll probably have bad ringing at 6000mm/s2 if the motion is somewhat diagonal. Not good.
No comments:
Post a Comment