Interfacing TETRIX/NXT HiTechnic Motor controller to myRIO

I am an Adjunct instructor at a Junior College.
We are implementing the Intelitek "Advanced Engineering with myRIO" curriculum.
This is a brand new program and we have received the software, course materials
and the myRIO controller but it will be close to mid term before we get the
rest of the hardware based on the TETRIX Prime robotic platform and interface
board.
I have borrowed an older TETRIX kit from a local High School that was used with
the LEGO NXT and it hast the HiTechnic Motor controller with the NXT connector
interface.
What I am wanting to do to get the student started (we just had the 2nd week
meeting of a 14 week course) is take the motor controller with the NXT cable
and interface it to the I2C interface on the myRIO.
I had found online a German site that has a board that will directly connect
the NXT sensors to a myRIO.
I was wondering if you have any VIs that might help met get this working
quickly, even the code details from the NXT version of Labview for the Tetrix
controllers would probably help.
Thanks in advance
Scott Willis

Hi Swillis,
Unfortunately we do not have an specific library to communicate with the Tetrix controllers. The following link, contains information related to the NI LabVIEW Module for LEGO® MINDSTORMS®, but it is not supported and will not necessarily work fine for the myRIO programming.
Regards
Regards,
S.Jimenez

Similar Messages

  • NXT-G block for HiTechnic Servo Controller

    I'm trying to track down an NXT-G block for the HiTechnic Servo Controller. My son just purchased the controller at LEGO Ed but hasn't found a block for it. After a lot of searching, we did find a block for the HiTechnic DC Motor Controller ( http://joule.ni.com/nidu/cds/view/p/id/1129/lang/en ) and was hopeful that a similar block for the servo controller would be available somewhere. He has spent quite a few years working with RoboLab and NXT-G with LEGO robots and felt that the combination of the NXT, servo controller, and NXT-G 2.0 control and data logging would be perfect for his project.
    Cheers!
    -Glenn

    Ok, I made a Sub VI with it, and put together a simple program. When I try to download it to my NXT, it gives me the error "Cannot open a VI because it is password protected."
    Any idea on how to fix this?
    Attachments:
    Speed_Sub.vi ‏186 KB
    speed_test.vi ‏17 KB

  • CANopen: the PC doesn't communicate with the motor controller

    Hi there,
    I'm new with both Labview and CANopen and I'm trying to write a RXPDO on my Linmot motor controller(VI attached). I'm using a PCI CAN Series 2 card. 
    My VI worked just once ; I was able for example to move the motor with the JOG commands. 
    Now the VI runs without errors but any control word is not really sent to the controller.
    Sometimes (don't know why!!) after the CANopen create interface.vi, the interface object results "Not executed" but even when it is regularly executed, the motor doesn't receive the command.
    Can anyone help me to solve this problem? 
    Regards
    Alessandra
    NOTE: the linmot controllers need the count nibble to be incremented for each new command; I've set the auto-increment using the linmot software. 
    Attachments:
    ControlWord send.vi ‏26 KB

    Hi Loura,
    thank you for your suggestion. Unfortunately I already know those labview VIs, they are well developed but they don't run over the CANopen protocol.
    I think the problems I'm having in using my controllers with Labivew and CANopen could depend on the fact that the LV canopen library are not intended for use with the latest version of Labivew (which is the version I'm actually using).
    (It's the only explanation I have for strange behaviours dealing with open / close / reset can objects)
    Bye
    Alessandra

  • How do I establish serial communicat​ion using LabView to two stepper motors using a motor controller​?

    I currently use an off the shelf motor controller to run my two stepper motors. It already has integrated a firmware software that sends commands to operate each motor. I would like to create an interface where I can send these commands using LabView. If someone can point me in the right direction I would appreciate it.

    Look at the examples for the serial VISA vi.  Something like Basic serial write and read.vi is a good starting point.
    Have you searched for a LabVIEW driver  at the NI LV driver network?   Asked the vendor?
    If you write your own driver with the serial VISA vis remember to open and configure the port only once at the beginning and close it at the end of your program. 
    Message Edited by Henrik Volkers on 07-13-2009 04:21 PM
    Greetings from Germany
    Henrik
    LV since v3.1
    “ground” is a convenient fantasy
    '˙˙˙˙uıɐƃɐ lɐıp puɐ °06 ǝuoɥd ɹnoʎ uɹnʇ ǝsɐǝld 'ʎɹɐuıƃɐɯı sı pǝlɐıp ǝʌɐɥ noʎ ɹǝqɯnu ǝɥʇ'

  • Faulhaber motor controller

    Hi,
    I am attempting to interface a Faulhaber motor controller BLD 5018 to an NI-6020E. The motor controller has an input for +/-5volts. My problem is that I do not know how to control the speed of the motor programmatically. Per the company rep, the only way to read the speed of the motor is by reading the pulses from the Hall effect sensors.
    I know that motor will be operating at different speeds and that I need to know the speed that the motor is operating at, I am just not sure how to go about doing this. I figured that I would probably have to read out an array to the analog output and read in the Hall effect sensor on an analog input.
    Any thoughts?

    Hi Mystery,
    I'm not sure which function you're trying to do - set the speed or read the speed of the motor. For the sake of discussion, though, I'll pretend like you're trying to do both and offer some of my thoughts.
    So, if the Hall effect sensors provide a series of digital output pulses, then you could use the digital input of the DAQ6020E to read in this value and then write some type of algorithm to calculate the speed in software. Or if it's analog pulses of a sort, then you could read in the value using an analog input on the 6020E.
    As far as setting the speed of the motor, section 6.3.3 of the manual describes how to set the speed using an external voltage source.  It appears as if you could output an analog voltage from 0V-5V and connect it to pin 9 on the controller - or "Spd9" as they call it.  If I were you though, I'd read over the manual again just be double-check what I'm saying. I don't have the controller in front me, so it's just my idea.
    Writing code in LabVIEW that will do analog or digital I/O shouldn't be too difficult, and there's some pre-made examples I can point you towards to help get started.  If you open up LabVIEW, click Help » Find Examples...  When that window pops up, double-click the Hardware Input and Output folder » DAQmx.  From here, you can select which example to use based off the function you need.  For example, if you need to do analog voltage output, double-click Analog Generation » Voltage and check out an example such as "Cont Gen Voltage Wfm-Int Clk.vi". 
    I hope this helps!
    PS This was the manual I referenced: http://www.faulhaber.com/uploadpk/EN_BLD5018_im_MI​N.pdf

  • LabVIEW driver for a ControlTechniques motor controller

    Anyone know of LabVIEW driver for a ControlTechniques
    Unidrive motor controller?
    Or any info/pointers to programming them via LabVIEW?
    Any help much appreciated
    Paul
    Dr Paul Rocca - Managing Director
    Brill Engineering Ltd, 3 Longwood Court,
    Love Lane, Cirencester, Gloucestershire
    GL7 1YG. www.brill-eng.co.uk
    Phone: 01285 883888 Fax: 01285 883876
    NI Alliance Member Since 1992
    Please note that calls may be recorded using our leading edge digital
    recording product AudioPC.
    Any opinions expressed in the email are those of the individual and not
    necessarily of the Company. This email and any files transmitted with it are
    confidential a
    nd solely for the use of the intended recipient. It may
    contain material protected by lawyer-client privilege. If you are not the
    intended recipient or the person responsible for delivering to the intended
    recipient, be advised that you have received this email in error and that
    any use is strictly prohibited. If you have received this email in error ple
    ase notify the Security Manager by telephone on +44 (0)1285 883821 or by
    email to [email protected]

    LV can interface to 232, 485, Devicenet... depending on what the controller has.
    You could find a LV/CVI driver for this (232/GPIB/ethernet only) instrument at http://www.ni.com/devzone/idnet/default.htm . If it's not listed there, it leaves you with one of a couple options. First, I would like you to submit a request for this driver at: http://zone.ni.com/idnet97.nsf/instrumentdriverrequest/
    We develop drivers based on demand and popularity so the more requests we have for it, the greater the possibility that we will develop one.
    If you would like to try developing your own instrument driver (or modify the existing one), we have documentation, model instrument drivers, and driver templates to help at :
    http://www.ni.com/devzone/idnet/development.htm
    We also have a syndicate of third party vendors that specialize in National Instruments' products and services. Some of the vendors specialize in driver development. I would suggest contacting one of the Alliance members at:
    http://www.ni.com/alliance
    An instrument driver is a collection of functions that implement the commands necessary to perform the instrument�s operations. In short, someone read the instrument user manual and implemented some of the functionality in a program for the end user. Instrument drivers are not necessary to use your instrument. They are merely time savers to help you develop your project so you do not need to study the manual before writing a program. With all of this work already done for you in the driver, instrument drivers can significantly reduce development time.
    There are example VI's in LV on Instrument Connectivity. If you go to the Help menu >> Examples.. >> I/O, you will see a couple and Examples.. >> Fundamentals for File and String manipulation. I would suggest tweaking them to suit your application. Also the specific command that your instrument responds to can be found from it's manual.
    Some useful resources for your application are
    ni.com > NI Developer Zone > Development Library > Instrument Connectivity
    http://search.ni.com/?col=alldocs&layout=TechResources&ql=a , to search examples and knowledge bases
    Hope this helps.

  • Motor Controller communication via PDO CANopen

    I am using a Mattkeg Servo position Controller (MDR2300) to control a PMSM via Speed and Position control. The motor controller uses the CANopen protocol to receive commands from the NI Realtime Controller. In order to send the speed, position, velocity, etc commands, I am currently using the SDO method of communication. But I want to use the PDO method in order to do the same.
    I am using the 'NI-Industrial Communications for CANopen 1.0.3' library. The examples given by NI regarding PDO, transmit/receive 64bit word. But the way I understand it, the Objects can be mapped to the 4 transmit and 4 receive PDO's so that I can send, for example object values for target_position, profile_velocity, profile_acceleration, and polarity in one PDO msg. I managed to do the PDO mapping using the LabVIEW Batch SDO process. But I don't know how to use it further in my Program. I have attached the current program I have that uses SDO. I wish to accomplish the same using PDO. Has anyone managed to do this?
    Thanks a lot for your help..
    Attachments:
    Position_Control.png ‏115 KB
    Speed_Control.png ‏103 KB

    the more appropriate NI forum http://forums.ni.com/t5/Automotive-and-Embedded-Networks/bd-p/30

  • Linear actuator, motor controller and labview. Establishing connection.

    Overiew:
    I have a 12VDC linear actuator (potentiometer built in) connected to power and Jrk 21v3 USB Motor Controller with Feedback (http://www.pololu.com/catalog/product/1392). The USB motor controller connects to the computer through USB, actuator's feedback wires connect to the motor controller.
    Problem:
    Establishing connection between the motor controller and labview.
    What I have done so far:
    I installed drivers to the motor controller and windows detects it. NI MAX detects my motor controller (pic attached), but for some reason, when i try to access it through daq assistant in labview it doesnt see it. I also tried accessing it through VISA with no results..
    Help will be appreciated.
    Thanks
    Peter
    Solved!
    Go to Solution.
    Attachments:
    problem.jpg ‏124 KB

    You have a few things you need to look into:
    When you installed the software, did it install a USB > Virtual Com Port dll such as FTDIchip or similar? If so, when you hook up your device, it'll reveal itself as a normal (new) Com Port in Device Manager. You then need to try to talk to that com port.
    If you are trying to use the native USB on the board (as MAX has detected for you), then you'll need to use the .NET framework code provided by the manufacturer (probably written in C#), and make your own Constructors in LabVIEW. If you've never done this, it isn't trivial.
    I would call the manufacturer and just tell them what you are trying to do. They've probably dealt with LabVIEW before, and may have an example to get you started.
    edit: For fun, I followed the link you provided (which doesn't really work). I searched their site for "LabVIEW", and indeed got several hits. This one thing I downloaded (can't resist looking at code) was a gigantic turd ball. However, it did appear to use a normal Com port.
    Richard

  • Using a Phidget Motor Controller and attempting to get a feedback loop

    Hello! Recently, I aquired a Phidgets 1065 motor controller and a compatible motor with built-in encoder. Currently, I am trying to write a program that allows me to input a position, and the motor moves at a user-specified speed until the encoder reaches that position. However, the original instructions to the Phidget VI's are so vague, I'm not entirely sure how to tackle this problem. Any help would be appreciated!
    Thanks! 

    It looks like Phidget has a lot of documentation on its website. This webpage might be helpful to get started: http://www.phidgets.com/docs/1065_User_Guide . This user guide shows how to connect the wires. Notice that both the motor control cables and the encoder cables are connected to the motor controller. I believe that the position control loops are performed on this controller/drive itself.
    Phidget also has LabVIEW VIs that you can use to set the motor position. This new position is sent to the motor controler through the USB connection and the motor controller will control the motion to that new target position. See this document to get started with the LabVIEW API http://www.phidgets.com/docs/Language_-_LabVIEW#Quick_Downloads . See this document for more information about each of the Phidget VIs: http://www.phidgets.com/documentation/web/LabVIEWDoc/index.html I believe that you would need to look at the section that talks about the servo control module.
    Take care,
    Jeremy P.
    Applications Engineer
    National Instruments

  • Sync DAQ measurements with motor controller

    Hi all,
    I've been grinding my head for days on this problem.
    I've got an NI DAQ reading an analog voltage and a Maxon EPOS2 motor controller.
    I want to read analog voltage from the DAQ at a frequency of 1800Hz and around 25 samples. For every set of samples, I want the EPOS2 motor controller to read its encoder position and have write to measurement file log all the data.
    The problem I'm having is that although data values from the DAQ are recorded, they lag behind the encoder values provided by the EPOS2 by approx 50ms. This lag time changes as a function of the DAQ's rate and number of samples.
    I attached an example data file. If you scroll all the way to the bottom, you'll see that the right most value (time from computer and I believe EPOS?) is different from the left most time value which came from the DAQ waveform.
    I've attached my code to this post. Would some form of rendezvous or queue be applicable? Any thoughts would be most helpful.
    Thanks
    Attachments:
    APS_linear1_5_stable.vi ‏137 KB
    8_17_11_25s_1800Hz_150_2.txt ‏977 KB

    Hello Ruben_D
    I'm sorry this is causing you an inconvenience!  Can you please provide a link to the EPOS2 install file as I seem to be missing a number of their dependent VIs.  Thank you very much!
    Sincerely,
    Greg S.

  • Can DAQ send signal to motor controller?

    Dear all,
    I have been busy with a project since 6 months. This project involves a DAQ which acquires loadcell samples while a linear motor pressing on a loadcell.
    the DAQ i am using is "NI USB-6343", the linear motor controller is Newport SMC 100(has its labview drivers). I am controlling both of them with labview and I managed to build my application. BUT there is only one problem.
    The problem I am facing is: The motor controller has a limited response time like 220 ms while DAQ is acquiring sample in every 1 ms.
    So while running the tests, when DAQ's acquired value reached 5 Newton preload, the vi. stops the linear motor using the motor controller's labview drivers. Since motor controller's response time is high, this preload goes over 5 Newton, because the linear motor keeps pressing the loadcell due the the motor controllers late response time.
    So what I want to know is that: When the certain value is reached, can I force the Motor Controller to do "stop.vi" action by DAQ? , for example, Can I manage this with DAQ trigger signal options?
    Note: I built my application with case structures(like move the linear motor in true case untill a value is reached, then get to the false case structure to stop the motor and return home position)
    Kindly waiting for your responses,
    I really want to solve this problem, please help me.
    Sincerely,

    Dear apok,
    Please see the attached view of my vi. I can not try to enter lower preload to match with what I really want, because it is unpredictable and it is not professional solution.
    It is always 220 ms for motor controller. Isn't there any solution with DAQ triggering options or something else?
    Kind Regards,
    Sincerely.
    Attachments:
    Loadcell&MotorControl.png ‏286 KB

  • Is LabView able to read digital inputs from maxon motors controller, EPOS2?

    Hello,
    I would like to ask that if LabView is able to read any digital inputs directly from a maxon motor controller, EPOS2. As i have tried making a new VI from the maxon example VI, but the difference is that i've added a input control. But the program doesn't seems to work.
    That's why i would like to ask if LabView can read a direct digital input from the maxon motor controller.
    Thank You & Regards,
    ParkyPak
    Attachments:
    sensor.vi ‏34 KB

    Hello Parky,
    I understand now. I check on the motion controller and it is connected through USB to your computer. In term of controlling the motion controller, you are using some LabVIEW library from maxon. The photosensor is connected to the motion controller may be as a switch or as a limit switch.
    In order to read the value of the Digital input port, you may need to take a look of the libraries to check on what function call and the supported command to check the digital input port. If this is not successful, then question or referring to examples from Maxon motors would be the best.
    I hope that this helps.
    James
    - Meadow -
    LabVIEW 7.0 - 2011, Vision, RT, FPGA
    TestStand 3.0 - 4.5

  • Driver for step motor controller MM4006

    Please help, i need the driver for the step motor controller MM4006
    (Newport, Micro Controle). I found them on the Newport site, but when
    i unzip them, it seems to be the drivers for the MM4005, so is there a
    difference between both.
    Thank you for your help,
    JB

    JB,
    National Instruments has the driver for MM4000, of the Newport's 4000 series Motion Controllers.
    Visit our website:
    http://ni.com/devzone/idnet/
    You will find help on developing your own driver, or if you need instrument driver expertise to develop your instrument drivers, contact one of our experienced Certified Instrument Driver Developers.
    Zvezdana S.
    National Instruments

  • VXM Stepping Motor Controller Driver

    Hello All, 
    It's my first time to write in this forum. I am a new with using LabVIEW and very optimistic to get  assistance.
    I am trying to controll a stepping motor controller (VXM-1 Model) with Labview, which is moving a Velmex Unislide. I need help to do a code LabVIEW that control VXM-1 Model and measure the displacement of a Velmex Unislide. How could you help me out ?. 
    Please be advised that I am using LabView 2010 and Windows XP. 
    I am looking foeward to hearing from you.
    Thanks for any assistance in advance. 
     

    Using VISA 5.0.3 is fine, but upgrading couldn't hurt.
    In terms of where to start programming.  I would recommend taking a look at the "Simple Serial" example VI under Hardware Input and Output>>Serial in the example finder.  You'll need to change the "*IDN?/n" command to something that the controller is actually expecting.  It looks like the VXM can be given commands in "interactive" mode, in which you send a command and the controller immediately executes that command, or in "standalone" mode, in which you define a command script, download that script to the device, then the script is executed without any further host interaction.  These two differences are explained on pages 8-9 of the user manual.
    The command set is explained there as well.  A couple important notes from that manual:
    "The standard RS-232 communication settings on the VXM are 9600 baud, 8 data, no parity, and 1 stop bit."
    "When sending commands that require a value, the commands must end with a carriage return (Enter key or Return on most keyboards), comma, or a period."
    There are control examples given starting on page 26 of the user manual.

  • Motor controller RTA and driver Plus L

    Hallo!!!
    It's possible to controll a step by step motor with LabView ?
    The name of the driver is Plus L and the motor is SANYO?
    exist some  Labview "Pallete" dedicated to the motor controller?
    Thank's

    I think you are asking if it is possible to control a stepper motor with LabVIEW.  The answer is Yes, and No.
    LabVIEW, by itself, cannot make a stepper motor do anything.  A stepper motor needs a drive circuit to generate pulses, and regulate current to the motor.
    You need a stepper driver (this is hardware) first.  Secondly, you need an NI motion controller board.  This would be a very expensive solution if all you want to do is experiment with a stepper motor.
    There are motion controllers available that take serial commands as input, so you could control the stepper motor from LabVIEW, using serial commands.
    What is your application?  Maybe I can suggest other alternatives.
    Machine Vision, Robotics, Embedded Systems, Surveillance
    www.movimed.com - Custom Imaging Solutions

Maybe you are looking for