Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Building an USB peripherial

I would like to control an RC model via USB from my computer. I don't need a real radio control, so controlling the servos directly through cables is sufficitent (yes, there will be cables between the model and the controlling unit). I thought I would build some microcontroller-based device which would be connected to the computer via USB and the servos would be connected to this device.

I'm asking for some hint where I should start. I know how servos are controlled and how should I eventually program the microcontroller to control the servos, but the thing I really don't know much about is the USB communication neither on the device side nor the computer side (which will be Linux).

I would like to do the progamming in C (maybe Assembler for the microcontroller).

Thanks for every hint.

like image 298
zegkljan Avatar asked Sep 29 '10 00:09

zegkljan


People also ask

What is a peripheral USB?

Universal Serial Bus (USB) is a way to connect peripheral devices to computers. It replaces the functionality of serial and parallel ports, including keyboard and mouse ports. USB uses a bus topology, which means peripherals can be daisy-chained together or connected through hubs.

Are USB ports peripherals?

Examples of peripherals that are connected via USB include computer keyboards and mice, video cameras, printers, portable media players, mobile (portable) digital telephones, disk drives, and network adapters. USB connectors have been increasingly replacing other types as charging cables of portable devices.


1 Answers

The easiest way will be to use an RS232 to USB bridge, like the chipsets offered from FTDI. This will simplify both your hardware and pc software design (no USB driver required). Most microcontrollers have at least one RS232 port to connect to.

Some micro-controllers offer USB support. In that case you would need to do some USB programming in them and use libusb on the PC side.

like image 81
kgiannakakis Avatar answered Sep 21 '22 18:09

kgiannakakis