Wednesday, November 30, 2022

The worst 3d printer fail I've ever had

 So this is worst printer fail I've ever had:

3d printer blobs of plastic

It looks like I was printing grapes or corn smut (the fungus use of the word smut that's a google images search). The print must failed fairly early in the job and enveloped the entire print head and heat block.  Luckily it didn't block the cooling fan.   

Initially I tried heating the nozzle to see if it might pull of somehow but it was wrapped around too tightly.  it got loose and I could wiggle it but not much more.  Next I tried my heat gun.  That was effective on softening the blobs but it was also softening the 3d printed parts of the print head carriage.  Yikes! 

The thing that ended up working is putting a blade shaped tip on my soldering iron and essentially cutting my into the blobs and hacking it off piece by piece.  I was able to get the majority of the large pieces off that way.  After quite a bit of work I got it down to this:

print head with plastic residue


It took a little bit more work but eventually I got all the chunks off and out.  At this stage you can see the next problem.  The heater block should be shiny metal instead of goopy plastic.  Because it was so enveloped in the plastic the interior of the blob was quite liquid as the heat couldn't dissipate quickly. The interior plastic was able to seep inside the slot for the heat cartridge (and maybe the thermistor).   The end result is the print head can't reach operating temperature now.  It maxes out at around 170 degrees.  So either there's an insulating layer preventing the block heating up all the way or a layer preventing the thermistor reading correctly.  Either way it doesn't work anymore.   So I've bought a new set of parts direct from Prusa and will be replacing the head end and what ever brackets have to be swapped out as well. 

Tuesday, November 15, 2022

Trying to NeoPixel my Christmas tree part 1

This all started with the video by Matt Parker from @standupmaths He had a super cool Christmas Tree lights idea: I wired my tree with 500 LED lights and calculated their 3D coordinates. Pretty much like it sounds, he put neopixels on his tree and figured out a way to calculate their array position in 3d space.   Kind of like stringing a measuring tape on your tree and knowing where every inch is relative to each other when looking at a single side.  He then made a way for people to upload their own animations to his tree (I'll be skipping that part).

Anyway this is my hack at the same idea stealing everything from Mr Parker and the MIT students who helped him.  Check out the links in his video description for more details. It's pretty neat, both the math of it and the execution.

So here's what I used:

First, I'm using the same lights that Matt linked to in his video.  (affiliate links because Amazon has a handy tool bar to make short URLs)  https://amzn.to/3AcK3yj  - ALITOVE WS2811 RGB LED Pixels Light Individually Addressable 12mm Diffused Digital Full Color LED

I already had a Raspberry Pi 3 laying around:

rwhiffen@raspberrypi:~/prog/XmasTreeLights $ more /sys/firmware/devicetree/base/model

Raspberry Pi 3 Model B Rev 1.2

rwhiffen@raspberrypi:~/prog/XmasTreeLights $

I boought this 10A 5v power supply that came up as a *Products related to this item* suggestion. https://amzn.to/3g0u67x - Aclorol 5V 10A 50W Power Supply 100V-240V AC to DC Adapter 5V 10 amp Switching Converter 5.5x2.1mm Plug for WS2811 WS2812B WS2813 5V LED Strip Pixel Lights

The other stuff I had lying around from other projects, like gator clips with breadboard pins etc. 

Here's a few of links that taught me how to do this.  Sites that I mimicked the results of may be a better description than this post.

* The Adafruit Raspberry Pi NeoPixel tutorial  - I'm using the Using External Power Source Without Level Shifting config towards the bottom of the page.

* Adafruit again -  how to set up Python for NeoPixels on a Pi 

* MIT's GSD6338 github XmasTree  project

* There were a bunch of other pages I referenced while trying to debug what was going wrong with my setup.  

This did not start out well.  Initially I couldn't get the pixes to light up correctly.

Picture of NeoPixels on my workbench, not working :-(

First - most the LEDs wouldn't light up.  Second the colors were off and they'd flicker and blink oddly.  I had also incorrectly wired the pins at some point - now I'm not sure if I fried something.   There are 10 of these 50-light strings so tired another one - same results.  

So I started troubleshooting.  In the past I made a 10-light string attached to a Circuit Playground BlueFruit setup that I knew worked.  Since the plugs were the same I plugged the 50 lights into the CP BlueFruit and after fixing a loose connection I got them to light up.


 

Colors were still wrong, but it works. First up - to fix the colors I had to set the pixel_order parameter when creating the new strip in the code.  If you read the @StandUpMaths code you'll see a comment about these particular strips be GreenRedBlue - GRB instead of RGB The example code I was using had this line:

pixels = neopixel.NeoPixel(NEOPIXEL_PIN, NUM_LEDS, brightness=1.0,

                           auto_write=False,

                           #pixel_order=(1,0,2,3) #uncomment if using RGBW NeoPixels

                           )

and I had to change it to this:

pixels = neopixel.NeoPixel(NEOPIXEL_PIN, NUM_LEDS, brightness=1.0,

                           auto_write=False,

                           pixel_order=(1,0,3) 

                           )

And that got the strips working, so now I knew it was something with my Raspberry Pi not the lights. A little more searching and I discovered a post where someone mentioned moving off of the default GPIO 18 pin and onto 21 - so I set:

pixel_pin = board.D21

and it's started working!  I can address each pixel and do the expected neopixel operations!  

Next I wired up five of the 50-pixel strings and hit my next snag - the 10Amp power supply I have isn't quite enough to light all the pixels.   So it's back to Amazon for a bigger power supply (and 500 more LEDs while I'm at it).  

More to come.