Go to Post My brain is about as full as the ChiefDelphi servers have been lately with all the info from the past few days jammed in there. - Elgin Clock [more]
Home
Go Back   Chief Delphi > Technical > Control System
CD-Media   CD-Spy  
portal register members calendar search Today's Posts Mark Forums Read FAQ rules

 
Reply
 
Thread Tools Rating: Thread Rating: 7 votes, 5.00 average. Display Modes
  #1   Spotlight this post!  
Unread 15-07-2013, 20:53
kevinmh kevinmh is offline
Registered User
no team
 
Join Date: Jul 2013
Location: Colorado State University
Posts: 5
kevinmh is an unknown quantity at this point
Labview-> DAQ-> Many Steppers?

Hello!

I'm a master's student at Colorado State University and I'm beginning a project that will ultimately involve controlling at least 9 stepper motors independently and concurrently. I think we will only be able to afford to go the route where I buy the stepper motor drivers and motors myself (as opposed to the $20,000 PCI controller/drive/motor set up from NI) and control them ultimately from Labview, which we already have a license for. (I have coded here and there in school, but haven't really put significant time into any language-hence the Labview control.) I'm looking into controlling them from a daq card. It seems that the cheapest route would be to buy multiple 4-axis drivers and control them through cards. So, I'll be controlling at least 3 of these drivers with this architecture.

I'm just wondering if anyone here has tried to control this many motors with DAQ cards, from NI (USB 6501, for example). Was it necessary to use multiple cards? Were they run in parallel from multiple USB ports on the PC, or was some daisychaining needed (or possible)? Will labview be able to handle this "parallel serial" control (multiple USBs at once)? On NI forums there seems to be an issue with not being able to achieve the needed timing through software, so they recommend using the timing on the card. Is there a better (but still cheap) control architecture, given my intents and limitations?

Thanks,

Kevin
Reply With Quote
  #2   Spotlight this post!  
Unread 15-07-2013, 22:00
nathan_hui nathan_hui is offline
Registered User
AKA: Nathan Hui
FRC #2473 (CHS Robotics)
Team Role: Alumni
 
Join Date: Feb 2012
Rookie Year: 2009
Location: Cupertino, CA
Posts: 228
nathan_hui will become famous soon enoughnathan_hui will become famous soon enough
Send a message via AIM to nathan_hui
Re: Labview-> DAQ-> Many Steppers?

FRC does not directly control motors using NI's DAQ system as would normally be done in industry. Additionally, FRC does not use steppers - all of the motors we currently use (as far as I am aware) are brushed DC motors. I'm afraid you're asking the wrong people.

Additionally, FRC doesn't use "plain" Labview. There are a bunch of wrappers that we use specifically to allow remote shutdown of the robot, and to allow high school students to build robot code.
__________________
Nathan Hui
B.S. Electrical Engineering, UCSD '16
FRC 2473 (CHS Robotics), Team Captain '12
FTC 4950, 6038

Last edited by nathan_hui : 15-07-2013 at 22:02.
Reply With Quote
  #3   Spotlight this post!  
Unread 16-07-2013, 14:15
protoserge's Avatar
protoserge protoserge is offline
CAD, machining, circuits, fun!
AKA: Some call me... Tim?
FRC #0365 (MOE) & former 836 Mentor)
Team Role: Mentor
 
Join Date: Jan 2012
Rookie Year: 2002
Location: Wilmington, DE
Posts: 744
protoserge has a reputation beyond reputeprotoserge has a reputation beyond reputeprotoserge has a reputation beyond reputeprotoserge has a reputation beyond reputeprotoserge has a reputation beyond reputeprotoserge has a reputation beyond reputeprotoserge has a reputation beyond reputeprotoserge has a reputation beyond reputeprotoserge has a reputation beyond reputeprotoserge has a reputation beyond reputeprotoserge has a reputation beyond repute
Re: Labview-> DAQ-> Many Steppers?

Have you looked at using Arduino? There is native LabVIEW support for this inexpensive platform. There are plenty of stepper drivers available if you search places like SparkFun. These may or may not work for you.

What size stepper are you looking to control? Will you need to execute in real time?
Reply With Quote
  #4   Spotlight this post!  
Unread 16-07-2013, 19:57
kevinmh kevinmh is offline
Registered User
no team
 
Join Date: Jul 2013
Location: Colorado State University
Posts: 5
kevinmh is an unknown quantity at this point
Re: Labview-> DAQ-> Many Steppers?

Quote:
Originally Posted by stinglikeabee View Post
Have you looked at using Arduino? There is native LabVIEW support for this inexpensive platform. There are plenty of stepper drivers available if you search places like SparkFun. These may or may not work for you.

What size stepper are you looking to control? Will you need to execute in real time?
SLAB:

I'm definitely getting nudged the Arduino direction. It's just that we have a dedicated PC for this project, so I thought I'd be able to use just that. I'll check out your link though, thanks.

I would like to run the 4A stepper I already have and then 8 more 1-2A steppers. But I could go smaller on the one and just gear it down.

The motors need to run in a very coordinated fashion but not necessarily in real time I don't think. Basically I'm building something like a filament winder with multiple pay out eyes if you're familiar with that sort of thing. So, I'm essentially spinning a mandrel and winding multiple tows of fiber around it at constantly changing fiber angles.
Reply With Quote
  #5   Spotlight this post!  
Unread 17-07-2013, 03:01
nathan_hui nathan_hui is offline
Registered User
AKA: Nathan Hui
FRC #2473 (CHS Robotics)
Team Role: Alumni
 
Join Date: Feb 2012
Rookie Year: 2009
Location: Cupertino, CA
Posts: 228
nathan_hui will become famous soon enoughnathan_hui will become famous soon enough
Send a message via AIM to nathan_hui
Re: Labview-> DAQ-> Many Steppers?

Ok. What we use at Biosero is a Peter Norberg Controller (BC2D20 to be precise). This thing can control up to 2 motors at a time, and another version will control up to 4. They will work for what you're doing, and they can be controlled from a PC and a micro.

If you're running things in a coordinated fashion (and based on your description), I don't see the necessity for real-time control, but rather good timing and response.

Arduino does have stepper motor boards. Not sure if they'll handle 8 steppers though. Might have to network and do timing? Or build your own?

Writing the Arduino code shouldn't be that difficult (high level procedural, and there's not too much junk code for getting set up). I have no idea what your control system looks like codewise, so can't really tell you which would be better.

As for which forums - your project seems to be a systems engineering project (controls with something that sounds oddly like somewhat complex mechanics?). I'm not surprised you can't find a forum - it's not a simple Q&A kind of question. For the controls questions, possibly go to the EE stack exchange forum (http://electronics.stackexchange.com/), or the Programmers Stack Exchange (http://programmers.stackexchange.com/).
__________________
Nathan Hui
B.S. Electrical Engineering, UCSD '16
FRC 2473 (CHS Robotics), Team Captain '12
FTC 4950, 6038
Reply With Quote
  #6   Spotlight this post!  
Unread 17-07-2013, 08:44
protoserge's Avatar
protoserge protoserge is offline
CAD, machining, circuits, fun!
AKA: Some call me... Tim?
FRC #0365 (MOE) & former 836 Mentor)
Team Role: Mentor
 
Join Date: Jan 2012
Rookie Year: 2002
Location: Wilmington, DE
Posts: 744
protoserge has a reputation beyond reputeprotoserge has a reputation beyond reputeprotoserge has a reputation beyond reputeprotoserge has a reputation beyond reputeprotoserge has a reputation beyond reputeprotoserge has a reputation beyond reputeprotoserge has a reputation beyond reputeprotoserge has a reputation beyond reputeprotoserge has a reputation beyond reputeprotoserge has a reputation beyond reputeprotoserge has a reputation beyond repute
Re: Labview-> DAQ-> Many Steppers?

I think you need to spell out your requirements for us before darting to solutions. Response between command and execution, sensors, motor specs, etc. all need to be identified. Identify the objective and a threshold for each requirement.

Will you be incorporating feedback sensors for positioning?

I think you'll do OK on this forum, but cnczone.com might have a lot more insight.

I can see where you may need real-time if you have some modeling in the loop to perform the next motion of the system. If you are just executing a set path in a loop-type method, then I don't see it being a requirement.

I'd recommend you dive into Arduino. It's easy and most of the coding work is probably done for you already. The ArduBlock software may even be sufficient for you.

Here are some basic Arduino links to give you an idea:
http://bildr.org/2012/11/big-easy-driver-arduino/
http://arduino.cc/en/Tutorial/MotorKnob

I would recommend looking at larger CNC-type stepper drivers - you can find some on eBay. You can use the Arduino board to send the command to the controller. All of these solutions require an external power supply.

If you are set using the NI solution, an external stepper driver shouldn't be too bad to hook up. You will need to generate a signal that can be interpreted by the driver. This goes back to your original methodology, and makes things seemingly simpler for you. If this is the case, you would have to find stepper drivers that can be controlled similar to the Arduino and build the code in LabVIEW.

I hope this helps you out.
Reply With Quote
  #7   Spotlight this post!  
Unread 20-07-2013, 16:56
kevinmh kevinmh is offline
Registered User
no team
 
Join Date: Jul 2013
Location: Colorado State University
Posts: 5
kevinmh is an unknown quantity at this point
Re: Labview-> DAQ-> Many Steppers?

Quote:
Originally Posted by stinglikeabee View Post
I think you need to spell out your requirements for us before darting to solutions. Response between command and execution, sensors, motor specs, etc. all need to be identified. Identify the objective and a threshold for each requirement.

Will you be incorporating feedback sensors for positioning?

I think you'll do OK on this forum, but cnczone.com might have a lot more insight.

I can see where you may need real-time if you have some modeling in the loop to perform the next motion of the system. If you are just executing a set path in a loop-type method, then I don't see it being a requirement.

I'd recommend you dive into Arduino. It's easy and most of the coding work is probably done for you already. The ArduBlock software may even be sufficient for you.

Here are some basic Arduino links to give you an idea:
http://bildr.org/2012/11/big-easy-driver-arduino/
http://arduino.cc/en/Tutorial/MotorKnob

I would recommend looking at larger CNC-type stepper drivers - you can find some on eBay. You can use the Arduino board to send the command to the controller. All of these solutions require an external power supply.

If you are set using the NI solution, an external stepper driver shouldn't be too bad to hook up. You will need to generate a signal that can be interpreted by the driver. This goes back to your original methodology, and makes things seemingly simpler for you. If this is the case, you would have to find stepper drivers that can be controlled similar to the Arduino and build the code in LabVIEW.

I hope this helps you out.
Yes, it's been very helpful. Thanks again.

Let's see. More about what I need:

1) There won't be any feedback as long as I'm not missing very many steps. Open loop.

2) Steppers: besides the amp rating to get a ballpark torque generated, I don't have anything spec'd out. Seems like all of the cheapest motors or motor drivers/controllers have been bi polar.

3) Command/response: This might not be what you have in mind, but I really only need the position of all of the steppers to be coordinated, as I'm essentially 'weaving' on a somewhat cylindrical surface with some fiber (carbon, glass, etc.) So, the speed of the motors isn't as important as long as it isn't so slow that it takes days to make something. Maybe a revolution every second or two would be nice. I know that accelerating the steppers too much can cause missed steps so I don't want that. I was planning on using chopper drives to further minimize step loss, since they aren't hard to get.

Also, I don't need the steppers to necessarily respond in a certain amount of time-I just need to get the path of the payout eye that I want and also relative to the paths of other payout eyes.

Maybe you had more specific things you were wondering about as far as command/response goes?

I definitely don't have my heart set on NI. I just already have Labview and a DAQ card, so that was the first architecture I was looking at. But, besides that route, they are literally 10X too expensive for my budget!
Reply With Quote
  #8   Spotlight this post!  
Unread 28-07-2013, 13:17
protoserge's Avatar
protoserge protoserge is offline
CAD, machining, circuits, fun!
AKA: Some call me... Tim?
FRC #0365 (MOE) & former 836 Mentor)
Team Role: Mentor
 
Join Date: Jan 2012
Rookie Year: 2002
Location: Wilmington, DE
Posts: 744
protoserge has a reputation beyond reputeprotoserge has a reputation beyond reputeprotoserge has a reputation beyond reputeprotoserge has a reputation beyond reputeprotoserge has a reputation beyond reputeprotoserge has a reputation beyond reputeprotoserge has a reputation beyond reputeprotoserge has a reputation beyond reputeprotoserge has a reputation beyond reputeprotoserge has a reputation beyond reputeprotoserge has a reputation beyond repute
Re: Labview-> DAQ-> Many Steppers?

Quote:
Originally Posted by kevinmh View Post
Yes, it's been very helpful. Thanks again.

Let's see. More about what I need:

1) There won't be any feedback as long as I'm not missing very many steps. Open loop.

2) Steppers: besides the amp rating to get a ballpark torque generated, I don't have anything spec'd out. Seems like all of the cheapest motors or motor drivers/controllers have been bi polar.

3) Command/response: This might not be what you have in mind, but I really only need the position of all of the steppers to be coordinated, as I'm essentially 'weaving' on a somewhat cylindrical surface with some fiber (carbon, glass, etc.) So, the speed of the motors isn't as important as long as it isn't so slow that it takes days to make something. Maybe a revolution every second or two would be nice. I know that accelerating the steppers too much can cause missed steps so I don't want that. I was planning on using chopper drives to further minimize step loss, since they aren't hard to get.

Also, I don't need the steppers to necessarily respond in a certain amount of time-I just need to get the path of the payout eye that I want and also relative to the paths of other payout eyes.

Maybe you had more specific things you were wondering about as far as command/response goes?

I definitely don't have my heart set on NI. I just already have Labview and a DAQ card, so that was the first architecture I was looking at. But, besides that route, they are literally 10X too expensive for my budget!

You can use NI LabVIEW To build your control algorithm and interface with the Arduino over Ethernet. The Arduino would receive the packet from the host machine (LabVIEW) and perform the commands as directed (still C++ on the Arduino).
Reply With Quote
  #9   Spotlight this post!  
Unread 28-10-2013, 21:58
jwallace15's Avatar
jwallace15 jwallace15 is offline
What am I going to do with my life?
AKA: Wally
FRC #0068 (Truck Town Thunder)
Team Role: College Student
 
Join Date: Aug 2012
Rookie Year: 2013
Location: Michigan
Posts: 435
jwallace15 has much to be proud ofjwallace15 has much to be proud ofjwallace15 has much to be proud ofjwallace15 has much to be proud ofjwallace15 has much to be proud ofjwallace15 has much to be proud ofjwallace15 has much to be proud ofjwallace15 has much to be proud ofjwallace15 has much to be proud ofjwallace15 has much to be proud of
Re: Labview-> DAQ-> Many Steppers?

Annnd reported again. I think 2 should be enough.
__________________
J Wallace IV
Truck Town Thunder
Just a college student now.
Reply With Quote
  #10   Spotlight this post!  
Unread 20-07-2013, 16:17
kevinmh kevinmh is offline
Registered User
no team
 
Join Date: Jul 2013
Location: Colorado State University
Posts: 5
kevinmh is an unknown quantity at this point
Re: Labview-> DAQ-> Many Steppers?

Quote:
Originally Posted by nathan_hui View Post
Ok. What we use at Biosero is a Peter Norberg Controller (BC2D20 to be precise). This thing can control up to 2 motors at a time, and another version will control up to 4. They will work for what you're doing, and they can be controlled from a PC and a micro.

If you're running things in a coordinated fashion (and based on your description), I don't see the necessity for real-time control, but rather good timing and response.

Arduino does have stepper motor boards. Not sure if they'll handle 8 steppers though. Might have to network and do timing? Or build your own?

Writing the Arduino code shouldn't be that difficult (high level procedural, and there's not too much junk code for getting set up). I have no idea what your control system looks like codewise, so can't really tell you which would be better.

As for which forums - your project seems to be a systems engineering project (controls with something that sounds oddly like somewhat complex mechanics?). I'm not surprised you can't find a forum - it's not a simple Q&A kind of question. For the controls questions, possibly go to the EE stack exchange forum (http://electronics.stackexchange.com/), or the Programmers Stack Exchange (http://programmers.stackexchange.com/).
I'm actually corresponding with Peter Norberg currently!

Thanks for the feedback-it's been very helpful.
Reply With Quote
  #11   Spotlight this post!  
Unread 16-07-2013, 19:49
kevinmh kevinmh is offline
Registered User
no team
 
Join Date: Jul 2013
Location: Colorado State University
Posts: 5
kevinmh is an unknown quantity at this point
Re: Labview-> DAQ-> Many Steppers?

Quote:
Originally Posted by nathan_hui View Post
FRC does not directly control motors using NI's DAQ system as would normally be done in industry. Additionally, FRC does not use steppers - all of the motors we currently use (as far as I am aware) are brushed DC motors. I'm afraid you're asking the wrong people.

Additionally, FRC doesn't use "plain" Labview. There are a bunch of wrappers that we use specifically to allow remote shutdown of the robot, and to allow high school students to build robot code.
Nathan:

Yeah, I wasn't sure if this was necessarily the right place to be. If you know of any more general automation/motion control forums you would recommend, please let me know! I've been browsing online but haven't found too many that would fit with my project...
Reply With Quote
Reply


Thread Tools
Display Modes Rate This Thread
Rate This Thread:

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

vB code is On
Smilies are On
[IMG] code is On
HTML code is Off
Forum Jump


All times are GMT -5. The time now is 03:42.

The Chief Delphi Forums are sponsored by Innovation First International, Inc.


Powered by vBulletin® Version 3.6.4
Copyright ©2000 - 2017, Jelsoft Enterprises Ltd.
Copyright © Chief Delphi