I’ve been away for a while so forgive if some of this has already been covered elsewhere.
I’m noodling an idea that could solve several Maslow issues and create several new ones. This is good for me, because I consider that the fun part. Let me know what you think.
Existing issues addressed
* Absolute encoders are expensive. Multiturn absolute encoders are more expensive.
* Incremental encoders require constant tracking and counting of revolutions. If the controller spends
too long in an interrupt, it can lose all track of where the machine is and require recalibration to
recover. Current workpiece can be ruined. This is not so much an issue on release firmware, but
is an issue on firmware under test.
* The pre-geartrain hall effect encoders we currently use have high resolution but are subject to
systematic jitter that is unaccounted for.
* Unexpected power loss and homing are non-deterministic
* Frame mounted motor/encoder/line management
* Machine is not easily transportable.
* Accuracy suffers when frame is transported without recallibration.
* Manual(powered down) homing is impossible. Powered jog control is a suitable substitute.
Post encoder line length error sources:
* Over pulley line curvature
* Pulley departure tangent angle varies with sled position
* Chain sag in 2 dimensions
* Chain slop (tolerance between each link)
* Sled rotation, ring roller nonlinearity
Sprocket to sprocket distance criticallity.
* Difficult to measure accurately
* Automated measurement(static chain pull) can damage gearboxen or frame
The idea is to put all electronics and almost everything else on the sled which can be easily transported to a worksite. A full frame can be used if desired, but the envisioned use case is a quick set-up with only 4 point workpiece corner recalibration in any garage with exposed rafters, or overhead garage door tracks. Anywhere you can place 2 overhead pins separated by a couple feet more than your workpiece, you can run this version of Maslow.
Rather than chain being lowered from above and affixed to the sled, we have motorized tape measures on the sled extending metal tape to nailed pivot points above.
The tapes can be motorized by pinch rollers, or punching drive holes in the tape to be driven by sprockets. We no longer have to be concerned with exact gear ratios, motor encoders, steps per revolution. We can use any type of motor we like as long as it is quickly responsive (critically damped) to proportional speed control. Brushed, brushless, or stepper, no servo required. We will do optical servoing.
In place of 2 encoders, 2 $10 ESP32CAMs will each be focused on a tape measure. We use OCR to read the feet and inches, openCV counts each 1/16th"tick as it passes by and interpolates current position between ticks based on the pixel count between tics.
Even if a tape measure is inaccurate(drawn with crayon by a child), we can map the inaccuracies based on optical flow of ft/inch/tic labels, compensate, and correct motion output. The effective resolution of our optical servo is pixels per inch at the plane where tape is read.
The tape measure spring return manages the slack end. The light weight and compound curve in the tape coupled with tension from the sled virtually eliminates line sag. Being solid metal, there is no link slop. Stretch is minimal, and what exists is more predictable because of homogeneous construction.
There is no sprocket curvature to deal with. Each tape measure/camera assembly is mounted to its own small lazy susan in turn mounted to the sled at any convenient point. The camera is focused rigidly at the center of rotation of the lazy susan. The distance from center of lazy susan to center of cutter bit, and angle of that line from horizontal are measured and recorded ‘as built’ compile time constants. That distance from center of lazy susan to center of cutter bit corresponds to the distance from 0 on the tape measure to where a hole is drilled to become the pivot point. These being the same is not critical, it is just an easy way to recall that distance if you ever forget and need to recompile the firmware. The departure angle of tape from sled can be gleaned from the camera image if we stick a protractor to the sled, beneath the pivoting tape. OpenCV can compare protractor angle to edge of tape. Some ESP32 boards include a 3D accelerometer. That can be used to sense absolute sled rotation if it occurs and compensate if necessary.
Obviously, this would require completely new firmware. As the ESP32 grbl version is under development, this seems like a good coproject. This would have at least 2 ESP32CAMs plus a main ESP32 controller. Since each Camera board has a SD card slot, those pins on the main controller can be saved. Redundant ESP32 units can enable OTA(Over The Air) firmware updates without reserving ram on the device being updated. A coordinated OTA procedure could download all 3 images to SD card on one of the cameras, that ESP32CAM updates the other 2 microcontrollers, then copies its own anticipated update to the other ESP32CAM, which finally updates the first ESP32CAM.
The calibration procedure starts with the known geometry of the sled including ‘Susan center’ offsets from bit center. This is trapezoidal kinematics, but it is far different and easier than the previous trapezoidal solution because we have direct live measurement of 3 angles and 2 dynamic sides with a 3rd (between susans)side of known constant length and the 4th (top beam)side is constant, but currently unknown. The length of that final unknown side is derived by using Maslow’s own tape measures to measure distance from the arbitrary hanging pins, to the 4 corners of a known workpiece.
Using your most precise available method, verify that your default 4’ x 8’ sheet is in fact that dimension and has equal diagonals of sqrt(80) in length. If that is not the case, enter the actual dimensions of your workpiece. Place metal corner brackets at the corners of your workpiece so that they are about 1/16" - 1/8" proud of the workpiece. A sled with rounded edges should glide over these without much trouble. You can ‘help’ if it needs a boost.
Insert 1/2" calibration bit in the router chuck. It just senses continuity between the calibration bit and the corner brackets. Each corner bracket has 2 conductive surfaces, Top or Bottom, and Left or Right. For each corner, in turn, move the sled so that the bit is within the area bounded by a corner bracket but not touching. Click “Find Top Left Corner” or whichever is appropriate. The motors will then attempt to pull the sled into that corner, stopping when contact is made. It will make a number of small moves into and out of the corner until it finds the point where both sides make and break simultaneously. At that point, the bit should be exactly 1/4" from each edge of the workpiece. Both tape images are recorded onto SD card for each corner. Once all 8 images are captured (2 tape cameras * 4 corners), we find the 8 angles, 8 tape lengths, and build a spatial model that includes the workpiece space and the triangulated pivot points. This is a one time per setup location procedure. Future workpieces in the same setup location will use the same active area unless recalibrated. It is up to the end user to ensure consistent placement, or they can play with workpiece placement to achieve effects such as repeating cuts at various angles. After initial verification of calibration is done, there are various continuous fine tune strategies that can be employed so that as a machine accumulates operating time, it’s accuracy improves.
An alternative one shot calibration and fine tune strategy at additional cost, could be to obtain a precision optical grid the size of a workpiece. A through hole in the sled beneath each camera at known locations would allow the camera to watch for line intersections and precisely position and level the sled over each of them, noting the tape readings for each grid intersection. This also calibrates the accelerometer gravity vector against workpiece angle. This information could be used to emergency stop the spindle if the gravity vector, or other accelerometer readings exceed expected limits. Indicating sudden drop of sled, lifted sled, abnormally tilted sled, rythmic swinging sled(hanging from tape after frame collapse)
The frame substitute is a pair of 2x4 with hinge at one end for nailing into ceiling joist (bottom of roof truss). 2x4 length = ceiling_height / sin(work_angle_to_floor) With 8ft ceiling and 15 degrees (from vertical), length = 96" / sin(90-15) = 99.5" 10ft ceiling = 125.25", 12ft ceiling = 149" Angle isn’t critical to accuracy, just affects performance. Placement of workpiece rests is noncritical for my proposed implementation as long as it doesn’t shift while operating. If this frame substitute guidance is used with current maslow, rest position IS critical.
I’d like to add better 3D milling (Z axis) capability which requires preventing the sled from lifting off the workpiece as Z is driven down. But I don’t want to compromise the tight sled package and minimal frame. Perhaps some hinges at the bottom of frame substitute legs attached to lightweight rigid beams like aluminum extrusion or fiberglass I beams and captured by the sled. This would allow those beams to swing left and right like windshield wipers, but not lift up(as wipers do, bad analogy). I’m not sure this part would work at all because hinge slop would be magnified at the top of the workpiece and the swinging beams could just get in the way. Maybe just swing them in place when you know the sled is moving over a problem area?
The same basic plan for sled tape measure cameras can be applied to other alternative concepts such as the 4 motor maslow or the parallelogram maslow. I was recently reading about current measurement as a possible means to measure tension on the lower segments of 4 motor. Instead of 2 additional lower motors, how about 2 constant force springs attached to 2 load cells on the sled and the bottom of the frame substitute legs. Because of the way the conforce springs tend to arch, you could put a static horizontal beam over the arched spring that keeps workpiece directed tension on the conforce spring, hopefully preventing sled lift.
There are plenty more aspects which I have thought about but are too long to put here now. Its already getting muddy with other possibilities. I’m happy to answer questions, though I don’t check in as frequently as I used to. I am most interested in hearing about problems I have not thought about. So please be critical. I suspect that bar may have been on a similar track at some point. Hope this helps someone.