Pick and Place Controller Software

After completing our DIY Pick and Place machine USB Controller Board we needed to rewrite the controller software to drive the pick and place machine.

The new Pick and Place software is written in C# and we used Visual Studio 2013 to write the application. The application is based on the previous version which communicated with the SmoothStepper Ethernet board via Mach3.

All calls to the SmoothStepper board have now been replaced with an open-source USB driver from www.waitingforfriday.com and the UI was built using a ribbon interface called Office Ribbon Project.

By using the ribbon-style interface we were able to add all the most commonly used controls and buttons into single ribbon tabs to make it very easy to access the settings as needed.

The app has four tabs:

Pick and Place - This contains the main control buttons when running a board build file.

Vision - This contains buttons to open the two cameras on the machine. This section is still under development.

Manual Control - This contains buttons to move the stepper motors, DRO and a manual selector which is under development.

Misc - This contains buttons which launch a component editor window (under development), CSV to XML converter which converts the CSV files produced by Diptrace into XML format for the application and a Board Multiplier window which makes multiple place grids for placing more than one board at a time.

The application also runs an HTTP host which will allow basic start, stop, e-stop and reset commands to be sent via HTTP requests from a mobile or tablet app via the wireless network.

Future plans are to finish the vision system so the software can check the position of the chips on the needles before placing the components and also add semi-manual control so the user can select a component from the feeders and place at the current position.


The source code and PCB files can be downloaded from https://github.com/briandorey/PNPControllerUSB