Jump to content

dc motor feedback


Recommended Posts

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.

Link to comment
Share on other sites

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).

Link to comment
Share on other sites

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.



Link to comment
Share on other sites

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.

Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

  • Create New...