Society of Robots - Robot Forum
Electronics => Electronics => Topic started by: dunk on February 10, 2007, 06:23:04 AM
-
so i have finally got round to documenting one of my projects.
it's a USB servo controller.
so, i'm looking for comments about the quality of the documentation.
i'm afraid it's not a particularly "beginner friendly" application this time round but i'd appreciate it if anyone with some experience with AVR microcontrlollers and Linux could take a look through and see if it makes sense. (or build one!)
it all makes sense to me but then, i wrote it. i'm looking to see if someone else could follow my instructions.
if anyone with experience writing windows or Mac software is interested in writing a windows or Mac controll program for it that would be great too! while i use only Linux i appreciate that most people don't.
i posted it in Admin's new "member written tutorials" section.
link:http://www.societyofrobots.com/member_tutorials/node/23 (http://www.societyofrobots.com/member_tutorials/node/23)
dunk.
-
Has this circuit been tested ? I would not expect you to be able to interface directly from the USB connector to the microcontroller without a USB <=> UART bridge chip such as Silicon Labs CP2102 or FTDI FT232, but I'm not familiar with the MEGA8 processor - perhaps it already have this functionality built in.
-
Has this circuit been tested ?
yup. it works realy well.
so for the USB communication i went with a firmware only solution:
http://www.obdev.at/products/avrusb/index.html (http://www.obdev.at/products/avrusb/index.html)
dunk.
-
Very nice ! I had not seen this before.
-
Hi.
I'm new, and I was looking for exactly this. Great work.
As I told I'm new on this world, and I had a little question.
The USB servo controller can "write" the Atmega8? I mean, in the firmware part, you have to download the program with a different programmer, or you can use the "USB servo controller". If not would you recommend me a programmer that works with this project without modifing anything?
Thanks a lot.
-
hwere did you find this topic... its more than 2 years old...two years...
-
hi Alexm,
yes, the Atmega8 is a single chip computer or "microcontroller".
you need a programmer to upload the firmware to the Atmega8.
there are tutorials online on how to do this but to be honest the USB servo controller is probably a bit too complicated as a first microcontroller project.
try reading the $50 robot project on this website for an idea of how to work with microcontrollers. http://www.societyofrobots.com/step_by_step_robot.shtml (http://www.societyofrobots.com/step_by_step_robot.shtml)
alternatively there are devices for sale that allow you to control servos from a computer.
dunk.
-
Well, I'm not to "beginner". I allready worked a little with micros, (the motorola family).
I'm really new at the linux world, that's way i didn't get if you could program with the same servo controller, or you need a programmer. But you just answer it so thanks a lot.
I wiil look for a suitable programmer. I mean one i don't need to change anything of the code, because there is where I don't understand how. (I mean on linux). If you could help here too, it will be very helpful.
Thank you.
-
there's a tutorial here on programming AVRs from Linux:
http://www.instructables.com/id/Ghetto-Programming:-Getting-started-with-AVR-micro/ (http://www.instructables.com/id/Ghetto-Programming:-Getting-started-with-AVR-micro/)
dunk.
-
Tahnks.
I'll give it a try.
-
Hi. Another question.
I know I can deduce the answer by reading the code, but I don't want to miss understand.
The question is: When you read the angle (status function) you actually "ask" the servo the position, or you look in some kind of memory of the servo's moves.
Thanks
-
you send a pulse to the servo and it moves to that place...
i would think the easiest way to read the angle would to see the last place moved to.
there may be a way to read the pot's angle but i haven't heard of it...
-
there may be a way to read the pot's angle but i haven't heard of it...
That's why I am wondering about how the instruction works. I was trying to undertand the code but I got confused...
Thankyou for your reply