
Work Examples
Table of Contents
Subcontents:
Schematics:
Professional:
Spreadsheets
Spreadsheets are one of my favorite tools. Especially lately I have integrated them into almost every characteristic of my life. Admittedly I am more comfortable with VBA then Google Apps Script at the moment, although Google has become my all time favorite platform for personal spreadsheets, so that’s changing rapidly. This is because what google sheets lacks in user friendliness, it makes up for in versatility. Not to mention it’s free, as opposed to Microsoft’s subscription based alternative.
To-Do/Shopping lists
This is a pretty recent project of mine that has. been. life changing. It’s a very simple workbook that I’ve grown, with necessity, to meet my needs. It was made using google sheets to give myself and my wife ease of access for mobile viewing/editing.
Description:
The workbook sorts my personal tasks by priority, and my shopping lists by both store and category. Furthermore, without having to check each list individually to see if there exists contents, it uses an index page with filters, countif formulas, and hyperlinks, to categorize the list sheets even further. The only page necessary to view on-the-fly is the index. To view a full copy of the workbook, click here.
Accounting/Budget workbook
This is probably my favorite personal workbook, even though I use the task list more often. This, like all of my personal workbooks, was made using Google Sheets.
Description:
This workbook organizes all of the financial aspects of my family’s life to optimize biweekly spending. Everything from gas expenses, biweekly recurring expenses, credit cards, etc., you name it. To view a copy of the full workbook, click here.
VBA
I mentioned that I am trying to transition more to Google Apps Script, but I still really enjoy coding VBA. Especially considering how it is one of the few languages out there that doesn’t require any kind of admin privilege to use on your work computer.
Reversal Macro
This is a VBA code that reverses any block of cartesian coordinates.
Description:
It takes whatever has been copied to the computers copy buffer and, if it is a list, reverses it and copies the new list. We use this macro at work constantly to modify CNC programs. Previously this process took several steps, now it’s as easy as opening excel and pressing CTRL+R. To view the text file, click here.
CNC program modification Macro
This is a VBA code I created to allow myself and my colleagues to manipulate individual axes in a CNC program. It can take any sized block of cartesian coordinates, and either offset or invert a singular axis of that block.
Description:
Paste a CNC program into cell A1 of the spreadsheet. Ctrl+Shift+M then allows you to specify which axis to modify and what value to offset the axis by. You can also enter “i” to invert the entire axis or “a” to append a profile shift variable. Additionally I added a variety of conditional statements for user friendliness. To view the text file, click here.
Arduino
Arduino is arguably my favorite mechatronic platform altogether for its cost efficiency, flexibility, and programming language.
Cable tester
This was one of my earliest original Arduino projects. I had a lot of fun with it, but, admittedly, there is a lot that needs improvement. It works though, the configuration just lacks a bit of versatility and the code is pretty far from my current skill level. I originally designed this for work, to help combat the multitude of broken cables consistently going bad in the cable chains. I am actually designing a 2.0 model currently, but that’s one of several projects I am engaged in and it’s not at the top of my priority list. For the schematic I used kiCad software.
Description:
To summarize, it has 2 functions: one that diagnoses what the problem is (if it exists), and then displays on an LCD screen where the problem is located. The second function helps to troubleshoot where a cable break is. The open circuit locator does this by energizing an active buzzer when it detects an open. That way, manipulating the cable, you will have an audible indicator of where the break is. To view the full project on github, click here.
Path Splitter
This is one of my favorite scripts. This Arduino program, combined with the VBA reversal macro, heavily reduced the frequent task of manual G-code program modification.
Description:
The program evaluates any two 3-dimensional points loaded into the serial buffer. It finds the center point of those coordinates, and then prints a lead-out/lead-in trend (where the CNC ascends/descends into the mold) based on the direction that the machine is traveling. It also evaluates the distance between the two points and compares it to a safety zone. If the distance is too short, it does nothing and prints an error code. There are several other error codes written into the program to help an unfamiliar user. To view the full code on github, click here.
Climate Controller
So I made this to address two problems I was having in my storage unit. First, being that my last dehumidifier crapped out from being run 24/7 when it didn’t have to be. The next was because I couldn’t find an as-built unit that would notify me when I needed to empty my dehumidifier, so I built one that sends me e-mail notifications.
Description:
This was designed to be used in conjunction with 1 or 2 separate dehumidifier units. It basically just works as a smart extension cord. It will monitor the temperature and humidity levels of the environment, turn on/off the outlets in response to the measured feedback, and notify me via email, when there are discrepancies. To view the full project on GitHub, click here.
Industrial Circuit Design
Morning Machine
This is a final project I designed and built for an industrial motor controls class. The design software used to build the schematic was The Constructor.
Description:
I’m going to keep the description brief, since there is a description page in the pdf file; it’s basically a knock-off version of the first scene in Back to The Future, without the use of servo motors. To view the project pdf, click here.
PLC/RLL/FBD
These programs, unlike the rest of my portfolio, are unoriginal, and derive from school assignments. I only included them because I don’t see myself designing any PLC programs for personal use, so my work examples are a bit restricted in that regard.
Bottle Sorter
This is an example of a bottle sorting program I designed using LogixPro 500, an RSLogix-style simulator.
Description
It sorts incoming bottles based off of size and condition, and fills crates. I’m being brief because a full description of the assignment is disclosed in the pdf attachment. To view the project pdf, click here.
Batch Simulator
This is another lab assignment I made using LogixPro 500.
Description:
This is a PLC program for filling a tank, mixing it, then emptying it, in a semi-continuous loop. A full description of the assignment is disclosed within the pdf attachment. To view the project pdf, click here.
Autofill System
This is a function block diagram lab I completed using Studio 5000 Logix Developer.
Description:
It’s pretty self explanatory, a more in-depth description is included in the pdf attachment. To view the project pdf, click here.
VFD/HMI Lab
This was a final project made using Studio 5000 Logix Developer and FactoryTalk View Studio.
Description:
The HMI controls varying states and speeds of a 3-phase motor using Ethernet communication and an Allen-Bradley PowerFlex 525 intermediary. To view the project pdf, click here.
Robotics
FANUC Lab
This was a final project made during a PLC II/ Robotics course.
Description:
Using a FANUC 200iD robot, the goal of the project was to develop a comprehensive system that demonstrates seamless integration and synchronized control among these components. The project aimed to enhance the understanding and application of programming techniques and communication protocols required for successful coordination between industrial robots, HMIs, and PLCs. To view the project pdf, click here.