RC Car Gets Force Feedback Steering https://hackaday.com/2024/08/06/rc-car-gets-force-feedback-steering/ #remotecontrolled #forcefeedback #carhacks #loadcell #steering #ESP-Now #R/Ccar #ESP32 #rc
RC Car Gets Force Feedback Steering https://hackaday.com/2024/08/06/rc-car-gets-force-feedback-steering/ #remotecontrolled #forcefeedback #carhacks #loadcell #steering #ESP-Now #R/Ccar #ESP32 #rc
So the #Prusa #Mk4 5.0.0a4 firmware supports #inputshaping. It built a benchy in just over half of the time (38m) as without input shaping (67m). But the result had significant defects.
Useful for drafts? Maybe.
I suspect #Octoprint was not a problem before but rather my lack of the 5.0.0 firmware when using a GCO sliced for input shaping.
The #loadcell is a nice feature. The exact problem my #Mk3 was recently encountering (nozzle collision with sheet) should not be possible with the #Mk4!
Raspberry Pi Test Stand Tells You Which Glues to Use
Not all glues are created equal; or rather, not every glue is good for every application. But how is one to know which glue to use in which kinds of joints? The answer to that is not always clear, but solid numbers on the comparative strength of different glues are a great place to start.
To quantify what can ordinarily be a somewhat subjective process, there's probably no one better than woodworker and hacker [Matthias Wandel], equipped as he is with his DIY strength-tester. Using its stepper-driven power to blast apart glued lap joints, [Matthias] measured the yield point of the various adhesives using a strain gauge connected to a Raspberry Pi.
His first round of tests had some interesting results, including the usually vaunted construction adhesive ending up in a distant last place. Also performing poorly, at least relative to its reputation and the mess it can cause, was the polyurethane-based Gorilla Glue. A surprise standout in overall strength was hot glue, although that seemed to have a sort of plastic yield mode. Ever the careful empiricist, [Matthias] repeated his tests using hardwoods, with remarkably different results; it seems that glues really perform better with denser wood. He also repeated a few tests to make sure every adhesive got a fair shake. Check out the video below for the final results.
It's always good to see experiments like this that put what we often take for granted to the test. [John] over at the Project Farm channel on YouTube does this kind of stuff too, and even did a head-to-head test of epoxy adhesives.
#mischacks #adhesive #glue #loadcell #materialstesting #raspberrypi #stepper #straingauge #strength
LEGO Cup Holder Helps You to Stay Hydrated
Eat more fruit, exercise more, drink more fluids; early January is traditionally the time to implement New Year's resolutions. Most of the common ones simply require willpower, but if it's staying hydrated that you're targeting, then some help is available. [Pepijn de Vos] designed a LEGO cup holder and an accompanying desktop app that tell you exactly how much water you've had so far, making it easier to get to those eight glasses a day.
The basic idea is simple: the cup holder contains a load cell that senses the weight of your drinking vessel. If the weight decreases, then a message is sent to your PC detailing the amount lost. If the weight increases, then the glass must have been refilled and the previous weight is disregarded. This way, the app simply needs to add up all the amounts reported, without having to compensate for the weight of the empty glass.
The tricky bit was integrating a load cell into the LEGO structure. It required some fiddling with Flex System hoses to ensure the platform's weight rested only on the load cell, while still being stable enough to safely hold a full glass of water. The load cell is read out through an amplifier and A/D converter, while the USB communication is handled by a Teensy 3.
[Pepijn] modified an existing GNOME desktop widget to display a cup icon and the total volume consumed, which seems to work pretty smoothly judging from the video embedded below. All the code and even a complete set of LEGO build instructions are available on the project's Github page. If simply monitoring your fluid intake isn't enough of a nudge for you, then check out this device that floods your desk if you don't drink enough.
Prusa XL Goes Big, But That’s Only Half the Story
For a few years now it's been an open secret that Prusa Research was working on a larger printer named, imaginatively enough, the Prusa XL. Positioned at the opposite end of their product spectrum from the wildly popular Prusa Mini, this upper-tier machine would be for serious hobbyists or small companies that need to print single-part objects that were too large for their flagship i3 MK3S+ printer. Unfortunately, the global COVID-19 pandemic made it difficult for the Czech company to focus on bringing a new product to market, to the point that some had begun to wonder if we'd ever see this mythical machine.
But now, finally, the wait is over. Or perhaps, it's just beginning. That's because while Prusa Research has officially announced their new XL model and opened preorders for the $1,999+ USD printer, it's not expected to ship until at least the second quarter of 2022. That's already a pretty substantial lead time, but given Prusa's track record when it comes to product launches, we wouldn't be surprised if early adopters don't start seeing their machines until this time next year.
So what do you get for your money? Well, not an over-sized Prusa i3, that's for sure. While many had speculated the XL would simply be a larger version of the company's popular open source printer with a few modern niceties like a 32-bit control board sprinkled in, the reality is something else entirely. While the high purchase price and ponderous dimensions of the new machine might make it a tough sell for many in the hacker and maker communities, there's little question that the technical improvements and innovations built into the Prusa XL provide a glimpse of the future for the desktop 3D printer market as a whole.
Going Back to the Future
The Prusa i3 MK3S+ is the latest and most evolved version of a design that can be traced back to the RepRap Mendel developed in 2009. There have been many clones and variations of this open source printer, but fundamentally they can be described as using a Cartesian movement system wherein an overhead extruder moves along the X and Z axes, while the print surface moves forward and backwards on the Y axis. The vast majority of modern desktop 3D printers today use some variation of this design, often integrating the improvements made by Prusa Research over the years.
So to the casual observer, surely the biggest change to the Prusa XL is that the machine is based on a completely different movement system that looks nothing like anything the company has produced to this point. With this style of movement, the extruder moves in the X and Y dimensions and the bed travels vertically to make up the Z axis. One of the major advantages of this layout is that far less stress is put on the printed part, especially when the machine is moving at high speed.
Rather than shaking the bed back and forth rapidly, which can introduce visual print artifacts, it's slowly and smoothly lowered down as the printer proceeds to the next layer. This, combined with the inherent rigidity of the more cubic frame, allows for faster print speeds than are traditionally obtainable on Mendel/i3 machines. In the case of the Prusa XL this is particularly important, as the machine will need all the speed it can get to work through prints that take up any significant portion of its cavernous 36×36×36 cm (14.17×14.17×14.17 inch) build volume.
The specific arrangement of belts and stepper motors being used by the Prusa XL is officially known as CoreXY, a relatively modern implementation focused on speed and simplicity. But many of the design elements, such as constraining the overhead extruder to two-dimensional movement, and lowering the bed as the print progresses, are reminiscent of Darwin, the very first RepRap machine. While there are commercial 3D printers that adapted the Darwin approach, most notably those from Makerbot and Ultimaker, they've made little inroads with the hobbyist crowd.
Prusa coming full circle and abandoning the design that they helped popularize would be a quite shock, but thankfully, that's not what's happening here. The i3 design just doesn't scale up well, and given the dimensions of the XL, presumably wasn't able to hit the company's performance goals. So for this particular product, they decided to go back to the drawing board.
At the same time, the cost and size of the XL is clearly aimed at a higher market than Prusa's traditionally gone after. So while this larger printer might have embraced a new design, the i3 that hackers and makers love isn't going anywhere. But that certainly doesn't mean other features of the XL won't be making their way to the rest of the Prusa family.
Bells and Whistles Abound
The size of the Prusa XL is obviously what makes the machine stand out, but upon closer inspection, there are a number of very interesting improvements that aren't specifically related to the scale of the machine. In other words, these are the features that Prusa (and their competitors) will likely be mulling over for inclusion in other products once the kinks have been worked out and the designs have been cost-optimized a bit.
One of those is the new segmented bed heater. Traditionally, 3D printers have used one large heating pad to bring the whole bed up to temperature; a simple, but inefficient approach. With its unusually large bed, this inefficiency was simply too great to ignore, so Prusa has instead used an array of smaller heaters. The most obvious advantage of this approach is that it will allow for more localized, targeted heating. Why waste the energy and time required to heat the entire bed before each print when you don't need to? But even on smaller beds, an array of heaters would have its advantages. Compared to one large heater, operating them in an alternating pattern would put less strain on the PSU, and they would have less tendency to induce a warp on the print surface.
Prusa has also completely redesigned the extruder assembly for the XL, and has done away with the inductive sensor used for bed leveling. In this new “Nextruder”, a custom built load cell integrated into the hotend's heatsink allows using the printer's nozzle as a physical probe to detect the bed position. This approach promises to be more accurate than the previous non-contact sensor, and isn't dependent on the conductivity or magnetic properties of the bed material. We've seen this done in the DIY space before, and credit where it's due, both Creality and Anycubic have implemented a similar feature on their newer printers. Prusa seems to have taken the capability a step farther though, as their press release claims the load sensor in the hotend is also able to detect when the printer has jammed; a capability that was quietly deleted from the i3 MK3S when it was determined the optical sensor used to detect filament movement was too temperamental.
Finally, the Prusa XL fully embraces the 32-bit control electronics that they first experimented with on the Mini in 2019. This is hardly a surprise, as eventually, even the cheapest of desktop 3D printers will ditch their 8-bit microcontrollers. But Prusa is in a particularly good place here as they've had a few years to refine their 32-bit firmware, and it looks like the XL will get enhanced versions of features which they've been testing on their entry-level printer, such as network control and 3D print previews.
No More MMU?
There was a lot of excitement about Prusa's Multi-Material Upgrade (MMU), and as they moved from the initial version that required a stepper motor for each material to the far more refined approach that could cut the filament and load it into the extruder on-demand, it was clear the company was giving the concept a lot of thought. But as many MMU owners would attest, the reality of using the device has always left something to be desired. There's simply too many moving pieces involved, literally and figuratively, to make the system reliable with a single extruder.
Prusa XL with additional extruders.
Which is why on the Prusa XL, they aren't even trying. Rather than feeding different filaments into one extruder to achieve multi-color or multi-material printing, the XL simply switches between up to five extruders that have already been loaded with the appropriate filaments.
Naturally this involves a lot of extra engineering and hardware, as the printer needs to be able to rapidly and accurately swap between the extruders hundreds if not thousands of times during the course of a long print. But if done properly, it's certainly the more reliable approach. It also offers some tantalizing possibilities, as the technique doesn't have to be limited to extruders. Whether it happens through an official upgrade or DIY means, it seems inevitable we'll see a Prusa XL wielding a laser before too long.
The Prusa XL implementing full tool-changing capabilities would seem to bode ill for the MMU. Even after years of refinement, the company wasn't confident enough in the technology to even offer it as an option on their new high-end machine. The chance that we'll see further development on the MMU seems slim at this point, but there could be a silver lining: it may be that Prusa is planning to implement similar, if somewhat more constrained, tool-changing capabilities as an option on the next generation of their i3 printer.
The Shape of Things to Come
The Prusa XL has a lot of fascinating technology onboard, of which we've just covered the highlights here. While some of it is undoubtedly better suited to large-format machines, it stands to reason that at least a few of these features will filter down to the i3 and Mini models as those machines hit their next evolutionary releases. Looking a bit farther out, it's also a near certainty that other manufacturers will attempt to implement their own versions of these features. So whether or not you're getting it from Prusa, it seems a safe bet you'll be benefiting from at least some of these advancements if you plan on purchasing a new 3D printer in the next couple of years.
#3dprinterhacks #engineering #featured #hardware #32bit #corexy #heatedbed #loadcell #multimaterial #prusa #prusaxl #reprap
Finding the Right Hack is Half the Battle
Sometimes you just get lucky. I had a project on my list for a long time, and it was one that I had been putting off for a few months now because I loathed one part of what it entailed -- sensitive, high-accuracy analog measurement. And then, out of the blue I stumbled on exactly the right trick, and my problems vanished in thin air. Thanks, Internet of Hackers!
The project in question is a low-vacuum regulator for "bagging" fiberglass layups. What I needed was some way to read a pressure sensor and turn on and off a vacuum pump accordingly. The industry-standard vacuum gauges are neat devices, essentially a tiny little strain gauge on a membrane between the vacuum side and the atmosphere side, in a package the size of a dime. (That it's a strain gauge is foreshadowing, but I didn't know that at the time.) I bought one for $15 ages ago, and it sat on my desk, awaiting its analog circuitry.
See, the MPX2100 runs on 12 V and puts out a signal around 40 mV on top of a 6 V offset. That voltage level is inconvenient for modern 3.3 V microcontroller ADCs, and the resolution would get clobbered by the 6 V signal if I just put a voltage divider on it. This meant whipping together some kind of instrument amplifier circuit to null out the 6 V and amplify the 40 mV for the ADC. The circuits I found online all called for 1% resistors in values I didn't have, and mildly special op-amps. No fun, for me at least. So there it sat.
Cut the blue wire or the red wire? HX711 module and pressure sensor on the left.
Until I ran into this project that machetes through the analog jungle with one part, and it happened to be one I had on hand. A vacuum pressure sensor is a strain gauge, set up like a Wheatstone bridge, just like you would use for weighing something with a load cell. The solution? A load-cell ADC chip, the HX711, found in every cheap scale or online for under a buck. The only other trick was finding a low-voltage pressure sensor to work with it, but that turns out to be easy as well, and I had one delivered in two days.
In all, this project took months of foot-dragging, but only a few clicks and five minutes of soldering once I got the right idea. The industrial applications and manufacturers' app notes all make sense if you are making hundreds or millions of these devices, where the one-time cost of prototyping up the hard bits gets amortized, but the hacker solution of using a weight-scale chip was just the ticket for a one-off. That just goes to show how useful sharing our tips and tricks can be -- you won't get this from the industry. So send us your success stories, and your useful failures too, and Read More Hackaday!
This article is part of the Hackaday.com newsletter, delivered every seven days for each of the last 200+ weeks. It also includes our favorite articles from the last seven days that you can see on the web version of the newsletter. Want this type of article to hit your inbox every Friday morning? You should sign up!
#hackadaycolumns #hardware #parts #rants #adc #hx711 #inspiration #loadcell #sharing #wheatstonebridge
3D Printering: Is Hassle-Free Bed Leveling Finally Here?
3D printers have come a long way over the past several years, but the process of bed leveling remains a pain point. Let's take a look at the different ways the problem has been tackled, and whether recent developments have succeeded in automating away the hassle.
Anycubic Vyper, with an auto-leveling feature we decided to take a closer look at.
Bed leveling and first layer calibration tends to trip up novices because getting it right requires experience and judgment calls, and getting it wrong means failed prints. These are things 3D printer operators learn to handle with time and experience, but they are still largely manual processes that are often discussed in ways that sound more like an art than anything else. Little wonder that there have been plenty of attempts to simplify the whole process.
Some consumer 3D printers are taking a new approach to bed leveling and first layer calibration, and one of those printers is the Anycubic Vyper, which offers a one-touch solution for novices and experienced users alike. We accepted Anycubic's offer of a sample printer specifically to examine this new leveling approach, so let's take a look at the latest in trying to automate away the sometimes stubborn task of 3D printer bed leveling.
Why is Bed Leveling an Issue?
In 3D printer terms, bed leveling (or simply "leveling") is a broad term for a process whose end result is getting the first layer of a print deposited optimally onto the build platform. A good first layer is the foundation of a successful print.
To accomplish this, the nozzle needs to remain a constant distance from the build platform across its whole range of movement. If the nozzle is too close to the bed in some places, but too far away in others, that leads to poor quality and failures. Adjusting the printer's bed until it is parallel to the nozzle's range of motion is called leveling. (Machinists would correctly call the process tramming, because nothing actually has to be perpendicular to the earth's gravitational field.)
The extruder in the process of laying down a first layer.
The next step is first layer calibration. This adjusts the Z-axis offset, or the distance between the tip of the nozzle and the surface of the build platform. There needs to be just enough space for the critical first layer of plastic to be deposited evenly, in a uniform thickness, and pressed into the build surface well enough to remain stuck during printing.
Complicating this is the fact that no build platform is perfectly flat. When fractions of a millimeter count, even small imperfections cause problems. High spots or low spots in a build platform are problems because no amount of tilting the print bed will adjust them away. This is one of the reasons leveling problems have persisted over time.
No individual part of bed leveling is particularly complicated, but the many interconnected factors can make it a complex, fiddly task. It's no surprise that people have tried different ways to make the whole process as easy and repeatable as possible.
Some Attempted Solutions
Rafts (a type of sacrificial build platform) were an early method of dealing with bed imperfections, but most solutions now revolve around mesh leveling.
Mesh leveling is a method of compensating for an imperfect print bed in software, but it requires a way to measure the build platform. By taking measurements with a sensor, a software model representing the build surface, and its imperfections, can be created. This model modifies the path of the print head as it lays down the critical first layer, adjusting for an imperfect surface by attempting to follow those imperfections, instead of moving as though they don't exist.
One way to accomplish mesh leveling is by using an inductive sensor to sense the build platform without touching it. Prusa printers use this method to take measurements in a 3 x 3, or optionally 7 x 7, grid before every print. Manually determining an appropriate Z-axis offset for a particular build sheet is still up to the user.
Another option is a physical probe. The BLTouch, for example, is a popular sensor that comes into physical contact with the build platform. Its success as an aftermarket add-on, as well as how often it has been copied, is a good indicator of how much bed leveling remains a pain point for 3D printer owners.
The Latest Approach: Integrating a Strain Gauge
The printer's nozzle acting as a touch sensor.
This method uses the tip of the nozzle itself as a sensor. Not only is it easier to take measurements from the point where extrusion actually happens, but doing so opens the door to automatically setting an appropriate Z-offset as well.
One way to do this is by integrating a strain gauge into the extruder itself, turning the hot end into a kind of load cell. We saw this approach in a DIY project that used SMD resistors as strain gauges, and the method is also used in the Smart Effector for delta printers.
Two recent consumer 3D printers, the Anycubic Vyper and the Creality CR-6 SE, implement their own factory-made versions of the idea. We accepted a sample Vyper printer from Anycubic specifically to examine this feature, so let's take a closer look.
How It Works
Vyper's extruder, cover removed. Colored wires to the left go to the strain gauge built into the hot end mount.
The Anycubic Vyper's extruder assembly contains a fork-shaped metal mount for the hot end which has a strain gauge built into it. This turns it into a load cell similar to what would be found in an electronic scale.
Any force exerted on the hot end will slightly deform the mount, and the strain gauge turns this deformation into an electrical signal that can be measured and quantified. Even very light pressure on the hot end can be detected in this way.
Thanks to this functionality, the nozzle itself becomes a touch sensor. When the machine is directed to auto-level itself, the extruder is repeatedly lowered toward the build platform until the nozzle comes into contact with it. Even a light touch can be reliably detected, so this process doesn't involve much force.
By taking multiple measurements in a grid pattern, mesh leveling can be implemented. Also, since the physical distance between nozzle tip and build surface can be sensed, a reasonable Z-axis offset can be implemented automatically, leaving the operator to worry only about fine tuning.
It's a neat idea, and the extruder has clearly been designed around the feature.
Results? Perfectly Serviceable
A perfectly serviceable first layer. Fine tuning can be done in +/- 0.05 mm increments.
How well does it work? I'm happy to say the feature appears to work as advertised, including the automatic setting of an effective initial Z-offset.
One simply installs the build plate, makes sure the nozzle and the build surface are clean, then instructs the printer to perform the auto-leveling process. The machine will pre-heat, ensuring calibration is done under printing conditions instead of cold, and then the nozzle touches the build platform in a 4 x 4 grid pattern, after which it silently applies mesh leveling and an initial Z-offset that can be fine-tuned if desired. In theory, the process doesn't need to be repeated unless the build platform changes, but the user can trigger the process whenever they wish.
There Are Limits
The auto-leveling works as advertised, but there are limits to what it can do. First of all, problems related to the quality or type of filament, or the material of the build platform, are separate issues that can still trip up a novice. These are not fixed by an auto-leveling feature.
Both the print surface and the nozzle tip must be clean in order to get the best results, so it's best to unload filament from the hot end before auto-leveling. Because the machine pre-heats and touches each grid point twice, a loaded nozzle leaves little dabs of molten plastic at each point, and this extra material between the nozzle and the build surface can affect the accuracy of measurements. Indeed, this might be the Achilles heel of all nozzle-based sensors.
There is a limit as to what can be sensed and modeled with a 4 x 4 grid of touch points. A build surface with serious imperfections might not get modeled accurately. I briefly tested this by using shims to simulate mixed high and low spots of up to 0.8 mm in the build sheet before running the auto-leveling process. Unsurprisingly, a 4 x 4 grid of touch points was insufficient to accurately model where exactly these imperfections started and stopped, but I was pleased to see that the resulting first layer was at least still serviceable, if a bit thin and overly-squished around some of the high areas. It would be nice to have an option to increase the number of measurement points, or perhaps manually refine the mesh, as a way to better deal with special cases.
Lastly, the machine's firmware is not very verbose about the details of its auto-leveling process. There seems to be no way to modify the sensitivity, no way to see the actual measurements taken, and no way to manually fine-tune anything other than the Z-offset, which can be changed up or down in 0.05 mm increments.
Is This The Way?
The Vyper's auto-leveling and initial Z-offset work as advertised and give serviceable results, even if the firmware is a bit quiet about what exactly is going on under the hood. It's awfully convenient, the strain gauge integration looks solid, and as a whole it's a clever system that's nice to see in a factory offering.
What do you think about this method of automating away the dull drudgery of bed leveling and first-layer tuning? Is turning the hot end into a load cell the right way to go? We want to know what you think, so let us know in the comments.
#3dprinterhacks #featured #hackadaycolumns #slider #3dprinter #3dprintering #bedleveling #firstlayercalibration #loadcell #printbed #straingauge #tramming
Occam’s Razor: Gardening Edition
While the impulse to solving problems in complex systems is often to grab a microcontroller and some sensors to automate the problem away, interfacing with the real world is often a lot more difficult than it appears. Measuring soil moisture, for example, seems like it would be an easy way of ensuring plants get the proper amount of water, but soil is a challenging environment for electronics and this solution often causes more problems than it solves. [Kevin] noticed this problem with soil moisture sensors and set about solving this problem with a much simpler, though indirect, method of monitoring his plants electronically.
Rather than relying on soil conductivity for testing soil moisture levels, he has developed an alternate method of determining if the plants need to be watered simply by continuously weighing them. The hypothesis that he had was that a plant that needs water will weigh less as the available water respirates out of the plant or evaporates from the soil. This means that using a reliable sensor like a load cell to measure weight rather than an unreliable one like a soil moisture sensor will result in more reliable data he can use to automate his plants' watering.
[Kevin]'s build is based around an ESP32 and a commercially-available load cell which are all built into the base of the plant's pot. The design hides all of the electronics in a pleasant enclosure and is able to communicate relevant info wirelessly as well. The real story here, however, isn't a novel use of an ESP32 chip, but rather out-of-the-box problem solving by using an atypical sensor to solve this problem. That's not to say that you can't ever use other sensors to directly monitor your garden and automate its health, though.
#greenhacks #automation #esp32 #loadcell #moisture #plant #sensor #watering #weight
Building An Electronic Tester For Measuring Arrow Stiffness
When shooting archery, if you want to be accurate, you need arrows of uniform specification and quality. One important part of this is making sure each arrow has a spine of similar stiffness. Traditionally, this is checked in a very analog way by using weights and measuring deflection of the arrow spine, but it can be done electronically too with this tester from [dvd8n].
The principle of operation is simple. The arrow is held up by two supports, 28 inches apart. The user then presses down in the center of the arrow, deflecting it by a 1/2 inch where itreaches a stop , and load cells at either end of the tester measure the force required to deflect the arrow by the set amount.
It allows arrows to be electronically measured in a fashion that is compatible with existing standards for measurement. The Arduino hardware which measures the load cells can also easily run conversion maths to display the arrow's measured stiffness in whatever common spine measurement standard is desired. The system can also weigh the arrows, a useful thing to know for the home fletcher.
It's a tidy build and one that should prove useful when [dvd8n] is building out their next quiver. [We've seen other capable DIY archery hacks before, too](https://hackaday.com/2020/12/12/slick-diy-compound-bow-uses-coiled-springs-toothbrush-heads/#more-451824). If you've got your own, drop us a line!
testing the lazyweb strength of the mastodon:
what is the best approach to make a
#precision #weight #sensor?
like, #mm size, #milligram precision?
do i #piezo? #loadcell?