Jump to content


Submitter

File Information

  • Submitted: Jul 14 2011 02:29 AM
  • Last Updated: Aug 17 2012 02:36 AM
  • File Size: 5.86MB
  • Views: 10360
  • Downloads: 6,557
  • Approved by: Nathan House
  • Approved on: 17 August 2012 - 02:36 AM

Previous Versions

  • 17 Aug 2012 Download CNC Controller 1.0
  • 14 Jul 2011 Download CNC Controller 1.0

Download CNC Controller 1.0

- - - - -



CNC Controller was written to control my CNC Machine. It's the first piece of software that I've written with the Qt Toolkit, which I am really impressed with and have found much easier to use than wxWidgets.

To use the program, the user loads an excellon drill file (exported from Eagle, or similar PCB creation software) which contains the PCB's hole coordinates. The user then uses the calibration routine to calibrate the CNC machine by selecting the two calibration holes in the program, moving the drill to the two holes, and setting the calibration points when the drill bit is directly over the holes. This is done so that the program can set a point of origin for the coordinate system, calculate the rotation of the board, and update the coordinates of the holes accordingly. After the calibration is complete, the user simply clicks the "start" button and the program takes care of the rest, controlling the drilling process.


Known Bugs:
  • When board is flipped ~180 degrees the coordinates of the holes have incorrect signs. (e.g. the machine moves the wrong direction. This must be due to an oversight in the math calculations in calculateGlobalCoordinates() and should be easy to fix; I just need to take the time to experiment a little with the machine and go over the math again.
  • Although the program has been updated to support different sized boards, there may be issues painting the board on the screen. This just needs some more work.
  • Because the size of a signed INT on the PIC microcontroller is two bytes, the maximum number of steps that can be sent (a.k.a. the largest coordinate) is 32767. This would create a problem for larger boards as it means with my machines stepping resolution of 200 steps/revolution, the maximum travel distance of the drill would be: (32767 steps) /(200 steps/revolution) = (163 revolutions), (163 revolutions) *(20 tpi threaded rod = 1/20 inch/revolution) = (163)*(1/20)= 8.15 inches of travel. The solution is to use a different data type on the PIC.

You will need Qt Creator to compile the project, or you can run the program by browsing to the "release" folder.







0 user(s) are online (in the past 15 minutes)

0 members, 0 guests, 0 anonymous users