Labview Embedded Module

February 3, 2011

I always wanted to work on 32 bit architectures. I am amazed by their capabilities. I got a chance to work with the National Instruments Embedded Module in my Mechatronic Design Class at CMU 🙂 . I was given a MCB2300 board  and a LABView license along with Keil IDE by National Instruments.  It uses a LPC 2378 microcontroller from NXP semiconductors. I would like to share my experience on working with this board. In my opinion, its awesome!

The documentation available for this board is quite comprehensive but the errors faced by programmers are scarcely documented. However, they could be resolved by simple tricks. Let me explain controlling a DC motor step by step.

When you install Labview with the embedded module, your startup window should be something like the one shown below:

Choose Arm Project and Click “Go”

It would ask you for the type of VI files you would like to create. Choose a blank VI.

Choose your target board as MCB2300 and save the project.

You should be able to view a new project explorer window with a blank VI.

You will have to delete the MCB2300 microcontroller board available in the project explorer as there are very limited inputs and outputs that are available to users with that feature. You may right click on your project and configure a new target board.

Click on other and choose your microcontroller

Now select the inputs that you would like to use. You may choose your inputs by a right click on “LPC2378”.

Now choose the PWM channels, digital inputs and outputs of your choice.

Open your LABView programming window and “design” your code. You may choose your inputs and outputs as shown in the figure below:

Once you have placed an elemental I/O node, you may choose their usage in the program.

If you would like to configure some of your pins as digital outputs, you may right click on the I/O node and select “Change to Write”. This configures your I/O as a digital output.

Once you have finished programming, click on run to build and compile your code.

You see an output displaying “Running on target”

You may have a look at the video of my DC motor spinning 🙂 🙂 I interfaced a L298 H bridge driver to my microcontroller.

 

Advertisements

The board has been populated and it is ready

February 8, 2010

PICdevelopment board

The board was populated successfully and most of the functional features of the board have turned out to be successful. I am yet to test one of the two voltage comparators available on the board.

The main features of the board include:

  1. PIC16F877A platform
  2. L293D module ( Can drive 2 geared DC motors or 1 stepper motor)
  3. ULN 2003A module for stepper motors
  4. Voltage comparator circuit for LDR based sensor module
  5. Voltage comparator circuit for IR LED – photodiode based sensor modules
  6. Analog Inputs
  7. Seven Segment Display * 4nos
  8. RS232 port
  9. LED outputs to test the comparators/voltage sensors
  10. 8 LEDs to test the outputs of the individual pins of the controller
  11. Plug and play option — Can test it with simple connecting wires across any pin of the microcontroller
  12. Power supply pins to power other add-on boards

Looking foward for your comments!


Functional Features of my development board

February 4, 2010

It had been a long time since the development board was manufactured. I was able to test some of the features of the board. I am done with the H bridge, RS232 communication and the A/D conversion. All were successful.

I realised the importance of input filters only when I blew up the microcontroller by connecting the 12V DC motor to the power supply that is not provided with input filters!

I tried pulse width modulation with my board and I have included  a video that shows the motor running at slow speed in opposite directions.

Interaction of the PIC with the PC using MikroC routines

The MikroC routines for the PIC microcontroller were handy to test my board. In the picture, I was able to send a data to my PIC and echo it back to the PC!

I am yet to program the correct sequence for energising the sequence of the stepper motor coils.