Search This Blog

Friday, November 25, 2022

3D Scan it and 3D Print

 The availability of 3d printing to hobbyists has provided an existing and interesting pastime to hobbyists.  For instance, electronics enthusiasts used to buy electronics enclosures for projects, but the enclosure was always a compromise. There was rarely ever an enclosure available that fit a project perfectly.  It was possible to create such a design, but it required electronics hobbyists to be amateur product designers, and then electronics designers if they wanted a good looking result.


With 3d printing, an electronics hobbyist may design their PCB and then create the enclosure exactly as needed.  However, this requires 3d design skills that are difficult for some to learn.




So, many new 3d printer owners resort to downloading designs from 3d printing repositories but this is a compromise.  It's really no different from buying an electronics enclosure that "kinda" works other than the fact that the download may be edited if you have the skills.  What if there isn't an enclosure available for download that is, "close enough?"

This is where 3d scanning can help, but until lately it has been expensive and unapproachable.  Usually some type of LIDAR based handheld gadget costing thousands of dollars is needed.  There are DIY possibilities, such as using a Microsoft Kinnect to do the scanning, but getting good scanning results can be challenging.

Latest versions of the Apple iPhone make 3d scanning easy as they use in-built LIDAR sensors to effectively replicate a multi-thousand dollar handheld 3d scanner.  Not everyone can afford the latest iPhone and not everyone wants an iPhone but what other  options do you have for an affordable 3d scanner?

Photogrammetry is a 3d scanning technique that uses a collection of photographs to create a 3d representation.  Unlike the traditional portrayal of a 3d scanner, wherein there's a laser line reflecting from an object on a rotatating table, photogrammetry needs no line - no LIDAR, no laser.  

There are photogrammetry based 3d scanning apps available on Android phones.  The better your phone camera resolution, the better your results will be.  However, for best results, you will need to take A LOT of photos.  More photos helps the photogrammetry algorithm create a better representation of your object.

My first 3d scanning attempt was with an Android app called Kiri.  Kiri is free and your scans can be exported individually.  This is an important point since some apps require a monthly subscription to be able to export your scans.  With Kiri, you can export the object that you just scanned in and pay only for that object. 

I also tried an app for Android phones called WIDAR.  The app is nice and unlike Kiri, Widar provides an editing environment on your phone that is impressive. Kiri provides basic transforms like rotation. Widar provides much more - you may not even need to edit your exported scan in another program.

Widar charges $4.99 a month if you want to do exports. There's an option to access your export for free through a generated link, but I was unable to figure out how to get the export from the link.  From what I see  Widar is $4.99 a month if you want to export your scans.  If you plan on doing a lot of scanning and exporting, $4.99 a month may not be a bad deal.

With Kiri, you pay for what you export, well not quite.  Kiri also provides free exports, so, you get so many exports per week for free.  If you need to do an export and you're out of free ones, you can either buy an export, which is very affordable, or earn a free one by referring someone to Kiri.

My first attempt with Kiri was terrible.  I tried scanning in a Hot Wheels Dodge Challenger.  I took 27 photos from all sorts of angles.  Kiri processed the results on their servers, not my phone, and then notified me that my results were ready.  I had scanned a flat multi-colored blob.  The car color was recognizable, but not the shape.

I tried again but this time with 16 inch tall Christmas tree.  It worked!  Fifty photos and I had an exact duplicate of the tree.  However, it's not that simple.

There's a lot of artifacting created by the photogrammetry process; so, you will need to edited your exported 3d scan.  This is intimidating and foreign at first but easy once the process is understood.

You'll need something to edit the STL/OBJ file.  Tinkercad is an obvious choice since it imports STL files and makes editing them easy.  Unfortunately, it is limited to 20000 triangles; so, a large complex scanand provides tools fr editing  will be rejected by Tinkercad.

Meshmixer is often mentioned as an option for editing STL files.  I'm not a fan of it.  It's a bit like using Blender or a sculpting program to do edits.  

Fusion360 will import STL/obj files and provides tools for editing STL files but it takes a bit of getting used to.  Product Design Online is an excellent Youtube channel that can help with learning how to edit STL files.

After your scan has been cleaned up and looks great, you can 3d print it!  Your object can be scaled or changed as you wish and then created on your 3d printer.  Even if you are not adept with 3d editing, you can now scan in an object, change it to your needs, and then 3d print it. 



Monday, January 17, 2022

What's Wrong with Octoprint?


 I started a 3d print running from Octoprint, as I often do, and after 30 minutes of printing, the printer halted.

Octoprint had tried to send messages a number of times and they went unacknowledged.  I didn't have the serial.log enabled, so that was all the information that I got.  I enabled the serial.log and tried 3d printing again.  Thirty minutes later, the Creality Ender 3 Pro halted and there was a notification on Octoprint of too many communications timeouts.

At least this time I had a log file. I scanned the log file and found six failed attempts to communicate.  No other helpful information was in the file.  Now what?

I came across an odd recommendation suggesting that it could be the Ender 3 LCD cable position causing communications issues.   I moved the cable and tried 3d printing again.  A 2 hour print ran successfully!  Problem solved!  Not quite.

My next 3d print, 3.5 hours long, failed after 2.5 hours.  Same issue, too many failed communications attempts.  

I tried a new USB cable. I tried using a different microUSB card.  I tried using a different USB port on the Raspberry Pi 4 running Octoprint.  I tried uninstalling and reinstalling the serial port driver.  I tried a whole new install of Octoprint.

It must be the Raspberry Pi 4, it does run a bit warm.  Nope, it wasn't the Raspberry Pi 4.  That left only the Creality Ender 3 Pro as the culprit.

I checked wire connections and especially ground connections on my Ender 3 Pro.  I even considered making my own noise shielding with aluminum foil wrapped around the LCD cable and grounded but fortunately, I tried something on a whim first.

I removed the 3d printed plastic cover for the back of the LCD that I'd 3d printed 2.5 years ago.  

As I began to remove the screws that held the cover to the back of the LCD, I noticed that one screw was very loose and the other three srews were not much better.  Oh well, cover removed and LCD screws tightened down, I ran a 7 hour 3d print.  Because I was tired of wasting filament, I ran the Ender 3 Pro dry.  No filament.  I used the same settings as always but I wasn't wasting any more plastic.

It worked!

I examined the back of the LCD a little more closely and realized that the LCD ground connection to the frame was dependent on those 4 mounting screws. Loose screws could jiggle and create a ground make/break cycle that could worsen with vibration. 

I got rid of that LCD back cover.  I may find or make another one that doesn't use the LCD PCB screws for mounting.  Then again, maybe not.

If you're having communications trouble with Octoprint to your 3d printer, always check every single ground connection and path.  It never occurred to me that grounding to the LCD could affect serial communications, but only because I haven't looked at that area of the printer for over 2 years.



Saturday, October 9, 2021

My First Magnetic Tensegrity Table

Google defines tensegrity as:

"the characteristic property of a stable three-dimensional structure consisting of members under tension that are contiguous and members under compression that are not."

Sometimes it's just easier to see it than read about it so here is a photo of a popular tensegrity toy. 

A tensegrity table uses the same principles to hold two flat surfaces locked at a fixed distance from each other using only strings or some other flexible strand such as ball chain.  Some tensegrity designs are fascinating to look at as the top surface looks like it's floating in mid-air. 

I wanted something a little different.  I wanted a table surface to magnetically levitate using tensegrity principles.  How hard could it be?  Replace the strings with supermagnets and that's it right?

I started by printing a few simple surfaces to retain the flat disc neodymium magnnets that I had purchased and decided to use the attractive force but use it along the outside edges with a tensioned string in the center to tension the structure.  The attractive distance of the magnets was not as great as I expected.  The two surfaces could be no more than an inch (2.54cm) or so apart for this to work.  That would leave almost no room for the tension structure needed in the center.


So I used magnetic attraction for the center string and three fishing lines around the outside edge. It finally worked!  
I created the design to be very sturdy but to look almost wireframe. The wireframe look appeals to me as it's similar to looking at a bridge structure. 

One of the problems with working with neodymium magnets is that they are powerful.  My first attempt at this circular table used  a single arm of less than 10mm width to support each magnet.  The support arms were bent by the magnets!  Too close, and the magnets snapped together.  Too far, and there was no tension.

I like the overhead view of the structure because it reminds me of a dart board or maybe a "pop" filer that would be used on a microphone in the 1940's.
Unfortunately, I did not align the two solid magnet supports so that there was a straight on view without one of the structures overlapping. 
As a result, when someone first looks at it they assume the center is how the table is supported.  It isn't until they look more closely that they see that the bottom and top half are connected only by strings. Finally they realize that the neomagnets are keeping the table together and then they begin testing the table.

First, they always push down on it to see how strong it is and they're usually a bit surprised. After collapsing the table, they pick it up and the neomagnets snap the table back into shape.The last thing people often do is try to spin the top to see how far it'll turn.  They're sometimes a little surprised that it won't turn very far but mesmerized by the jiggling of the table as it snaps back to original position.

I think the tensegrity table looks much better after changing the hole alignments and printing a table section with better alignment.
I will be continuing to investigate other ways to use magnets in tensegrity structures.  Download the STL and 3d print your own at Printables.com


Tuesday, September 14, 2021

HDTV Antenna Hack

 

Mohu Leaf antennas are popular for their small size, reception, and ease of mounting, but what do you do about TV stations that are too far away?

Typically, that means that a bigger antenna is needed.  Sometimes a TV channel has great reception and yet other times, you try shifting the antenna a little bit or even moving the coax cable.  Maybe a new antenna would give better reception, but that can be a gamble since not all antennas provide the same performance.

You may remember the days when "rabbit ears" were on top of TVs or seen old photos of TVs with rabbit ear antennas.  Sometimes folks would put a little aluminum foil on the antenna to improve reception.

Well, you can do something similar with a Mohu Leaf antenna to improve reception but instead of attaching aluminum foil to the antenna, you make a reflector.

I scrounged around and found a piece of compressed cardboard that was just a little larger than my antenna. Corrugated plastic, or presentation board would also work since it just needs to be stiff.

I had a metal template for spreading solder paste that was no longer needed that was  just the right size.  My metal sheet was four inches wider than the antenna and close to the same height.  I centered the antenna on the metal and bent each side of the metal to a 45 degree angle or so.  

If you don't happen to have an unused metal soldering template laying around then you can use any thin metal, even heavy duty aluminum foil will work. If you use window screen material, make sure that it is actually metal. Do not use chicken wire since the large spaces offer less reflection area.  

After bending the metal, I used double-stick tape to secure the metal to the cardboard.  Next, I punched two screw holes through the metal and cardboard that aligned with the two holes on the antenna.  I guessed on the location of the third and fourth hole and just made sure that the would be under the opposite edge of the antenna.

The most important part of this antenna modification is the distance from the reflector to the antenna.  Two inches provided the best results for me.  Depending on the channels that are weakest in your area, you may want to adjust the distance slightly.  More distance will improve reception for lower frequencies while shorter distance will improve reception for higher frequencies.

I 3d printed two inch standoffs but you could just as easily use wooden dowel or other non-metal materials. For the area of the antenna with no screw holes, I created a standoff with a lip to hold the edge of the antenna.  Although it may be tempting, do not pierce the antenna!

This is the final result.  I put a sawtooth picture hanger through the cardboard to make it easy to hang the unit.  My final cost was zero since I used scraps that I already had.

So the real question is performance. Even if the mod was free, it's useless if there's no increase in performance.

I used a TiVo OTA unit to check the difference in antenna performance.  It's not scientific or even in decibels, but it will display antenna signal percentage, which we can compare. 

The weakest channel that I could receive measured 35% before the reflector and 60% after the reflector.  I can now reliably receive that channel without screen garbling randomly.

Every other channel showed an increase of at least 15% with the stronger channels increasing by 25%.  I used to loose some channels at night as their signal was weaker at night, but that is no longer an issue.

Even if you have to buy everything, it should be possible to make this reflector and improve your reception for only a few dollars.


Wednesday, September 1, 2021

Play the MacGyver theme when your 3d print ends


If you have owned a 3d printer for a while then you've probably already added code to beep the 3d printers speaker to notify you that your print has completed.  Otherwise, your stuck occasionally checking the print progress, which can become tiresome.

Why not play a favorite tune when your 3d print has completed?  Maybe a fanfare? Celebration?  "Flight of the Valkyries?"

With the tool at the following link, you can convert a midi file directly to GCODE that will output tones on your 3d printers speaker:  Midi to M300

The M300 GCODE command is used by 3d printers running Marlin firmware to generate sounds, tones.  Many 3d printers use the Marlin codebase so if your 3d printer has a speaker then you should be able to generate music.

The music will not sound like music from your smartphone might sound.  It actually sounds more like a Commodore VIC-20 could be playing the music but it is recognizable and guaranteed to arose curiosity from those not expecting it.

You can of course generate your own midi files like Lazy Game Reviewer (LGR) might, but there are also numerous midi songs available on the Internet.

Since I'm no musician but still am a fan of the original MacGyver show, I found the theme song in midi form and ran it through Midi to M300 and tried it on my printer.

It sounded terrible!

So I went back to Midi to M300 and unchecked boxes for some instruments and channels and tried again.  I had to repeat this several times before I got something that sounded good to my ears.  However, it was too lengthy.  I didn't need to hear the entire MacGyver theme at the end of a print, just enough to be recognizable and get my attention.

So I started trimming M300 lines from the generated code.  The final result has been shorted to around 30 seconds of time and contains the most recognizable parts of the tune.

If you'd like to just try this out on your 3d printer then install a copy of Pronterface and connect to your 3d printers USB port.  Some Creality printers now use the CH340 serial USB driver so you may need to install it to get Pronterface working with your printer - it does not autoinstall on Win10.

Copy the GCODE for the MacGyver theme below and save it using Notepad as a text file.  Change the extension of the file to MacGyver.GCODE.  After Pronterface is connected to your printer, Load the MacGyver.GCODE file in Pronterface.

Now press the Print button in Pronterface and your 3d printer should play the MacGyver theme.  If it is unsuccessful, and your certain that Printer face is connected, double check the MacGyver.GCODE file that you saved and make sure that it only contains the M300 GCODE lines shown below and nothing else.

To play the MacGyver theme at the end of a print, open up your printer configuration in Cura slicer and go to the "End G-code" under the Machine Settings for your printer and paste the following GCODE:

M300 P104 S523
M300 P104 S0
M300 P104 S523
M300 P104 S0
M300 P104 S523
M300 P104 S0
M300 P104 S523
M300 P104 S0
M300 P104 S523
M300 P104 S0
M300 P104 S523
M300 P104 S0
M300 P104 S523
M300 P104 S0
M300 P104 S523
M300 P104 S0
M300 P208 S494
M300 P208 S392
M300 P208 S196
M300 P208 S392
M300 P208 S370
M300 P208 S440
M300 P208 S196
M300 P208 S392
M300 P208 S392
M300 P208 S392
M300 P208 S196
M300 P208 S392
M300 P208 S523
M300 P208 S523
M300 P208 S196
M300 P208 S494
M300 P208 S196
M300 P208 S523
M300 P208 S494
M300 P208 S440
M300 P208 S392
M300 P208 S330
M300 P208 S659
M300 P208 S330
M300 P208 S440
M300 P208 S262
M300 P208 S131
M300 P208 S262
M300 P208 S523
M300 P208 S523
M300 P208 S147
M300 P208 S494
M300 P208 S196
M300 P208 S392
M300 P208 S196
M300 P208 S392
M300 P208 S370
M300 P208 S440
M300 P208 S196
M300 P208 S392
M300 P208 S196
M300 P208 S392
M300 P208 S196
M300 P208 S392
M300 P208 S523
M300 P208 S523
M300 P208 S196
M300 P208 S494
M300 P208 S196
M300 P208 S523
M300 P208 S494
M300 P208 S440
M300 P208 S392
M300 P208 S330
M300 P208 S659
M300 P208 S330
M300 P208 S440
M300 P208 S262
M300 P208 S131
M300 P208 S262
M300 P208 S494
M300 P208 S247
M300 P208 S123
M300 P208 S247
M300 P208 S523
M300 P208 S494
M300 P208 S440
M300 P208 S523
M300 P208 S185
M300 P208 S494
M300 P208 S440
M300 P208 S587
M300 P208 S123
M300 P208 S523
M300 P208 S494
M300 P208 S587
M300 P208 S123
M300 P208 S523
M300 P208 S494
M300 P208 S659
M300 P208 S131
M300 P208 S587
M300 P208 S659
M300 P208 S740
M300 P208 S185
M300 P208 S494
M300 P208 S123
M300 P208 S784
M300 P208 S165
M300 P208 S330
M300 P208 S740
M300 P208 S311
M300 P208 S698
M300 P208 S294
M300 P208 S494
M300 P208 S392
M300 P208 S784
M300 P208 S659
M300 P208 S494
M300 P208 S740
M300 P208 S587
M300 P208 S440
M300 P208 S659
M300 P208 S523
M300 P208 S392
M300 P208 S587
M300 P208 S494
M300 P208 S392
M300 P208 S523
M300 P208 S330
M300 P208 S494
M300 P208 S294
M300 P208 S523
M300 P208 S494
M300 P208 S440
M300 P208 S392
M300 P417 S466
M300 P417 S440
M300 P208 S784
M300 P208 S392
M300 P208 S587
M300 P208 S392
M300 P208 S622
M300 P208 S311
M300 P208 S466
M300 P208 S440
M300 P208 S392
M300 P208 S196
M300 P208 S294
M300 P208 S196
M300 P208 S311
M300 P208 S196
M300 P208 S233
M300 P208 S220
M300 P208 S587
M300 P208 S587
M300 P208 S587
M300 P208 S587
M300 P208 S587
M300 P208 S587
M300 P208 S587

Wednesday, August 25, 2021

Make your 3d printer play music - "How It's Made"


 I found a midi file of the intro music from the TV show, "How It's Made" and found an online midi to GCODE converter.  Perfect!  

If you want your 3d printer to start playing the "How It's Made" tune through the printers speaker when starting a print then add this GCODE to the end of your printers start code:

;How its Made tune  

M300 P103 S123
M300 P635 S0
M300 P117 S123
M300 P337 S0
M300 P137 S123
M300 P190 S0
M300 P107 S123
M300 P249 S0
M300 P166 S110
M300 P1724 S0
M300 P93 S156
M300 P620 S0
M300 P93 S156
M300 P347 S0
M300 P156 S156
M300 P200 S0
M300 P117 S156
M300 P234 S0
M300 P107 S165
M300 P1299 S0
M300 P464 S185
M300 P5 S311
M300 P103 S123
M300 P371 S0
M300 P210 S311
M300 P34 S0
M300 P20 S370
M300 P117 S123
M300 P293 S0
M300 P44 S277
M300 P137 S123
M300 P190 S0
M300 P127 S123
M300 P200 S311
M300 P29 S0
M300 P166 S110
M300 P68 S0
M300 P132 S311
M300 P337 S0
M300 P117 S311
M300 P117 S0
M300 P117 S370
M300 P352 S0
M300 P176 S277
M300 P288 S0
M300 P20 S311
M300 P93 S156
M300 P366 S0
M300 P210 S311
M300 P34 S0
M300 P10 S370
M300 P93 S156
M300 P327 S0
M300 P20 S277
M300 P156 S156
M300 P200 S0
M300 P122 S156
M300 P200 S311
M300 P29 S0
M300 P107 S165
M300 P127 S0
M300 P132 S311
M300 P337 S0
M300 P117 S311
M300 P117 S0
M300 P117 S370
M300 P352 S0
M300 P176 S440
M300 P59 S0
M300 P176 S494
M300 P54 S0
M300 P5 S622
M300 P103 S123
M300 P371 S0
M300 P210 S622
M300 P34 S0
M300 P20 S740
M300 P117 S123
M300 P293 S0
M300 P44 S554
M300 P137 S123
M300 P190 S0
M300 P127 S123
M300 P200 S622
M300 P29 S0
M300 P166 S110
M300 P68 S0
M300 P132 S622
M300 P337 S0
M300 P117 S622
M300 P117 S0
M300 P117 S740
M300 P352 S0
M300 P176 S554
M300 P288 S0
M300 P20 S622
M300 P93 S156
M300 P366 S0
M300 P210 S622
M300 P34 S0
M300 P10 S740
M300 P93 S156
M300 P327 S0
M300 P20 S554
M300 P156 S156
M300 P200 S0
M300 P122 S156
M300 P200 S622
M300 P29 S0
M300 P107 S165
M300 P127 S0
M300 P132 S622
M300 P337 S0
M300 P117 S622
M300 P117 S0
M300 P117 S740
M300 P352 S0
M300 P176 S880
M300 P59 S0
M300 P176 S988

Monday, November 18, 2019

Setting up a new Creality Ender 3 Pro 3d Printer

     I have caught the 3d printing bug.  However, I did not want to spend a lot of money on something right away.  Besides, as my wife says, "I am thrifty."
      I bought the Creality Ender 3 Pro because I had read about the few improvements included in the pro version that were not in the standard version.  First is the magnetic bed, I'm not sure if it justifies the $40 price premium, but the 1 year warranty and support and the improved extruder does justify the price premium for me.
       The first bit of advice that I could offer in setting up the Creality Ender 3 Pro is to first use the foldout manual to identify everything and lay it out and then put the foldout manual away.  It can be followed by a person determined to interpret the images, as I was, or a person ignorant of the build video that comes with the unit on the micro SD card.  Plug in the micro SD card adapter and watch the build video.  It is much easier to follow than the multifold manual.
      After finishing the build I was unable to level the bed. the left side was lower than the right by almost 1/3 of an inch!  I took the bed off to see if the bed frame below was that far off from level.  It was!  Argh!
     So I examined the bed frame closely and concluded that it had to be the X-axis bar carrying the printer head that was not level.  I was correct.
     In my mind, if you have rollers riding a frame and the holes are aligned then the parts must have been created to be square to each other.  This is not true.  BTW, I'm an electronics and IT guy not a mechanical engineer as should be evidenced by that last statement.
     I watched a few setup videos, there's nothing about this issue from Creality BTW, and I learned about the concentric nuts.  Concentric nuts on the Creality Ender 3 printers are used to move specific rollers a range of about +- 1/8 of an inch.  They function similarly to a cam on a camshaft.
     I moved the X-axis to the top and measured each side to check for square.  It was off by 1/3 of an inch.
     I tried adjusting the concentric nuts on each side of the X-axis.  I had to loosen the lock-down nuts a little of course, which I almost forgot to do.  I never did get the X-axis square.  Every adjustment resulted in either the X-axis being loose or much too snug to move. I finally compromised with being 4 mm from square with the assumption that the bed could be levelled to that.
     As I began levelling the bed, I noticed that one corner of the bed was higher than the rest, even completely cranked down.  I examined the bed mounting again and noticed that the spring with the bed connector mount was compressed more than the others.  That bed connector mount compressed the that corner spring about 1/8 of an inch.  No wonder the one corner was higher than the rest and the other 3 corners felt weak and wobbly.
     I added spacers to each of the other 3 bed corners to match the corner with the bed connector mount.  Now I could finally align the bed!  I adjusted each corner to be just 1/2 millimeter from the bed and at last I was ready to print!
     The print for the cat model ran for 5 hours and 43 minutes. The top of his head was cut off just below the ears.  The filament that came with the printer, which is not on a spool, had tangled and had not fed through the printer for the last 10% of the print.
     To make the best of it, I sanded the hole in the top of the cats head and used the resultant container as a toothpick holder.
     I retried the cat model print out after untangling the filament and stringing it out like a telegraph wire - I really did not want to hand my wife another cat with the top of his head cut off.  The print went well and the quality is actually impressive.
     I must admit that I thought that 3d printing was finally ready for the average person because it is so affordable now.  The pre-built models offer less frustration certainly but if anything needs to be replaced or becomes misaligned then it could become frustrating for the non-hobbyist.
     Some day 3d printing will be as easy as using a toaster and as cheap as an inkjet printer and as maintenance free.  It's too bad that we still have years before we reach that point.