Where's erco been lately? Head down and buried in work. This is my crazy time of year, New York Toy Fair (NYTF) is coming up mid-February, where I go to seek my fortune. I'm churning out lots of confidential toy prototypes to shop around to various manufacturers. The only freelance job I've taken recently is this prop for someone's toy gallery at NYTF. Their product is a variety of animal characters packaged in food containers. They described their vision for large prop, sort of a one-armed bandit game to promote their "which color will you get" theme. These 3 white containers will be fully decorated with rotating eyes. Video below is just my lame eye graphics for a progress update to the client. Anyway, each container is powered by... you guessed it, a Parallax 360 servo. They work well, I just need to manage the accelerations, the spinning drums are giant flywheels that could easily strip the servo gears otherwise. I'll try to get some video from NYTF of the finished prop.
Yes, I'm just testing the indexing at this phase. Will add real randomness next, using the old "how long was the button pressed" as a seed value. But the client did like my idea to always force a win on the first operation after powerup. When special guests or the media comes, you just secretly cycle the power and Lady Luck smiles.
I have built a Activity bot and trying to get the "Juke-Bot" project posted by
Andy Linsey - Spin tutorials.
I have the 360 servos installed and I need to use your 360 driver to incorporated
in the code for it to work.
As I have it now the servos act very erratic due the wrong driver.
I was studying your driver with the Demo and I do understand some spin and can write
very basic stuff.
In your servo driver and the demo code the following line of code appear and I do not
understand what it is referring in relation to the code.
The code line is : "dispThree(FBS.GetVelocity(TheServo))". As I undertand reference
to a method has a period(.) after the method.
I would very happy if you can explain the above line so it will help to understand
the code structure.
I would appreciate any assistance to get the "Juke-Bot" working with your 360 deriver.
Update from New York Toy Fair: Here's the final installation of the props I built using the feedback 360 servos to feature the new "Foodie Roo" toy line. Working great on day one of a 4-day show. Hope the servo gears stand up to this heavy commercial use, I programmed very gentle accelerations and decelerations to minimize forces. These were decorated after I delivered them, I'm happy to see they look great and work great.
So I think I have an application for 360 deg servo. I need just a normal R/C servo in every way, but with a swing of 360 deg instead of 180 deg.
Can I use this servo just like a normal servo? Or to get the 360 capability, do I need to run it in continuous-motion mode and have my micro manually monitor the position feedback line?
I was a little surprised this isn't spelled out in the product documentation. (unless I missed something)
So I think I have an application for 360 deg servo. I need just a normal R/C servo in every way, but with a swing of 360 deg instead of 180 deg.
Can I use this servo just like a normal servo? Or to get the 360 capability, do I need to run it in continuous-motion mode and have my micro manually monitor the position feedback line?
I was a little surprised this isn't spelled out in the product documentation. (unless I missed something)
Start with page one of this thread. There is a lot of code that members have written to test this device.
There are drivers available in spin, C, and (I think) blocky that allow you to just specify an angle.
CPLD here.
If anyone knows, to get the 360 capability, do I need to run it in continuous-motion mode and have my micro manually monitor the position feedback line?
There are drivers available in spin, C, and (I think) blocky that allow you to just specify an angle.
CPLD here.
If anyone knows, to get the 360 capability, do I need to run it in continuous-motion mode and have my micro manually monitor the position feedback line?
Short answer is "yes". You drive the servo CW or CCW according to the offset of the control pulse from 1500 microseconds. You determine the current angle by measuring the duty cycle of the feedback pin. There is a description in the material in the downloads section of how the feedback works and a "C" example.
WRT measuring the duty cycle of the feedback pin, you can either measure the pulse width or read the pin voltage with an ADC. I filtered the pin's PWM output with a 1uF cap and got excellent results.
WRT measuring the duty cycle of the feedback pin, you can either measure the pulse width or read the pin voltage with an ADC. I filtered the pin's PWM output with a 1uF cap and got excellent results.
Interesting. What sort of precision were you able to obtain? +_1 degree?
" ...provides the functionality of a light-duty standard servo, continuous rotation servo, high-speed servo, and encoder in one convenient package... "
WRT measuring the duty cycle of the feedback pin, you can either measure the pulse width or read the pin voltage with an ADC. I filtered the pin's PWM output with a 1uF cap and got excellent results.
Interesting. What sort of precision were you able to obtain? +_1 degree?
No, not 1 degree, even most standard servos are +/- several degrees. I only used 8-bit resolution (255 steps) and my results felt typical of standard servos. What impressed me was the ADC reading's consistency and stability at the transition point, which jumped precisely from 5-178 IIRC, with no dead zone. So right there, you only have a resolution of 173 steps (not 360). Higher resolution is likely possible, but this reporter hasn't tried that yet. Also noteworthy is that I run everything (servos and electronics) off a single 5V supply (small switching wall wart). The specs recommend higher voltage but I'm a rebel.
SOMEBODY need to make an affordable servo gearbox to gear down standard-size servos. Servocity sells these aluminum monsters for $100+ (servo not included!). I could see $20 for a plastic version. https://www.servocity.com/tm-2645crh-cr-servo-gearbox
Start by making the gears, do the pinion that presses onto a servo spline first. Are those available anywhere?
Melted delrin releases formaldehyde fumes, a real gas to breathe and/or get in your eyes. JK, nasty stuff. But a fabulous material. Self-lubricating and taps very nicely.
Comments
You're having that much fun AND you get paid for it? You're livin' the dream, man! My hero!
-Phil
You're still MY hero PhiPi!
I have built a Activity bot and trying to get the "Juke-Bot" project posted by
Andy Linsey - Spin tutorials.
I have the 360 servos installed and I need to use your 360 driver to incorporated
in the code for it to work.
As I have it now the servos act very erratic due the wrong driver.
I was studying your driver with the Demo and I do understand some spin and can write
very basic stuff.
In your servo driver and the demo code the following line of code appear and I do not
understand what it is referring in relation to the code.
The code line is : "dispThree(FBS.GetVelocity(TheServo))". As I undertand reference
to a method has a period(.) after the method.
I would very happy if you can explain the above line so it will help to understand
the code structure.
I would appreciate any assistance to get the "Juke-Bot" working with your 360 deriver.
Thank you,
Siri
dispThree is a method within the demo program that just displays up to 3 decimal digits with leading blanks if needful.
FBS.GetVelocity(TheServo) returns the current velocity of TheServo.
I got confused with a call to an Object. This was call for an method.
Thanks Tom and if by any chance have ideas to apply to the "Juke-Bot" I will be glad.
Thanks again
Siri
Can I use this servo just like a normal servo? Or to get the 360 capability, do I need to run it in continuous-motion mode and have my micro manually monitor the position feedback line?
I was a little surprised this isn't spelled out in the product documentation. (unless I missed something)
Start with page one of this thread. There is a lot of code that members have written to test this device.
CPLD here.
If anyone knows, to get the 360 capability, do I need to run it in continuous-motion mode and have my micro manually monitor the position feedback line?
Short answer is "yes". You drive the servo CW or CCW according to the offset of the control pulse from 1500 microseconds. You determine the current angle by measuring the duty cycle of the feedback pin. There is a description in the material in the downloads section of how the feedback works and a "C" example.
Interesting. What sort of precision were you able to obtain? +_1 degree?
They need to rewrite this description.
No, not 1 degree, even most standard servos are +/- several degrees. I only used 8-bit resolution (255 steps) and my results felt typical of standard servos. What impressed me was the ADC reading's consistency and stability at the transition point, which jumped precisely from 5-178 IIRC, with no dead zone. So right there, you only have a resolution of 173 steps (not 360). Higher resolution is likely possible, but this reporter hasn't tried that yet. Also noteworthy is that I run everything (servos and electronics) off a single 5V supply (small switching wall wart). The specs recommend higher voltage but I'm a rebel.
Has there been any work done on making a slower/lower geared version of the Feedback 360 servo?
J
Slower speed, no. If you have some ideas we need to consider share them.
Geared version is a likely improvement to the current model which is being tested and put into production (same RPM).
Ken Gracey
Start by making the gears, do the pinion that presses onto a servo spline first. Are those available anywhere?
I have had good success using my laser to cut splines that will press fit onto a servo shaft. I have made both wheels and gears this way.
Impressive! What material are you cutting, maybe 1/8" plex?
-Phil