Society of Robots - Robot Forum

General Misc => Misc => Topic started by: gb on August 21, 2009, 07:59:05 AM

Title: Help with $50 robot
Post by: gb on August 21, 2009, 07:59:05 AM
Hi guys,

First of all my $50 robot is no longer $50...its somewhere around $150 (I took admin's advice for the long term investing  :o).
Anyways I have a list of questions:

1. I tried the connections on a breadboard.. plugged in 4xAA batteries and the 9V battery. My LED does not glow...however I hear one of the servo's making some noise (only when I plug in or pull out the 9v battery). Is there something wrong with my circuit? I am planning to go ahead and solder the components on a PCB so is there a way I can find that all my components are intact. I am fearing that I might have broken/damaged the LED is some way. I do have a multimeter but someone has to tell me what to do exactly as I am not familiar with its functionality. Should I check any other components before soldering??

2. I purchased the costly AVR ISP2 programmer. I am able to build the code without errors but not able to load the .hex file. I have to load the hold_servo.hex file first as i have not modified my servos yet. Can someone tell me the procedure for doing this?

Thanks
gb

Title: Re: Help with $50 robot
Post by: SmAsH on August 21, 2009, 08:14:53 AM
the answer to 1. is the led does not glow until the mcu is programmed.
if you have built the mcu, then you should proceed to upload the center servo.hex to it and modify the servos.
Title: Re: Help with $50 robot
Post by: gb on August 21, 2009, 08:28:17 AM
thanks SmAsH,
is there a way to check if the LED is intact though...
I am not able to program the mcu...have to sort the issures with the programmer also...

gb
Title: Re: Help with $50 robot
Post by: SmAsH on August 21, 2009, 04:50:53 PM
ahh, so your just afraid you fried the led huh?
then you can get a couple of batteries and touch the wires to the leads of the led...
but if you do it without going through the resistor don't hold it on for more than a few seconds.
Title: Re: Help with $50 robot
Post by: sonictj on August 21, 2009, 06:31:21 PM
If you have a continuity tester on your multimeter you may be able to get the led to light dimly.  The red lead to the + lead of the led and black to the - lead of the led.  This is the trick I used for finding the polarity of smd leds. resistance setting may work too, not sure.
Title: Re: Help with $50 robot
Post by: Joker94 on August 21, 2009, 06:43:05 PM
on the resistance setting, if you can not use continuity i think it displays lower resistance, you may have to play around eith it though,

Later to day i'll post a DIY continuity circuit on the electronics board, it is really easy to use and is handy sometimes if your multimeter does not have a continuity setting, like mine.
Title: Re: Help with $50 robot
Post by: SmAsH on August 21, 2009, 06:46:36 PM
a continuity indicator can just be a transistor, an led and a resistor...
Title: Re: Help with $50 robot
Post by: Joker94 on August 21, 2009, 06:50:54 PM
that is wht the circuit i was gonna post is, we made it at school for our first project, as we have alot of noobs in our electronics class,
Title: Re: Help with $50 robot
Post by: sonictj on August 21, 2009, 06:53:22 PM
Quote
on the resistance setting, if you can not use continuity i think it displays lower resistance, you may have to play around eith it though,

you missed my point.  continuity testing provides a small voltage to the circuit for testing.  You can hack this to turn on an led by placing red to + and black to - on the led.
Title: Re: Help with $50 robot
Post by: SmAsH on August 21, 2009, 07:04:51 PM
that is wht the circuit i was gonna post is, we made it at school for our first project, as we have alot of noobs in our electronics class,
was that from the funway kit?
Quote
on the resistance setting, if you can not use continuity i think it displays lower resistance, you may have to play around eith it though,

you missed my point.  continuity testing provides a small voltage to the circuit for testing.  You can hack this to turn on an led by placing red to + and black to - on the led.
yeah, you use the voltage that it puts through the circuit to turn on the led.
it has to provide a voltage so it can see if it receives it at the other end, indicating a closed circuit.
Title: Re: Help with $50 robot
Post by: Joker94 on August 21, 2009, 09:37:15 PM
Sorry i missed the point.

I have posted the circuit in electronics.
Title: Re: Help with $50 robot
Post by: gb on August 22, 2009, 02:11:15 PM
Thanks a lot guys .
couple of things here:

1. I read in some other post about downloading the latest version of AVR studio. I did that and was able to upload the 'modify servo' file. I also uploaded the 'photovore_v1.hex' file. So it looks like my circuit is good. However, once I disconnect the AVR kit from the computer and switch on the power to the board my servos dont run. Am I resetting the circuit is some way or not uploading the .hex file properly??? (I am using the AVRISP mkII kit).

2. My LED is still not glowing. I used James's technique (with the battery and resistor) and it did work but in the following way:

  4XAA battery + ----->  resistor ------> smaller lead of LED ----> longer lead of LED ----  > 4xAA battery -  = LED glows red
  4XAA battery + ----->  longer lead of LED  ------> smaller lead of LED ----> resistor ----  > 4xAA battery -  = LED does not glow

 this seems to be completely opposite of the theory (longer lead is +). Can somebody explains this anomaly?

gb
Title: Re: Help with $50 robot
Post by: Razor Concepts on August 22, 2009, 02:29:39 PM
The standard $50 robot LED is known to have "backward" polarity for some reason. I purchased some and noticed it too.
Title: Re: Help with $50 robot
Post by: SmAsH on August 22, 2009, 04:24:02 PM
yup, sorry but you will have to desolder the led and put it in backwards or replace it :-\
as for the servos not running:
1. is the power bus getting sufficient voltage?
2. get out a multimeter and check if the servo pins are going high when you tell them to.
Title: Re: Help with $50 robot
Post by: gb on August 23, 2009, 11:17:00 AM
Quote
The standard $50 robot LED is known to have "backward" polarity for some reason. I purchased some and noticed it too.

hey I tried the LED in reverse position and it worked. For 'modify servo' step the LED turn red. But for 'photovore_v1.hex' upload step it didn't. I found that in the C code there was an error. It said LED_off() instead of LED_on() so I changed it and it works. Can someone update Admin on this.

Quote
yup, sorry but you will have to desolder the led and put it in backwards or replace it Undecided
as for the servos not running:
1. is the power bus getting sufficient voltage?
2. get out a multimeter and check if the servo pins are going high when you tell them to.

I checked the power on the servos and its 4.8 V. What exactly you mean by 'going high'. I have not yet soldered my circuit and planning to do it today.

gb
Title: Re: Help with $50 robot
Post by: SmAsH on August 24, 2009, 12:39:38 AM
ahh ok, i was referring the the mcu servo pin going high (providing 5v)...
Quote
I found that in the C code there was an error. It said LED_off() instead of LED_on() so I changed it and it works. Can someone update Admin on this.
the led pin should be going low to turn on ;) the anode of the led is connected to the +5v from the microcontroller
the cathode is connected to the pin... therefore the pin on the microcontroller is acting as a current sink.
Title: Re: Help with $50 robot
Post by: gb on August 24, 2009, 12:03:13 PM
Quote
the led pin should be going low to turn on  the anode of the led is connected to the +5v from the microcontroller
the cathode is connected to the pin... therefore the pin on the microcontroller is acting as a current sink.

James I am not sure if I understand what you are saying here. You have to convey in layman terms as I am illiterate in electronics. Are you saying that what I did is correct (changing LEF_off() to LED_on() )?

~gb
Title: Re: Help with $50 robot
Post by: Razor Concepts on August 24, 2009, 12:10:33 PM
That is correct, the command LED_on turns the port low which turns the LED on.