Hi - I have an mechanical device which has 6 different operational functions. I want to develop a USB interface for the device. Effectively, I want to replace a manual "six position" switch with a USB solution so I can control the device through software.
How should I select a USB controller
How should I select a Firmware solution
How best should I develop the software to communicate with the firmware.
I am a novice and would appreciate any guidance. Is this possible?
Any controller will do the job, it's a case of cost, tools, package and language of choice. IIRC there are PIC solutions, ARM solutions, 8051 solutions and proprietary solutions.
That depends entirely on the answer to #1 above.
Depends on your application and your OS. The simplest way is to create your device as a "HID" device - that way you won't have to write any device drivers at all, which is a *big* plus under windows. But HID devices have limitations. If it's a one-off lab environment and you don't need high-speed, high-bandwidth communications then HID will do the job.
Definitely.
If you opt for the Cypress EZ-USB FX option (and I'm *not* suggesting it is the best, cheapest or easiest solution) there's example source on the net and you can write your firmware with the freeware SDCC C compiler.
Others may know of easier, cheaper solutions!?!
Regards,
--
Mark McDougall, Engineer
Virtual Logic Pty Ltd,
21-25 King St, Rockdale, 2216
Ph: +612-9599-3255 Fax: +612-9599-3266
--
Don McKenzie
E-Mail Contact Page: http://www.dontronics.com/e-mail.html
Micro,TTL,USB to 1.5" color LCD http://www.dontronics.com/micro-lcd.html
USB,RS232 or TTL to VGA Monitor http://www.dontronics.com/micro-vga.html
World's smallest USB 2 TTL Conv http://www.dontronics.com/micro-usb.html
What kind of switch is this. Does it ground a low power signal to ground in each position or is this switching mains voltages at several Amperes in each position ? You may have to consider isolation and safety issues.
For this kind of simple one-of-six interfacing, I would suggest just using the PC parallel port.
However, since you insist of using USB, I would suggest using some USB to LPT converter, which is supplied with some driver software that mimics a real parallel printer port. In this way, this device can be controlled just as a parallel printer. Your remote controlled switch can be used even with computers without USB by directly connecting it to the LPT port.
FTDI245: an USB interface chip with drivers for all popular OS. It has a bit-bang mode, so you have 8 i/o to control. There is no need to develop a driver, your app only has to talk to the d2xx dll.
ElectronDepot website is not affiliated with any of the manufacturers or service providers discussed here.
All logos and trade names are the property of their respective owners.