Hello
the rc-servo has an internal position control loop, and so, it is not a 
'suitable' device for linuxcnc.
this is because linuxcnc is a control, you would end uo with 'two people 
driving a car'.

having 2 control loops ( the rcservo loop inside the linuxcnc loop ) is 
possible but can be done.  

linuxcnc controls motion by (usually) getting in the middle of the control 
loop
to get linuxcnc in the middle requires some surgery .
1) you use the servo open loop ( where linuxcnc cannot control the 
position, it can only ask the device to goto the position and hope for the 
best )
or
2) you can break open the loop and include linuxcnc
or
3) you leave the rcservo loop closed, add a 2nd position feedback that goes 
to linuxcnc, and have a cascaded loop control

thes 3 have been attempted as follows 
1) this is what you found by Kirk Walace, i've tried this and its fun, but 
is not a cnc motion, it is more like a PLC motion or HAL motion.

2) I have not broken the loop but have a few rc-servos and played with such 
an idea.
MAYBE you can modify the rc-servo to make the internal potentiometer 
available to linuxcnc and NOT available to the internal servo loop.
How to do this depends on the circuit used inside the rc-servo.

You can find how to modify an rc-servo for continous rotation on the web
the trick is to remove the pot feedback and any mechanical stops
BUT if the pot is merely removed from the internal positional loop and 
routed to the linuxcnc (external) loop
you should be able to devise a linuxcnc controlled closed loop rc-servo.

If the pot's output, (analog DC voltage) could be converted to a number 
( say like the pots on an old gameport joystick which read 0-5V as a number 
0-254 or 0-1023 )
then, linuxcnc could use this number as the current position of the rc-servo

( I see you will use BBB. so google up analog inputs for BBB. you'll find 
several howtos )
( also , you should take advantage of the Machinekit folks working with 
thier fork of linixcnc on BBB )

Next linuxcnc could use this current position to calculate where the 
rc-servo should be next.
the 'next position' will also be a number and needs to be converted to the 
PWM command for the rc-servo.

3) adding a rotary encoder to the output shaft ( or geared to it)
would allow linuxcnc t0 have an independant position channel on the 
rc-servo.
Linuxcnc could then issue a position command to the device and observe the 
actual position
and correct for any difference ( thus becoming a true closed loop servo).
The internal position loop would be ignored, yet still active.

Notes:

Please realize the rc-servo is not a precision cnc servo, it is a 
interesting toy with a crude position pot .
(compared to real machine tools used to produce real products you buy at 
real stores)
 
The appeal of the rc-servo is its size and cost. 
You wont get metal cutting power or tool making precision.
So, expect  toy quality and have fun experimenting.

Of course, more expensive hardware can get better results.

HTH tomp tjtr33


On Wednesday, July 26, 2017 at 3:55:30 PM UTC+7, ZWN wrote:
>
> Hi guys,
>
> I am building a 5-axis cnc machine (XYZAB). Four of the axes are going to 
> be driven by stepper motors.
>
> The plan is to use a *RC-Servo* (Hitec HS-65HB - 
> https://servodatabase.com/servo/hitec/hs-65hb) for one of the rotary axis 
> (A). The axis is just turning +-90°. 
>
> My question is: Is it possible to integrate the rc-servo to the 
> axis-system, because so far I just found the option to integrate stepper 
> motors. 
>
> Just to clarify, I am not talking about the normal type servos… the one I 
> want to use works with pwm… my model has a pulse cycle of 20ms. During this 
> 20ms it expects a pulse with a length between 900µs and 2100µs, 900µs for 
> -90° and 2100µs +90°. So the pulselength defines the position of the axis. 
>
>  
>
> I know that there is a RC-Servo-Test (
> http://wiki.linuxcnc.org/cgi-bin/wiki.pl?RC_Servo_Test), but I am 
> honestly speaking not yet deep enough into hal to know if this code will do 
> me any good. 
> Also I have seen this conversation about rc-servos (
> https://groups.google.com/forum/#!searchin/machinekit/rc$20servo|sort:relevance/machinekit/F1LWtX0vnew/dmgj1jgLBQAJ).
>  
> However, this ends without any result L
>
>   
>
> BTW.: The platform will be a beaglebone black. So far I am planning to 
> without any commercial cape, but soldering my own.
>
> Thanks for your help
>
> Sven
>

-- 
website: http://www.machinekit.io blog: http://blog.machinekit.io github: 
https://github.com/machinekit
--- 
You received this message because you are subscribed to the Google Groups 
"Machinekit" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to machinekit+unsubscr...@googlegroups.com.
Visit this group at https://groups.google.com/group/machinekit.
For more options, visit https://groups.google.com/d/optout.

Reply via email to