Jared Kirschner : Engineer

  • Home
  • Work Experience
    • LabVIEW Student Ambassador for National Instruments
    • Electrical and Computer Engineer at Lit Motors
    • Digital Signal Processing Course Assistant at Olin College
    • Motion Control Engineer at National Instruments
    • Educational Research Statistician at Olin College
    • Bioinformatician at TGen
  • Competencies
    • Embedded Systems
    • Mechatonics, Robotics, and Controls
    • Software Development
    • Electrical Engineering
    • Product Design and Entrepreneurship
    • Mathematics and Computer Modeling
    • Sustainability
    • Miscellaneous
  • Resume
  • Contact

Motion Control Intern, National Instruments (Summer 2011)

National Instruments (NI) produces hardware for industrial and educational settings which can be easily integrated into a system by scientists and engineers using the NI LabVIEW graphical programming language. The NI 9502 Brushless DC Servo drive is a hardware module for the CompactRIO, containing an onboard Power PC and FPGA. The motor control algorithms are written onto the FPGA in LabVIEW FPGA. Though the hardware can support many axes of motors, the code required to drive each of the motors cannot fit on the FPGA. My task was to optimize and multiplex the motor control code to allow for multi-axis motor control.

There are many different methods of implementing multiplexing, each with different trade-offs. To create an appropriate implementation for a variety of customers, I needed to understand their operational requirements and constraints. I created an API which separates the state of the program from the motor control code. The state corresponding to each axis can be sent through the same stateless code, saving FPGA resources. The state can be stored in onboard RAM which is often unused in motion control applications.

Powered by Create your own unique website with customizable templates.