CMU Mechatronics Project: Multi-shot Cannon

The challenge
Design and build a machine that fires Nerf foam balls and hits static and moving targets with great accuracy and speed.

The team
Four engineers joined forces to accept the challenge.


p align=”center”>

Justin Farrell (firing), Melvin Rayappa (vision, coding), Jason Atwood (system integration), and Rachel Jackson (loading, aiming)

The machine


p align=”center”>

Figure 1. Depiction of overall mechatronic system with key components highlighted.

Continue reading “CMU Mechatronics Project: Multi-shot Cannon”

Contract Electromechanical Engineer

For the last ten months, I’ve been contracting as an electromechanical engineer at a research chemistry firm in Atlanta. They specialize in commercializing several patented processes and they have hired me to automate the processes for several applications. I have used this opportunity to refine and expand my electronics and process controls skill sets. They work with several Fortune 500 companies producing quick market solutions. In the interest of all of this privacy I am bound to a pretty strict confidentiality agreement. Unfortunately I can’t talk about details, however, I am working on some really cool projects so I’ll stick to the how’s and leave out the what-for’s.

I had this really long post in the works and was completing it piece-meal as I had time. Sad to say though, I’ve been so busy doing work that I haven’t had time to write about work. So in the interest of brevity and to start a format where I can easily add new posts as I finish projects, I’m going to limit my writing and let some pictures do most of the talking.

I am spending a lot of time working with LabView and I have become quite efficient at writing programs and designing process control systems. One of our processes requires monitoring and controlling seven gas flows, monitoring the pressure in two liquid lines, monitoring the temperature in ten locations, and moving a two axis robot to various positions and repeating several paths. The program can also export all of this data to an Excel file of the user’s choosing.

The motion hardware at ____ is antiquated ValueMotion driver and nuDrive amplifier hardware, which took me a bit of time to setup and get working properly. I’ve implemented both a mechanical and software emergency stop. The thermocouple and pressure transducer monitoring is accomplished with National Instrument’s FieldPoint modules, which while also legacy technology, are quite ubiquitous at ____.

I wrote a program that incorporated all of these features. I’ve removed any confidential information but here is a overview of the program and the necessary files.. I am in the process of upgrading all of ____’s Labview to LV2009 from the much older 7.1 (and even 5.0 on some machines). So this program is written in 7.1.

Front Panel

Block Diagram

LabVIEW 7.1 (files zipped)

LiNuXT: Linux + NXT

Since transitioning to Ubuntu Linux, I’ve continued working on my Lego NXT projects. I spent several hours figuring out how to configure my machine to write, debug, and upload code to the NXT brick. I found several sites and message board posts, each detailing a specific step in the process. I thought it would be a good idea to bring all of this information together and hopefully make it easy for anyone else who wishes to follow in my footsteps.

The entire process consists of setting up a Windows emulator (WINE), installing an IDE (BricxCC), and installing and running a communications tool between linux and the brick (Talk2NXT).

Lego NXT Ubuntu Linux from Jason Atwood on Vimeo.

Continue reading “LiNuXT: Linux + NXT”

Getting Started in Linux

After much nagging from some of my friends, I’ve finally made the switch to Linux. I am starting to realize that the skill set I’m developing is rather substantial and worth documenting. I’ll be taking the time over the next weeks and months to document the software and operation skills that and I am learning. My goal is to provide a list of tasks I can accomplish in Linux and to keep a record of my actions so that I can quickly set up new machines with my preferences. I am not intending this to be a “how to” guide for anyone else, although it may provide some usefulness to someone starting out with Linux.

To start off, I have installed Ubuntu 8.10 on both of my home machines. Each new Ubuntu release is given a name and 8.10 is called Intrepid Ibex. I preformed both installs from a Live CD which allows me to run the OS from the CD-ROM without installing anything. I knew that I would enjoy it immediately so I chose to simply reformat both computers.
Continue reading “Getting Started in Linux”