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)

SLAM-5 Bot part 2: The Control Algorithm

After assembling the hardware for my SLAM (Simultaneous Localization and Mapping) robot, I set about to write the code which controls the drive motors, senses obstacles, and records the robot’s path. Lego’s NXT kit comes with a rather basic visual programming language called NXT-G. This program, which constructs programs by creating essentially flow charts, is almost counterintuitive to anyone with command line programing experience. I decided instead to use the third-party programming language called Not eXactly C (NXC) and its associated IDE, Bricx Command Center.
Continue reading “SLAM-5 Bot part 2: The Control Algorithm”