How precise can your Smartrap print? - Alignment issues July 14, 2014 07:11PM |
Registered: 10 years ago Posts: 344 |
Re: How precise can your Smartrap print? - Alignment issues July 14, 2014 07:25PM |
Registered: 10 years ago Posts: 37 |
--- Configuration.h --- #define SKEW_AXES // Can add a scew to the x, y or both axes to compensate for #ifdef SKEW_AXES // Adds an X and/or Y axis scew to the auto level matrix. Can compensate for non-rectangular cartesian problems #define X_SKEW_ANGLE_DEG 0.00 // Shift the x axis up as the head moves in positive y #define Y_SKEW_ANGLE_DEG -0.52 // Shift the y axis up as the head moves in positive x #endif --- Marlin_main.cpp --- static void set_bed_level_equation_3pts(float z_at_pt_1, float z_at_pt_2, float z_at_pt_3) { plan_bed_level_matrix.set_to_identity(); // smartrap modif: we add some delta on 3rd point because of smartrap's special design : x is porte a faux and there's a diff between probe and print z_at_pt_3 += Z_PROBE_OFFSET_FROM_EXTRUDER_DELTA_X; vector_3 pt1 = vector_3(ABL_PROBE_PT_1_X, ABL_PROBE_PT_1_Y, z_at_pt_1); vector_3 pt2 = vector_3(ABL_PROBE_PT_2_X, ABL_PROBE_PT_2_Y, z_at_pt_2); vector_3 pt3 = vector_3(ABL_PROBE_PT_3_X, ABL_PROBE_PT_3_Y, z_at_pt_3); vector_3 from_2_to_1 = (pt1 - pt2).get_normal(); vector_3 from_2_to_3 = (pt3 - pt2).get_normal(); vector_3 planeNormal = vector_3::cross(from_2_to_1, from_2_to_3).get_normal(); planeNormal = vector_3(planeNormal.x, planeNormal.y, abs(planeNormal.z)); plan_bed_level_matrix = matrix_3x3::create_look_at(planeNormal); #ifdef SKEW_AXES plan_bed_level_matrix.debug("bed level before axis skew"); float tanx=tan(M_PI*X_SKEW_ANGLE_DEG/180.0); float tany=tan(M_PI*Y_SKEW_ANGLE_DEG/180.0); float* mmatrix = plan_bed_level_matrix.matrix; #define m(r,c) mmatrix[3*r+c] vector_3 row1 = vector_3( m(0,0)+tany*m(1,0), m(0,1)+tany*m(1,1), m(0,2)+tany*m(1,2) ); vector_3 row2 = vector_3( m(1,0)+tanx*m(0,0), m(1,1)+tanx*m(0,1), m(1,2)+tanx*m(0,2) ); vector_3 row3 = vector_3( m(2,0), m(2,1), m(2,2) ); plan_bed_level_matrix = matrix_3x3::create_from_rows(row1, row2, row3); plan_bed_level_matrix.debug("bed level after axis skew"); #endif vector_3 corrected_position = plan_get_position(); current_position[X_AXIS] = corrected_position.x; current_position[Y_AXIS] = corrected_position.y; current_position[Z_AXIS] = corrected_position.z; // put the bed at 0 so we don't go below it. current_position[Z_AXIS] = zprobe_zoffset + Z_PROBE_OFFSET_FROM_EXTRUDER_DELTA_Z; plan_set_position(current_position[X_AXIS], current_position[Y_AXIS], current_position[Z_AXIS], current_position[E_AXIS]); } --- END ---
Re: How precise can your Smartrap print? - Alignment issues July 14, 2014 11:33PM |
Registered: 10 years ago Posts: 80 |
Re: How precise can your Smartrap print? - Alignment issues July 15, 2014 12:53AM |
Registered: 10 years ago Posts: 37 |
New_point = Matrix x Old_point | xnew | | a b c | | xold | | ynew | = | d e f | x | yold | | znew | | g h i | | zold | (read the equations right-to-left)
new_point = M3 x M2 x M1 x old_point (read right to left)
| 1 tan(Ay) 0 | Mskew = | tan(Ax) 1 0 | | 0 0 1 |Where Ay is the shear angle about the Y axis and Ax is the shear angle about the X axis. The code containing m(0,0), etc is the simplified matrix multiplication of the original bed leveling matrix by this skew matrix, Mskewlevel = Mskew x Mlevel. Once that new matrix is calculated, the code just replaces the existing auto-leveling matrix with this new one.
Re: How precise can your Smartrap print? - Alignment issues July 15, 2014 04:19AM |
Registered: 11 years ago Posts: 992 |
Re: How precise can your Smartrap print? - Alignment issues July 15, 2014 07:36AM |
Registered: 10 years ago Posts: 344 |
Quote
CellJeffe
My solution to the X-Y skew problem was to add a skew matrix to the three-point auto-leveling matrix:
Quote
smartfriendz
Expecially the new tensions on X and Y axis coming from the belt system. Note it it doesn't happen with the rack&pinion or with fishing line , as they are symmetric or using an M5 thread to block the all axis in place. GT2 was a later implementation
Quote
smartfriendz
Note that on the last version, we have some M3x10 blocking the smooth rods on the Y axis ends. It's better and we will have it on X axis too.
Re: How precise can your Smartrap print? - Alignment issues July 15, 2014 09:34AM |
Registered: 11 years ago Posts: 992 |
Re: How precise can your Smartrap print? - Alignment issues July 15, 2014 10:04AM |
Registered: 10 years ago Posts: 814 |
Re: How precise can your Smartrap print? - Alignment issues July 15, 2014 10:58AM |
Registered: 10 years ago Posts: 37 |
Quote
cristian
Thanks CellJeffe! Have you measured skew for Z axis too?
Re: How precise can your Smartrap print? - Alignment issues July 15, 2014 02:33PM |
Registered: 10 years ago Posts: 344 |
Quote
smartfriendz
But let's work on the Z reinforcement for now ? I'm working on it in spare time lately ( with the auto level too, as it's very important to have one without touching the bed..with the Smartrap's design).
Quote
CellJeffe
Theoretically, the existing autolevel matrix corrects for Z-axis skew.
Re: How precise can your Smartrap print? - Alignment issues July 15, 2014 03:38PM |
Registered: 10 years ago Posts: 3 |
Re: How precise can your Smartrap print? - Alignment issues July 15, 2014 05:05PM |
Registered: 10 years ago Posts: 37 |
Quote
cristian
It seems to me that the autolevel matrix cannot detect everything. It will detect correctly the Y-Z skew I think, however for the X-Z skew the autolevel will only correct the difference of skew between the bed and the X/Z rods. Of course the X/Z rods skew should be negligible unless the plate_x is faulty. Nevertheless I would like to measure it to be sure.
Quote
cristian
It is very important indeed to have this software calibration to allow a correct evolution of the "Smartrap species": otherwise, after every generation of Smartraps the precision of the printed parts would quickly degrade and the new born Smartraps would not be able to procreate
Re: How precise can your Smartrap print? - Alignment issues July 15, 2014 10:09PM |
Registered: 12 years ago Posts: 791 |
Quote
madmike8
My z stepper/threaded rod connector had broke, so I tried the fish aquarium air hose mod that someone suggested. It worked great, but also had the benefit of cleaning up the z wobble.
Re: How precise can your Smartrap print? - Alignment issues July 15, 2014 10:13PM |
Registered: 12 years ago Posts: 791 |
Quote
Lukashuk
And what if in the bed center depth is 1 mm? The detail top too will be with a hole? Or gradual alignment? Or back? ! ! ! NO! ! ! the hole will be! ! ! It is better to level a bed hands of 1 times in 1 month.
forgive for my English
Re: How precise can your Smartrap print? - Alignment issues July 15, 2014 10:20PM |
Registered: 12 years ago Posts: 791 |
Quote
Lukashuk
And what if in the bed center depth is 1 mm? The detail top too will be with a hole? Or gradual alignment? Or back? ! ! ! NO! ! ! the hole will be! ! ! It is better to level a bed hands of 1 times in 1 month.
forgive for my English
Re: How precise can your Smartrap print? - Alignment issues July 15, 2014 11:22PM |
Registered: 10 years ago Posts: 349 |
Re: How precise can your Smartrap print? - Alignment issues July 17, 2014 06:40AM |
Registered: 10 years ago Posts: 344 |
Quote
cristian
It will detect correctly the Y-Z skew I think
Quote
CellJeffe
If there is Z skew, it shouldn't be too hard to come up with a correction matrix to adjust it! There are just several possible skew matrices - depending on the skew plane. We could probably get away with an XZ skew or YZ skew matrix in addition to the XY skew matrix if it comes to that. I should probably update the vector3x3 code to formally do matrix multiplication, but then I would be very tempted to convert it to a 4x4 affine transformation matrix.
Re: How precise can your Smartrap print? - Alignment issues July 17, 2014 07:49AM |
Registered: 11 years ago Posts: 992 |
Re: How precise can your Smartrap print? - Alignment issues July 17, 2014 08:32AM |
Registered: 12 years ago Posts: 791 |
Quote
smartfriendz
Hi Christian,
Thank you for those feedback. I can only agree with all that
About the Z , I think that making a triangle would be the best too, with maybe two threaded rods going on the back , behind the steppers and attached on the top. That would make a solid triangle reducing the flexibility of those two smooth rods. It is that or using M12 smooth rods like in the ptrintrbot simple. I would choose triangle structure personally. i started a design about that . i will maybe put it here to think about
About the wobble, with the last system , i had very good result ? The support need to be maybe adjusted under the Plate_x to be free ( with a little grease under ). My M5 threaded rod is shaking like crazy now , but all the wobble goes into this support, not on the plate.
About the GT2, it just works well and i choose to use them for assembly easiness for the commercial kits. Especially the aluminiums pinions . Maybe it could change in the future . I had indeed very good result with fishing line, but it needs to be very straight , and we need to fin the good one. Too small an it brakes..too big and it's not so accurate anymore .
I love the rack&pinions too, i have one machine in production with it and it works like a charm. I add some vaseline on it and it's very smooth. The problem here is to adjust very precise because if too large, you will have backslash , and too tight, it will make waves on the printed parts. I would easy go back to r&p with a better design, more adjustable. And maybe without the long threaded rods inside. I think it's possible to have just racks printed and attached to both ends.
For the Y, we are maybe going to switch to aluminium plate because of a new auto level system using proximity sensors inductive ( so , metal needed). In that case, we could rework the Y ends and racks so we can fix it directly on the aluminium plate.. maybe.. it's just ideas
I would love to have an all printed structure one day . Not because it's better than other solutions, but because it's just sooo reproductive without human intervention ( click : print ! ) and because it's the only way i know to have community interactive design ( everyone model and test on its own printer in almost real time ). Canot be practically done with other technologies actually.
But let's work on the Z reinforcement for now ? I'm working on it in spare time lately ( with the auto level too, as it's very important to have one without touching the bed..with the Smartrap's design).
Re: How precise can your Smartrap print? - Alignment issues July 17, 2014 08:46AM |
Registered: 10 years ago Posts: 344 |
Quote
smartfriendz
I can't tell why it's not in marlin, I've asked there on github but people just laughed at me ?!?! . I've been said that " A hardware problem shouldn't be recovered by software .. you must do a better design ! period. Your smartrap is not that smart "
Then i asked why all the reprap developers where running after auto level, which IS a software recover from bad hardware design ? ..no answer .
Quote
regpye
Still working on this model, not had time to wire it up yet and test.
Re: How precise can your Smartrap print? - Alignment issues July 17, 2014 08:50AM |
Registered: 11 years ago Posts: 992 |
Re: How precise can your Smartrap print? - Alignment issues July 18, 2014 04:32AM |
Registered: 10 years ago Posts: 170 |
Re: How precise can your Smartrap print? - Alignment issues July 18, 2014 09:19AM |
Registered: 10 years ago Posts: 349 |
Re: How precise can your Smartrap print? - Alignment issues July 18, 2014 05:02PM |
Registered: 12 years ago Posts: 791 |
Quote
BackEMF
I do understand why some people would bounce it on 'bad hardware design' though i also see the advantages of having clever software solutions.
And since autolevel already exists and the addition of this skew correction looks like it is only a small extra addition i don't see why it shouldn't be included.
Actually it would be great if this somehow could be included IN the autolevel procedure.
Pitty that the guys at marlins github don't see the advantage in this yet. I think it would be great to be able to slap together 3 axis and hit the print button, let the machine figure out the wonkeyness and spit out a perfect print.
Re: How precise can your Smartrap print? - Alignment issues July 19, 2014 03:23AM |
Registered: 10 years ago Posts: 344 |
Quote
BackEMF
I do understand why some people would bounce it on 'bad hardware design'
Quote
BackEMF
I think it would be great to be able to slap together 3 axis and hit the print button, let the machine figure out the wonkeyness and spit out a perfect print.
Re: How precise can your Smartrap print? - Alignment issues July 19, 2014 06:10PM |
Registered: 10 years ago Posts: 37 |
Quote
cristian
That woudl be great, but even after thinking about it for some time I cannot find ways to detect automatically skew. It may probably be detected without printing a calibration object by using some fanciful measurement method, but all the ways I can think about require at some point a measurement done by a human.Quote
BackEMF
I think it would be great to be able to slap together 3 axis and hit the print button, let the machine figure out the wonkeyness and spit out a perfect print.
And let's not forget that the "simple" autoleveling procedure is not so neat for the smartrap, yet.
Re: How precise can your Smartrap print? - Alignment issues July 19, 2014 06:40PM |
Registered: 12 years ago Posts: 791 |
Quote
CellJeffe
Quote
cristian
That woudl be great, but even after thinking about it for some time I cannot find ways to detect automatically skew. It may probably be detected without printing a calibration object by using some fanciful measurement method, but all the ways I can think about require at some point a measurement done by a human.Quote
BackEMF
I think it would be great to be able to slap together 3 axis and hit the print button, let the machine figure out the wonkeyness and spit out a perfect print.
And let's not forget that the "simple" autoleveling procedure is not so neat for the smartrap, yet.
Hmm... How about semi-automated method using a reference object. Put a short plate with a good 90 degree angle on top of your existing bed plate, slide it up against the Z axis rods and tape it down. Lower the extruder until the Z endstop engages. Then slide off in one direction and make a note of where the extruder falls off the edge and the endstop disengages. Do this at four points to get the relative edges of the glass test plate. That gives you two vectors that are at right angles to each other. The difference between that and where the extruder thinks it slid off can be used to calculate the existing skew.
I would think about doing it, but I'm going to be away from my printer for a couple of weeks. And, I find the marlin code to be a bit... cobbled together.
[attachment 36882 AutoDeskew.jpg]
Re: How precise can your Smartrap print? - Alignment issues July 20, 2014 10:16PM |
Registered: 10 years ago Posts: 349 |
Re: How precise can your Smartrap print? - Alignment issues July 20, 2014 10:29PM |
Registered: 12 years ago Posts: 791 |
Quote
BackEMF
@ CellJeffe
Serge was working on the inductive sensor., Now i'm not sure if my next idea will work but maybe if the inductive sensor is moved to the edge of the buildplate that it is possible to sense if the edge is "more" or "less" under the sensor. Or better detect all 4 edges off the plate.
[attachment 36929 sensor.png]
grey square = Alu plate
grey dots = Z axis
red dots = inductive sensor (attached to X axis)
After auto bedlevel we know where to expect induction, so when then moving over the edge then there will be no induction so thats the end of the bed. Since the alu plate is square then we know how skewed it is.
The only essential thing is then that the alu plate has to be 100 linear to the guiding rods, but that shouldn't be an issue.
Re: How precise can your Smartrap print? - Alignment issues July 21, 2014 09:33PM |
Registered: 10 years ago Posts: 349 |