Mechanical Structures Interactive Laboratory by Torrey Owen Radclie S. B., Aeronautics and Astronautics, Massachusetts Institute of Technology, Cambridge, Massachusetts (1997) Submitted to the Department of Aeronautics and Astronautics in partial fulllment of the requirements for the degree of MASTER OF SCIENCE IN AERONAUTICS AND ASTRONAUTICS at the MASSACHUSETTS INSTITUTE OF TECHNOLOGY January 2002 c Massachusetts Institute of Technology 2002. All rights reserved. Author Certied by Accepted by Department of Aeronautics and Astronautics January, 2002 Carlos E. S. Cesnik Visiting Associate Professor of Aeronautics and Astronautics Thesis Supervisor Wallace VanderVelde Chairman, Department Committee on Graduate Students 2 Mechanical Structures Interactive Laboratory by Torrey Owen Radclie Submitted to the Department of Aeronautics and Astronautics on January, 2002, in partial fulllment of the requirements for the degree of Master of Science in Aeronautics and Astronautics Abstract The Mechanical Structures Interactive Lab is one of a number of new remotely accessible WebLabs being developed at the Massachusetts Institute of Technology. WebLabs allow students access to physical experiments from anywhere at anytime via the World Wide Web. While these cannot replace laboratories that are more traditional, they facilitate lab assignments when traditional labs are not practical. The Mechanical Structures Interactive Laboratory is a framework for allowing remote experimentation on elastic structures. Users of the system are able to obtain data from experiments they perform on the structures form a remote location. The system is designed to allow new experiments to be easily added, and can support all levels of mechanical structures courses currently oered at MIT. The system can be used by multiple courses in multiple departments of multiple universities. Users are only required to have a computer connected to the World Wide Web and they can send actuator commands and monitor sensor responses in near real time. The typical student is expected to spend between fteen minutes to an hour using the system to obtain experimental data. A queuing system regulates (and allows monitoring of) system usage. All of the software was developed using National Instruments G language. Unlike similar systems, the Mechanical Structures Interactive Lab does not use any sort of Java based applications. The system has been tested in a small graduate course. The students used a piezoelectric actuator to stimulate a beam and monitored the response using strain gauges, laser displacement sensors and a webcam. By using the same computer to both model the beam and perform experiments, the students received rapid feedback on the accuracy of their numerical models. While most of the feedback received was positive, there are still a number of areas for system improvement. While work is still being done to make these improvements, the system has shown itself to be an eective means of providing a positive educational experience to engineering students. Thesis Supervisor: Carlos E. S. Cesnik Title: Visiting Associate Professor of Aeronautics and Astronautics Acknowledgments There are many people who I wish to thank for their help and support which made this possible. First, I would like to thank my advisor, Professor Carlos Cesnik, who provided me with this opportunity. Without his guidance none of this would have been possible. I would like to thank the Microsoft Corp. through the I-Campus project for their support for this project. I also wish to mention all the help I received from Jesus del Alamo and the rest of the people at MIT working on WebLabs. And of course the help form the technical support sta of National Instruments. My room-mates Matthew Congo and Nicole Krumrei have always been there to help me take my mind o of my work and to read through some of the early drafts of this work. I also need to show my appreciation for all the support and encouragement I received from Andrea Green over the years. Finally I would like to thank Paul, Alex, Cyndi and Victoria who provided the extra hands when they were needed. Contents Abstract 1 Acknowledgments 3 1 Introduction 13 1.1 Motivation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13 1.2 Objectives . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15 1.3 Outline . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16 2 Current Work in Educational Remote Laboratories 17 2.1 MIT Microelectronics WebLab . . . . . . . . . . . . . . . . . . . . . . . . . . 18 2.2 Other I-Lab Projects . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19 2.3 MSI-Lab . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21 3 System Layout 23 3.1 Hardware . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 23 3.1.1 Mechanical Testing Structures . . . . . . . . . . . . . . . . . . . . . . 25 3.1.2 Actuation Inputs . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 26 3.1.3 Sensor Channels . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 27 3.2 Laboratory Controlling Software . . . . . . . . . . . . . . . . . . . . . . . . . 28 3.3 User Interface . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 31 3.3.1 Site Layout . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 31 3.3.2 Matlab scripts . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 32 3.3.3 CGI Applications . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 35 5 4 Platform Test 41 4.1 Background . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 41 4.2 Student Assignment . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 41 4.3 Usage and Performance Data . . . . . . . . . . . . . . . . . . . . . . . . . . 43 4.3.1 Student Usage . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 43 4.4 Laboratory Performance . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 44 4.5 Student Response . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 44 4.6 Discussion of the Results and Needed Improvements . . . . . . . . . . . . . . 46 5 Conclusion 49 5.1 Overview . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 49 5.2 Successful Results . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 50 5.3 Future Work . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 51 Bibliography 53 A Example Laboratories 55 A.1 16.010-16.040 - Unied Engineering . . . . . . . . . . . . . . . . . . . . . . . 55 A.1.1 Objective . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 55 A.1.2 Hardware . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 55 A.1.3 Procedure . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 56 A.2 16.20 - Structural Mechanics . . . . . . . . . . . . . . . . . . . . . . . . . . . 56 A.2.1 Objective . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 56 A.2.2 Hardware . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 56 A.2.3 Procedure . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 56 A.3 16.21 - Techniques for Structural Analysis and Design . . . . . . . . . . . . . 57 A.3.1 Objective . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 57 A.3.2 Hardware . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 57 A.3.3 Procedure . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 57 A.4 16.221 - Structural Dynamics . . . . . . . . . . . . . . . . . . . . . . . . . . 58 A.4.1 Objective . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 58 6 A.4.2 Hardware . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 58 A.4.3 Procedure . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 58 A.5 16.222 - Mechanics of Filamentary Composite Materials . . . . . . . . . . . . 59 A.5.1 Objective . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 59 A.5.2 Hardware . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 59 A.5.3 Procedure . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 59 A.6 16.241 Advanced Structural Dynamics . . . . . . . . . . . . . . . . . . . . . 59 A.6.1 Objective . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 59 A.6.2 Hardware . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 60 A.6.3 Procedure . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 60 A.7 16.242 - Aeroelasticity . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 60 A.7.1 Objective . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 60 A.7.2 Hardware . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 60 A.7.3 Procedure . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 61 B Sample Lab Assignment 63 B.1 Assignment . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 63 B.2 Solution . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 67 B.2.1 Matlab script used for question 1 . . . . . . . . . . . . . . . . . . . . 71 C Code 75 C.1 Matlab Scripts . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 75 C.1.1 dataload.m . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 75 C.1.2 spectral.m . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 76 C.2 HTML les . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 76 C.2.1 Queue HTML . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 76 C.2.2 Structure control HTML . . . . . . . . . . . . . . . . . . . . . . . . . 77 C.2.3 Data le save HTML . . . . . . . . . . . . . . . . . . . . . . . . . . . 79 7 8 List of Figures 3-1 System Layout . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 23 3-2 Hardware Layout . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 24 3-3 Strain gauges mounted on steel beam . . . . . . . . . . . . . . . . . . . . . . 28 3-4 Block Diagram of structure controlling VI . . . . . . . . . . . . . . . . . . . 30 3-5 Layout of web site . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 33 3-6 Control web page . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 34 3-7 CGI application control scheme . . . . . . . . . . . . . . . . . . . . . . . . . 36 3-8 Block Diagram of typical VI control application . . . . . . . . . . . . . . . . 37 3-9 Block Diagram of queueing application . . . . . . . . . . . . . . . . . . . . . 39 4-1 Diagram of Beam Setup . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 42 4-2 Number of users per hour which accessed the beam controls during class assignment . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 43 B-1 Diagram of Beam Setup . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 64 B-2 First three beam modes found using 20 elements . . . . . . . . . . . . . . . . 68 B-3 Spectral analysis of beam response . . . . . . . . . . . . . . . . . . . . . . . 69 B-4 Strain gauge response to 5.3 Hz, 200 V piezo input . . . . . . . . . . . . . . 70 B-5 Strain gauge response to 32 Hz, 200 V piezo input . . . . . . . . . . . . . . . 71 B-6 Strain gauge response to 90 Hz, 200 V piezo input . . . . . . . . . . . . . . . 72 B-7 Plots used to determine system nonlinearity . . . . . . . . . . . . . . . . . . 73 9 10 List of Tables 3.1 Material Properties of Steel . . . . . . . . . . . . . . . . . . . . . . . . . . . 25 3.2 Material Properties of AS4/3501-6 Composite System . . . . . . . . . . . . . 25 3.3 Properties of the ACX QP20N piezoelectric actuator . . . . . . . . . . . . . 26 3.4 Sensor performance capabilities . . . . . . . . . . . . . . . . . . . . . . . . . 29 3.5 Control VI inputs . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 29 B.1 Beam Properties . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 64 11 12 Chapter 1 Introduction In the Fall of 1999, Massachusetts Institute of Technology (MIT) and Microsoft Research Corp. initiated the iCampus program which is an alliance to \enhance university education through information technology" [1]. Under the iCampus program the I-Lab project was started to develop a new framework for science and engineering education [2]. The main focus of I-Lab is the concept of a web-accessible remote laboratories (WebLabs) that allows real-time experiments from anywhere at anytime and coupling them with simulation tools. Several WebLab concepts are being pursued in varied disciplines such as microelectronics to chemical reactions. This thesis describes the development of the one such concept, the Mechanical Structures I-Laboratory (MSI-Lab). The MSI-Lab was created because mechanical structures courses can be greatly benetted from having experimental projects. However, these projects, while relatively simple to operate, are often time consuming to setup. As a result, only one of the numerous mechanical structures courses oered by the MIT Department of Aeronautics and Astronautics nominally conducts experiments. 1.1 Motivation MSI-Lab allows students to have access to laboratory equipment at all times. The student will have real-time data from the laboratory displayed on the same platform they create and 13 run their analytical simulations. Having both the analytical and physical results from an experiment side by side will allow for quick feed back and evaluation of the analytical models developed in the classroom. It will also allow for the student to study where errors in the physical setup occur. Once a WebLab is set up, it has several practical advantages over a traditional laboratory. A WebLab can also be leveraged by multiple courses, in multiple departments over multiple universities. The long-term proposal is to have several universities develop a set to WebLabs. Thus, instead of each school spending time and eort creating and maintaining dozen dierent labs, they build one (or a few) elaborate laboratory and share it with a dozen dierent schools. Additionally, due to the remote nature of the system, more users can access one piece of laboratory equipment over given amount of time than a traditional laboratory. For example, consider a class with two hundred students all required to perform the same laboratory in a given week. A traditional laboratory would require the students to come in at specied times and either work in very large groups using one piece of equipment, or in smaller groups with numerous pieces of identical equipment. The former solution does not allow for more individual access to the laboratory equipment and the later does not efciently use space or money. However, a WebLab can be accessible twenty-four hours a day seven days a week. Thus student use can be spread over more time requiring less laboratory setups. This can actually be the enabling feature of an academic laboratory which requires a large amount of capital to create a single laboratory setup. WebLabs can also operate near autonomously for long periods of time requiring almost no sta time, but for regular maintenance. It takes up much less space as no people need direct access to its facilities. There is no chance of user injury, nor can the laboratory itself be harmed by the user. A WebLab system also has additional uses including illustrating lectures with experimental exercises. It is also a good introduction to remote operation of scientic equipment which is a common occurrence in the aerospace eld. 14 1.2 Objectives The objective of the MSI-Lab project is to design a platform for easy creation of remotely operated mechanical structures labs. It is created to allow better access to and improved quality of mechanical structures experiments. To accomplish this task several key goals were decided upon. The user experience should be as close as possible to actually being at the laboratory. The user should have access at any time from any computer with a commonly available web browser. The laboratory should be exible enough to allow for dierent levels of mechanical structures classes to utilize it. No special manual adjustments should be needed for the normal operation of the system. New laboratory realization should be easily deployed within the platform. The system should be secure from outside tampering. The WebLab concept was devised to increase the availability of laboratories while reducing the overhead required to implement them. Experiments allow students to see real responses and test the validity of model developed in lecture. However, much of the time, the cost and time to set up a laboratory are prohibitive. From a practical point of view, those created labs that are created typically employ low cost equipment with limited availability. Due to limited space availability, labs often have to be assembled and disassembled each time they are used to save laboratory space. Most students have tight schedules during times when most labs are available. Thus they need to rush through a laboratory to get to another appointment. No WebLab will completely replace the experience of a complete `hands-on' lab, but a well designed one can add to the educational experience when no `hands-on' laboratory would ordinarily be available. The WebLab can also allow for a more comprehensive laboratory setup than what can be created in the time constraints of a normal lab assembly. 15 1.3 Outline This thesis describes the design of the platform created during the MSI-Lab project, its current capabilities as well as currently proposed additions. While there is little published literature currently available, Chapter 2 provides a basic overview of all the WebLab projects at MIT at the time of this writing. They are presented in such a way as to demonstrate the diversity of the labs under development. Additionally, this chapter allows comparison and contrast between the MSI-Lab and similar projects. In Chapter 3 the basic layout of the MSI-Lab is discussed. This includes details on the design of the MSI-Lab platform and how its various components work together to provide a remote academic environment. The MSILab was used by a class in the Fall of 2001 and that experience is documented in Chapter 4, including student feedback. Finally, Chapter 5 provides an overview of the MSI-Lab project and discusses the lessons learned during the design and implementation of the MSI-Lab and suggests improvements. 16 Chapter 2 Current Work in Educational Remote Laboratories The MIT I-Lab project is currently seeking to develop a number of WebLabs in various elds. Each of these WebLabs uses dierent techniques to implement the remote laboratory concept. However, MIT is not the only institution where remote laboratories are being developed. Anido et al. [3] provide a survey of some of the work in the eld of electrical engineering as well as contrasting on-line laboratories and on-line simulations. Many of these systems were developed for the electrical engineering departments of academic institutions and utilize Java based applications [4-6]. To the best of the author's knowledge, no work has been published on a mechanical structures interactive laboratory. There is a whole range of laboratories being created to study the elds of mechanics, uid dynamics, thermodynamics, electronics, and chemistry. The earliest of these labs, the MIT Microelectronics WebLab, has already been used by a number of classes [7]. In addition to the over half a dozen WebLabs in various states of completion, there is an eort to build a \universal" architecture and software for generic remote laboratories [8]. This project, known as the `iCampus Framework' promises to greatly reduce the up front work of creating a WebLab. Finally, work is also being done on creating an online environment which encourages collaboration of students using such WebLabs. 17 2.1 MIT Microelectronics WebLab The MIT Microelectronics WebLab was started by Prof. Jesus del Alamo as an Undergraduate Research Opportunity Project in 1998. The premise of the project is to allow remote characterization of a microelectronic device. The system allows remote clients to control a server which carries out real-time measurements on microelectronic devices (usually transistors.) It is presented here as a basis from which to compare the MSI-Lab architecture. The MIT Microelectronics WebLab basic architecture consists of three main components: 1. Testing hardware (including the object of the experiment) 2. The Server which also controls the instrument 3. One or more remote clients The main component of the testing hardware is the HP4155B Semiconductor Parameter Analyzer. This state of the art instrument, combined with the HPE5250A Switching matrix allows the measurements of current-voltage characteristics of up to eight microelectronic devices and small circuits. These devices are controlled using the General Purpose Interface Bus (GPIB) interface, a standard instrument control language. At the beginning of a session, the client downloads a Java applet from the server. This applet is then used to create instructions for the server and provides the core of the user experience. The applet was created to mimic the front panel of the HP4155B. The user creates a test vector using the applet which is then sent to the server. If the testing hardware is busy when the test vector is received, the vector is placed in a queue. If the system is free, the server instructs the HP4155B to perform the programmed experiment. The results are then sent back to the server and forwarded onto the client's applet. The results are interpreted by the applet and presented in a graphical format to the remote user. The data can also be saved for future manipulation. The primary educational aspects of this WebLab are the creation of the test vector, data display, and oine data manipulation. Students are thought to learn a great deal from the creation of a test vector. It forces the students to think about what information they are after, and how to best obtain that information. When manipulating the display of the 18 results of the experiment, students have to nd optimal ways of displaying data and follow the standards of the microelectronic world. Oine data manipulation allows the student better access to the experimental results to compare with models they may have created. This lab has been used in both at the undergraduate level (in 6.012 \Microelectronic Devices and Circuits") and the graduate level (in 6.720J/3.43J \Integrated Microelectronic Devices" and SMA5104 \Fundamentals of Semiconductor Device Physics"). The second graduate course had twenty students in Singapore using laboratory equipment located at MIT. Each of these courses used dierent devices at dierent times throughout the year. At its busiest hour, the lab handled 13 users running 99 dierent jobs, each averaging less than 15 seconds. During the Fall 2001-2002 semester, over 300 students utilized the Microelectronics WebLab A `remote' WebLab server was used to allow for educational testing of the latest microelectronic devices. Normally academic experiments of this nature are carried out on mature systems. However, this server, set up at Compaq's Alpha Development Group, allowed MIT graduate students access to the latest technology. 2.2 Other I-Lab Projects There are several projects currently under development in the I-Lab program. This section will give a basic overview of each of the projects. A WebLab chemical reaction experiment is being designed by Prof. Jackie Ying and her students in the Department of Chemical Engineering at MIT. This lab will allow chemical engineering students to monitor the relative chemical composition of a gas over time. The students will have control over the amount of reactants in the system as well as the temperature of the reaction chamber. The reaction output will be measured by both a gas chromatograph and a mass spectrometer. One major advantage of using a Web Lab architecture for this system is the increased safety of the remote operation. The user interface for this lab has not yet been developed. However, with each full reaction experiment taking on the order of twelve hours to perform, user scheduling and interface becomes a major issue. Currently this group is looking into recreating recent graduate student research on new 19 methods of cleaning automobile exhaust. This reaction would take on the order of minutes instead of hours. The group is planning on initial classroom deployment of their lab in Fall 2002 Prof. Clark Colton and his co-workers in the Department of Chemical Engineering at MIT are designing a WebLab to study uid heat exchange [9]. In this system a pipe with a hot uid is surrounded by a pipe with cold uid. The students can control the ow rates of the pipes and the temperature of the hot uid. Sensors then measure the temperature of both uids at various points along the pipes to allow the students to determine the heat transfer rates. To access this lab the students are required to download a browser plugin written in Java 2. Unfortunately, most of the web browsers available to students do not yet support Java 2. This lab was rst used in the Fall of 2001 by a class of 63 students. Prof. Kevin Amaratunga and his students are developing the Intrumentalized Flagpole WebLab [10-14]. This lab is dierent form the others in that the students do not actually control any aspect of the lab, but instead have access to a large amount of data collected from an instrumented agpole. The students can read the data from several sensors including wind measurement devices, thermocouples, accelerometers and strain gauges. The lab is access through java applets much like the Microelectronics WebLab. However, unlike the Microelectronics WebLab, much of the lab controlling software was made with the use of available National Instruments applications. This lab is also coupled with several online simulations. These applets allow the user to perform numerical analysis of several systems. This lab forces its students to learn to sift through the large amounts of data an experiment can generate and determine what is important and how it can be manipulated into useful information. This lab has been used by several courses in the Department of Civil and Environmental Engineering at MIT. Two other WebLab projects are in the early phases of development. One involves the use of a shake-table to simulate structural response to seismic vibrations. This type of lab is useful for architectural and civil engineering students. The other lab will study polymer crystallization using a remotely controlled microscope, heater and camera. Victor Chang (a graduate student in the Department of Electrical Engineering and Computer Science at MIT) and others have studied and designed ways to allow WebLab users 20 to collaborate while performing their experiments [15, 16]. One drawback to using a remote system to perform academic laboratories is that, instead of working in a lab group, the students are isolated from each other. This can be solved through online collaboration tools. Tested using the MIT Microelectronics WebLab, the prototype system developed by Chang allows users to work as a group and individually simultaneously. The user can send individual test vectors to the server and monitor the results while at the same time seeing the group's test vector and results. The system works using a token scheme, where one user has control and can modify the test vector, but this control can be passed to another user at any time. While only a small sample of data has been collected on the usefulness of this scheme, it shows that students allowed to collaborate with each other performed better as a whole than those that worked individually. This system can also allow an experienced tutor to join a group. Thus the tutor can monitor the group's progress and provide useful suggestions and explanations. Finally, work is being done on Framework headed by the Microsoft Research Corp. This will be a `universal' architecture and software frame work for building WebLabs and other remote learning environments. This work is being built upon the Educational Fusion concept which intends to: \augment on-line learning with a simulation substrate providing collaboration, feedback to student and diagnostic info to sta" [8]. This system plans of oering services common to most WebLabs. These include user identity checking, lab reservations, event logging and notication, data storage and user collaboration. Framework will allow for faster development of remote labs as the lab creators will not have to re-invent each of those common services. 2.3 MSI-Lab While the details of the MSI-Lab's architecture will be presented in the next chapter, the main dierences between it and the other WebLabs should be noted. Unlike all of the other MIT WebLabs, MSI-Lab does not use a Java based client applet. Instead, Hyper-Text Markup Language form pushes are used by the client to send commands to the server and Common Gateway Interface applications are used to stream data back to the user. This 21 simplies the development of the user interface and insures browser compatibility on the input side while reducing the performance when compared to a java applet. All of the software and most of the hardware of the MSI-Lab was supplied by a single source, National Instruments, instead of a conglomeration of various vendors used by the other WebLabs. This greatly simplied the task of getting the various subsystems to work together. The experiments performed using the MSI-Lab take about a minute to perform and students are expected to want to use the system for about a half an hour at a time. Such times require a well thought out queuing system for lab use. Other WebLabs either have wait times that are not noticeable, like the Microelectronics WebLab, or so long that usage would probably have to be previously scheduled, like the chemical reaction WebLab. The MSI-Lab was also intentionally designed to be a platform which would accommodate a large number of diverse structural experiments, instead of being designed to accomplish one experiment and then expanding its capability. 22 Chapter 3 System Layout The MSI-Lab can be divided into three basic areas: hardware, lab controlling software, and user interface. While the rst two areas are common to other computer controlled labs, the user interface is what allows the MSI-Lab to be operated remotely. However, all three areas were designed such that the goals of the project could be achieved. Figure 3-1 shows the basic scheme of the system. Hardware GPIB Control Software Property Node User User Interface Internet Figure 3-1: System Layout 3.1 Hardware The MSI-Lab hardware includes sensors, actuators, and testing elastic structure in addition to the conditioners and ampliers required to convert digital from analog information and visa-versa. Figure 3-2 shows all of the hardware which is used by the current system and how it is connected. 23 Actuators Amplifiers PCI-6711 D/A Converter Mechanical Structures Camera Server Sensors Strain Gauges SCXI Signal Conditioner Accelerometers Laser Displacement Figure 3-2: Hardware Layout 24 PCI-6052E A/D Converter 3.1.1 Mechanical Testing Structures All of the experiments are conducted on slender structures because they t into the mechanical structures curriculum of the Aeronautics and Astronautics department of MIT. Almost all of the courses study beams at some point due to their relatively simple nature. Moreover, they are simple to construct and provide a natural proof of concept for the experiment. The beams currently used in the MSI-Lab are made from either steel (see Table 3.1) or a graphite epoxy composite. Composite beams were custom manufactured with both [45=0]3s and [60= 60=0]2s using AS4/3501-6 composite (see Table 3.2). The rst layup was chosen to demonstrate a bend-twist coupled composite structure, while the second layup gives a pseudo-isotropic structure. The composite beams were sized to match the steel beam (457 by 29.6 mm). Table 3.1: Material Properties of Steel E 200 GPa G 80 GPa 8000 kg m 3 Table 3.2: Material Properties of AS4/3501-6 Composite System EL ET EZ GLT GLZ GTZ LT LZ TZ t 142 GPa 9.81 GPa 9.81 GPa 6.0 GPa 6.0 GPa 6.0 GPa 0.3 0.3 0.3 0.137 mm 1520 kg m 3 The beams can have either a cantilever or a pinned/roller end condition, both of which are statically determinate. The cantilever end condition has the advantage of a larger amplitude 25 displacement for a given load and beam length. 3.1.2 Actuation Inputs The MSI-Lab proposes to have two types of actuators, one static and one dynamic. Currently only the dynamic actuator has been realized. Both actuators are driven by signals created using the National Instruments PCI-6711 analog output card. This card is capable of sending one million signals per second to each of its four analog channels. Additionally, it has eight bits of digital output capability. Dynamic actuation is performed using ACX QP20N piezoelectric actuators whose properties are shown in Table 3.3. When bonded to a beam and actuated, the piezo induces a moment which causes the beam to deform. The actuators are placed near the root of the beams to cause maximum beam tip deection. To achieve maximum actuation, the piezoelectric actuators need a input on the order of 200 V. To achieve this, the analog output signal is run through a high-voltage amplier. The amplier has a twenty times amplication and a maximum current of 200 mA. Table 3.3: Properties of the ACX QP20N piezoelectric actuator Size (mm) 50.8 x 25.4 x 0.762 Weight (g) 4.82 Capacitance (F) 0.12 Voltage range (V) 200 Maximum extension () 264 Maximum Force (N) 129 The proposed static actuator will consist of an electric motor connected to a linear drive. This would allow for point loads to be applied to the beams at given locations by means of prescribed displacements. The motor would be controlled using the digital output from the PCI-6711. In addition, a load cell would be connected to the system to monitor the load applied to the beam. 26 3.1.3 Sensor Channels The state of the beams are monitored by various sensors. This section describes the capabilities of the various sensors. This information is summarized in Table 3.4. The sensors chosen are able to measure displacement, acceleration and strain. This gives the students the chance to study the advantages of measuring each attribute. The signals generated by the sensors are passed through conditioners mounted in a SCXI1000 mainframe. The mainframe multiplexes the signals and passes them on to National Instruments PCI-6052E analog input card. This card has a maximum rate of 333,000 samples per second. The SCXI system was chosen due to its exible nature. The SCXI-1000 mainframe has four slots for various conditioners which can be changed if the needs of the lab shift. The current system has strain gauge conditioners in two slots, an accelerometer conditioner in one slot, and a voltage sensor used to monitor the laser motion sensor in the nal slot. Strain gauges are the most common sensor used to monitor structures. They can determine the surface strain of the object which the gauge is attached. Stain gauges are inexpensive, but have a relatively low signal-to-noise ratio. Strain gauges are mounted along the length of the beam, as shown in Figure 3-3. A rosette of three gauges are mounted to the composite beams to allow for twist measurements at the roots. The strain gauges are connected to the National Instruments SCXI-1520 strain gauge conditioner in a quarter bridge. Using a quarter bridge allows more channels to be used even though it is not temperature insensitive as the full bridges. The thermal drift corrections must be processed at the software level. The MSI-Lab has two SCXI-1520s which each have eight channels giving the system a total of sixteen possible strain input channels. These conditioners can be recalibrated through software. Accelerometers are able to capture the motion of a system by measuring the accelerations it undergoes. The accelerometers are placed where the motion is expected to have the greatest amplitude, near the tips of the cantilever beams and the middle of the pinned/roller beams. The MSI-Lab uses Endevco 750 accelerometers which have a range of 80 g's and a resolution of 100 mV/g. The accelerometer output is accurate to within 5% for 27 Figure 3-3: Strain gauges mounted on steel beam vibrations of 5-4000 Hz. The accelerometer signals are wired to a National Instruments SCXI1530 accelerometer signal conditioner. This auto-calibrating module has four accelerometer inputs. The Keyence LB-1000 laser sensor allows for accurate displacement measurements of a single point of the structure. The sensor has a range of 80 mm, a resolution of 180 m, and a maximum sampling rate of 700 Hz. The laser system has an output signal of 5 V which is read by the National Instruments SCXI-1120 isolation amplier. This module has eight channels, but due to the expense of the laser sensor itself, only one is used. Finally the user would also have the ability to view the structure using a video camera. Currently the camera does not have enough resolution to provide much quantitative data, however it does allow the user to observe the beam's behavior during the experiments. A grid is placed behind the beam to give the user a frame of reference for any beam motion. Still under implementation is the addition of a strobe light to the system to allow the user to `slow down' the motion of the beam and help in the visualization of the motion. The frequency of the strobe light would be controlled using the PCI-6711. 3.2 Laboratory Controlling Software The structure is controlled using a set of Virtual Instrument (VI) applications created in the G language using National Instruments Lab View version 6i. The structure controlling 28 Table 3.4: Sensor performance capabilities Sensor Strain Gauge Accelerometer Laser Camera Measurement Range Strain N/A Acceleration 80 g Displacement 40 mm Image 320x240 pixels Resolution 10 strain 100 mV/g 180 m 1 pixel/mm Max Frequency DAQ limited 4000 Hz 700 Hz 5 Hz VI program is essentially a while loop that contains ve actions: signal generation, signal output, sensor input, graphic creation, and optional le generation. The VI has multiple inputs, shown in Table 3.5. Whether or not the user has control over these various inputs is determined for each lab and set in the user interface. A block diagram of an example structure controlling VI can be seen in Figure 3-4 Table 3.5: Control VI inputs Input Format Function Signal Type Integer Changes the output signal: 0-sine, 1-triangle, 2-sawtooth, 3-square, 4-white noise Frequency Double Float Frequency of output wave form Amplitude Double Float Amplitude of output on scale from 0 to 10 Buer Length Double Float Length (in seconds) of output and input buers Data Rate Integer Number of samples per second of data (both input and output) Signal Boolean If true, shows signal to piezo on graph Laser Boolean If true, shows laser data on graph Strain Gauges Integer Determines which strain gauge's data is shown: 0-none, 1 to 5-corresponding gauge, 6-all Time scale Double Float Time scale of plot File Name String Name of output le File Save Boolean If true, creates an output le containing current input and output buers Each time the VI is started or the output signal type is changed, the mean value of each input is determined over a period of two seconds. These mean values are then subtracted during all other iterations. This method removes the output bias which is generated over time due to thermal drifts. Both the output signal and the sensor inputs are buered. Buering ensures that no 29 Inputs Signal Generator Signal Type Frequency Amplitude Generates an array of time/amplitude points. Sine (et. al) Waveform Buffer Length Data Rate Signal Laser Strain Gauges Output Write Write output signal to output DAQ buffer AO Config, AO Start, AO Write Time Scale File Name File Save Elastic Structure Input Read Plot Setup Create an array of read in input from DAQ buffer.1 AI Config, AI Start, AI Read, Basic Averaged DC-RMS, Waveform Scale and Offset Removes data which user doesn't want to visualize. Index Array Plot Graph File Save Creates an output graph with a time axis length determined by user input. Property Node XScale Saves both input and output in spread sheet format with time stamps. Export Waveforms to Spreadsheet File2 Controling Commands Waveform Data 1. First buffer read captures the DC values of each channel. Afterward, DC value is subtracted from signals. Additionally both read and write only use the config and start VIs during first iteration. 2. Slightly modified to automatically overwrite any previous file of same name and not prompt user Figure 3-4: Block diagram of structure controlling VI (with important subVIs shown in italics) 30 data is lost. This allows for smooth output signal generation. However, both the output le and the graphical display can only present what is in the buers. Because of this, the input data and the output data are out of phase. That is to say, at a given point, the input buer has what the sensors just read, while the output buer has what is next to be sent to the actuators. The structural controlling VI creates a graphical image of both the input and output signals. The created image is multi-colored with each color corresponding to a specic actuator or sensor. The time axis scale is controlled by the user, while the data axis is auto-scaled. Additionally the user can control what data is shown on the plot. The user can choose to either have each sensor and actuator shown or hidden. The output data le created by the VI consists of a date and time stamp for each line of data, followed by both the actuator and the sensors readings at that time. The data is presented in a spread sheet like format. 3.3 User Interface All of the user's interactions with the experimental setup are handled using National Instruments G Web Server which makes HyperText markup Language (HTML) and other documents available on the internet. The user accesses the server from a client computer using a web browser. 3.3.1 Site Layout The web site is divided into two areas: the secure and the unsecure. The unsecure side of the site has various pages describing the layout of the system and its capability. The secure pages allow the user to control the experiments and access the Matlab scripts (see Section C.1). The G Web Server has the capability to handel basic site security. To reach a secure page, the user must supply a proper username and password. The layout of the web site is shown in Figure 3-5. This gure shows the various levels of the web site. Any user connected to the internet can access the unsecure `Home Page'. From there they can go to 31 a page oering an overview of the MSI-Lab layout, which in turn links to a number of pages which give detailed information on the various subsystems. From the Home Page, users with the proper password can reach the experiment pages. Each experiment being hosted on the MSI-Lab would have its own page and user/password combinations. When the user tries to gain access to the experiment, the system checks to see if any of the structures requested is available (how this is done is described in Section 3.3.3.) If all of the possible the structures are currently in use, the user enters a queue. The user's client displays the queue HTML page which simply has the statement: \Your are currently number X in line." where X is replaced by the number of people waiting in the queue ahead of the user in question. This page reloads itself every ve seconds to update for changes in the queue. When the user is at the front of the queue (or if there is no one using the system) they are redirected to a page with three frames distributed vertically. This experiment control page can be seen in Figure 3-6. The topmost frame contains the queue page from before. The middle frame contains all the controls for the actuator output. In addition, the middle frame contains links to the various visualization options: animated output data, static output data, and video feed. The bottom frame contains the le generation control where the user can create and download sensor data les. 3.3.2 Matlab scripts Any number of Matlab scripts are available for user download depending on the experiment being implemented. The Matlab scripts can serve several purposes. First, scripts can be created for the students to run simulations before or simultaneously with the experiment. Next, scripts are available to convert the data les created in LabView to Matlab variables. Finally, scripts can be provided to manipulate the raw data generated by the experimental run. The instructor for each individual experiment can choose how much of each script they want the students to create on their own. Examples of the data loading and analysis types of scripts can be found in Appendix C. 32 Figure 3-5: Layout of web site 33 This is your place in line. When it gets to 0 you have control From here you can access the data from the strain gauges (see below) Enter the type of signal, the frequency and the amplitude, then push the Update button. The beam output will not change unless the update button is pushed Clicking DONE will give control of the beam to the next person in line Enter the name of the file you wish to create. A .dat extension will be automatically added Figure 3-6: Control web page 34 3.3.3 CGI Applications One of the main goals of this project is to allow the MSI-Lab user to control the experiments remotely. To do this, the user can command the MSI-Lab server over the internet using a Common Gateway Interface (CGI) program. In order to access the full capabilities of the lab, the user must have Mathworks' Matlab software and a web browser which has serverpush animations, such as Netscape's Navigator 4.X. The user can use other browsers, such as Microsoft's Internet Explorer, but some of the animations have reduced frame rates. Thus the system as it currently stands cannot be considered fully compatible with all available web browsers. This problem should be alleviated with updates by National Instruments to their LabView software. CGI is a standard for external gateway programs to communicate with Hyper Text Transfer Protocol (HTTP) servers. On the World Wide Web (WWW), when a client (in this case a web browser), sends a request whose Universal Resource Locator (URL) species a CGI application, the server decodes the request, loads the application, and executes the application. The application generates data and returns it to the server. The server then sends a reply to the requesting browser that contains the data. All of the CGI applications are written in the G language. There are three basic CGI applications used in the MSI-Lab: VI control, queueing and graphical applications. VI Control Application The VI controlling CGI applications read in user specied variables as part of the URL sent to the server by the user's client. The CGI applications then modify the states of the VIs that control the experiments. The CGI applications also load up a HTML form with generic markers and modies those markers according to the input variables. These HTML forms are sent to the server which in turn sends them to the client. This process is illustrated in Figure 3-7. An example of a HTML document used to control a VI can be seen in Figure 3-6 (with comments in grayed areas). Here the user has one menu ring where they can control the signal type, and two text elds where they can control amplitude and frequency (see Sec35 1. Client request URL that describes CGI application over the internet WWW Client 2.Server loads and executes CGI application passing along data HTTP Server 4. Server returns document which contains CGI data over Internet CGI Application 3. CGI application returns data to server Figure 3-7: CGI application control scheme tion 3.2 for more information on these variables). If the values were as shown in Figure 36, and the user clicked on the `Update' button, the client would send the following URL: http://ibeam.mit.edu:8000/cgi-bin/rulercgi.vi?signal=1&amplitude=100&frequency=10. Here `ibeam.mit.edu:8000/cgi-bin/rulercgi.vi' is the WWW address of the rulercgi.vi CGI application, and the rest of the URL contains the controlling variables. When the server receives this URL from the client, it runs the VI control application (here rulercgi.vi ). This application processes the rest of the URL and updates the virtual instrument controlling the structure. The CGI application also loads an HTML document similar to the one which the user currently has. The CGI application changes the shown values of the elds to match what the user has just inputted. An example block diagram can be seen in Figure 3-8. This modied HTML is then sent back to the client. If the elds were not changed, the user would see the values as they were when the page was rst loaded. Examples of the HTML les used by this CGI application can be seen in Appendix C. When the user rst accesses this type of CGI, the URL does not include any sort of controlling variables. In this case the CGI loads up the default values. In addition, the applications also have minimum and maximum values for each user controllable variable and will default to those if the user inputs a values outside the allowable range. 36 Read Input Convert Input Reads in a CGI request from server. Outputs all user inputs and other info for that CGI request. Read CGI Request Converts keyed array to array of string values indexed by variable name. Keyed Array Update Page Convert Input (2) Replaces markers in control.htm with actual values of variables. Replace Substring Converts string values to proper numerical values as needed. Additionally limits values to fall between predefined amounts. If no value is given by user, resets to a default. String to Number, In Range and Coerce Write to VI Updates the all the input variables of the structure control VI. Property Node Control Variable Write Output Release CGI Send the server the updated web page to send to user. CGI Write Reply Tells the server the CGI is finished. CGI Release Figure 3-8: Block Diagram of typical VI control application (with important subVIs shown in italics) 37 Queueing Application The queueing CGI is used to control access to the experiment. Figure 3-9 is a diagram of an example queue VI. Only one user at a time can control each structure. If a second user tries to access the experiment when it is currently in use, they (and all subsequent users) are placed into a queue. The queueing CGI does not explicitly get called on by the user. Instead, the queue HTML page automatically refreshes itself by calling the queueing CGI. When the queue CGI is called, it makes a note of the Internet Protocol (IP) address of the client. This is put into an array of IP addresses. A separate array has the time at which the queue CGI was accessed by that client. The CGI applications then feed the server the HTML page with the client's IP address array index to indicate to the user their position in the queue. At the same time, the arrays are monitored such that if any value in the time array is more than forty-ve seconds old, that IP address and time are deleted from their arrays. This elimination time of forty-ve seconds would need to be adjusted depending on the system constraints. If it is set too short, a slow system could think that a user has left when they have not. A longer setting means that the experiment is left idle while the system determines that the old controller has logged out. If no one is in the queue when someone accesses the experiment, or the person at the front of the queue changes, the queueing CGI will stop and restart the structure controlling VI. This allows the structure's sensors to be reset and all thermal biases removed. If no client tries to access the queueing CGI for over thirty seconds it will stop the structure controlling VI. This means that the experiment is idle when no one is using it. Graphical Applications The graphical CGI applications are special LabView applications which return VI front panel images instead of documents. There are two graphical CGI applications used by the MSILab, .snap and .monitor. The .snap returns a static image of the specied VI, while .monitor resends the image at specied intervals causing it to animate. 38 Read Input Cleanup Reads in a CGI request from server. Outputs the IP address of user and other info for that CGI request. Read CGI Request, Keyed Array If no CGI requests come in for 30 seconds, cleans data directory of all files older than five minutes and stops beam.vi User Search Expire? Checks to see if current IP address is already in address array. If so, updates the corresponding slot in the time array, otherwise address to end of address array and adds current time to end of time array. Checks all time array and deletes any address/time slot which hasn't been updated in 15 seconds Update Page New Controller? Updates que.htm to tell user their place in the queue by replacing $place$ their index in address array. If user is new controller, changes <!--link--> to load all control frames. Also tells the beam.vi to run or stop (stop if new controller.) Replace Substring, Property Node Run/Stop Returns true if address in front of address array has changed, or if the array is empty. Write Output Release CGI Send the server the updated web page to send to user. CGI Write Reply Tells the server the CGI is finished. CGI Release Figure 3-9: Block Diagram of queueing application (with important subVIs shown in italics) 39 40 Chapter 4 Platform Test When the MSI-Lab had been developed to a state where it was thought possible to use in a class, it was tested in a small graduate class. This test of the MSI-Lab gave insights into its performance that would not be otherwise possible. 4.1 Background The Fall 2001 Structural Dynamics class (course number 16.221) of the MIT Aeronautics and Astronautics department was the rst group of students to use the MSI-Lab. They were given a copy of the handout found in Appendix B.1, and two weeks to complete the assignment. The class consisted of six graduate students, and the assignment was given towards the end of the term. The students were told that the MSI-Lab was in an early stage of development and that they might have problems using it. They were given contact information for the MSI-Lab administrator and were told to notify the administrator of any problems or questions they had with the experiment. 4.2 Student Assignment The experiment the students were asked to perform was based on the outline found in the 16.221 section of Appendix A.4. The students were given access to a cantilever steel beam (see Figure 4-1) to perform structural dynamic studies. They were also given the beam 41 properties and asked to perform an analytical analysis of the beam before carrying out their experiments. The students objectives are to nd the resonance frequencies of the structure both analytically and experimentally and to discuss the results of both methods. H W L Figure 4-1: Diagram of Beam Setup The motivation of such an assignment is that the students would see the limits of the analytical models they had developed in class. By using a remote laboratory, it was expected that the students would perform the experiments shortly after performing the analytical analysis. Perhaps they would have both results on their computer screens at the same time and be able to make rapid evaluations of the results. If they had done everything as expected, the students would have found that the analytical results consistently over estimated the natural frequencies of the structure. While there are numerous possibilities for the discrepancies (as discussed in Appendix B.2) the details are not important. What is really crucial is that the students begin to think about these possibilities. The laboratory assignment also asks the students to explore areas of structural dynamics that are diÆcult to analytically model, such as nonlinear behavior. It also gives them a bit of experience in processing experimental data. 42 4.3 Usage and Performance Data While the students had access to the MSI-Lab, several observations were made of the lab's usage and performance. 4.3.1 Student Usage The student usage of the lab was recorded and is presented in Figure 4-2. This graph shows number of users at a given hour which actually gained control of the beam during the period of the assignment. The dotted lines are located at the midnight hour of each day. For example, on Day 0 (the rst day) there were two users during the hour starting at 9:00 PM Users per hour 4 3 2 1 0 0 Students receive assingment and one during the 10:00 PM hour. Th 1 F 2 Sa 3 Su 4 M 5 Tu 6 Assingment due Users per hour 4 3 2 1 0 6 W 7 Th 8 F 9 Sa 10 Su 11 M 12 Tu 13 Assignment Day Figure 4-2: Number of users per hour which accessed the beam controls during class assignment From this graph it can be seen that the lab was used at least once per day, except on days 2,3 and 9 which fell on weekends. The day before the assignment was due (the eleventh day) had the most number of users, which peaked to four users at the 4 PM hour. 43 4.4 Laboratory Performance There were two major problems with the MSI-Lab platform which were identied during this test. The rst problem was unexpected program errors in National Instruments LabView which caused the entire platform to stop working. The cause of these errors is still under investigation. The problem is believed to be associated with the LabView software, and not the MSI-Lab itself. The technical support sta at National Instruments suggested that the LabView software might be installed incorrectly. No systematic way was found to predict when such a system crash would occur. The only solution to the problem was to monitor the system and restart it when a crash had occurred. The second problem involved the queuing system. When the system was being used to collect data, particularly when a data le was being created, there was a system-wide slow down. The data collection and beam control program were given highest priority to ensure no data was lost. However, the HTTP server would not process requests as quickly as expected. This caused the queuing system to register some of the users as having left the system. As a client is supposed to respond every ve seconds, the original time for the queuing system to wait for a response from a client was 15 seconds. To correct for this problem, the user expiration time was extended to 45 seconds. The problem was not noticed and, therefore, not corrected until the last night of the assignment. 4.5 Student Response During the period of the assignment, only one student contacted the administrator to help with the experiment. This student had no experience using Matlab, and needed assistance using the Matlab scripts. Additionally, several students contacted the administrator to notify him that the system was not responding. This would occur whenever the system crashed. The students were asked to ll out a survey after they used the lab. This survey was designed to obtain feedback from the students and can be found in Appendix B.1. The survey consisted of two parts. The rst part asked the students to give a quantitative value from 1 to 5 on how much they agreed with the given statements. A response of 1 would 44 indicate the student strongly disagreed with the statement, while 5 would indicate a strong agreement. The following are the questions and the mean/standard deviation of the scores. With only six responses, the statistical signicance of the data is questionable, but can give some indication on which areas need improvement. 1. The lab handout was clear. 4.3/0.52 2. The background information on the web site was useful. 3.3/1.37 3. The web site was accessible. 3.0/1.67 4. The experiment controls were easy to understand. 3.2/1.47 5. The Matlab scripts were easy to use and well integrated. 4.7/0.52 6. The system was quick and responsive. 2.5/0.55 7. The system was stable and bug-free. 2.3/0.82 8. I would have learned more by being physically at the lab. 3.2/0.98 9. I felt I had a physical understanding of the experiment. 4.0/1.10 10. This was a good use of my time. 3.3/1.37 In addition to the quantitative responses, the students were asked to write down any additional comments or suggestions. The students provided a large number of comments which will help in the next iteration of the MSI-Lab design. The comments were broken down into generalized statments and are listed below (followed by the number of such comments). Controls confusing/diÆcult to use/cluttered (2) Camera image not clear/helpful (4) Unclear on graph time vs. buer length (4) Data is too noisy (2) 45 4.6 Discussion of the Results and Needed Improvements Based upon the feedback of the students, the MSI-Lab accomplished its goal of providing the students with a mechanical structures experiment which they could remotely manipulate. The students felt that they had as good of an experience as would have had using a more traditional laboratory setup. Despite not being able to physically see the experiment, they said that they had a good understanding of what was occurring. These statements were made despite the MSI-Lab not being fully functional. The ability of the lab to log usage was extremely helpful. The usage data showed that, despite being warned that the laboratory was unstable, many students chose to wait until the last possible night to perform their experiments. The students were also using the system longer than expected. As there was only six students in the class this was not much of a problem. However, the student behavior shows that some scheduling scheme must be in place for a larger class. While this might limit the exibility of having a remote laboratory, not having a schedule risks a log jam of the laboratory on the last night of any assignment. Even with a schedule in use, their usage could still be exible by giving students a specic 24-hour period to use the system instead of limiting them further. The use of the platform by an actual class of students showed that there are several areas of improvement that need to be implemented in the next design iteration. The primary corrections to the system are those associated with system stability. The system needs to be stable independent of the number of users on the system and what tasks they are performing. An unstable system leeds to student confusion and frustration. Before the MSI-Lab is used again for a class, more tests should be performed simulating large numbers of users. Even so, it will be diÆcult to predict all states the system could be put in by users. A number of students who used the MSI-Lab found the structure control interface to be confusing. The user interface is an integral part of the MSI-Lab. One student asked for a better explanation of how to use the controls on the control page, while another complained that the page was already too cluttered. While they had access to all controls they wanted, 46 they had diÆculty using the controls they had. One exception to this was a student who had seen the MSI-Lab demonstrated and the controls manipulated by one who understood them. Thus, one possible solution is to demonstrate the system for each class which would use it. However, the controls should be arranged in a more intuitive manner so that such an in-class demonstration is not required. Perhaps a tutorial on the web site might improve user understanding. There was a page much like Figure 3-6 on the web site, but the students either did not nd that page, or had diÆculty understanding it. Putting more descriptive information on the actual control interface would lead to a more cluttered interface. However, a well developed `help' section and tutorial would solve a number of issues that the students raised including data buer lengths and data noise. Another problem the students noted was the poor quality of the image generated by the camera. While the resolution of the camera image is diÆcult to improve, it is possible to improve its image by using a dierent camera orientation. During the class assignment, the camera was placed directly above the beam looking down. If the image is framed such that the entire length of the beam is shown, even the largest beam displacements are sometimes diÆcult to discern. However, if the camera is placed close enough such that beam movement is easily seen, the entire beam, and thus the mode shapes, cannot be discerned. Placing the camera at the root and slightly above the beam looking along its length would allow the whole beam to be shown and small deections to be better detected. However, such an arrangement would make it diÆcult to keep the whole beam in focus and to make displacement measurements. 47 48 Chapter 5 Conclusion A WebLab that allows users to have access to a mechanical structures experiment via the World Wide Web has been designed and implemented. This MSI-Lab is a framework which allows structural experiments to be performed remotely at any time for any computer connected to the internet. 5.1 Overview The MSI-Lab is a framework which consists of one or more mechanical structures which can be either statically or dynamically actuated. Various sensors are used to monitor the structures' behavior. Remote users can manipulate both the actuator signal and sensor data via the internet. All of the software was implemented using National Instruments LabView development tools. The control signals are sent to CGI applications using HTTP form pushes. User access is coordinated using a queuing application and it is continuously monitored. This lab was tested in a small graduate student class. While overall reaction to the lab concept was positive, there was denite feedback which indicated that the system still needed many improvements. 49 5.2 Successful Results While the MSI-Lab still requires a number of improvements to fully realize all the goals of the project, several accomplishments have been made. As it currently stands, the system is able to remotely actuate a structure, monitor the results, and transmit them to a user. This ability has been integrated into a web site which provides details of the platform and its experiments as well as simulations which can be downloaded. In Chapter 1, a list of project goals was presented. The success of the system in achieving those goals is discussed next. The user experience should be as close as possible to actually being at the laboratory. The system allows users to manipulate all the same inputs available to someone physically in the laboratory. Users are able to monitor the same data and can observe the behavior of the structure using the camera. However, the camera image is of low quality, and all of the inputs and responses are subject to time delays. The students using the lab seemed to agree that the platform is successful in meeting this goal. The user should have access at any time from any computer with a commonly available web browser. With the exception of system down time, this goal has been fully met. The MSI-Lab can be used by users with Windows, Macintosh and UNIX based operating systems. The laboratory should be exible enough to allow for dierent levels of mechanical structures classes to utilize it. The MSI-Lab does not currently have a static actuator which would be required to perform some of the experiments described in Appendix A. Once a static actuator is included, this goal will be met. No special manual adjustments should be needed for the normal operation of the system. The system is currently not stable enough to realize this goal. New laboratory realization should be easily deployed within the platform. In order to test this aspect, a new experiment would need to be developed for the system with someone who did not help in the MSI-Lab development. However, for any new experiment, the sensors and actuators' interfaces will remain the same. Therefore, no diÆculties are expected in the deployment of new mechanical structure experiments. The system should be secure from outside tampering. The experimental section of the 50 web site is password protected, and, thus far, no tampering has been detected. 5.3 Future Work While the improvements discussed in Section 4.6 are required to enhance the MSI-Lab's abilities to conduct the experiment given to the structural dynamics class, other improvements can be done to increase the overall capabilities of the system. The implementation of a static actuator will allow the MSI-Lab to perform simple point load testing. Adding a controllable strobe light will improve the quality of the images produced by the camera and allow the camera to be used to take useful measurements. Work needs to be done to optimize the performance of the queuing routine. One task would be to add a user timer which would both report how long each user accesses the controls, and removes the user from the system after spending a certain amount of time. The latter would prevent one user from controlling an experiment for extremely long periods of time. Additionally, the best numbers need to be found for how often a user should notify the system they are present and how long the system should wait for such a response before removing a user. If the system is notied too often, system resources are wasted. If the system is not notied often enough, or if the wait time is too short, users legitimately waiting in the queue will be removed. A longer wait time means the system will sit idle for longer between users. Improvements also need to be made in system response times. At this point one computer handles all the structure actuation and measurement as well as serving the web site and handling request from remote users. This causes the system to become overloaded at times and it slows down. This is especially noticeable when users take up large amounts of bandwidth downloading data les. Both the queueing problem and the performance issues might be eliminated with the implementation of the `Framework' application (Section 2.2) currently in development. Once these improvements have been implemented, the system should be tested again. It is very desirable that the next test be conducted within a larger group of students, so statistically signicant conclusions can be drawn. This will allow more detailed renements 51 on such aspects as the user interface. Finally on-line structural simulations will be made available on the web-site. Examples of such simulations would be a nite element solver with a graphical user interface or a single degree of freedom mass-spring simulation. These could be used in laboratory assignments so that the students would not need to develop their own analytical models. Like many of the features of the MSI-Lab, the incorporation of on-line simulations into an assignment would be left to the discretion of the course instructor. 52 Bibliography [1] iCampus Home. 15 Jan. 2002. MIT. 25 Jan. 2002 <http://icampus.mit.edu/>. [2] MIT > I-Campus > I-lab. MIT. 25 Jan. 2002 <http://i-lab.mit.edu/>. [3] Anido, L., M. Llamas, and M. J. Fernandez, \Internet-Based Learning by Doing," IEEE Transactions on Education, Vol. 44, No. 2, May 2001. [4] Shen, H., Z. Xu, B. Dalager, V. Kristiansen, . Strm, M. S. Shur, T. A. Fjeldly, J.-Q. Lu, and T. Ytterdal, \Conducting Laboratory Experiments over the Internet," IEEE Transations on Education, Vol. 42, No. 3, August 1999, pp. 180{185. [5] Gonzalez-Casta~no, F., L. Anido-Rifon, J. Vales-Alonso, M. Fernandez-Iglesias, M. L. Nistal, P. Rodriguez-Hernaandez, and J. Pousada-Carballo, \Internet Access to Real Equipment at Computer Architecture Laboratories Using the Java/COBRA Paradigm," Computers and Education, Vol. 36, 2001, pp. 151{170. [6] Aktan, B., C. A. Bohus, L. A. Crowl, and M. H. Shor, \Distance Learning Applied to Contorl Engineering Laboratories," IEEE Transactions on Education, Vol. 39, No. 3, August 1996, pp. 320{326. [7] del Alamo, J. A., L. Brooks, C. McClean, J. Hardison, G. Mishuris, V. Chang, and L. Hui, \The MIT Microelectronics WebLab: a Web-Enabled Remote Laboratory for Microelectron Device Characterization.". [8] Framework. 24 Jan. 2002. MIT. 25 Jan. 2002. <http://icampus.mit.edu/framework/>. 53 [9] I-Lab / Heat Exchanger Project. 9 Nov. 2001. MIT. 25 Jan. 2002 <http://heatex.mit.edu /presentation.html>. [10] Welcome to agpole.mit.edu. MIT. 25 Jan. 2002. <http://agpole.mit.edu/>. [11] Green, D., Sensor Technologies and Application to a Real Time Monitoring System, Master's thesis, Massachusetts Institute of Technology, June 2001. [12] Lingam, S. K., User Interfaces for Multimodal Systems, Master's thesis, Massachusetts Institute of Technology, June 2001. [13] Mishra, T., Real-Time Communication and Control of a Sensored Environment, Master's thesis, Massachusetts Institute of Technology, June 2001. [14] Schlinglo, J., Development of Interactive and Real-Time Educational Software for Me- chanical Principles, Master's thesis, Massachusetts Institute of Technology, June 2001. [15] Chang, V. and J. A. del Alamo, \Collaborative WebLab: Enabling Collaboation in an Online Laboratory.". [16] Chang, V., Remote Collaboration in WebLab - an Online Laboratory, Master's thesis, Massachusetts Institute of Technology, June 2001. 54 Appendix A Example Laboratories The MSI-Lab is designed to accommodate dierent levels of diÆculty for teaching structural mechanics, from sophomore level beam theory, to advanced graduate structural dynamic courses. The following are example laboratory outlines for each structures course currently oered in the Aeronautics and Astronautics Department of MIT which could benet from the MSI-Lab. These are here to show the potential of the MSI-Lab system. Actual laboratories would be designed by the course instructors to fulll their specic educational objectives. A.1 16.010-16.040 - Unied Engineering A.1.1 Objective Experimentally validate the Bernoulli Euler Beam model. A.1.2 Hardware Steel beam with cantilever end condition Steel beam with double pinned end condition Two Static actuators Two Laser sensors 55 5 strain gauges (attached to the cantilever beam) A.1.3 Procedure 1. Using Bernoulli Euler beam theory, determine the displacement of the middle/end of the pinned/cantilever beam as a function of a point load applied to the quarterlength/middle of the beam. Determine the stress state of the surface of the cantilever beam. 2. Apply point loads of varying amplitudes to the beams and record sensor readings. 3. Compare results and explain possible errors A.2 16.20 - Structural Mechanics A.2.1 Objective Observe experimentally the response of a system at resonance frequency A.2.2 Hardware Steel beam with cantilever end condition Heavy mass (attached to free tip of beam) One Laser Sensor One accelerometer One Piezo Actuator A.2.3 Procedure 1. Numerically determine the natural frequency of the system and estimate the increase in response at that frequency. 56 2. Experimentally determine the natural frequency by oscillating the system around the estimated frequency. 3. Measure the dierence between the amplitude of the resonance and 80% resonance. A.3 16.21 - Techniques for Structural Analysis and Design A.3.1 Objective Experimentally validate a Finite Element analysis of a beam with dierent boundary condiions A.3.2 Hardware Steel beam with cantilever end condition Steel beam with double pinned end condition Two Static actuators Two Laser sensors A.3.3 Procedure 1. Apply point loads of varying amplitudes to the beams and record sensor readings. 2. Using the nite element method, determine the displacement of the middle/end of the pinned/cantilever beam as a function of a point load applied to the quarterlength/middle of the beam. 3. Determine number of elements required to converge the analytical analysis to within 1 mm of deection. 57 4. Compare the deection versus load of the experiment with the converged nite element analysis. A.4 16.221 - Structural Dynamics A.4.1 Objective Experimentally nd the natural frequencies and modes of a cantilever beam and compare with those found using analytical methods. Additionally, gain some awareness of nonlinear eects. A.4.2 Hardware Steel beam with cantilever end conditions 5 Strain gauges One Laser sensor One accelerometer One Piezo actuator A.4.3 Procedure 1. Estimate the rst three natural frequencies and modes of the beam using the nite element method. 2. Find the natural frequencies of the physical beam by sending a broadband signal to the actuator. Use provided Matlab scripts to perform a FFT on the data from the sensors. 3. Actuate the beam at the experimentally determined frequencies. Observe its behavior and try to use the strain gauge data to determine mode shapes. 58 4. Stimulate the rst mode at various amplitude and determine if the response is linear. 5. Explain dierences between model and experimental results A.5 16.222 - Mechanics of Filamentary Composite Materials A.5.1 Objective Experimentally validate the Classical Laminated Plate Theory A.5.2 Hardware Composite beam with symmetric layup and cantilever end condition Composite beam with non-symmetric layup and cantilever end condition Two Static actuators Two Laser sensors 12 strain gauges (rosette at root of each beam) A.5.3 Procedure 1. Apply point loads of varying amplitudes to the beams and record sensor readings. 2. Compare results to those found using Classical Laminated Plate Theory. A.6 16.241 Advanced Structural Dynamics A.6.1 Objective Evaluate various sensors abilities to capture structural dynamics responses 59 A.6.2 Hardware Steel beam with cantilever end condition Composite beam with cantilever end condition 10 strain gauges (5 each beam) Two accelerometers Two laser sensors Two piezo actuators A.6.3 Procedure 1. Apply broad band signal to beams. 2. Obtain data using all available sensors at various sampling rates. 3. Observe the abilities of the various sensors to capture higher order resonances of the two dierent beams at dierent data rates. A.7 16.242 - Aeroelasticity A.7.1 Objective Experimentally study response of structurally coupled wing to external excitation. A.7.2 Hardware Composite beam with non-symmetric layup and cantilever end condition 7 strain gauges (3 gauge rosette at base of beam) Two laser sensors One piezo actuator 60 A.7.3 Procedure 1. Analytically determine the response of a structurally coupled wing to sinusoidal fuselage motion. 2. Actuate beam with sinusoidal motion and monitor response. 61 62 Appendix B Sample Lab Assignment This appendix is composed of a sample MSI-Lab assignment for a graduate level structural dynamics course. Both the example assignment and the solution set are presented. Matlab scripts, which would be supplied with the lab, are included in Appendix C.1. B.1 Assignment Mechanical Structures I-Lab The purpose of this lab is to give you an opportunity to study the structural dynamic response of a physical system and compare it to an analytical model. Specically you will look into the natural frequencies and modes of a cantilever beam. Additionally you will study nonlinear eects of a physical system. In this case the system is a steel beam clamped at one end as shown in Figure B-1. The beam's properties are given in Table B.1. The motion of the beam is controlled via a piezoelectric actuator located near the clamped end. Several sensors are used to measure the response of the beam. An accelerometer is attached near the tip of the beam and ve strain gauges are spaced evenly along the length of the beam. Details of the actuator and the sensors can be found at the lab's web site: http://ibeam.mit.edu:8000/ 63 Table B.1: Beam Properties 40:6 cm 2:94 cm H 0:122 cm Esteel 200 GP a steel 8000 kgm 3 L W H W L Figure B-1: Diagram of Beam Setup Procedure 1. Using nite elements, nd the rst three natural frequencies and mode shapes of the beam. 2. Find the natural frequencies of the physical beam. This is accomplished by sending a broadband signal to the actuators. This causes all the modes of the beam to respond. Record the output and use provided Matlab scripts to determine the natural frequencies. 3. Actuate the beam at the resonate frequencies and observe its behavior. Try to determine the shapes of the modes. 4. Observe the nonlinearities of the overall system by stimulating the rst mode with increasing amplitudes 64 5. Write up a report. Make sure you show all your work for part 1. Discuss the observations you made of the physical beam. Explain any dierences between the analytical and experimental results. Include plots the spectral analysis. Determine at what amplitude the beam behavior becomes nonlinear. Instructions for web site Use a computer with both Matlab and Netscape Navigator installed (all Athena terminals will work.) Go to the URL: http://ibeam.mit.edu:8000/ Click on the 16.221 link Enter the user name: 221 and password: ***** The background link contains all sorts of useful information on the experimental setup. The downloads link contains a list of Matlab les to be used for data analysis. Following the experiment link enters you into a queue. When you reach the front of the queue you will be moved to a page that allows you to control the beam. From this page you can modify the signal being sent to the beam actuator and observe the sensor output. Visuals: If you would like to observe the data in pseudo real time you can click on the View Strain Gauge Response and a separate window will be created. This window will contain an animated plot of the strain gauge data. You can modify what is being seen by using the Modify Graph section, just make sure to click on the Modify Graph button, otherwise nothing will change.To observe video of the beam in motion, click on the Video link. Output: To change the output, alter the Signal Type, Frequency and/or Amplitude and click the Update button. The signal will not change until the Update button is pressed Data les: These can be created by entering a lename and click the Record and Save button. Use the Matlab script dataload available in the downloads link to load the data into Matlab. Important: When you have nished using the beam, make sure you click the Done button or close the browser. 65 Student Survey Please take the time to ll out this survey to help us learn how to improve on this lab. Please rate who much you agree with the following statements on a 1 to 5 scale: 1 stating that you strongly disagree with the statement, a 5 stating that you strongly agree 1. The lab handout was clear: 12345 2. The background information on the web site was useful: 12345 3. The web site was accessible: 12345 4. The experiment controls were easy to understand: 12345 5. The Matlab scripts were easy to use and well integrated: 12345 6. The system was quick and responsive: 12345 7. The system was stable and bug-free: 12345 8. I would have learned more by being physically at the lab: 1 2 3 4 5 9. I felt I had a physical understanding of the experiment: 10. This was a good use of my time: 12345 12345 How does this lab compare with a more conventional one? What was the biggest problem with using this lab? Do you have any specic suggestions for improving the web site interface? Do you have any specic suggestions for improving the educational experience of the lab? Should this lab be used again next year? (Yes) (No) (Only if you make the following changes) Any additional comments: 66 B.2 Solution Question 1. Using nite elements, nd the rst three natural frequencies and mode shapes of the beam. The Matlab script at the end of this section was used to perform the FEM study of the beam. Using the given information on the beam, the following beam element matrices were created: 2 66 12 6l 66 6l 4l2 EI K = l3 6 64 12 6l 6l where m 2l 2 2 156 6 6 6 22l ml M = 420 6 6 6 4 54 3 12 6l 7 7 6l 2l2 7 7 7 12 6l 7 5 6l 2l2 is mass per unit length, l 13l 22l 54 4l 2 13l 13l 156 3l 2 22l is the element length, E 3 13l 7 7 3l2 7 7 7 22l 7 5 (B.1) 4l2 is the modulus and I is the moment of inertia. Note that the eects of having the sensors, actuator and associated wiring is not taken into account. This is based upon the assumption that they will have little eect on the system (the wires for instance account for less than 10% of the system weight). The natural frequencies shown below were found using ve elements. A convergence study found that the third frequency was converged to within one percent using just four elements and 0.3% using ve. Convergence on the modes is more diÆcult, and a ner renement is required. Figure B-2 plots the modes shapes created using 20 elements. Also, the modes were plotted using only the displacement data. If the element shape functions had been used instead of just the displacements, smoother plots could be created with fewer elements. !1 = 5:98 Hz !2 = 37:5 Hz !3 = 105 Hz Question 2. Find the natural frequencies of the physical beam. This is accomplished by sending a broadband signal to the actuators. This causes all the modes of the beam to respond. Record the output and use provided Matlab scripts to determine the natural frequencies. Figure B-3 was created using the experimental procedure outlined in the handout. From this gure, one can see that the experimental data had spectral peaks at: !1 = 5:3 Hz !2 = 32 Hz 67 !3 = 60 Hz !4 = 90 Hz 1 0.8 0.6 0.4 0.2 0 −0.2 −0.4 mode1 mode2 mode3 −0.6 −0.8 0 5 10 15 20 25 30 35 40 45 Figure B-2: First three beam modes found using 20 elements Note that all these values are about 85% less than those found analytically, except for the third frequency. The third frequency is not a beam resonance, but a pure electromagnetic interference coming from powering system (60 Hz is the fundamental frequency from all power outlets in the U.S.). Thus, the actual frequencies and the analytical results have the same ratios but dier in scale. The analytical results could be improved by a number of means such as taking into account the weight of the strain gauge wires and the actuator. Adding mass to the analytical model would lower all the frequencies it nds. Another potential source of error is associated with inaccuracies on the beam material properties. Also, it might be that the root of the beam is not perfectly clamped, changing the boundary condition on the problem that directly aects its dynamics. All of these issues, manufacturing, boundary conditions and assumptions can lead to incorrect analytical results. Question 3. Actuate the beam at the resonance frequencies and observe its behavior. Try to determine the shapes of the modes. 68 sg1 sg2 sg3 sg4 sg5 output laser 0.8 0.7 Magnitude FFT 0.6 0.5 0.4 0.3 0.2 0.1 0 10 20 30 40 50 60 70 frequency (Hz) 80 90 100 110 Figure B-3: Spectral analysis of beam response The following plots were created by actuated the beam at 5.3, 32 and 90 Hz, respectively. The plots show the output of all ve strain gauges (in microstrain). Each strain gauge measures the strain on the surface of the beam. From this we can back out the second derivative of the beam displacement. This can be used to make a basic determination of the mode shapes. For example, if the strains at a given time of all the gauges were equal, one could assume that the beam had a constant second derivative. This implies a linearly increasing rst derivative, which leads to a mode with a simple parabolic shape. However, it is important to note that the strains are known at only a few, discrete, locations. In the case of the rst mode (shown in Figure B-4), the strain is largest at the root and goes to zero at the tip of the beam. As all of the measurements are in phase, the beam has no changes in its bending direction. The decreasing strain toward the tip of the beam implies that the curvature of the beam is greatest at the root, and the beam straightens out toward the tip. This is consistent with the analytical rst mode shape. The second 69 mode, Figure B-5 is similar except that the root most strain is out of phase with the rest showing that there is a change in the second derivative of the beam, thus it is bent back. The third mode B-6 shows the rst, fourth and fth strain gauges in phase and the second and third half a cycle out of phase, thus the second derivative changes signs twice. All of these observations are consistent with the mode shapes found from the FEM modeling. Gauge 1 Gauge 2 Gauge 3 Gauge 4 Guage 5 100 micro−strain 50 0 −50 −100 59.22 59.24 59.26 59.28 59.3 59.32 time (seconds) 59.34 59.36 59.38 59.4 Figure B-4: Strain gauge response to 5.3 Hz, 200 V piezo input Question 4. Observe the nonlinearities of the system by stimulating the rst mode with increasing excitation amplitudes The system is actuated at 5.3 Hz at 25 to 200 Volts in 25 Volt increments and the maximum amplitude of the laser output is recorded and plotted (Figure B-7). From the above procedure, no determination could be made on where the system really became nonlinear due to the coarse voltage steps. Therefore, tests were conducted between 10 V and 80 V at greater resolution. The system was found to have a linear behavior up to approximately 60 V input, or a tip displacement of about 2% of the span. No real conclusions can be made 70 20 Gauge 1 Gauge 2 Gauge 3 Gauge 4 Guage 5 15 10 micro−strain 5 0 −5 −10 −15 −20 11.705 11.71 11.715 11.72 time (seconds) 11.725 11.73 Figure B-5: Strain gauge response to 32 Hz, 200 V piezo input on what the causes of this nonlinearity with the acquired data. However, at 5.3 Hz and tip deection amplitude of 2%, the tip moves at speeds up to 0.27 m/s. The apparent mass and damping of the air surrounding the beam may become important, which may start limiting its amplitude further. This is all based upon the assumption that actuation remains linear within the voltage range, which is not the case. However, typically the derivative of the actuation strain as function of applied voltage increases as the PZT material is driven at higher electric elds. Therefore, even though the data clearly indicates a nonlinear response of the beam with respect to applied voltage to the actuator, more data would be needed for a stronger statement of the source of nonlinearity. B.2.1 Matlab script used for question 1 clear %rst input the given beam properties 71 15 Gauge 1 Gauge 2 Gauge 3 Gauge 4 Guage 5 10 micro−strain 5 0 −5 −10 −15 41.714 41.716 41.718 time (seconds) 41.72 41.722 41.724 Figure B-6: Strain gauge response to 90 Hz, 200 V piezo input E = 200e9; rho = 8000; W = 2.94=100; H = 0.122=100; L = 40.6=100; %then determine the rest of the properties needed area = WH; %cross sectional area I = WH^3=12; %moment of interia m = arearho1.05; %mass per unit length 10 %Set number of elements and determine element matrices N = 20; %number of elements l = L=N; %length per element K = EI=l^3[ l l^2 6l 2l^2 l; l^2; 6l; 4l^2]; 12 6 12 6 6 4 6 2 l 12 6 l 12 6 l l 72 20 Figure B-7: Plots used to determine system nonlinearity M = ml=420[ 156 l 22 54 l 13 l 4l^2 13l 3l^2 22 l; 3l^2; 22l; 4l^2]; 54 13 l 13 156 l 22 %Set up the global matrices KT = zeros(2(N+1)); MT = KT; 30 %place the element matrices into the global for i = 1:N B = zeros(4,2(N+1)); B(:,2(i 1)+1:2(i 1)+4) = eye(4); KT = KT+B*K*B; MT = MT+B*M*B; 40 end %Apply cantilever end conditions B2 = zeros(2(N+1),2N); B2(3:2(N+1),1:2N) = eye(2N); KT = B2*KT*B2; MT = B2*MT*B2; %nd the eigenvalues of the system [phi, lam] = eig(MTnKT); 50 %nd the natrual frequencies (in Hz) 73 wn = diag(lam).^.5=2=pi; %nd the mode shapes and plot normalized mode1 = zeros(2N+2,1); mode2 = mode1; mode3 = mode1; mode1(3:2N+2) = phi(:,2N); mode2(3:2N+2) = phi(:,2N 1); mode3(3:2N+2) = phi(:,2N 2); hold o clf hold on plot([0:N].l100,mode1(1:2:2N+1).=mode1(2N+1)) plot([0:N].l100,mode2(1:2:2N+1).=mode2(2N+1),--) plot([0:N].l100,mode3(1:2:2N+1).=mode3(2N+1),:) legend(mode1,mode2,mode3) %xlabel('Position (cm)') %ylabel('Normalized displacement') 74 60 Appendix C Source Code This Appendix includes most of the source code which would be needed to recreate the MSI-Lab. Generating hardcopies of the VIs created in LabView is not possible due to the graphical nature of the G language, but diagrams of the VIs used in the MSI-Lab can be found in Chapter 3. C.1 Matlab Scripts The following Matlab scripts are available to the students for download from the web site. The rst, dataload.m, reads in the data from the generated les and stores them in the Matlab memory as an array. The second, spectral.m, uses the array generated by dataload.m and performs a Fourier analysis of the experimental data. It then displays the results in a graphical format. C.1.1 dataload.m % DATALOAD reads in data from LabView generated text le and returns % arrays out and in# where out is the output value and sg# are the % strain gauge values. The user is prompted for the name of the le. name = input(What is the file name? ,s); [z,t,sg1,sg2,sg3,sg4,sg5,out,las1] = textread(name,%18c%f%f%f%f%f%f%f%f,headerlines,1); 75 C.1.2 spectral.m dt=t(3) t(2); % sampling time interval dt fmax=(1=(2dt)); % upper frequency bound [Hz] Nyquist T=max(t); % time sample size [sec] N=length(t); % length of time vector x = [sg1,sg2,sg3,sg4,sg5,out,las1]; x mean=mean(x); % mean of signal x rms=std(x); % standard deviation of signal X k = abs(t(x)); % computes periodogram of x AS t = (2=N)X k; % compute amplitude spectrum k=[0:N 1]; % indices for FT frequency points f t=k(1=(Ndt)); % correct scaling for frequency vector f t=f t(1:round(N=2)); % only left half of t is retained f Hz = f t.=2=pi; % changes frequency from rad to Hz AS t=AS t(1:round(N=2),:); % only left half of AS is retained %Power Spectral Density: PSD t=(2dt=N)X k.^2; % computes one-sided PSD in Hertz PSD t=PSD t(1:length(f t),:); % set to length of freq vector rms psd=sqrt(abs(trapz(f t,PSD t))); % compute RMS of PSD plot(f t,AS t) xlabel(frequency (Hz)) ylabel(Magnitude FFT) legend(sg1,sg2,sg3,sg4,sg5,output,laser) C.2 HTML les These are the HTML les used by the CGI applications (see Section 3.3.3). These les are read by the CGI applications, altered, and sent to the user. To create the user interface the HTML les are placed into a single page through frames. The nal image is that which is shown in Figure 3-6. C.2.1 Queue HTML <html> <head> <title>Untitled Document</title> http-equiv=\Content-Type" content=\text/html; charset=iso-8859-1"> <!{link{> </head> <meta 76 10 20 <body bgcolor=\#FFFFFF"> are number $place$ in line. <p>&nbsp; </p> </body> </html> <p>You </p> C.2.2 Structure control HTML <HTML> <HEAD> <META HTTP-EQUIV=\Content-Type" CONTENT=\text/html; CHARSET=iso-8859-1"> <LINK rel=STYLESHEET href=\../../itk.css" Type=\text/css"> <META NAME=\Author" Content=\Internet Toolkit"> <TITLE>I-Structures Test</TITLE> <script language=\JavaScript"> <!{ function MM goToURL() f //v3.0 var i, args=MM goToURL.arguments; document.MM returnValue = false; for (i=0; i<(args.length-1); i+=2) eval(args[i]+\.location=' "+args[i+1]+\' ");g //{> </script> </HEAD> <BODY> <p><font face=\Georgia, Times New Roman, Times, serif" size=\+1"> href=\/ibeamwww/ruler.htm" target=\ blank">Show animated strain gauge data </a> (will be opened in separate window)</font></p> <p><font face=\Georgia, Times New Roman, Times, serif" size=\+1"> < a href=\/ibeamwww/ruler2.htm" target=\ blank">Show static strain gauge data </a> (will be opened in separate window)</font></p> <p><font face=\Georgia, Times New Roman, Times, serif" size=\+1"> <a href=\http://torrey.camarades.com/userpage.php3?resource=1002684072 &amp;force resolution=640 480" target=\ blank">Video of beam</a></font> <font face=\Georgia, Times New Roman, Times, serif" size=\+1"> (will be opened in separate window) </font></p> <hr> <a <form ACTION=\/cgi-bin/ibeamcgi/rulercgi.vi" METHOD=\POST" 77 ENCTYPE=\application/x-www-form-urlencoded"> <p><font size=\+2">Graph Control:</font> show which Gauges name=\strain"> <option value=\0">None</option> <option value=\1">Gauge 1</option> <option value=\2">Gauge 2</option> <option value=\3">Gauge 3</option> <option value=\4">Gauge 4</option> <option value=\5">Gauge 5</option> <option value=\6" selected>All</option> </select>, <select name=\peizo"> <option value=\0">no</option> <option value=\1" selected>yes</option> </select> Peizo Signal, <select name=\laser"> <option value=\0">no</option> <option value=\1" selected>yes</option> </select> Laser ?</p> <p>Time duration: <input type=\text" name=\deltat" size=\15" value=\$deltat$"> (seconds) scales the x-axis, defaults to 3. <input type=\submit" name=\Submit2" value=\Modify Graph"> <input type=\hidden" name=\frequency" value=\$freq$"> <input type=\hidden" name=\amplitude" value=\$amp$"> <input type=\hidden" name=\Signal Source" value=\$signal$"> <input type=\hidden" name=\form" value=\/ibeamwww/control.htm"> </p> </form> <hr> <select <form ACTION=\/cgi-bin/ibeamcgi/rulercgi.vi" METHOD=\POST" ENCTYPE=\application/x-www-form-urlencoded"> <H1>Beam Controls</H1> <P> Signal Type : <BR> <select name=\Signal Source"> <option value=\0" selected>Sine Wave</option> <option value=\2">Square Wave</option> <option value=\1">Triangle Wave</option> <option value=\3">Sawtooth Wave</option> 78 <option </select> value=\4">White Noise</option> </p> <p>frequency (0.1-200 Hz) <input type=\text" name=\frequency" size=\15" value=\$freq$"> and amplitude (0-200.0 Volts) <input type=\text" name=\amplitude" size=\15" value=\$amp$">. <input type=\submit" name=\Submit" value=\Update"> <input type=\hidden" name=\form" value=\/ibeamwww/control.htm"> <input type=\hidden" name=\deltat" value=\$deltat$"> <input type=\hidden" name=\strain" value=\$strain$"> <input type=\hidden" name=\peizo" value=\$peizo$"> <input type=\hidden" name=\laser" value=\$laser$"> </p> <p><a href=\/cgi-bin/ibeamcgi/rulercgi.vi?form=/ibeamwww/control.htm& frequency=5&amplitude=0" onClick=\MM goToURL('parent','/ibeamwww /done.htm');return document.MM returnValue"><font face=\Arial, Helvetica, sans-serif"><b><font size=\+3">DONE</font></b></font></a> - Remember to click here when nished with experiment</p> </form> <hr> <p>&nbsp;</p> </BODY> </HTML> C.2.3 Data le save HTML <html> <head> <title>Untitled Document</title> <meta http-equiv=\Content-Type" content=\text/html; charset=iso-8859-1"> <script language=\JavaScript"> <!{ function MM openBrWindow(theURL,winName,features) //v2.0 window.open(theURL,winName,features); //{> </script> </head> <body bgcolor=\#FFFFFF"> <form method=\post" action=\/cgi-bin/ibeamcgi/savecgi.vi"> <p><font size=\+1">Create Data File</font></p> 79 <p>Name of le: type=\text" name=\name" value=\$name$"> <input type=\submit" name=\Submit" value=\create"> <input </p> </form> <p>After creating le wait at least 10 seconds then... <a href=\/ibeamwww/studata/ $name$.dat" target=\ blank">Download le</a></p> </body> </html> 80