Propeller Servo Controller USB is now available.
Chris Savage
Parallax EngineeringPosts: 14,406
Hey everyone,
The new Propeller Servo Controller USB is now available at the following URL:·
http://www.parallax.com/tabid/768/ProductID/595/Default.aspx
When we designed this Servo Controller we had a need to replace the original PSoC-based units for which the chip we used was discontinued.· We wanted to make it fully compatible with the original servo controllers, but we were also trying to be a little forward thinking on this one.· The Propeller Servo Controller USB is open-source and you can download the source files from the product page linked above.
As a fellow hacker I wanted to say that I am interested in seeing who can make the best use of this hardware to enhance the capabilities.· In September 2008 I published a 4-part collaberative·article in Servo Magazine.· In that article we built a piece of hardware based on the Propeller that was meant to fill many roles...servo controller, motor controller, light dimmer, stepper controller.· We explored each concept and built the hardware and when it came time to build the Parallax Servo Controller USB, many of these ideas were considered when the hardware was designed.
To that end I would have liked to have written some nice firmware (and may still do this when time permits) that could accept additional commands to not only move the servos, but provide PWM functions as well.· With this in mind we have already created and released an object as the core for such functionality.· And we have the hardware...so I ask...who among you is brave enough to create an open-source firmware using our PWM_32 object (linked below) or your own engine that can do the following:
Who will answer the challenge?· · Fame and fortune could be yours.· And who knows what else...Ken?
PWM_32_v2
▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
Chris Savage
Parallax Engineering
50 72 6F 6A 65 63 74 20 53 69 74 65
66 61 63 65 62 6F 6F 6B
·
The new Propeller Servo Controller USB is now available at the following URL:·
http://www.parallax.com/tabid/768/ProductID/595/Default.aspx
When we designed this Servo Controller we had a need to replace the original PSoC-based units for which the chip we used was discontinued.· We wanted to make it fully compatible with the original servo controllers, but we were also trying to be a little forward thinking on this one.· The Propeller Servo Controller USB is open-source and you can download the source files from the product page linked above.
As a fellow hacker I wanted to say that I am interested in seeing who can make the best use of this hardware to enhance the capabilities.· In September 2008 I published a 4-part collaberative·article in Servo Magazine.· In that article we built a piece of hardware based on the Propeller that was meant to fill many roles...servo controller, motor controller, light dimmer, stepper controller.· We explored each concept and built the hardware and when it came time to build the Parallax Servo Controller USB, many of these ideas were considered when the hardware was designed.
To that end I would have liked to have written some nice firmware (and may still do this when time permits) that could accept additional commands to not only move the servos, but provide PWM functions as well.· With this in mind we have already created and released an object as the core for such functionality.· And we have the hardware...so I ask...who among you is brave enough to create an open-source firmware using our PWM_32 object (linked below) or your own engine that can do the following:
- Accept commands to move servos using intuitive commands
- Implement true ramping and speed control for servo positioning
- Provide fixed frequency variable duty cycle output which could be used to drive LEDs, lamps (using a driver/MOSFET) or DC motors using an H-Bridge
- Allow controlled communication with daisy-chained modules (using on-board CMOS switch)
- Make use of the extended 32K EEPROM for sequence storage or some other useful task
- Allow some channels to be inputs that trigger events on other channels
Who will answer the challenge?· · Fame and fortune could be yours.· And who knows what else...Ken?
PWM_32_v2
▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
Chris Savage
Parallax Engineering
50 72 6F 6A 65 63 74 20 53 69 74 65
66 61 63 65 62 6F 6F 6B
·
Comments
Your last bullet point is interesting. The first thing I did when I saw the product announcement was to look at the schematic, and what struck me was that the servo pins were all fed with bidirectional level shifters. That struck me as odd, since 74HCT buffers would have been much less expensive and would work just as well for servo outputs. But the bidirectional chips do open some interesting possibilities, making this board more than just a servo controller!
-Phil
Looking at the schematic, P16-P24 seem not to be connected... is that correct? Or are they brought out to pads on the back of the board?
▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
Please use mikronauts _at_ gmail _dot_ com to contact me off-forum, my PM is almost totally full
Morpheus & Mem+dual Prop SBC w/ 512KB kit $119.95, 2MB memory IO board kit $89.95, both kits $189.95
www.mikronauts.com - my site 6.250MHz custom Crystals for running Propellers at 100MHz
Las - Large model assembler for the Propeller Largos - a feature full nano operating system for the Propeller
Nick
▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
Never use force, just go for a bigger hammer!
The DIY Digital-Readout for mills, lathes etc.:
YADRO
Cleaned my glasses, THX!
Nick
▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
Never use force, just go for a bigger hammer!
The DIY Digital-Readout for mills, lathes etc.:
YADRO
Lawson
▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
Lunch cures all problems! have you had lunch?
Output 4 pwm for the h-bridge, servo for the pan, use 2 of the pins for 5V I2C for the sensor. Use 4 of the pins for input for wireless. Just add a 5V regulator to the bot pcb.
Post Edited (Timmoore) : 8/26/2009 6:35:37 AM GMT
This is OT, but what's up with the facebook reference.?
Cool, Looks good.
Roger
Post Edited (Roger Lee) : 8/26/2009 3:42:35 AM GMT
@Timmoore – I will look into this tomorrow. An error is possible and we would, of course want to get it corrected.
@Bill – The extra I/O pins are not connected. In order to keep the PSCU the same size as the previous servo controllers space became scare on the board and there wasn’t much room for the unused lines to go anywhere.
@Roger – Most of my finished projects are going on my project website, however there are certain projects which end up being ongoing discussions that may never materialize or never ending design concepts shared with others. These have often resulted in OT posts on the forum so someone suggested I use Facebook as a place to host such discussions. Like the project site, I don’t have it completely rounded out yet, so the sig line was a bit premature. I will fix that now.
▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
Chris Savage
Parallax Engineering
50 72 6F 6A 65 63 74 20 53 69 74 65
·
As for your points:
Accept commands to move servos using intuitive commands ---
I'm not really sure what you mean... like accept commands for the servos from any terminal program by having the user just type a string in? I can make a piece of code take command in like "Set sevro 5 to 100" without any problems using the drivers I have created. The user would still need to follow the command syntax.
Implement true ramping and speed control for servo positioning --
Doesn't your object have this? Or would you like the ability to intuitively control the ramping? I wrote a dual servo controller object a while back which gives the user the ability to do all this type of stuff. I could then extend that object so that it works for more than two servos.
Provide fixed frequency variable duty cycle output which could be used to drive LEDs, lamps (using a driver/MOSFET) or DC motors using an H-Bridge --
I think Phil posted the pwm 8 object a while back that did this. I could then run two cogs with that to do what you want.
Allow controlled communication with daisy-chained modules (using on-board CMOS switch) --
That would require me to buy two of these boards.
Make use of the extended 32K EEPROM for sequence storage or some other useful task --
??? Yeah... That's pretty hard.
Allow some channels to be inputs that trigger events on other channels --
Easy, triggers could be set up no problem.
.................................................................................................................................
Unfortunately school just started for me so I have a whole bunch of class work now to do. Higher level math and electro physics will be eatting up my time. I may be able to hack some stuff togheter but my time will be limited to code new servo and pwm drivers.
▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
Nyamekye,
▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
www.fd.com.my
www.mercedes.com.my
Yeah, I could do this...
▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
Nyamekye,
@William Chan – Yes, this servo controller is considered a direct replacement.
@Timmoore – That object was written to support the PSCU and the Stingray robot.
▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
Chris Savage
Parallax Engineering
50 72 6F 6A 65 63 74 20 53 69 74 65
·
For bots with an external H-bridge or need servo signals for the motor controller the servo controller can replace the main controller, since you made the signals bi-directional you can connect sensors to the servo controller.
Also, the error in the PSCU schematic has been corrected and an updated version is on the website. Thanks for pointing that out for us. Take care.
▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
Chris Savage
Parallax Engineering
50 72 6F 6A 65 63 74 20 53 69 74 65
·
I'm thinking of giving the prop chip a command to go into terminal mode where the user can do a whole bunch of additional stuff.
I'll get all these working and more for right now however.
---
Accept commands to move servos using intuitive commands
Implement true ramping and speed control for servo positioning
Provide fixed frequency variable duty cycle output which could be used to drive LEDs, lamps (using a driver/MOSFET) or DC motors using an H-Bridge
Allow controlled communication with daisy-chained modules (using on-board CMOS switch)
Make use of the extended 32K EEPROM for sequence storage or some other useful task
▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
Nyamekye,
Jim
Post Edited (hover1) : 8/27/2009 11:07:39 PM GMT
What do you mean by true ramping? What exactly is wrong with the ramping currently?
Thank you for you help.
...
I have the board right now and I have been playing arround with it. I could add support for more software ports and this would also fix the issues with any device addressing command problems. However, that would break compatibility.
Hopefully I can get to adding the new requested features soon.
▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
Nyamekye,
I started dropping in on the Propeller board once PropBASIC became a somewhat popular topic. This new firmware concept is truly exciting! But, I am wondering about the rewards, especially the last one, which I quote . . .
Gee. I know he is your boss, but who would want him? I have seen a PICTURE of him! Therefore, as long as he is a potential prize, I will not participate in this contest. (I bet he eats a lot, too.)
--Bill
▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
You are what you write.
The new firmware is coming along great. The resolution for pwm is now at 6us per channel. More todo.
▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
Nyamekye,
SN74LVCC3245A with its manual direction control worked very well.
http://focus.ti.com/lit/ds/symlink/sn74lvcc3245a.pdf
We implemented an 8 bit parallel bus with the propeller and just switch directions with
the read line. The bus drives a large 5V LCD display.
Russ
Which is, what is wrong witht he current ramping capabilites. Is it because you cannot just set a time diff for the value to increase over and it will do that? Because you have to specify an arbitary speed?
Thanks,
(So far, all 16 servo controls now implemented with 8us resolution on all channels. True ramping has also been implemented. I think I'll manage to use every core on the new firmware.)
▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
Nyamekye,
I am new to Parallax but after reading the manual on Propeller, I was hooked! Now, I'm starting projects using Propeller & the SPIN language. I've purchased quite a number of items including many proto boards & 3 PSCU. I notice in the product section for PSCU (#28830), you have a Java Stamp example code. In it, it imports stamp.core.*, stamp.math.*, is there anywhere for me to code in Java & access the firmware (SPIN) directly?
Thanks for your help in advance.