Touchscreen controller for DIY CNC

Loading...

Sign in or sign up now!
Alert icon
Upgrade to the latest Flash Player for improved playback performance. Upgrade now or more info.
11,813
Loading...
Alert icon
Sign in or sign up now!
Alert icon

Uploaded by on May 6, 2010

This is the user interface of a custom CNC controller I've made for my desktop milling machine. The screen is a generic KS0108 based graphical 128x64 pixel lcd with a resistive touch panel. The whole thing is run by a Microchip pic18f8680 microcontroller. It's not a big screen but all the buttons etc. are finger friendly. Here I'm using a pen for a nicer video. There are still some extra readings on the display for debugging purposes. Currently I'm also pushing the timings of the lcd which results in some artifacts on the screen. A video of the cnc in action is at http://www.youtube.com/watch?v=1hO3JcQvwMk .

Category:

Science & Technology

Tags:

License:

Standard YouTube License

  • likes, 0 dislikes

Link to this comment:

Share to:

Uploader Comments (marcom9900)

  • Awesome, both of your videos are fantastic. I am in my fourth year of an education degree in Australia and really interested in CNC and microcontrollers. I am considering a home automation / security alarm self interest project using a pic controller and 128x64 GLCDw/ touch screen. I couldn't find a nice looking keypad to control the the system so decided I would use a this GLCD with buttons similar to yours. Any info on where you purchased GLCD would be greatly appreciated + any code or ideas.

  • @phijl005 I found the display on ledsee.com. The touch panel is included and the price is quite low. The display has a very simple controller which means that the display behaves like "visual 8 bit x N memory". Setting a pixel means reading a byte, switching a bit, and sending the byte back. If I did this again, I'd probably choose a little bigger display with higher resolution (and colors). However, then fonts etc. require a lot more memory in the microcontroller.

  • @phijl005 Touching the panel triggers an interrupt that does some averaging and records the raw coordinate to be interpreted outside the interrupt. There's a table with all "buttons" in the program memory. The table is used for drawing the touchable areas as well as for checking whether a coordinate falls within one of those areas. If a tap is detected, a bit corresponding to the area is set in a register. When all this happens "in the background", writing the main code is quite convenient.

  • @marcom9900 @marcom9900 Thanks for your reply, I will take your advice and get a bigger panel however wont mess with colour font etc yet... ledsee.com seem to have reasonable prices so I will put an order in. I am going to order the same set-up as yourself and try to get it up and running first then will play with a bigger GLCD. do you have the the LCD with with touch screen Driver IC? and would you get the 240x128 next time?

  • @phijl005 With a simple lcd controller you will have to take care of fonts no matter what. There's no built-in font generator. You'll find more information on this on piclist. I'm not using the touch screen driver. Everything is taken care of by the pic and its ad converters. The 240x128 could be ok. However, for a bigger wow effect, I'd like to switch to color. Maybe then there could be a separate pic taking care of the display and touch only.

see all

All Comments (8)

Sign In or Sign Up now to post a comment!
  • Sounds like a nine inch nails song.

  • Very nice setup! I already built myself a CNC Mill in 2008 but it's controlled by a DOS program. Since I'm a lot more into microcontrollers nowadays, I wanted to get rid of the computer completely and use only a touchscreen GLCD. Your video has inpired me a lot and given me many ideas. Thank you for posting this amazing video!

  • also if you prefer to email my address is phijl005@students.unisa.edu.au­.

    Thank you

    Joel

Loading...
Alert icon
0 / 00Unsaved Playlist Return to active list
    1. Your queue is empty. Add videos to your queue using this button:
      or sign in to load a different list.
    Loading...Loading...Saving...
    • Clear all videos from this list
    • Learn more