Friday, November 13, 2020

Tourbillon Project

Tourbillon Project

I was interested to push the limits of 3D printing... basically for the hell of it, and to distract me from being indoors ~24x7.

I spent upwards of two months on/off trying to get this project to work. I'm stumped. The ticker won't tick reliably.

So I failed. But I learned a lot about clocks, but not about the one thing I really needed to understand - why it didn't work. I read what I could, but the design principles must be acquired over a long period, and live in folks' heads.  There's a lot of subtlety to it.

The problem is that I don't understand if this is a shortcoming of the printing process, or the design.

This video shows the best result I ever got from the escapment mechanism. I need to understand.
First minor success

The following is the diagnostic video I made that made me give up.

Here's the heap of parts I made, and remade, and remade...
 


And here are all the aprts that I reprinted, or broken trying to get it to work.  




Summary - pretty, but actually doesn't work.


Diary

I decided to start with best defined project I could find.  The F360 files, and all the STL are available.

Progress

It's been hard to get other parts of my clock to print.   Some of the print jobs have run for more than 24 hours.  I wonder if there is some feature of the deign that provokes mis-registration. It's especially irritating of course, when the job runs all night and everything sinle piece is crap..


Every gear was broken

Some of the bigger pieces had defects at the midpoint of tall thing bits, and they simply snapped.
Others were not even particularly thin, but snapped on being touched.
The top of this leg simply snapped off

First sign of progress - regulator cage


The regulator cage is assembled.  It took a lot of fiddling to get it to work at all, and it is still very finicky.  It seems to require just the right amount of force to work correctly.

Spring cage

The spring cage is assembled.  It went together fairly easily.

Spring cage with delicate winding key inserted


Candidates

Yeggi - menu

$20 download

Monday, January 20, 2020

Watch case: 4th? attempt

A new attempt to print a watch case.  Printed it in a transparent material, in a coarse pitch so it was fast.  It ended up too brittle.

It is also clearly too big for my girly wrist.



But the watch band mechanism kinda works.

The trick to making the band is to stop half-way through and insert brads as hinge pins, and then print over the top.

I discovered that I had to help the brads seat themselves by warming them up and pushing with a soldering iron



Results

The watch case is way to big, and I printed too many links







Friday, November 8, 2019

OctoPrint - revised instructions

OctoPrint - changing WiFi AP

  • Plug an Ethernet wire into the RaspberryPi (hearafter RPi), and power it up.  
  • Skip down to the section below headed  "Configuring WiFi" and follow the instructions down as far as, but not including the NB heading, and come back here.
  • you are going to reboot now - type sudo reboot now, and as soon as it starts to shutdown pull out the ethernet cable and wait (perhaps 2 mins) while your DNS allocates a new IP address, and octopi.local get's reassigned to this new address.
  • You can check all is well by clicking here -> http:/octopi.local.
  • DONE!

OctoPrint - revised installation instructions

Octoprint is a server that runs on a RPi.  One can install Raspian (RPi OS) and then use it to install OctoPrint.  This has the advantage that you have a RPi desktop environment for various fiddling later on.  However, then you suck up a lot of space and processor cycles, and there is more to go wrong.  The simplest installation has a simple CLI and the OctoPrint system only.  That's the approach I used.

Useful Links

https://manual.prusa3d.com/Guide/1.+Printer+disassembly/586?lang=en

Preparing the uSD card

I used an RPi 3B+.  There are RPi 4s on the market but they don't seem to be quite patted down yet.  The software runs from a uSD card.  So the task is to use a PC (or equivalent) to install and configure a system on a uSD card.  8Gb is the minimum size recommended, but of course bigger is better.  I went with a SanDisk 32Gb card.  The card should not need formatting!

The normal RPi setup involves dragging and dropping a bunch of files from the Raspian release onto the card.  Forget that! The OctoPrint setup is different.  A freeware program called Etcher is used to create a disk image directly.
  • Download Etcher tool to your PC to flash the uSD card: https://etcher.io/
  • Download the latest version of OctoPi from: https://octopi.octoprint.org/latest
  • Use Etcher to copy the image to the SD card  (can use .zip directly)
  • This took 7-8 minutes on my creaky old laptop to write and then validate the write.  When it finished the PC suggests that the card needs formatting.  Resist the urge to comply, or you will be sorry.  Just eject the card.

Configure the rest on RPi

  • A word of warning here... Don't ever insert/remove the card when the RPi has power or you will be sorry.
  • Plug an ethernet cable into the RPi
  • Put the SD card in RPi and power it up.

Configuring WiFi

If you don't care about WiFi, i.e. you are always going to have your RPi connected to an ethernet wire then you can skip this section.

You should now be able to login remotely to the RPi.  It seems to take a few minutes before the system is setup and registers itself with the DNS as octopi.local.  If you get impatient then you'll have to root around in your router to find out its IP address.
  • Suggest you use putty to ssh to octopi.local   credentials: pi/raspberry
  • when logged in, type the following commands:
cd /boot
ls
sudo nano octopi-wpa-supplicant.txt

  •  Use the arrow keys to scroll down to the line that says "## WPA/WPA2 secured"
  • Using your considerable experience using screen editors change the following lines to look like this:


# WPA/WPA2 securednetwork={
ssid="put your SSID here"
psk="put your WiFi password here"
}

  • Control-O, followed by '<cr>'  to write out the changed file
  • Control-X will exit nano 
    Editing the file using the RaspberryPi nano screen editor

N.B.

This would be a great time to skip ahead and take care of another small edit that may be required if you want to install octolapse.   Look for the sub-heading below  ** Subroutine: Some more putty work **
  • Now reboot the RPi using the command
sudo reboot now

  •  Now unplug the ethernet wire and see if you can connect to the RPi again.  It may be a minute or two before your router is ready.  This time you can use the browser to connect.

Configuring OctoPi 

  • Go to http://octopi.local.  You should see the "setup wizard".
  • Follow the setup instructions
    • I disabled access control, but I changed my password to something short 'p' :-)
    • I enabled anonymous usage reporting
    • Enable connectivity check
    • Enable plugin blacklist processing
    • Skipped the Cura profile
    • Set up the printer profile:  General and Build Volume
Here's what I typed in in the order it was demanded
Prusa i3 (original)MK2.5rectangularlower leftyes250mm210mm200mmX: 0/250, Y: -4/210, Z: 0/200 6000 mm/min 6000 mm/min 200 mm/min 300 mm/min 0.4 mm1
    • Finish and Reload interface
    • Check in top left of Web Interface to see if any Updates are offered, and presumably accept them.

Setting up OctoLapse


https://github.com/FormerLurker/Octolapse/wiki/Installation
https://www.youtube.com/watch?v=CjOIxKxb3h8  GREAT VIDEO!

Now the tedious bit

Click on the gear next to the Printer Profile


Now get the Slic3r up beside the Octolapse window so it's easy to copy stuff across.
Get the Printer tab visible in the slic3r on the left.
Copy the extruder parameters across to Octolapse.
Octolapse/Printer/Extruder on the left - Slic3r/PrintER Settings/Extruder 1 on the right


Now switch the slic3r to the Print tab.
Copy the Print Move parameters in from the slic3r/Print Settings tab/Speed

Octolapse/Printer/Speed for Print Moves on the left - Slic3r/Print Settings/Speed on right

Now scroll down to the Miscellaneous Settings
Set the Snapshot Command to G4 P1

When Octolapse sees one of these commands go by it triggers the camera, so we have to tell OctoPrint to generate this sequence at the right time.  We do this in the SLic3r Printer Settings.  Note that we need to be in Expert mode to be able to change the Custom G-Codes.  We add G4P1 (no space) on the end of the "After layer change G-code".



Now we have to set up the stabilization parameters in Octolapse.  There are a bunch of clever options, but "Extruder at Back Left" is simple and brings the model forward for the snapshot.
Next we setup the Snapshot thingummy to tell it to expect a signal using GCode.

Now we have to tell it the output speed of the video. I'm not sure if there is always one snapshot per frame in the output.  They suggest 40 fps, but 15fps seems a more sedate pace, and it can be speeded up with post processing if required.

Setting up the Camera

Still in Octolapse Settings...


Click on the gear and then notice this setting:

The 8080 in the address is going to be the port of the camera service.   So if we type our server address with the port 8080 we will see the output of the camera.

Here's what I see:

This is the place we focus on to get the camera set up for the run.

** Subroutine: Some more putty work **

Before doing anything else go back to the PuTTY remote shell connected to octopi.local.  Login and use cd to the /boot directory.
cd /boot
sudo nano octopi.txt

scroll down to the end of the file and make these changes.  There is a permission issue if you don't do this before the next bit.

<End of "PuTTY work", return from subroutine!>

The most important parameter is the Snapshot Delay.   This delay allows the who rig to stop shaking around before the picture is taken.  Shorter durations may be OK.


Now we need to set up the exposure parameters etc.  Scroll down to the bottom and check the box.


So now you should try to get the camera image alongside the Octolapse page so that you can tweak the camera parameters and see the result in the video stream.  

Octolapse on the left and real-time video view on the right

You just have to fiddle with these to get them right.  Hit "Apply Now" to see how the video is affected.

JPEG to 100 is good.
Always turn autofocus OFF and adjust it in the box below

Here's some parameters that worked for the image below:


Before trying to make a time-lapse and wasting a lot of plastic, try to debug your settings first.



Make sure to turn OFF the reguslar timelapseNow you can switch to


Other Useful Plugins

Bed Visualizer

This is a plugin that shows a graph of how level the bed is.  It is called Bed Visualizer.   Just install it in the same way as OctoLapse.  

Bed level visualizer

OctoPrint-EmergencyStop

The emergency stop button
M112 is the code you need!   THis will stop the print and disconnect the printer lickety-split.

OctoPrint-TabOrder

Lets you alter the order of the tabs at the top of octoprint. It does work, but it seems not to work immediately and ignores some settings until you do something else that I have not yet figured out. Oh... figured it out.  Uninstall, and re-install Themeify if you have already installed that plugin.

OctoPrint-TempBar

Can't make it work!

OctoPrint-FloatingNavbar

https://github.com/jneilliii/OctoPrint-FloatingNavbar/archive/master.zip
Another no go!   Shame because it would be useful.

MQTT Publish

To be figured out.

WebCamTab

This is worth the effort!  Puts a full res, full rate streaming webcam into it's own tab so it's easier to get to.

Themeify - note this is installed last!

This one seems to impact other installations, so it is out of alphabetical order, and last!  These settings are required to make the window wider so that you can accommodate more tabs like this.  See settings below in gray panel.
Full width OctoPrint Window

Settings to set up above Octoprint window config


Tourbillon Project

Tourbillon Project I was interested to push the limits of 3D printing... basically for the hell of it, and to distract me from being indoors...