NITINOL ACTUATOR ENGINEERING LAB PACK
Kellogg's Research Labs

This pack goes with the Nitinol Actuator Engineering Lab Book: 14 labs for
upper-level mechanical engineering and materials science courses.

WHAT IS IN THE PACK

  Nitinol-Actuator-Engineering-Lab-Book.pdf    The lab book, with answer keys
  Code/                                        Sample code, named by lab
  Code/krl_driver/krl_driver.ino               Drive board firmware (Arduino Uno or Nano)

SAMPLE CODE BY LAB

  Lab 1   Lab01_Transformation_Temperatures.py   As, Af, Ms and Mf by the tangent method
          Lab01_sample_data.csv                  Example data for it
  Lab 2   Lab02_Two_Phase_Stiffness.py           Modulus of each phase, with uncertainty
  Lab 3   Lab03_Shape_Setting_Springs.py         Springback, spring rate and shear modulus
  Lab 4   Lab04_Two_Way_Training.py              Two-way stroke against training cycles
  Lab 5   Lab05_Energy_Budget.py                 Energy to actuate, heat lost, efficiency
  Lab 6   Lab06_Open_Loop_Map.py                 Open-loop map and hysteresis (board)
          p_loop.py                              The proportional loop named in the book (board)
  Lab 7   Lab07_Step_Response.py                 Rise time, overshoot, steady error (board)
          krl_console.py                         The starter user interface (board)
  Lab 8   Lab08_Cooling_Time_Constant.py         Time constant and convection coefficient
          Lab08_sample_cooling.csv               Example data for it
  Lab 9   Lab09_Belleville_Stack.py              Blocked force, free stroke, stack sizing
  Lab 10  Lab10_Torsion_Rod.py                   Blocked torque, free angle, joint sizing
  Lab 11  Lab11_Snap_Through_Statistics.py       Trip temperature scatter and launch energy
  Lab 12  Lab12_Peristaltic_Sequencer.py         Fires the four rings in order (board)
  Lab 13  Lab13_Fatigue_Cycler.py                Automatic cycling with a stroke log (board)
          Lab13_Life_Analysis.py                 Power-law fit and Miner's rule
  Lab 14  Lab14_Three_Zone_Poses.py              Commands a pose and predicts the tip (board)

HOW TO RUN IT

  You need Python 3.8 or later. Keep all the files in Code/ together.

  Analysis scripts run as they are, on the example numbers inside them:
      python Lab02_Two_Phase_Stiffness.py
  Replace the example numbers at the top of each file with your own readings.
  Plots appear if matplotlib is installed (pip install matplotlib).

  Scripts marked (board) talk to the drive board. They need pyserial
  (pip install pyserial). Give them the board's serial port:
      python Lab07_Step_Response.py COM5
  To try one with no hardware, use the built-in simulated actuator:
      python Lab07_Step_Response.py sim
  krl_console.py also needs tkinter, which comes with most Python installs.

  Load krl_driver.ino onto the board with the Arduino IDE. It needs the
  Adafruit INA219 library.

BEFORE YOU USE IT IN CLASS

  This is sample code. Read it, question it and change it.
  The example numbers and the sample data files are made up so that the
  scripts run. They are not measurements.
  Every board script switches the actuator off when it ends or is stopped.
  The firmware also switches off if it hears nothing for 3 seconds.
  Follow the safety messages in the lab book.

QUESTIONS

  nitinol@KelloggsResearchLabs.com     1-855-583-5353
  www.KelloggsResearchLabs.com
