Scott Zitek - Fab Academy 2014

Project Development

Week 18 Assignment

The assignment for this week is to complete the final project, tracking our progress:

documentation during development

Demand- vs supply-side time management

Spiral development

Task completed/remain?, What has worked/hasn’t?, What questions need to be resolved?, What happens when?

For the most part these questions were answered as part of the assignment for week 16.

Here is a summary of the development process:

  1. I started working on this project idea around the 14 week of the Fab Academy. I had the idea but didn't know if it would work. So I used the web to research if anyone else had already made something like this - I didn't find anything. I also researched what the existing alternatives were - mainly simple flip cards and fairly expensive LED based system.
  2. Before I physically made anything I thought about different ways to mechanically control the segments and different actuators. I was looking for issues that would make the project unachievable, contingency options, and trying to determine which approach would be most feasible. I defined an initial set of criteria - portable (reasonably light weight, durable and not require to be plugged into an electrical outlet), low cost, and be visible in the typical environment (relatively large digit easily viewable in bright sunlight).
  3. For the mechanical design assignment I decided to make a prototype. I ended up making two mechanical only prototypes. The first prototype was made of mostly cardboard and had three sliding parts per digit. The second prototype was made of acrylic, bearings, and rubber bands. First I spent a lot of time designing it and drawing it precisely in CAD. After I laser cut the parts, I spent a lot of time assembling it and making it work. It was fairly complicated, hard to assemble, and would be difficult to move with an actuator because sometimes it move easily, sometimes it was hard to move, and sometime it moved itself.
  4. For the third and final prototype I basically started from scratch and redesigned it using what I had learned from everything I done up to that point. The third prototype used four servo to control a combination of two seven-segment digits. Since there were two digits involved I made this prototype much smaller. This saved material and significantly reduce laser cutting times. It also made it easier to carry around, allowed me to cut parts on our smaller laser, and made it possible to use more commonly available 12" x "24 stock.
  5. I ran into complications when I needed to install the servos. We happened to have a box of RC servos but for some reason the mounting tabs had all been cut off. So I determined a way to mount them by clamping with two bolts. This may have been a better solution anyways. It is easy, more universal for different size servos, and allows for some rotational adjustment if needed. It was also a very tight fit for all four servos. So I had to get creative with the design to make sure they will all have the range of motion needed. Unfortunately, this made programming more complicated because no two servos are mounted the same.
  6. After doing a lot of research into how to control RC servos and which fab inventory microcontroller chips had what features, I determined that I could control all four servos using only one ATTiny 44. However, only two of the servos could be controlled by hardware PWM and the built-in 16-bit timer. I used the remaining two rc servos would be controlled by software PWM. This made programming harder and more time consuming. At least this approach allowed me to gain experience with both methods of PWM control. I also now have a better understanding of the advantages and disadvantages of each approach.
  7. I used Eagle CAD to design a circuit board based upon the ATTiny 44. The circuit features:
  8. I cut out the board using the Modela mill and solder the components without any problems. Well I did have one issue. We didn't have the minimum 22uf capacitor that is called for on the larger voltage regulator. I don't think that it is listed on the standard fab lab inventory. I looked around and was able to find 100uf capacitor in our electronics lab but it was rated for only 6.5 volts. The circuit is running 5.0 volts but I would have like a higher rated capacitor.
  9. The program ended up being more complicated than I expect. This is because I needed to determine the position of all four servos for all the possible combinations of two digits (00-99). I also had to work with both hardware PWM and software PWM. When I got it running I hooked it up to an oscilloscope to check the PWM control signals to the rc servos. It still amazes me that we can do so much, so fast with a $1 microcontroller.
  10. I wanted a simple but nice looking press-fit cabinet. This was easier than I expected. I designed the press fit finger joints and cut the parts on the Shopbot in about only an hour.
  11. My favorite part is assembling everything and seeing it work for the first time. Thanks to a well thought out design and the precision of the laser & Shopbot, everything fit together perfectly.
  12. Programming of the exact positions took much longer than I expected. It involved a lot of trial and error.
  13. I didn't have the time to implement a wireless remote control. However, I did end up creating a graphical user interface and a matching servo positioning program. See week 15 for more information. This makes determining the exact servo positions much easier, faster, and more precise. It also uses the same asynchronous serial bus header that I would use for implementing a wireless remote control so I am one step closer.

What have you learned?

In no particular order here are some things I have learned from this project and/or re-affirmed my belief in:

Spiral Development

The best way to explain the development process was two steps forward one step back. I would come up with what seemed like a good solution and I would spend a lot of time making a prototype to get to the end and realize one good reason it wouldn’t work the way I wanted. That is why spiral development is such a good idea on projects like this. You often need to go through the entire process before you truly understand the issues. The faster you can go through the process the better. There is often no advantage of spending weeks cutting everything precisely out of metal when you could have learned the same thing hand cutting something out of cardboard. I benefited from the ability to do multiple iterations quickly and easily. Not only did the design improve with each iteration but so did my ability to make the prototypes. I learned from my successes and my failures. For example, I developed a way to make assembly easier. I think I assembled the last prototype in 20% of the time it took me to assemble the second prototype.

Demand vs supply-side time management

It is almost inevitable that projects will take more time to complete than you have time to work on them. If you spend the time working on the first aspects of a project until you get them perfect, you will likely run out of time and not be able to complete the overall project. So you are better off determining in advance how much time you can realistically allocate to each part of the project. A Gantt chart is good for visualizing this. This also helps you look get a bird’s eye view of the project in the beginning when you still have choices. From there you can prioritize tasks and be realistic about how much time you are willing/able to spend up front.

Spiral development also helps when time is limited. When you finish a spiral you have something to show for your efforts. If it is not perfect and you have the time, then the decision can be made to go through the spiral again. It is no longer an all or nothing proposition. Unfortunately, the last aspect of a project is usually the most important. If you are able to skimp on something, it is typically the small insignificant stuff in the middle of the project.

Back to index