Propeller Robot Controller MSR1 - step by step
mugur
Posts: 105
I am sorry to bring this here, but my MSR1 is here and i want to start with it without ruining it too fast. So my explanations are in normal text and my questions are in bold. I appologise if i am too explicit, but this thread can also help other people who might go this way. Oh, and i also appologise for my english.
I have succesfuly connected the board to the Propeller Tool v1.2.7 . The software says the board is present on COM1, i have a green light etc. All perfect.
My second step was to solder the headers to have direct acces to the I/O ports of the propeller (they are not soldered on MRS1). I have also soldered the jumper pins to have the voltage level translators disabled. When a jumper is ON that corespondent translator is disabled. Now, i am ready to make my first test, and as i said i dont want to start with the left foot.
I bought another 2 parallax modules: PING and H48C accelerometer. I have enough normal or digital servos at hand.
For the first step i want to connect the PING to the P0 for example. For this, i will have a jumper on the first translator to disable it. I see the PING has 3 pins: GND, 5V and Signal. While GND and 5V obviously go to the GND and 5V of the MSR1, my first question is: the SIG pin is a direct connection to P0 also? No resistor, no nothing? On the PING schematics says I/O on that pin, but the propeller PDF file also says to be very carefull when you connect something directly to the I/O pins.
Second step will be to connect a servo to P8 (i will leave the translator working for this port). My second question is: can someone write a small piece of code that can make the servo move based on the distance PING detects? That will be really helpfull.
Thank you.
I have succesfuly connected the board to the Propeller Tool v1.2.7 . The software says the board is present on COM1, i have a green light etc. All perfect.
My second step was to solder the headers to have direct acces to the I/O ports of the propeller (they are not soldered on MRS1). I have also soldered the jumper pins to have the voltage level translators disabled. When a jumper is ON that corespondent translator is disabled. Now, i am ready to make my first test, and as i said i dont want to start with the left foot.
I bought another 2 parallax modules: PING and H48C accelerometer. I have enough normal or digital servos at hand.
For the first step i want to connect the PING to the P0 for example. For this, i will have a jumper on the first translator to disable it. I see the PING has 3 pins: GND, 5V and Signal. While GND and 5V obviously go to the GND and 5V of the MSR1, my first question is: the SIG pin is a direct connection to P0 also? No resistor, no nothing? On the PING schematics says I/O on that pin, but the propeller PDF file also says to be very carefull when you connect something directly to the I/O pins.
Second step will be to connect a servo to P8 (i will leave the translator working for this port). My second question is: can someone write a small piece of code that can make the servo move based on the distance PING detects? That will be really helpfull.
Thank you.
Comments
Why are you disabling the level translators for the PING and the H48C? Everything you've mentioned so far (PING, H48C, servos) all work normally with 5V logic levels. Why not use the level translators and avoid the whole issue?
There's already code in the Object Exchange for moving a servo and for handling a PING. If you're talking about continuous motion servos and trying to make them move through a fixed distance, I suggest you browse through the Robotics forum. This is a common problem (dead reckoning) without a good solution unless you want to use stepping motors or wheel position encoders. If you're using a standard servo, you should be able to do the programming yourself since the servo pulse width is proportional to the desired servo position and the PING produces an echo time proportional to the distance to the object and it's just a matter of a simple linear equation to translate the one value into a corresponding other value.
can i connect the PING signal directly to the P0 (translator's pin)? I ask because on the PING pdf file, it says to use a 1K rezistor when using on propeller, but on the PING schematics (came with the ping) the resistor is not there. I will try with the servo as you said.
If you are going to use digital servos, and you have problems running them through the voltage translators, read this post:
·http://forums.parallax.com/showthread.php?p=862005
We found a 1K to 10K resistor in series AFTER the translator allows most digital servos to perform as normal. Some digital servos perform well without the resistor.
Jim
If i try to connect the board again to the Vin, the propeller chip starts to get warm. I am stoping the power before it get's any hoter. Any idea why?
Graham
Post Edited (mugur) : 1/11/2010 9:30:08 PM GMT
I just went through some issues with the translators and their outputs. Those translators put out almost no current at all, so unless there is a direct short, I don't think they are your most likely problem. Did you hook up your servo through the header on the Robot Control Board or did you run 3.3 through a resistor to the servo and use 5V and Gnd from somewhere else on the board? Is anything else hot?
Dave
- no short circuit in any header pins i have soldered (after 15 years of soldering and a lot of SMD soldering it would have been hard anyway)
- the servo was hooked on P0, on the header pins the board has, so after the translators, as it is supposed to be.
- nothing else get hot, not even warm...
- i have measured the pins of the translators between them and against the ground = no short circuit
- the voltage regulators are perfect = 3.30V and 5.01V while the main voltage does not drop at all still 12.01V
- looking with a magnifying glass to the propeller chip, the soldering looks perfect, no visible short circuit
- this happend while the servo was moving, me doing nothing, just happily looking at it [noparse]:([/noparse]
- powering from a 7.4V NiMh battery does exaclty the same
- the green led is ON
- when connected to the PC FT232R USB UART appears in the device manager (with no power on the board)
Post Edited (mugur) : 1/11/2010 9:54:06 PM GMT
Can you also post if you made any changes to the code above? I recently had a simple issue while trying to hook up two servos. I was getting one to spin and the other would not. I hadn't properly initialized the position and as a result one of my waitcnt statements had to wait the 53 seconds for rollover and then the motors would both spin. Thanks to this forum, someone spotted it right away and now it's all working.
How is the battery connected?
I assume you are now using the 3-pin headers after the translator to connect the servo?
Jim
·
Yes, i was using the 3pin headers after the translators, servo simply plugged on P0 pin.
I am not that stupid to connect a servo directly on the propeller pins.
Dave, nothing else was hoked but the servo to P0. No changes in the code either.
I cannot connect it to other port since the chip gets hot with nothing connected to it. The code is still in the memory or is gone now ?
I am considering to buy the damn chip instead of sending the board back, it will be way cheaper... maybe i had a bad luck with it.
Post Edited (mugur) : 1/11/2010 10:20:14 PM GMT
Any chance you have accidentally overclocked the propeller?
Just puzzled by the heat, must be caused by something.
Graham
I am too old in electronics to let some short circuit happen on the board. it was fixed on 4 plastic screws (3 cm each) over a piece of ABS plastic.
Until your code works well, I usually use F10 to load it (RAM) for testing·and when it seems to behave then I use F11 (EEPROM).
Good luck, hope this helps you a bit.
Dave
I have no idea how to test any code since the board is not seen by the Propeller Tool. Pressing F7 said: not found on Com1 but the usb part of the board is certanly seen by the PC, it appears in device manager as COM1 instantly.
later edit: if i press F10 during those 5-6 seconds the answer is: "the propeller chip cannot be found on any COM port"
The device manager shows the FTDI as USB Serial Converter COM1 in perfect order
Post Edited (mugur) : 1/12/2010 12:08:16 AM GMT
I was just trying to help. Not having a·sketch or photograph makes it hard to see your connections.
Actually, having the servo directley connected to the Prop should not do any damage. The 3.3VDC output from the Prop may not drive the servo which is looking for around 5.0 volt signal.
Have you considered driving the servo off the seperate supply line VIN that just supplies the servos, with the VIN jumper in the appropriate position.?
Regards,
Jim
but the chip get hot with nothing connected to the board whatsoever.
I'm not exactly sure what has happened, but if the chip gets hot that quickly, it sure seems indicative of a problem with the chip. You said checking ground, 3.3, 5 and Vin were all isolated and not shorted so maybe there is something else going on. Do you have any other propeller devices to test with? Is it possible to take a digital photo of your setup and post it?
I don't have another chip, i am considering buying one and change the damn thing on the board because i can get a chip from UK in 3 days. I doubt that i will still have my warranty if i change the chip [noparse]:([/noparse]
Everything else on the board seems to do just fine though [noparse]:([/noparse]
Accidental over clocking might be done by leaning on the keyboard, changing the pll multiplier without noticing, not very likely but lets face it we can only grasp at straws from here which is why I mentioned it. I have probably been watching too much "House" (actually I definitely have).
It also sounds as if running the code had something to do with the chips demise, it loaded OK, did something and then died. The propeller is only dealing with the signal part of the servo and then through a buffer, it should be safe. The usual way they die is a PLL failure and that that produces no heat.
Another way to blow something up is to pick up your meter to measure a voltage with the the probes still plugged in to measure current (yes I know you are not that stupid to do that and have 15 years of multimeter experience).
Certainly sounds like the propeller is dead, it is just a shame we have no idea why.
Cheers,
Graham
p.s. I can understand that you want to differentiate yourself from beginners but everyone is fallible and you should not be so defensive when suggestions of human error are made if you expect help. I have 25 years of soldering under my belt (and I'm only 31) but I still mess things up sometimes, often in surprising ways. Given that your first post talks about adding headers and jumpers it was reasonable to wonder about that.
- i was waiting too much and the parts cost too much not to be very carefull
- i know stupid things can happen even to most experienced people, that is why i was extra careful this time. i am 41 myself, i was not defensive, just tried to spare people's time while supposing a bad soldering that can lead to a short circuit.
- i have had no measurement on the board whatsoever untill i felt the heat from the chip, and then was too late to change anything, no matter how i would measure [noparse]:([/noparse]
- i belive i was just unlucky, the dealer of paralaxx in UK told me to send the board back for a replacement.
- later edit: i will be very happy if the dealer will tell me if the chip itself was defective (what i suppose now) and i will try to track this issue even if they will simply replace the board instead of replacing just the chip and send me back the same board.
Post Edited (mugur) : 1/12/2010 4:50:35 PM GMT
Just one last thing I'd suggest. Since you are getting a new board, If you can I would get a second propeller board of some kind, the starter kit, whatever you can. I live near Parallax, so I can replacements quickly, but when things aren't working, it's a long wait for the post. It sounds like you have an even longer wait.
Best,
Dave
And you are more than right, i really envy you living near them [noparse]:([/noparse]
I have to wait for my board to get there (i will send it tomorrow) then to wait for the board to come back. I am doing other things meanwhile, but you know how it is...
I have the new board working in perfect order. I have managed to play with 8 LEDs and the PING sensor as well mounted on a servo in matter of minutes. All went fine and i am happy that at least i am not a total idiot. I have bought a pair of pololu geared motors (150:1) with the encoders as well. It's not a killer precision encoders set but will be more than ok for my learning process. Also bought the H48C tri-axis accelerometer, the parallax color PAL and some IR sensors [noparse]:D[/noparse]
@wolfbrother: thank you for your nice words and your help. From what i can tell it is not so important to have a "starter kit" now, because the MSR1 along with the breadboard i bought leaves me exactly (if not more) the same choices that the starting kit can offer [noparse]:)[/noparse]
I appologise in advance for any stupid questions i may ask in the near future.