Neat, I hadn't seen that Marlin I2C board before. Too bad the sensor seems to be out of production, and I don't know where to find 2mm/polepair magnetic strip. There's one Chinese seller (8849machinerystore) of 10mm/polepair on ebay for $25/meter, so that plus a couple bucks for hall sensors would do a whole printer, although I'm not sure it would be accurate enough (it says 15-30um). It is an inby dekutree64 - Polar Machines, SCARA, Robot Arms
Yes, the .io website. The .com is more of a news site. IMO, Pi Pico 2 is the best successor to Arduino. Similar $5 price tag and not-too-greedy company behind it, but much more powerful. And the board layout with a zillion ground pins is really convenient to work with. Also in my opinion, any closed-loop features are outside the scope of Marlin. Its only job should be processing the gcode and sby dekutree64 - Polar Machines, SCARA, Robot Arms
Not so much reinventing the wheel, rather trying to build a million dollar wheel on a $20 budget And yes, Magneto X is what got me interested in linear motors. The trouble with any friction-based drive like wheels or V belts is that you need a linear encoder to prevent slip/drift, and then you might as well use a linear motor since that's the most difficult part of it. There are smooth mechanisby dekutree64 - Polar Machines, SCARA, Robot Arms
My SCARA uses SKR Mini E3 v1.2, and I do love the simplicity and low cost. But it would be nice to have swappable drivers so I could use a closed-loop BLDC extruder. I made a stepstick-compatible BLDC driver for that and other potential projects, such as a linear motor printer (perhaps only for X, with ultimaker-style Y axis where a regular motor drives a long rod with two pulleys). I originallyby dekutree64 - Polar Machines, SCARA, Robot Arms
It shouldn't be a problem to use the full reachable area. The bed size defined in Marlin is fairly meaningless to polar/SCARA machines, so it's fine to disable soft endstops (which aren't currently enforced for SCARA anyway) and ignore it. Just don't command any positions outside the maximum radius, or straight line moves that would pass through the middle dead zone (if there is one... your animaby dekutree64 - Polar Machines, SCARA, Robot Arms
I think you could use polar or SCARA, but both will require modifications to work. For polar, set r = DEGREES(ACOS(r / PRINTABLE_RADIUS)) since the physical radius is not directly proportional to the motor rotation. For SCARA, change it so crosstalk is applied the other way around (elbow motion affects shoulder, rather than shoulder affecting elbow like usual). It's expecting to need coordinateby dekutree64 - Polar Machines, SCARA, Robot Arms
QuoteChip BarkThe downside with this design is how to measure the centers since the shoulder is inaccessible with wiring and such. Either way, I may post the files on grabcad/printables some time and let people play with it if they want. Yeah, you may have to partially dismantle it to get good measurements. Remove the distal arm, stick a longer rod through the elbow axis, and measure from that toby dekutree64 - Polar Machines, SCARA, Robot Arms
Glad it at least got to draw some lines before heading to the scrap heap The stair stepping is odd... the other lines involve coordinated shoulder/elbow motion too, but they look perfectly smooth. If you get that gear fixed (and add adjustable idler pulleys, essential for good belt tension), the calibration procedure I use is: 1. Precisely measure the arm segment lengths. 2. Make it draw a recby dekutree64 - Polar Machines, SCARA, Robot Arms
Sorry, should have double-checked. It's raw.zby dekutree64 - Polar Machines, SCARA, Robot Arms
Excellent! I wish I'd thought to verify the motor directions sooner. I'm not sure exactly why the home position is reading -1,-1, but maybe it rounds toward negative infinity if it goes just a touch below zero. What matters is that the home angle values match the physical angles of the arm when it reaches the endstops, and that the arm lengths are measured precisely. When you have it fully calibby dekutree64 - Polar Machines, SCARA, Robot Arms
You can certainly give it a shot, but personally I'd go with harmonic drive in the style of ZeroBacklash on youtube or Jared Fenster on hackaday. Nice and simple single stage, and much less backlash trouble.by dekutree64 - Let's design something! (I've got an idea ...)
Hmm, maybe only X should be inverted then. EDIT: I just checked and you still have Y inverted from my configuration, so set X true, Y false, and both home directions positive. From what I can tell in the code, software endstops aren't really used on SCARA. When it's enabled, any XY positions outside the arm's reach will be "pulled in", but that's it. Personally I think it would be better to alsoby dekutree64 - Polar Machines, SCARA, Robot Arms
QuoteChip Bark One question I had when going through config.h was SCARA_HOME_DIST_TO_NOZZLE. I put the number in as the direct diagonal distance from shoulder axis to nozzle at 0,0, but if it needs to measured some other way or if it is ignored fully, then so be it. lol, I intentionally didn't explain that so I could use you as a guinea pig, and apparently the comment above it is not clear enoughby dekutree64 - Polar Machines, SCARA, Robot Arms
Ok, I've got the latest version running now. Try changing the preprocessor check in do_homing_move from ANY(MORGAN_SCARA, MPSCARA) to ENABLED(MORGAN_SCARA), and the one in set_axis_is_at_home from ANY(MORGAN_SCARA, AXEL_TPARA) to IS_SCARA. My clean pull gave a failed to home message the first time I ran it, and I think that's what fixed it. If that doesn't work, here's my full source code and cby dekutree64 - Polar Machines, SCARA, Robot Arms
Dang, it looks like mine doesn't support that board either. It may be possible to simply copy-paste the latest HAL folder and boards.h into the old firmware, if no breaking changes have been made to the HAL interface. I could also try starting from a fresh pull on my printer where I can debug it in person. I had always intended to do a pull request to the main branch with my improvements to theby dekutree64 - Polar Machines, SCARA, Robot Arms
Hmm, apparently your G28.cpp has been modified since the version you posted on Feb 7. Line 400 should be blank, after the last NUM_AXIS_LIST block, and before #if HAS_Z_AXIS. I'm surprised it compiled with it inside the parentheses I don't see the printout from it, but since G28 X Y Z didn't work, I think the problem is somewhere else anyway. At this point I'd really have to spam print messagesby dekutree64 - Polar Machines, SCARA, Robot Arms
Math in the theta #defines is fine. In general you should wrap such expressions in parentheses since you can get unexpected interactions with surrounding math when the preprocessor copy/pastes it into the code, but the way these are used it doesn't matter. So we're confirmed not using quickhome now. I guess the calls to do_blocking_move_to are coming from the planner after do_homing_move calls pby dekutree64 - Polar Machines, SCARA, Robot Arms
That code snippet would have given a compile error nomatter where you put it, so that confirms it is using XY, not AB. QUICKHOME may still be getting enabled somewhere. Your printout shows a bunch of calls to do_blocking_move_to (which is called by quick_home_xy), whereas homeaxis should only call do_homing_move. Again, you can check it by pasting this anywhere and see if it gives a compile erroby dekutree64 - Polar Machines, SCARA, Robot Arms
Don't worry about the slow movement. Until you're reasonably certain that it's been homed properly, bad movement is usually not worth the effort to try and interpret the cause of. The mystery is why it won't even try to home X and Y. You might have to add some debug printing in G28.cpp to see what it's thinking (particularly whether doX and doY ever get set true). One difference from my versionby dekutree64 - Polar Machines, SCARA, Robot Arms
After a look through your source code, the main problem is your scara_set_axis_is_at_home is still broken. Try this: void scara_set_axis_is_at_home(const AxisEnum axis) { if (axis == Z_AXIS) current_position.z = Z_HOME_POS; else { delta.a = SCARA_OFFSET_THETA1 - scara_home_offset.a; delta.b = SCARA_OFFSET_THETA2 - scara_home_offset.a - scara_home_offset.b; forwaby dekutree64 - Polar Machines, SCARA, Robot Arms
Crown gears! That's what I was missing. And I didn't notice the other sideways-mounted arm motor peek into frame in the video. But then what's the large gear/pulley looking thing outside the gearbox? You can use the latest Marlin. It just needs a few fixes. Here's the thread where I explained what to do: Your arm is right-handed, so swap the ACOS signs as described. A couple of corrections: 1by dekutree64 - Polar Machines, SCARA, Robot Arms
Have you tried simply disabling the bounds checking? It looks like the Marlin code is still mostly the same as what I started with. A few changes, but scara_set_axis_is_at_home is still nonsense, doing inverse kinematics on those SCARA_OFFSET_THETA values. The original MPSCARA used an XY home position but didn't do IK so the angle values were wrong, then the 2021Feb17 update changed it to use hoby dekutree64 - Polar Machines, SCARA, Robot Arms
Yeah, there definitely is a lack of easy-to-use firmware for SCARA. There are too many variations in arm design so it's difficult to make a one-size-fits-all without the configuration becoming the confusing part I have a working SCARA printer running Marlin, but it required a fair amount of modification. You can search through some of my posts in this section from a few years ago helping other pby dekutree64 - Polar Machines, SCARA, Robot Arms
I don't think it would need a force sensor or anything fancy. The bowden compression delay shouldn't be a problem since retraction moves don't require much force. The bowden motor only needs to respond fast enough to stop applying force in opposition to the VDE before it starts moving after a direction change, and to get the filament fully compressed before the VDE finishes de-retraction moves.by dekutree64 - Tech-Talk
That's a great idea. The bowden motor will need an encoder to run in closed-loop torque mode, but the precision motor can run open loop for simplicity. The bowden motor can read the same direction signal as the precision motor, so it switches to pulling when it's time for retraction without any need for firmware modification. I'll reassemble my NEMA11 VDE and give it a try. One issue is that theby dekutree64 - Tech-Talk
Maybe just a matter of bending the elbow by hand before sending the home command so the X switch will make contact first? I think MPSCARA needs QUICK_HOME enabled so both motors move together (keeps elbow angle constant until shoulder endstop makes contact), so make sure that's in your Configuration.h.by dekutree64 - Firmware - Marlin
Maybe. Rubbing two pieces of PETG together does have more of a stick-slip feel than PLA. But PLA should be fine if you enlarge the friction surfaces, and not have the annoying stick-slip feel when adjusting it. Surface finish also matters. Sand them flat for good surface contact, but leave sanding scratches for a bit of grippy texture. Around 120 grit is best, I think.by dekutree64 - General
My searching skills have failed me. Years ago I read that you can replace the balls in loose rail slider blocks with slightly oversize balls to get them running well again, but I can't find anywhere to actually buy them aside from Thomson Linear, which only sells big boxes for several hundred dollars. There they have a value called gauge, which is P05 for .0005" oversize and P10 for .001" oversizby dekutree64 - Mechanics
New idea: Mount the extruder on a single 17x23x4mm bearing, with a large gear integrated so it can be turned by a tiny motor off to the side, and have plenty of resolution even with hall sensors (around 150 steps/mm in this case). I wasn't able to get it to run closed loop (sensor placement trouble, I think), and I may need a larger motor, but I think the concept is viable. This motor is 1404 siby dekutree64 - Tech-Talk
Quoteevalon I will comment below but while I remember it: I noticed in the "screwstruder" thread that you had commented there: With this in mind - did you ever try out this extruder type yourself? And, if so, did you find it to be "excellent" - or did there appear to be maybe some "systematic" shortcomings? I may of course ask rq3 himself but since we are in contact now I thought I would ask youby dekutree64 - General New Machines Topics