View unanswered posts | View active topics It is currently Sat Dec 20, 2014 4:28 pm






Reply to topic  [ 11 posts ] 
development of an 8x motor multiplexer (multiplexor) 
Author Message
Guru
User avatar

Joined: Sat Mar 01, 2008 12:52 pm
Posts: 1030
Post development of an 8x motor multiplexer (multiplexor)
hi to all hardware builders:
for the development of an home-brewed 8x motor multiplexer (multiplexor?) for the nxt encoder motors:
what sort of hardware base should one choose?
H-Bridges, Schmitt-Triggers, ICs ...?

_________________
regards,
HaWe aka Ford
#define S sqrt(t+2*i*i)<2
#define F(a,b) for(a=0;a<b;++a)
float x,y,r,i,s,j,t,n;task main(){F(y,64){F(x,99){r=i=t=0;s=x/33-2;j=y/32-1;F(n,50&S){t=r*r-i*i;i=2*r*i+j;r=t+s;}if(S){PutPixel(x,y);}}}while(1)}


Sun Mar 08, 2009 12:53 pm
Profile
Moderator
Moderator
User avatar

Joined: Wed Mar 05, 2008 8:14 am
Posts: 3297
Location: Rotterdam, The Netherlands
Post Re: development of an 8x motor multiplexer (multiplexor)
You will need a dual H bridge circuit for each motor and a uController to control the motors and deal with the incoming tacho signals. I don't think it'll be trivial, tbh. I've got an ATmega168 chatting with my NXT as a slave, that would probably be the easiest part :) I don't think the ATmega168 would be suitable for this, it has too few pins. Bigger cousins are available, of course.

Your uC will need to generate 8 PWM signals, not sure what frequency, should be easy to look up what the NXT FW uses. Most uControllers have hardware that can do 2, 3 or 4, few can do as many as 8. You'll have to do it through software, which is a bit more work.

You'll need a fairly high speed processor, most ATmega's have no problems running at 16MHz. You can't afford to miss an incoming signal from your tachos, so fast signal handlers needs to be made.

You could probably use PICs, too. In fact, I'd be surprised if you couldn't. However, I have no experience with those.

Regards,
Xander

_________________
| Professional Conduit of Reasonableness
| (Title bestowed upon on the 8th day of November, 2013)
| My Blog: I'd Rather Be Building Robots
| ROBOTC 3rd Party Driver Suite: [Project Page]


Sun Mar 08, 2009 1:13 pm
Profile WWW
Guru
User avatar

Joined: Sat Mar 01, 2008 12:52 pm
Posts: 1030
Post Re: development of an 8x motor multiplexer (multiplexor)
ok, this seems to be too big for tinkers and handymen. :oops:
maybe we let it do any a manufacturer like Hitechnic some day... :cry:

_________________
regards,
HaWe aka Ford
#define S sqrt(t+2*i*i)<2
#define F(a,b) for(a=0;a<b;++a)
float x,y,r,i,s,j,t,n;task main(){F(y,64){F(x,99){r=i=t=0;s=x/33-2;j=y/32-1;F(n,50&S){t=r*r-i*i;i=2*r*i+j;r=t+s;}if(S){PutPixel(x,y);}}}while(1)}


Sun Mar 08, 2009 1:35 pm
Profile
Moderator
Moderator
User avatar

Joined: Wed Mar 05, 2008 8:14 am
Posts: 3297
Location: Rotterdam, The Netherlands
Post Re: development of an 8x motor multiplexer (multiplexor)
No, no, not too big, just a lot of work. I didn't say it was impossible!

_________________
| Professional Conduit of Reasonableness
| (Title bestowed upon on the 8th day of November, 2013)
| My Blog: I'd Rather Be Building Robots
| ROBOTC 3rd Party Driver Suite: [Project Page]


Sun Mar 08, 2009 1:36 pm
Profile WWW
Guru
User avatar

Joined: Sat Mar 01, 2008 12:52 pm
Posts: 1030
Post Re: development of an 8x motor multiplexer (multiplexor)
ok, what ATMEL would you suggest? Maybe sort of this:

http://www1.conrad.de/


C-CONTROL PRO EINSTEIGERSET MEGA 128
Artikel-Nr.: 198484 - LN

MYAVR BOARD MK3/256MB AVR EVALUATION BOARD
Artikel-Nr.: 191255 - LN

who wants to try some circuits on some breadboards?
maybe we find some way for a soldered / printed board later, maybe already pre-manufactured just to put in the electronics...?

_________________
regards,
HaWe aka Ford
#define S sqrt(t+2*i*i)<2
#define F(a,b) for(a=0;a<b;++a)
float x,y,r,i,s,j,t,n;task main(){F(y,64){F(x,99){r=i=t=0;s=x/33-2;j=y/32-1;F(n,50&S){t=r*r-i*i;i=2*r*i+j;r=t+s;}if(S){PutPixel(x,y);}}}while(1)}


Last edited by Ford Prefect on Sun Mar 08, 2009 2:16 pm, edited 1 time in total.



Sun Mar 08, 2009 1:58 pm
Profile
Moderator
Moderator
User avatar

Joined: Wed Mar 05, 2008 8:14 am
Posts: 3297
Location: Rotterdam, The Netherlands
Post Re: development of an 8x motor multiplexer (multiplexor)
Helmut,

The link you pasted does not work. The Conrad website is one of the worst in the world. None of the links you paste from it will ever work. Just give me the article number so I can look it up myself.

I am not sure what ATMEL would be good. It would take some research :) However, I think making a 4 motor prototype would be better and much simpler to start off with. You could always make the 4 motor one loop-through-able, like I did with the MightyBoard and allow an address to be configurable.

Regards,
Xander

_________________
| Professional Conduit of Reasonableness
| (Title bestowed upon on the 8th day of November, 2013)
| My Blog: I'd Rather Be Building Robots
| ROBOTC 3rd Party Driver Suite: [Project Page]


Sun Mar 08, 2009 2:05 pm
Profile WWW
Guru
User avatar

Joined: Sat Mar 01, 2008 12:52 pm
Posts: 1030
Post Re: development of an 8x motor multiplexer (multiplexor)
strange...
I changed it, see above...!

_________________
regards,
HaWe aka Ford
#define S sqrt(t+2*i*i)<2
#define F(a,b) for(a=0;a<b;++a)
float x,y,r,i,s,j,t,n;task main(){F(y,64){F(x,99){r=i=t=0;s=x/33-2;j=y/32-1;F(n,50&S){t=r*r-i*i;i=2*r*i+j;r=t+s;}if(S){PutPixel(x,y);}}}while(1)}


Sun Mar 08, 2009 2:23 pm
Profile
Moderator
Moderator
User avatar

Joined: Wed Mar 05, 2008 8:14 am
Posts: 3297
Location: Rotterdam, The Netherlands
Post Re: development of an 8x motor multiplexer (multiplexor)
The MyAVR boards are nice, but a little pricey. I own a small one (for the ATmega8/88/168), I got it for starting off with. I am not too keen on the C-CONTROL PRO EINSTEIGERSET MEGA 128, the boards have way too much crud on them and pricey as well. I am not sure you can program this one with GCC, the defacto standard for programming AVRs in C (unless you have ICC). It seems to ship with a compiler called CompactC which I had never heard of before.

A guy in my robotics club showed me this little module: [LINK]. It's a very powerful module and is also available with additional RAM. That shop has a few different ones available, depending on what your needs are. The great thing about these modules is that you can use them when you're prototyping on your breadboard and you can fit them on your final board when you're done designing and testing. They're also easy to replace if you blow one up :)

Programming this will not be for the feint of heart.

Regards,
Xander

_________________
| Professional Conduit of Reasonableness
| (Title bestowed upon on the 8th day of November, 2013)
| My Blog: I'd Rather Be Building Robots
| ROBOTC 3rd Party Driver Suite: [Project Page]


Sun Mar 08, 2009 2:44 pm
Profile WWW
Guru
User avatar

Joined: Sat Mar 01, 2008 12:52 pm
Posts: 1030
Post Re: development of an 8x motor multiplexer (multiplexor)
well, about the needs I don't know anything beyond that it should control 8 encoder motors :?
I'm neither a solderer nor a hardware programmer, as you may know ;)
I'm just gathering ideas, maybe someone reads it and takes the challenge 8)

_________________
regards,
HaWe aka Ford
#define S sqrt(t+2*i*i)<2
#define F(a,b) for(a=0;a<b;++a)
float x,y,r,i,s,j,t,n;task main(){F(y,64){F(x,99){r=i=t=0;s=x/33-2;j=y/32-1;F(n,50&S){t=r*r-i*i;i=2*r*i+j;r=t+s;}if(S){PutPixel(x,y);}}}while(1)}


Sun Mar 08, 2009 3:07 pm
Profile
Guru
User avatar

Joined: Sat Mar 01, 2008 12:52 pm
Posts: 1030
Post Re: development of an 8x motor multiplexer (multiplexor)
PS:
I'm curious why a nxt motor mux is so complicated to build:
e.g., an 8x servo mux seems to have a far easier disign:
http://www.mindsensors.com/index.php?mo ... PAGE_id=93

_________________
regards,
HaWe aka Ford
#define S sqrt(t+2*i*i)<2
#define F(a,b) for(a=0;a<b;++a)
float x,y,r,i,s,j,t,n;task main(){F(y,64){F(x,99){r=i=t=0;s=x/33-2;j=y/32-1;F(n,50&S){t=r*r-i*i;i=2*r*i+j;r=t+s;}if(S){PutPixel(x,y);}}}while(1)}


Mon Mar 09, 2009 2:16 pm
Profile
Moderator
Moderator
User avatar

Joined: Wed Mar 05, 2008 8:14 am
Posts: 3297
Location: Rotterdam, The Netherlands
Post Re: development of an 8x motor multiplexer (multiplexor)
You only need to pulse a servo between every 20ms for about 0.5-2.0 ms or so. There is no position feedback, your pulse length dictates position.

With a motor mux you need to deal with 16 pins to deal with the tachos alone (2 per motor). Then you need to generate 8x1000-2000Hz PWM signals, maybe even higher, depends on the motor.

Servos are easy peasy.

Regards,
Xander

_________________
| Professional Conduit of Reasonableness
| (Title bestowed upon on the 8th day of November, 2013)
| My Blog: I'd Rather Be Building Robots
| ROBOTC 3rd Party Driver Suite: [Project Page]


Mon Mar 09, 2009 2:34 pm
Profile WWW
Display posts from previous:  Sort by  
Reply to topic   [ 11 posts ] 

Who is online

Users browsing this forum: No registered users and 1 guest


You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot post attachments in this forum

Search for:
Jump to:  



Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group.
Designed by ST Software for PTF.