tf_archiv Posted December 30, 2011 at 04:11 PM Posted December 30, 2011 at 04:11 PM How could i do feedback motor control ? Usually a encoder wheels are used or a magnetic one or even for single rotation, a variable resistor (intensity feedback is too slow). For fast reaction, the frequency of the feedback must be around 1khz, is it possible using our stackable design ? Quote
tf_archiv Posted December 30, 2011 at 04:11 PM Author Posted December 30, 2011 at 04:11 PM First of all: The Number of messages you can send to Bricks solely depends on the implementation of the USB stack from the operating system you use. The Bricks themself could handle 100khz and more. I just made this small test on my PC (linux 3.0.0-13): http://pastebin.com/NrKmWhn6 The output was 9.4246690273. Which means the roundtrip time (a message is send from your program to the Brick Daemon, over USB to the Brick, the Brick answers to the Brick Daemon and it sends the answer back to your program) takes about 1ms. This means your feedback loop over USB is perhaps possible if you only use one Brick. If you have a Stack of Bricks with many connected Bricklets, they all have to share the same USB connection. Over a wireless connection such a feedback loop is definitely not possible. The latency is just too high. But, as Bastian already said, we intend to release an Encoder Bricklet that would solve your problem. Quote
tf_archiv Posted December 30, 2011 at 04:11 PM Author Posted December 30, 2011 at 04:11 PM In robotic, you could have many IOs. If you use getter for each IO, you have a round trip for each. In general, you have a main loop, where you want all data at the begining and set the output at the end. So you can have a protocole where all data are send in rythme, you avoid the round trip, this halve the latency and saves a lot of bandwith. You can even masqued the IO: you receive the n+1 data group, when the group n is computed, and the result n-1 send back to the slaves. PC are not very good for low latency. It's easier to have a master mcu, and use the PC has slave for computer hungry task. To control a simple tank design robot, you will need 2 encoders-bricklet, 2 DC bricks, why not having a more complexe bricks that handle 2 DC motors (or even bruchless one) with feedback ? Maybe you could also provide the feedback loop for 2 axis (which is not easy at all). Quote
tf_archiv Posted December 30, 2011 at 04:11 PM Author Posted December 30, 2011 at 04:11 PM We have a encoder-bricklet in preparation. It is planned to extend the API of all driver Bricks such that they can control the rounds per minutes of the connected motor directly. The speed you can interchange messages depends on the way you have connected the bricks and bricklets. If you build a large stack, the number of messages per second for each brick in the stack gets less, compared to a system in which you have connected each brick seperatly to your PC over USB. Cheers, Bastian Quote
tf_archiv Posted December 30, 2011 at 04:11 PM Author Posted December 30, 2011 at 04:11 PM could you not do brushless with the 7 servo driver brick. 1 DC esc 3phase , per brushless . some esc's have a feed back wire, and take servo pwm . you can read the feed back pulses on a bricklet? or possibly use a he sensor near the drum(s) if you use real cheap ones . only asking. Sry, i just love micro and mini brushless. once you tach em , kv rating lets you ajust rpm via voltage from there? i fly rc with thrust diferential for yaw , just 2x 5g brushless , and 2x 6a 2s rated esc , powerd by 2s lipo , you just need to pull v+ pin off the esc , as most have bec's in them. the V level on the main dc input relates directly to the kv rating , once you tach it to calibrate . maybe not accurate enough for you to just aproximate by V+ supply at esc. Quote
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.