I just purchased two new spin stamps. Will I be able to plug them into my Rev C Board of Education and install your prop software for the Bot directly into the spin stamp with the prop plug. I am worried about voltage conflicts, pin assignments, etc.
Jim,
I'm not sure what you have connected to your BOE other than the servos. During the alpha test of the Spin Stamp, I used it with a BOE-BOT (with an xBee AppMod, a PING))), and some IR sensors). I used a 4.7K series resistor with the servo inputs (not really needed) and I think the same thing with the PING))). Since the xBee is really a 3.3V device, I modified the AppMod to bypass the buffer chip so the Spin Stamp connected directly to the xBee.
Just a note on Mike's reply, the buffer chip on the AppBee-MOD/SIP can take either 5V or 3.3V for signal inputs, so as long as it has 5V-12V power, it will be content with either input. I know it's not a focus of this thread, but thought I'd mention it.
Thanks for your inputs. My compliments to both of you, the site would not be the same
without your knowledge and contributions. Your inspirations keep us all going.
Jim
Note to Andy: Our Aussi was not satisfied with my BOE wiring, so she attacked the BOT
and rearranged the circuit to her liking. Unfortunately, the whiskers are now operating in
an up and down motion. Oh well.
Please confirm my use of your Method Piezo.beep(pin, freq, dur) for the 10 Mhz Spin Stamp which I am using in the Boe-Bot to implement your Stamp code as exactly as possible. I have concluded from your documentation that the following is true for 10 Mhz _XINFREQ:
Piezo.beep(4, 3000, 12000) will drive a Piezospeaker connected to P4, beeps at a frequency of 3000 for 2 seconds (12000 cycles). I had to increase “dur” by a factor of 2 because of the 10 Mhz.
The beep method's arguments are pin, frequency, cycles. Cycles is the number of square wave cycles, not clock cycles. If you use Piezo.beep(4, 3000, 12000), that should be pin 4, 3 kHz tone, and 12 k cycles (at 3 kHz, that's 4 seconds). The old Square Wave object in that package uses clkfreq to calculate the FRQA register value for the correct frequency quare wave. Your _xinfreq will be 10 MHz, and if you use PLL8x instead of PLL16x, the Spin Stamp will work, and it will still be running at 80 MHz. The cog's counter B module counts the number of negative edges. When the count exceeds 12 k, the object will be stopped.
I know this is a small point, but something is not right here. I am running two Bot’s side by side, one using a plain Stamp and the other using a spin Stamp, both are connected to the same computer, and both are talking to the same Basic Stamp Editor’s Terminal Window at different times depending on which Com Port: I select. From your last directive, it would seem that the following is true:
FREQOUT 4, 2000, 3000 ...... should be equal to ...... Piezo.beep(4, 3000, 6000) ...... But it is not!
Instead ...... FREQOUT 4, 2000, 3000 ...... is more equal to ..... Piezo.beep(4, 3000, 12000) .....
regarding the duration of the beep. A small subtlety, but nevertheless.
Interesting... Looks like I've got some debugging and mistake correcting ahead of me this weekend... Sorry about that. I'll let you know when it the new version is up. In the meantime, use 12000.
Jim Coleman said...
From your last directive, it would seem that the following is true:
FREQOUT 4, 2000, 3000 ...... should be equal to ...... Piezo.beep(4, 3000, 6000) ...... But it is not!
Instead ...... FREQOUT 4, 2000, 3000 ...... is more equal to ..... Piezo.beep(4, 3000, 12000) .....
regarding the duration of the beep. A small subtlety, but nevertheless.
Thanks
Jim
I did a little test here and it seems that the speaker is somehow messing up the count. I called piezo.beep(6, 100, 100) with and without the speaker connected. I connected an LED to pin 2 and changed piezospeaker.spin to look like this:
When I call piezo.beep(6, 100, 100) without the speaker connected, the LED stays lit for a second. When I connect the speaker, the LED is lit for a noticeably shorter time. Here's an oscilloscope screenshot with the speaker connected:
and here's one without:
I zoomed in on one cycle to see if the speaker was causing glitches, but it's still a perfect square wave:
I'll try some more tests.
▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔ OS-X: because making Unix user-friendly was easier than debugging Windows
Wow, that's really interesting. A 0.01 uF capacitor across the I/O pin and ground fixes it. Keep the cap as close to the I/O pin as possible.
Since the PHSB counter is accumulating by 3X with the (capacitive) piezospeaker, we suspect that there is an inductive/capacative (LC)·reaction between the long wires and the piezospeaker’s capacitance that cause brief current spikes at the I/O pin pad. These in turn get counted by PHSB in the Square Wave object.
The upper figure is what happens without the cap, and notice how the inductive spikes cross the logic threshold three times. In the lower figure, with the cap across the I/O pin and Ground, notice that just one negative transition gets counted, as it should to make a certain number of cycles add up to 1 second.
▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
Andy Lindsay
Education Department
Parallax, Inc.
Post Edited (Andy Lindsay (Parallax)) : 6/30/2007 2:28:39 AM GMT
Very impressive analysis with excellent supporting documentation. You are right it is a tank circuit with no definitive ground and a nice square wave input with just the right harmonics to supply the appropriate natural frequency of vibration to produce a ringing which causes the overshoots which in turn are eliminated by the capacitor by providing either an RF short to ground or you have detuned the tank circuit.
In your “Robotics with the Boe-Bot”, you obviously do not specify a capacitor across the speaker; therefore, I am reluctant to correct this problem with a hardware fix which would have to be added as a comment in the spin program which could be missed. It might be better just to use 12000 and live with the overshoots.
Nice thread. I didn't want to start a new one because the issues are the same.
I was wondering if there is anything new on the gyro front?
I am trying to study inertial guidance... the idea is to put a simple system together and then test it by putting it in my car and seeing just how good it is at following my route on a winding road with steep hills. When I get it to the point that I can't find a way to make it better then I'm going to try configure it as autopilot for a multi-copter lifting platform.
I am also interested in using the same basic setup to stabilize and localize a stereo-camera for imaged based topographic mapping.
I am attempting to move something precisely with a pittman motor and encoder attached to said motor.· While I am okay with the Stamp, the Propeller is challenging me a bit more than I anticipated.· Is there a resource I can use that will help me?
Reading through posts to sift the bits that help me is frustrating.
Again...move precisely.· I was doing it with a Stamp, Motor Mind, LCD and a decent power supply.· I'd like to duplicate and improve on my original contraption with the Propeller....
Ever since I found out that the hole patterns for the Prop Proto Board match the Boe-Bot, I've itching to put the two together. Well, over the holidays I finally got a chance to do so and even found some time to learn and write a little SPIN code. I also added a servo drive PING module using the bracket kit. It was pretty easy too, using Andy's PEK-Bot code, and Jeff Ledgers wiring diagrams as examples (starting points).
Hi I am new here. I am interest to learn robot and found this site, I am interested in Boe-Bot but also interested in Propeller. However there is no Propeller Boe-Bot kit, fortunately I found this thread.
So how should I get start and the roadmap to learn about Propeller and Boe-Bot?
I think the best way to learn is to build your own. I'm working on one right now that uses an RC car platform, and it's great fun! If you're willing to wait, Parallax will be coming out with a propeller robot (the "Stingray") sometime soon (soon = less than 100 years, more than a week...)
Comments
dro
▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
in medio virtus
I just purchased two new spin stamps. Will I be able to plug them into my Rev C Board of Education and install your prop software for the Bot directly into the spin stamp with the prop plug. I am worried about voltage conflicts, pin assignments, etc.
Thanks, Jim
I'm not sure what you have connected to your BOE other than the servos. During the alpha test of the Spin Stamp, I used it with a BOE-BOT (with an xBee AppMod, a PING))), and some IR sensors). I used a 4.7K series resistor with the servo inputs (not really needed) and I think the same thing with the PING))). Since the xBee is really a 3.3V device, I modified the AppMod to bypass the buffer chip so the Spin Stamp connected directly to the xBee.
-Martin
▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
StampPlot - GUI and Plotting, and XBee Wireless Adapters
Southern Illinois University Carbondale, Electronic Systems Technologies
Thanks for your inputs. My compliments to both of you, the site would not be the same
without your knowledge and contributions. Your inspirations keep us all going.
Jim
Note to Andy: Our Aussi was not satisfied with my BOE wiring, so she attacked the BOT
and rearranged the circuit to her liking. Unfortunately, the whiskers are now operating in
an up and down motion. Oh well.
Please confirm my use of your Method Piezo.beep(pin, freq, dur) for the 10 Mhz Spin Stamp which I am using in the Boe-Bot to implement your Stamp code as exactly as possible. I have concluded from your documentation that the following is true for 10 Mhz _XINFREQ:
Piezo.beep(4, 3000, 12000) will drive a Piezospeaker connected to P4, beeps at a frequency of 3000 for 2 seconds (12000 cycles). I had to increase “dur” by a factor of 2 because of the 10 Mhz.
Thanks
Jim
The beep method's arguments are pin, frequency, cycles. Cycles is the number of square wave cycles, not clock cycles. If you use Piezo.beep(4, 3000, 12000), that should be pin 4, 3 kHz tone, and 12 k cycles (at 3 kHz, that's 4 seconds). The old Square Wave object in that package uses clkfreq to calculate the FRQA register value for the correct frequency quare wave. Your _xinfreq will be 10 MHz, and if you use PLL8x instead of PLL16x, the Spin Stamp will work, and it will still be running at 80 MHz. The cog's counter B module counts the number of negative edges. When the count exceeds 12 k, the object will be stopped.
Andy
▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
Andy Lindsay
Education Department
Parallax, Inc.
Gotcha!
Jim
I know this is a small point, but something is not right here. I am running two Bot’s side by side, one using a plain Stamp and the other using a spin Stamp, both are connected to the same computer, and both are talking to the same Basic Stamp Editor’s Terminal Window at different times depending on which Com Port: I select. From your last directive, it would seem that the following is true:
FREQOUT 4, 2000, 3000 ...... should be equal to ...... Piezo.beep(4, 3000, 6000) ...... But it is not!
Instead ...... FREQOUT 4, 2000, 3000 ...... is more equal to ..... Piezo.beep(4, 3000, 12000) .....
regarding the duration of the beep. A small subtlety, but nevertheless.
Thanks
Jim
▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
Andy Lindsay
Education Department
Parallax, Inc.
I did a little test here and it seems that the speaker is somehow messing up the count. I called piezo.beep(6, 100, 100) with and without the speaker connected. I connected an LED to pin 2 and changed piezospeaker.spin to look like this:
When I call piezo.beep(6, 100, 100) without the speaker connected, the LED stays lit for a second. When I connect the speaker, the LED is lit for a noticeably shorter time. Here's an oscilloscope screenshot with the speaker connected:
and here's one without:
I zoomed in on one cycle to see if the speaker was causing glitches, but it's still a perfect square wave:
I'll try some more tests.
▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
OS-X: because making Unix user-friendly was easier than debugging Windows
links:
My band's website
Our album on the iTunes Music Store
Post Edited (SSteve) : 6/29/2007 10:01:45 PM GMT
Since the PHSB counter is accumulating by 3X with the (capacitive) piezospeaker, we suspect that there is an inductive/capacative (LC)·reaction between the long wires and the piezospeaker’s capacitance that cause brief current spikes at the I/O pin pad. These in turn get counted by PHSB in the Square Wave object.
The upper figure is what happens without the cap, and notice how the inductive spikes cross the logic threshold three times. In the lower figure, with the cap across the I/O pin and Ground, notice that just one negative transition gets counted, as it should to make a certain number of cycles add up to 1 second.
▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
Andy Lindsay
Education Department
Parallax, Inc.
Post Edited (Andy Lindsay (Parallax)) : 6/30/2007 2:28:39 AM GMT
Very impressive analysis with excellent supporting documentation. You are right it is a tank circuit with no definitive ground and a nice square wave input with just the right harmonics to supply the appropriate natural frequency of vibration to produce a ringing which causes the overshoots which in turn are eliminated by the capacitor by providing either an RF short to ground or you have detuned the tank circuit.
In your “Robotics with the Boe-Bot”, you obviously do not specify a capacitor across the speaker; therefore, I am reluctant to correct this problem with a hardware fix which would have to be added as a comment in the spin program which could be missed. It might be better just to use 12000 and live with the overshoots.
Jim
Nice thread. I didn't want to start a new one because the issues are the same.
I was wondering if there is anything new on the gyro front?
I am trying to study inertial guidance... the idea is to put a simple system together and then test it by putting it in my car and seeing just how good it is at following my route on a winding road with steep hills. When I get it to the point that I can't find a way to make it better then I'm going to try configure it as autopilot for a multi-copter lifting platform.
I am also interested in using the same basic setup to stabilize and localize a stereo-camera for imaged based topographic mapping.
Any code or ideas would be more than welcome.
Cheers,
Rich
I am attempting to move something precisely with a pittman motor and encoder attached to said motor.· While I am okay with the Stamp, the Propeller is challenging me a bit more than I anticipated.· Is there a resource I can use that will help me?
Reading through posts to sift the bits that help me is frustrating.
Again...move precisely.· I was doing it with a Stamp, Motor Mind, LCD and a decent power supply.· I'd like to duplicate and improve on my original contraption with the Propeller....
Gracias!
Code, Pictures and a video can be found here:
http://jamesronald.net/projects.html
Best Regards
James Ronald
So how should I get start and the roadmap to learn about Propeller and Boe-Bot?
Thanks.
Frederick