1            Joe Churchwell’s Personal Portfolio

Untitled2

Welcome to my portfolio! Here you will find some information on programs and devices I have developed outside of work as I am ethically not able to show my professional work to the public. Some of these programs and devices were created to satisfy a need while others were school assignments at some point in time. They attempt to show my professional ability while not being very large. Click here for my resume.

1.1       Roving Platform (Rovoto)

I am passionate about robotics so I am always busy creating my own. Here is my most current design being worked. I recently created a driver board (2018) with 8 Pololu motor driver boards (daughter cards). Eight driver boards are needed because there are a total of eight motors on the robot to make it omnidirectional and 4 wheel drive. The driver carrier board is connected to a controller board (via 40 pin IDC) that has a Teensy 3.6 using ALL Teensy 3.6 pins. The encoders operate on a 12 VDC supply (higher voltage to reduce noise) so the controller board also has a lot of resistors to make up 16 voltage dividers. Both boards were created in Eagle CAD and ordered through OSH Park. I wanted to use one controller to direct all the motors so they could be synchronized. I have also added regulated 12 VDC to the motors which should keep their control the same regardless of 6S LiPo battery’s voltage.

My current to do list includes making Molex connectors (6 conductors) between the four slip rings and drive motors. After this I will have to use ferrule connectors for motor power, encoder power, and encoder signal and plug each one into the correct screw terminal.

                Material applicable to the design: roving_platform_basic.pdf

Here is the IO mapping for the motors, drivers, and controller: Motor_Driver_Controller_IO_Map.pdf

               

Figure 1.1 - Rovoto Current State

Here are some links to my old robot’s electrical design:

01_Power_Distribution.pdf

02_Motor_Controller.pdf

03_Main_Computer.pdf

1.2       2D LIDAR

Scanse is out… Am I in? Well let’s see. This bad boy has a BLDC motor and tiny slip ring to communicate with a LIDAR LITE sensor. The sensor shown is the LIDAR LITE V3HP and this design supports the V3HP as well as the older units.

Figure 1.2 - 2D LIDAR Current State

Figure 1.3 - Anyone Have a Re-Flow Oven?

1.3       Pathfinding

Click on the image to see the path finding algorithms I have developed.

1.4       Teensy ARM Memory Map Generator

Have you ever wanted to know where variables are placed in your Teensy 32 bit ARM processor’s RAM? I created this tool to report the memory map from the Teensy in the Arduino IDE output window. I want to create an ultra-lightweight and easily scalable protocol to the Teensy Arduino communication interface using a generated memory map.  However, I haven’t completed Arduino side or PC side yet but this tool is a good start to simply get the memory map output in the Arduino build window.

This is now hosted on GitHub:

https://github.com/jchurchwell/Teensy-Memory-Map

1.5       TRANSDEC Map (MATLAB)

The SDSU Robosub team was an excellent place to meet aspiring robotics engineers. For the 2015 year I created a map of the TRANSDEC and plotted the output using MATLAB for the team to use.

1.6       GUI Programs (VB / VB.Net / C#)

Please refer to this document for publically available screenshots of GUI programs I developed

gui_programs.htm

1.7       Headless .Net Programs

Here are some non-GUI applications I have created

dot_net_programs.htm

1.8       Web Programs (HTML, CSS, JavaScript, PHP, etc.)

This is a good example of what I have been able to accomplish with a standard web application used for form input validation. If you want to try out the form it is really good and you will have to even use a correct test number for a valid credit card to be submitted (see below). My website is also a good source but the code is heavily dependent on the PHP scripting on the server side (this makes my website code a little hard to read).

Test Numbers to use

Visa:                      4222222222222

MasterCard:      5105105105105100

web_programs\index.htm

1.9       Excel VBA

I am really good with VBA especially with Excel. To provide an example you can download the macro enabled workbook below which will select the cell with the highest value. To see the Excel macro code file use the keyboard buttons Alt+F11 to get into the code editor.

excel_vba_example.xlsx

1.10   C and C++ Programs

Please refer to this document for publically available C and C++ programs I developed

c_programs.htm

1.11   MATLAB Robot Actuator Control

I developed this for my robotics class which is a good start to an actual robotic actuator controller. This file has been exported from MATLAB/Simulink.

actuator.pdf

1.12   3 DOF (Degrees of Freedom) Robotic Arm Simulation

Below is a video of a three degree of freedom robotic manipulator simulation that I created in MATLAB. Click the image to download and play the short video that will move the end effector along the line.