Angel Bell, Redux

Where I ended up:

Where I Began... Broken!

In 2014, I posted a build for a Christmas decoration that randomly rang a desk bell with a solenoid. The seasonal tie-in was to the movie "It's a Wonderful Life", with a quote from the film.



Original "Angel Bell", built with a Meccano-style construction set


A year later, I upgraded the original build to a wooden, laser-cut frame - make it neater, adding a servo motor to wave a flag, too. Alas, the frame didn't stand up very well.

😭😭 Sad Angel Bell! 😭😭

Time to do the project over from scratch.

First, the control board

The original board on the wooden stand version was an Arduino from parts:
"Hand-Made Arduino" on wooden tower Angel Bell

One of my goals was to make the circuit board build easier, by reducing components. Cheaper wouldn't hurt either.  An inexpensive DigiSpark (ATTINY85) board would do just fine. I could feed the 12V power required for the solenoid directly into the VIN pin of the DigiSpark, and its on-board regulator would output 5V for the board and the servo. Great, I didn't have to add a voltage regulator and two capacitors.

I used an Adafruit Smalls Perma-Proto board to hold the components. To control the solenoid, I needed to add a transistor and a diode, hooked up as in this diagram:



Connect the Solenoid to Power and Transistor

Solenoid Schematic


Parts:
  • TIP120 transistor
  • 1K Ohm resistor
  • 1N4001 diode
  • Male headers soldered to the board for the servo (which terminated in female headers)
  • Screw terminals to attach the servo wires
  • Adafruit 12V solenoid
  • Adafruit 5V servo
  • Red (V) and Black (GND) 22AWG wire
  • Adafruit PCB Mount power connector
Downloads:

Arduino sketch, STL files and docs available on github.

It's hard to see from the image, but the Digispark is soldered with the USB connection tilted slightly UP. This enables connection to a USB cable, for reprogramming, while soldered to the board.

Control Board for Solenoid and Servo

Then, the case

Now that I have a 3D Printer, I decided to redesign the frame/stand for the bell as a 3D object. A proper workflow for design in Fusion 360 goes something like this:
  1. Collect your dimensions for all needed parts
  2. Save these as user parameters for use in sketches
  3. Create components for significant sub-assemblies, especially if you are going to create separate STL files for distribution/easy printing
  4. Consider the order in which objects are created and try to work forward from base objects to add-ons
  5. Always start with a sketch.
Um, yeah.... I didn't do that.

I just skipped ahead to #5 Profit!...uh, I mean #5 Start with a sketch.

I had no idea what this was going to look like when I started. I did know I needed to fit in a desk bell and there had to be some kind of riser/tower for the solenoid to ring the bell. So, start with a circle. Gee, I guess I need the outside diameter at the base of the desk bell for that. Hmn. Also inside diameter. Also top diameter of the bell shape, which is smaller. Also, bell clapper. Also, also, also...
I start to realize why #1 Collect your dimensions is #1.

Back up and get the dimensions of everything I can think of and add them as user parameters.

While doing research at this point, I was distracted by a shiny object... I mean, a post by Meekmoe on thingiverse for a desk bell that rings when his 3D print is finished. Cool! I especially like the swirls of open space in a cover for the bell. Download Meekmoe's STL. Oops, too big for my MonoPrice Mini Select 3D printer. Can I remove things from the mesh/STL file?  Yes, yes you can. And it will be ugly, still won't work, and is designed for a different function. 

Start thinking. It hurts, but I do it anyway. 

How would you get those swirls? Meekmoe used a different tool from Onshape.com. Nope, not doing that. Design from scratch in F360 (Fusion 360)? Give it a try. After several youtube videos, and uncounted number of attempts, I decide to use closed, serpentine figures sketched with splines. Project one of these on the extruded surface, then learn how to create circular patterns. Oh, look - something that works!

Nice cover - too bad I never used it 

OK, that was fun. Didn't get a design for a bell ringer, though. 

Go back to F360 and use the basic circle sketch as a base. I'm going to put a tower for the solenoid on this. I need some kind of lip around the outside as a base for the tower. Problem: can't make it too big or it won't fit on my printer, so a simple offset won't work. After several experiments, I find a solution:
  • Draw a rectangle centered on the base circle
  • Extrude the rectangle at 3mm and the inner circle at 1.5mm to get the indent
  • FILLET the rectangle hugely and it makes a rounded object
  • Trim off unnecessary bits 
    • Just need a platform with an indent on two ends to hold the desk bell in place

Next, I had to create a tower of some kind to hold the solenoid over the bell. I tried lots of shapes and angles and finally settled on a curved arch that echoed the rounded shape of the bell. I drew a spline in the Z axis and extruded that as a square pipe. Then I aligned the pipe to the solenoid mount, and did a push/pull (extruded) on  one face to enlarge it a bit more.

Now to work on the base to hold the components. This used the same rounded features as the top, only extruded down 38mm, instead of up, with shell/inside 2mm. Sketched a rectangle with 3mm holes/6mm offsets centered on the corners - this would be the mount for the circuit board. The holes do double-duty: mount the circuit board and also fasten the top and bottom together.

Needed was a mount for a servo, to wave a flag for extra-distracting action! I made a napkin drawing like so:
Servo to fit into the base and wave a flag

Cute. How to implement this? The servo has small mounting "brackets" with tiny screw holes sticking out at top and bottom of the servo body, positioned about 4mm away from the servo front. 

Servo Mounts

The solution was to extrude a flat rectangle, using the dimensions of the servo body to start. Then, do a shell/outside of 3mm to create a frame, like a picture frame,  for the brackets. Re-use the sketch to cut a pass through for the servo, ending up with this:

Base almost complete!

Hmn... Guess I need some way to get a power cord through the base.  Cut a 6mm hole on the opposite side from the servo.

 I do step-wise iterations of features - add a feature, do a print to see how it turned out, see if there is something I missed and need to fix. This project took about 4-5 prints on each of the top and bottom to get right. Case in point: particularly finicky was the alignment of the solenoid on the center of the bell clapper. The solenoid weight deflects the arch a little bit, and I didn't have the arch perfectly aligned in the first place. That took 3 tries to be "good enough". I also forgot to make a pass-through for the solenoid wires, had to add that later in the process, using a sketch slot object to create a pleasing, rounded-end shape. 

The inside of the base, when completed, looks like this with the circuit board mounted:
Angel Bell electronics installed, build completed


After I finished, I realized this was really a prototype (everything's a prototype) for a general purpose physical notifying device, with WiFi. 

Check back for a future post on the Kinetic Courier!


Comments

Popular Posts