72
Test rig for study of pre-synchronization in gearboxes JOHAN HOLMBERG VIKTOR LINDHOLM Bachelor thesis Stockholm, Sweden 2015

Test rig for study of pre-synchronization in gearboxes

  • Upload
    others

  • View
    1

  • Download
    0

Embed Size (px)

Citation preview

Page 1: Test rig for study of pre-synchronization in gearboxes

Test rig for study of pre-synchronization in gearboxes

JOHAN HOLMBERG

VIKTOR LINDHOLM

Bachelor thesis

Stockholm, Sweden 2015

Page 2: Test rig for study of pre-synchronization in gearboxes

2

Page 3: Test rig for study of pre-synchronization in gearboxes

3

Test rig for study of pre-synchronization in gearboxes

Johan Holmberg

Viktor Lindholm

Examensarbete MMKB 2015:69 MKNB 080

KTH Industriell teknik och management

Maskinkonstruktion

SE-100 44 STOCKHOLM

Page 4: Test rig for study of pre-synchronization in gearboxes

4

Page 5: Test rig for study of pre-synchronization in gearboxes
Page 6: Test rig for study of pre-synchronization in gearboxes

1

Examensarbete MMKB 2015:69 MKNB 080

Testrigg för studie av försynkronisering i växellådor

Johan Holmberg

Viktor Lindholm

Godkänt

2015-06-05

Examinator

Ulf Sellgren

Handledare

Ulf Sellgren

Uppdragsgivare

Scania AB

Kontaktperson

Daniel Häggström

Sammanfattning

Detta arbete är en fortsättning på ett tidigare masterarbete inom maskinkonstruktion. I det

tidigare arbetet designades och tillverkades en testrigg för att mäta oljefilmsbortträngning mellan

två metalliska ytor i en växellåda. Syftet med detta projekt är att förbättra konstruktionen och

göra den klar för att kunna användas för verifiering av Daniel Häggströms teori för

oljefilmsbortträngning.

Riggen har omdesignats eftersom den förra konstruktionen inte ansågs tillräckligt genomarbetad.

Den nya riggen har centrerats axiellt för att bli stabilare och vridmoment tas nu upp utan att

skada kraftsensorn eller riggen i sin helhet.

Kretsar har byggts upp som strömförsörjer sensorerna och som extraherar utsignalen från

kraftsensorn. Tre Matlabprogram har skrivits. DataAcquisition.m samlar in data och sparar

denna, Speedometer.m visar kontinuerligt rotationshastigheten på den undre disken och

LoadMatFileProgramShell.m är ett exempelprogram för hur insamlad data öppnas efter att ha

sparats.

En PWM har byggts för att strömförsörja motorn och reglera dess hastighet.

Framtida arbeten skulle kunna vara att ta fram nya koncept för en liknande rigg med denna riggs

styrkor och svagheter i åtanke.

Nyckelord: Datainsamling, Konstruktionsförbättringar, Oljefilmsbortträngning, Testrigg

Page 7: Test rig for study of pre-synchronization in gearboxes

2

Bachelor Thesis MMKB 2015:69 MKNB 080

Test rig for study of pre-synchronization in gearboxes

Johan Holmberg

Viktor Lindholm

Approved

2015-06-05

Examiner

Ulf Sellgren

Supervisor

Ulf Sellgren

Commissioner

Scania AB

Contact person

Daniel Häggström

Abstract

This thesis work is a continuation on an earlier master level work in machine design. In the

earlier work a test rig to measure oil transportation between two metal surfaces in a gearbox was

designed and manufactured. The purpose with this project is to improve the design and to make

the rig ready for verification of Daniel Häggströms theory for oil transport.

The rig has been redesigned because the old design was seen as inadequate. The new design has

its axis aligned throughout the whole rig to become more stable. The torque takes up without

damaging the force sensor or the rig.

Circuits has been built to provide power to the sensors and also to extract the output signal from

the force sensor. Three Matlab programs have been made. DataAcquisition.m collects and saves

data, Speedometer.m shows continuously the rotational speed of the lower disc and

LoadMatFileProgramShell.m is an example program on how the saved data is opened.

A PWM has been built to supply current to the motor and adjust its speed.

Future work could be to develop new concepts for a similar rig with this rigs strengths and

weaknesses in mind.

Keywords: Construction improvements, Data Acqusition, Oil transport, Test rig

Page 8: Test rig for study of pre-synchronization in gearboxes

3

Page 9: Test rig for study of pre-synchronization in gearboxes

4

Page 10: Test rig for study of pre-synchronization in gearboxes

5

Preface

We would like to take this opportunity to thank Ulf Sellgren and Daniel Häggström for the help

and guidance through this thesis work. We would also like to thank Staffan Qvarnström at the

institution of mechatronics for providing electrical equipment, components and for soldering the

PWM together. Another person we would like to acknowledge is Tomas Östberg who has helped

a lot with manufacturing and modification of components. Last but not least we would like to

thank Peter Ericson and Praveen Ramachandran for insight and general knowledge of the rig.

Johan Holmberg and Viktor Lindholm

Stockholm, May 2015

Page 11: Test rig for study of pre-synchronization in gearboxes

6

Page 12: Test rig for study of pre-synchronization in gearboxes

7

Nomenclature

This chapter lists the labels and contractions that are used in this thesis work.

Labels

Symbol Description

F Force (N)

Voutput Voltage (V)

Vbase Voltage (V)

K Scaling factor (N/V)

Contractions

CAD Computer Aided Design

3D Three-dimensional

Matlab Matrix Laboratory

IEPE Integrated Electronic Piezoelectric

DAQ Data Acquisition unit

PWM Pulse Width Modulation

MAX Measurement and Automation Explorer

Page 13: Test rig for study of pre-synchronization in gearboxes

8

Table of contents

1 Introduction 11

1.1 Background 11

1.2 Purpose 11

1.3 Delimitations 11

1.4 Method 11

2 Frame of reference 13

2.1 Impact of synchronization speed in gear change 13

2.2 Principal function of the rig 13

2.3 Self-aligning ball bearing 15

2.4 Angle link 15

2.5 Solid Edge ST6 15

2.6 Matlab 15

2.7 Force sensor and its signal circuit 15

2.8 Encoder 17

2.9 Displacement sensor 18

2.10 Data acquisition unit 19

2.11 PWM 20

3 Implementation 21

3.1 Design modifications 21

3.2 DAQ 24

3.3 PWM 25

3.4 Matlab 27

3.5 Sensor cables 27

3.6 Sensor power supply 28

3.7 Force sensor circuit 28

Page 14: Test rig for study of pre-synchronization in gearboxes

9

3.8 Displacement sensors 29

3.9 Encoder 29

4 Results 31

4.1 Manufactured parts 31

4.2 Force sensor circuit 33

4.2.1 Alternative 1, IEPE configuration 33

4.2.2 Alternative 2, current regulation 34

4.3 PWM motor controller 35

4.4 Matlab programs 36

4.4.1 DataAcquisition.m 36

4.4.2 Speedometer.m 38

4.4.3 LoadMatFileProgramShell.m 39

4.4.4 calculateSpeed.m 39

4.4.5 calculateNumberOfPulses.m 39

4.4.6 plotData.m 41

5 Discussion and Conclusion 43

5.1 Discussion 43

5.2 Conclusion 44

6 Recommendations and Future work 45

6.1 Recommendations 45

6.2 Future work 45

7 References 47

Appendix A: Pin draft 49

Appendix B: Cap draft 50

Appendix C: Upper disc draft 51

Appendix D: Lower disc draft 52

Appendix E: Data acquisition equipment 53

Page 15: Test rig for study of pre-synchronization in gearboxes

10

Appendix F: DataAcquisition.m 54

Appendix G: Speedometer.m 58

Appendix H: LoadMatFileProgramShell.m 60

Appendix I: calculateSpeed.m 61

Appendix J: calculateNumberOfPulses.m 63

Appendix K: plotdata.m 64

Appendix L: How to test the DAQ 65

Appendix M: Setting up the equipment 67

Page 16: Test rig for study of pre-synchronization in gearboxes

11

1 Introduction

This capture describes the background, purpose, delimitations and method of the accomplished

Bachelor thesis.

1.1 Background

This thesis work has its background in that Scania wants to make their gearboxes more efficient.

Scania asked KTH to measure the oil transport that occurs in the synchronizing phase during a

gear change. In 2014 KTH started a project with a group of students to develop and build a

concept of a test rig.

1.2 Purpose

The purpose of this project is to finalize the test rig from 2014 and to get it ready for tests. This

by making necessary changes in the rigs design to ensure the test results credibility. The test data

should also be collected for future evaluations. Rotational speed, applied force and thickness of

the oil film are the data parameters that are interesting. The goal is to help Scania in their

endeavour for more efficient gearboxes for their trucks and buses.

1.3 Delimitations

The project will not evaluate the test results but solely focus on making the test rig ready for

tests. Due to time limitations the sensors will not be calibrated. For the same reason the project

will also not develop any new concepts for another test rig. No device for oil infusion will be

developed as it is beyond the scope of this project.

1.4 Method

A literature study initiated the project with focus on earlier work on the test rig and its

components. A visit to Scania was made as part of the literature study. The literature study was

continued during the project time. Because of the unfamiliarity with this kind of project the

method will mostly consist of finding a good solution and then solving the different problems

that arise as they come.

Design of components was made in the CAD-program Solid Edge ST6 and Matlab was used for

data acquisition.

Page 17: Test rig for study of pre-synchronization in gearboxes

12

Page 18: Test rig for study of pre-synchronization in gearboxes

13

2 Frame of reference

This chapter summarize earlier available knowledge of the components and the test rig.

2.1 Impact of synchronization speed in gear change

When a gear change is made a sleeve is pushed against a synchronization ring and the chosen

gear. The synchronization ring synchronizes the speed of the gear and the sleeve, and blocks

meshing of the two so that the teeth are not damaged. When their relative motion is zero the

sleeve can mesh with the gear. The synchronization speed is important because it affects the time

it takes to change gear and the smoothness of the change. It is especially important for large

trucks which change gear frequently.

2.2 Principal function of the rig

The test rig that was built in 2014, see Figure 1, uses an extension spring to create a force that is

released with a pin. The force from the spring then pushes down the components in the center of

the rig because of the moment that is created. The force then travels through the lockable ball

joint and the force sensor to the upper disc. The upper disc then pushes down on the rotating

lower disc that is driven by a motor with a gearbox. Oil is poured on the lower disc and is

transported over the disc by centrifugal force. The force sensor measures the applied force and

the displacement sensors measure the distance between the upper and lower disc. According to

Angelopoulos, Bozorg, Ericson, Ramachandran and Xiaoyu (2014) can the rig be used to verify

theoretical and simulation results experimentally.

Page 19: Test rig for study of pre-synchronization in gearboxes

14

Figure 1 – CAD model of the rig from 2014.

The four dampers between the two yellow bottom plates, as well as the four legs, take up

vibrations that occur in the system during test running. On top of the smaller bottom plate sits a

thrust bearing to take axial load and inside the plate sits a ball bearing to take radial load, see

Figure 2.

Figure 2 – Section view of the rig.

In the upper part of the rig four ball bearings is mounted to limit the possible movement of the

components that pushes down on the lower disc, see Figure 2.

Page 20: Test rig for study of pre-synchronization in gearboxes

15

2.3 Self-aligning ball bearing

A self-aligning ball bearing, see Figure 3, has an outer ring with a spherical raceway which

allows the bearing to tolerate small angular misalignment between its inner and outer rings,

Wikipedia (2015). The self-aligning ball bearing was developed by Sven Gustaf Wingqvist.

Figure 3 - Section view of self-aligning ball bearing, SKF (2015).

2.4 Angle link

An angle link, see Figure 4, is a component that is used to connect two parts in an angle that, in

other ways is not possible.

Figure 4 – Angel link, Wiberger (2015).

2.5 Solid Edge ST6

Solid Edge ST6 is a 3D-CAD program that features software tools like 3D modeling and

drafting, Siemens (2015). Single part models can be put together to create an assembly of

different components. It’s often used by engineers to design components for manufacturing. This

way the user can see the component before it’s manufactured and make changes at an earlier

stage of the design process which make the process faster and more cost effective.

2.6 Matlab

Matlab stands for Matrix Laboratory and is a common program for engineers. It is a high level

language and interactive environment, MathWorks (2015). It can be used among other things to

analyze and capture data. There are many modules available to increase Matlabs capabilities.

One of those is the DAT (Data Acquisitions Toolbox) module which can collect data from data

acquisition devices such as those from National Instruments.

2.7 Force sensor and its signal circuit

The sensor, see Figure 5, is of the IEPE type which means that it is powered by the same two

wires that it uses as output for its signal. Connecting the sensor to a voltage source without

Page 21: Test rig for study of pre-synchronization in gearboxes

16

current limiting will destroy the inbuilt electronics. The sensor is meant to measure dynamic

force and not static force. Important data for use in this project can be seen in Table 1 and has

been taken from Dytran (2015).

Figure 5 – 1050V3 force sensor, Dytran (2015).

The sensor comes with a special red cable with a BNC connector in one end. Cable length is only

1.5 m so the capacitance of the cable should not affect high frequencies noticeably, although it

has not been calculated (long cables act as low-pass filters).

Table 1 – Sensor data for the force sensor.

Sensor data

Type IEPE

Run by (constant current) 2-20 mA / 18-30 VDC

Nominal output voltage 5 V

Compression range 100 Lbs

Maximum compression 2000 Lbs

Resolution 0.0014 Lb RMS

Cable Model 6011A, 10-32

plug to BNC plug

A little terminology used with IEPE sensors (for more see MMF (2015)). Bias voltage is the

voltage drop over the sensor when it is unloaded. Output voltage is the voltage from the sensor

induced from the measurement. Compliance voltage is the voltage that can be given from the

current source over the sensor. If the compliance voltage is lower than bias + output then the

signal will be cut and the full range of the sensor cannot be used. As a rule of thumb the

compliance voltage should be 2 V above what is necessary.

The way it works is that the sensor varies the voltage over itself and thus also over the parallel

capacitor and resistor. The voltage drop consists of a DC bias voltage and a AC dynamic voltage

(the output signal). These voltages are superimposed upon each other and thus the DC

component needs to be filtered out, leaving only the AC to be measured. The capacitor blocks

the DC component from reaching the resistor and only the AC voltage component can be read

over the resistor. The resistor voltage is the output signal.

The sensor should be run at a constant current, the power supply will have to change its voltage

to maintain that current.

The capacitors capacitance might need to be adapted to the measurements dynamic speed so that

the low frequency cut-off is set to filter out the bias voltage but not the dynamic signal from the

sensor. Note that AC does not mean sinusoidal but a rapidly changing signal.

Page 22: Test rig for study of pre-synchronization in gearboxes

17

The AC signal can be extracted with the circuit in Figure 6. This particular circuit supports three

IEPE sensors at the same time. However it is run by a constant voltage source and the current is

only limited, not kept constant.

Figure 6 – Original current limiting circuit for IEPE which this projects circuit is based on.

2.8 Encoder

This sensor, see Figure 7, is mounted on the back of the motor. It produces a square wave where

every peak represents a sensor actuation (Hall effect sensor), Dunkermotoren (2015). There are

twelve pulses per axel rotation. The encoder has two output connectors A and B. Only one of

them is necessary to measure rpm. Important data can be seen in

Table 2 and definitions of the wires in Table 3, and has been taken from Dunkermotoren (2015).

Figure 7 - ME52-12, Magnetic pulse generator, Dunkermotoren (2015).

The encoder should be connected to a +5 VDC source, if not then the variables logical_low/high

in the Matlab programs might need to be changed (not necessarily since low voltage from the

encoder is still 0.4 V).

Table 2 – Sensor data for the encoder.

Sensor data

Low voltage 0.4 VDC

Page 23: Test rig for study of pre-synchronization in gearboxes

18

High voltage Supply (5-24 VDC)

Pulses per revolution of motor 12

Table 3 – Definition of the encoders colored wires.

Connector color Purpose

Red +5...+24V

Yellow Output A

Black GND (0V)

Green Output B

2.9 Displacement sensor

In this project there are two displacement sensors, see Figure 8, fastened to the upper non-

spinning disk. They detect metallic surfaces and their detection diameter is smaller than the

sensors size. These sensors have inbuilt electronics and does not need any filters or amplifiers.

They should be mounted so that they never press against a surface, otherwise they or the surface

might be damaged. Important sensor data are presented in Table 4 and has been taken from

Micro-Epsilon (2015).

Figure 8 - Eddy NCDT 3001 displacement sensor, Micro Epsilon (2015).

The sensors output signal is 10 V (24 VDC input) when no surface is detected and is close to 0 V

when in contact with a metallic surface. The recommended input voltage is 24 V.

Table 4 – Sensor data for the displacement sensor.

Sensor data

Input voltage 12-32 VDC

Output voltage (24 V) 10 V

Cut-off frequency 5 kHz

Measuring range 4 mm

Resolution 4 μm

Cable 5-pin M12-connector

2.10 Data acquisition unit

In Figure 9 is the NI-USB 6008 DAQ unit used in this project. It is connected via USB to the

computer and needs no other cables or power supply. It does not have an internal clock. There is

one 5 VDC (200 mA) output power supply on it and can be used to drive small sensors (like the

Page 24: Test rig for study of pre-synchronization in gearboxes

19

encoder). There is also one 2.5 VDC output used solely for self-testing purposes. When

connected to a computer a green LED will blink repeatedly. If it does not then something is

wrong (probably need to upgrade the drivers). Important data can be seen in Table 5, and has

been taken from National Instruments (2015).

Figure 9 - NI USB 6008 DAQ, National Instruments (2015).

The drivers for the DAQ unit need to be installed on the OS and be of version 9.1 or later,

National Instruments (2015).

Page 25: Test rig for study of pre-synchronization in gearboxes

20

Table 5 – Sensor data for the DAQ unit.

Sensor data

Measurement range (analog input) +-10 V (single-ended)

Maximum sample rate 10 kHz

Analog input resolution 11 bits (single-ended)

Number of analog inputs 8 (single ended)

Cable USB-connector

2.11 PWM

A PWM can be used to power electric motors. It chops up a DC voltage into a square wave. The

output voltage is determined by the mean of the square wave. Typically it is calculated by

multiplying the max voltage with the duty cycle. It is worth noting that this formula is not very

accurate when induction or capacitance is introduced. The duty cycle determines in percent how

long the "on" period is compared to the "off" period of the square wave. The signal frequency

can be changed and can be used to lessen the noise produced by the motor fed by the PWM.

Page 26: Test rig for study of pre-synchronization in gearboxes

21

3 Implementation

This chapter describes the work process of the project.

During the whole project contact with Daniel at Scania was maintained to make sure that the

project would not deviate from what was intended. When the project started there was almost no

documentation left from the previous group so an extensive search for information was done.

This included finding the files and reports, and figuring out what everything left for the project

was for. It turns out the sensor circuit and the cable for the force sensor had been lost.

The manuals for the equipment were found on the internet. From these the voltages and

requirements could be determined. The circuit had to be rebuilt and it was done on a breadboard

for convenience. Power supply and most electric components were obtained from Mechatronics

at KTH.

3.1 Design modifications

In the beginning of the project the necessary modifications that was identified was the limitation

of the upper components movement. The design only limited movement in one direction and

made the construction unstable, see Figure 10.

Figure 10 – Identified design problem.

The first proposal to solve this problem was to replace the ball bearings by inserting a house

instead, see Figure 11. In the house there would be placed two bushings to make the shaft move

easily up and down but still solve the problem. The shaft would also be replaced with a

cylindrical shaft instead of a square shaft.

Page 27: Test rig for study of pre-synchronization in gearboxes

22

Figure 11 – ISO and Section view of bushing house with bushing and shaft.

Another problem that was identified at an early stage of the project was that there was nothing to

stop the oil from spraying all over the rig. Therefor a simple shield was proposed that would stop

the oil. Figure 12 shows one of two identical parts that could be put together to make a square

around the lower rotation disc.

Figure 12 – Oil shield.

Another problem that was detected was the torque that the lower disc would create on the upper

disc when they got into contact and how that would affect the force sensor and the lockable ball

joint. Dytran was contacted for data about the force sensor and Wiberger, as distributor of the

ball joint, was contacted for data. The sketch that was sent to Dytran can be seen in Figure 13.

Number 1 is the lower disc, number 2 is the upper disc and number 3 is the force sensor.

Page 28: Test rig for study of pre-synchronization in gearboxes

23

Figure 13 – Principal sketch of the interaction between lower disc and upper disc.

Both Wiberger and Dytran answered that they had no data on how much torque the components

was able to sustain and still function properly. The decision was made to redesign some of the

components so that no torque would affect the force sensor and the lockable ball joint. This was

seen as the most important problem to solve and the solution of the limitation problem in Figure

11 was seen as less important.

A hole was made in the center of the lower disc and a pin was inserted by applying pressure, see

Figure 14. On the other end of the pin a self-aligning ball bearing was mounted. The bearing that

was chosen to design the pin, cap and upper disc around was the model 2200 E-2RS1TN9 from

SKF. The ball bearing can move easily on the pin. This solution stabilizes and aligns the upper

and lower parts in the design. The ball bearing is mounted between the upper disc and the cap

that is connected by a screw joint. On top of the cap there is a threaded hole where the force

sensor is mounted. The thoroughgoing hole in the cap is to enable data acquisition from the force

sensor, which is received at the bottom of the sensor. The drafts of the components in Figure 14

and Figure 15 can be seen in Appendix A-D.

Page 29: Test rig for study of pre-synchronization in gearboxes

24

Figure 14 – Section view of the new components.

To take up the torque two angel links have been connected in the upper disc and the threaded rod

connects with the frame. This will take up the torque and it will not affect the force sensor.

Figure 15 – ISO view of the new components.

The angel link that was bought from Wiberger is of model DIN71802 AS M6, see Figure 4. The

threaded rod of model GS 8.8 M6 was also bought from Wiberger.

3.2 DAQ

At first research had to be done about how sensors should be connected, what would change with

different supply voltages and so on. It was discovered that only one wire from each sensor was

needed and one reference ground wire (since all sensors are fed by the same source). It was also

Page 30: Test rig for study of pre-synchronization in gearboxes

25

found that the DAQ can only measure +-10 V this way and that it will be damaged by voltages

over 35 V. Great care was taken to not damage the DAQ with too large current/voltages.

The DAQs analog input terminals were tested to see if there were any that did not give good

measurements. This was done by generating 5 V on one output terminal and measuring the

voltage on the input. This was done with MAX. When this test was performed during the project

the result was the following in Table 6. Clearly the ai4 and ai1 terminals should be avoided if

possible.

Table 6 – Results of the tests on the analogue input terminals.

output 5 V on ao0 terminal

Terminal Read value

ai0 5.01V

ai1 4.92V

ai2 5.00V

ai3 5.00V

ai4 4.05V

ai5 5.01V

ai6 5.00V

ai7 5.01V

3.3 PWM

A way to regulate the speed of the motor and to power it had to be found. The motor would need

to be driven at vastly different speeds (1200-3300 rpm) and that meant different voltages. Using

a potentiometer to change the output voltage was deemed unrealistic and mechatronics at KTH

had small PWM circuits. So a PWM solution was determined to be the best. Before choosing a

PWM the motors required voltage and current had to be determined. During both start up and

continuous running. The PWMs that were available via Mechatronics was meant for smaller

motors and would not be able to handle the necessary current and voltages. Thus a better PWM

had to be ordered and soldered together. The PWM needed to be able to use both the wall

mounted power supply at mechatronics and car batteries in series (12.6 + 12.6 = 25.2 V),

because the power supply at mechatronics might be too weak with only 4 A and 24 V. The

batteries can easily give 40 A so caution is advised.

The Velleman K8004, see Figure 16, was chosen because of it overload and current protection,

its voltage rating (35 V) and its low price. There were others with higher current rating but they

would not be able to use the car batteries (>24 V) and at such low voltages the motor might

require larger currents than the supply at Mechatronics can deliver. Important data can be seen in

Table 7 and has been taken from Kjell och Company (2015).

Page 31: Test rig for study of pre-synchronization in gearboxes

26

Figure 16 - Velleman K8004 pulse width modulator, Velleman (2015).

Table 7 – PWM data.

Circuit data

PWM range 0-100 %, adjustable

PWM frequency 100-5000 Hz, adjustable

Protection Short circuit protection

Overload protection 6.5 A

Power supply 8-35 VDC unregulated

Supply current (no load) 3.5 mA

Efficiency Better than 90% at full load

Besides the PWM circuit a way to control it was needed. The output could be controlled by an

outside voltage but the DAQ would be needed to do this and that would mean using a

background program (to control the PWM) running while the other programs were used to

gather/show data. The output of the DAQ is only 5 V and that would mean that only a small

voltage "window" could be used to control the motor. This would make it harder to fine-tune the

speed. So instead a potentiometer was used which would give a voltage window from zero up to

the supply voltage (max 35 V).

At 24 VDC supply the motor can draw a continuous current of 4.9 A. But the motor will not be

heavily loaded during normal run conditions so the current should be much lower (0.4 A no load

current). The only danger is the startup current of 40 A (24 V). An early idea to protect against

startup current was using a temperature dependent resistor (NTC resistor). This would make the

resistance high when starting from rest and then lower the resistance as it got hotter. However

this might not be a good solution and would need a cool down time in between stopping and

starting the motor, so instead a 6.3 A fast acting fuse was used between the circuit and the

supply. The fuse would protect the circuit against too large currents and by manually increasing

the speed slowly from zero the current could be kept as low as possible.

The PWM was mounted inside a box and holes were drilled for cables, ventilation and the panel-

potentiometer. Using the PWM to power the motor would heat it up. To cool it down a small fan

was mounted on top of it, which is powered by an old cellphone charger. Cables were fixed to

the screw terminals on the PWM. Screw terminals were also fixed to these cables so that

connecting the motor and power supply would be as easy as possible

Page 32: Test rig for study of pre-synchronization in gearboxes

27

3.4 Matlab

There are two different "interfaces" to use when capturing data in Matlab. According to Tech

Teach (2015) the DAQ can use both. The "session-based interface" can be used on both 32 and

64 bit Matlab, but the "legacy interface" cannot, Mathworks (2015). As such the session-based

interface was used so that no matter which Matlab version was to be used the programs would

not need rewriting.

At first programs were written that simply tested different solutions or small parts like saving or

loading data. For example a program was made that simply produced a noisy square wave and

then filtered it. When the results were satisfactory the actual programs were written. As time

went on small add-ons and changes were done to the programs. An important goal was to make

the programs easy to use and easy to alter. To make the programs easy to alter they use function

files that can be changed separately. If for example a way to use the counter channel on the DAQ

is found (as analog data is gathered) then the function that counts pulses can be removed. The

programs also print out text in the command window so that the user always knows what is

happening. For example if data is saved then it prints "Data saved". If the user wants to change

the programs then it would be best to avoid having to dig in the code and changing it in multiply

locations. To simplify this a control panel at the start of the major programs was created where

settings can be changed.

As soon as digital (digital and counter) and analog data acquisition was attempted at the same

time it turned out that they were not compatible. This was because the DAQ did not have an

internal clock. After more research and a few different attempts the idea was abandoned and

instead only analog acquisition was used. However analog acquisition of the signals from the

encoder meant that the pulses needed to be counted by Matlab. At first a function was made that

counted the number of times the signal raised above a certain value. After a little more thought

this was improved upon by adding a filter function that cleans the signal from noise. This is

because the DAQ have a lot of noise on its input and if the noise would make the signal cross the

border (between high/low) several times the pulse counter would count too high.

Originally the DAQ was meant to capture data at 5 kHz but this turned out to be impossible

when all channels were in use. To get around this the data capturing program was given the

choice to enable/disable one displacement sensor and the speed sensor. These sensors were

determined to be the least vital, since only one displacement sensor is necessary and the rpm

once set should not deviate too much.

3.5 Sensor cables

The displacement sensors cables had been cut open by the previous group and two wires were

stuck together in a socket. However this socket could not be connected to the bread board and

the circuit they were meant for were lost so connection wires were simply stuck into it. The

wires were not marked so ground, supply and signal had to be determined. This was done by

"ringing" the cables i.e. testing the ends with the connections on the other end of the cable and

seeing if a signal was sent through. Then the wires were marked with labels. Upon realizing that

the cable for the force sensor was missing a new one was ordered. The cable has a special

connector that could not be obtained separately. To connect it to a breadboard a female BNC had

to be obtained.

Page 33: Test rig for study of pre-synchronization in gearboxes

28

3.6 Sensor power supply

The sensors all had to be powered some way. This was easily done using one breadboard. It

would be better to outfit the wires with connectors and soldering female connectors to a

perfboard but there were not enough time (the idea to not use a breadboard came very late).

The power supply was borrowed from mechatronics and is shown in Figure 17. It has +5, +-12

and +24 VDC outputs. Only 5 and 24 V is used. Banana-plug cables and cable adaptors are

needed to connect the power supply to the breadboard, see Figure 18. This supply cannot power

the motor since it can give at most 2 A at 24 V.

Figure 17 – Power supply, constant voltage.

Figure 18 – Banana-plug connector and adapter.

If for any reason there is no 5 V output available the 5 VDC output on the DAQ can be used to

power the encoder. The DAQ can supply a maximum of 200 mA. The encoder draws 12 mA (12

V). Beware, the DAQs power supply is always on!

3.7 Force sensor circuit

After looking at the original circuit the previous group scaled down for use in this project, and

their schematic in the report it turned out that they were not identical. Instead of connecting the

signal resistor in series with the capacitor they had instead connected it in series with both the

sensor and capacitor. This meant that the AC signal was not filtered out and the capacitors were

not doing anything. However they claimed that the circuit was used to filter out the signal. It is

reasonable that the figure were mistaken, especially since it labeled the 10 μF capacitor as 10 uC.

After the force sensor circuit had been rebuilt (according to IEPE standard as was the intent) it

was tested and it turned out that the output signal was not proportional to the applied force, but

rather the change in force. A thought occurred that the output from the sensor might actually be

proportional to the force and after testing this turned out to be correct. Since the actual force is

Page 34: Test rig for study of pre-synchronization in gearboxes

29

probably more informative then the change in force, this might be used instead of the original

idea. This circuit acts as the one in the previous groups report would, only the capacitors have

been removed. The circuit was tested with and without the capacitors to see if there were any

good filtering of the signal because of them but the test results were identical (the sensor has an

inbuilt filter). The current limiting resistors were lowered to 4 kΩ (from 6) because the current

were otherwise too low to power the sensor.

3.8 Displacement sensors

Since in the new design of the rig the displacement sensors needed to be moved out close to the

edges there was a need to know if this would affect the measurements. The sensors side was

brought close to, and even in contact with a metallic surface. This did not affect the

measurements and it turned out that the sensors detection area was smaller than the sensors

physical size. When two active sensors were brought close to each other there was a large

disturbance in the output. The sensors can be driven on 12-32 V, however when 12 V were tested

there was no output signal.

3.9 Encoder

At first it was said by the previous group that they thought to measure the speed with a optic

tachometer. Some research regarding that was done and some ideas formulated. For example

where the speed should be measured and potential pitfalls (the lower disc could be covered in oil

and that might affect an optic measurement). However later it was discovered that they had

already bought and mounted a magnetic pulse generator (encoder) to the motor. There are two

output wires from the sensor. According to Anaheim Automation (2015) the wires both output a

square wave but they are phase shifted from each other. This is useful if the motor direction

needs to be known. That information is not needed for this project and thus only one should be

used (A or B). It could not be determined from the data sheet how many pulses the encoder

would give for every full rotation of the motor (2, 8 or 12). This was determined by rotating the

lower disc and counting the pulses. Upon closer inspection the name of the encoder was ME52-

12, which might be an indication that there are in fact twelve pulses per rotation. Since the motor

is connected to a gearbox with a ratio of 6.25:1, Dunkermotoren (2015), the encoder will give 75

pulses per rotation of the lower disc. This was also experimentally confirmed.

Page 35: Test rig for study of pre-synchronization in gearboxes

30

Page 36: Test rig for study of pre-synchronization in gearboxes

31

4 Results

The results of the project are presented in this chapter.

4.1 Manufactured parts

The parts that were sent to manufacturing are those that can be seen in Figure 14 and Figure 15.

The pin that will keep the upper and lower parts axis aligned can be seen in Figure 19.

Figure 19 – Manufactured pin.

Figure 20 shows to the left the modified upper disc that has room for the self-aligning ball

bearing in the center of the part. To the right is a CAD-model on the upper disc before the

modification was made.

Figure 20 – Modified upper disc to the left and original upper disc to the right.

Page 37: Test rig for study of pre-synchronization in gearboxes

32

Figure 21 shows the new cap that includes the screw joint to be mounted on top of the upper

disc, see Figure 20. To the right is a CAD-model of the old cap that was replaced. The

displacement sensor that earlier was mounted in the cap is instead moved to the upper disc, see

Figure 20.

Figure 21 – Manufactured cap to the left and the old cap to the right.

In Figure 22 is the modified lower disc. The hole in the middle has been added so that the pin in

Figure 19 can be pressed in.

Figure 22 – Modified lower disc.

Page 38: Test rig for study of pre-synchronization in gearboxes

33

4.2 Force sensor circuit

The force sensor was originally intended in this project to be used as an IEPE sensor, see Figure

24. In this configuration the output will depend on the derivative of the force i.e. the faster the

force changes the larger the output becomes. If however the force remains constant then the

output will be zero. It is probably more desirable to measure the actual force acting on the

sensor. To be able to do this the circuit for the sensor has been modified, see Figure 26. With this

configuration the output voltage scales with the applied force. It does this by changing the

current through the sensor. Since the circuit is mounted on a breadboard it is easy to switch

between the configurations. To go from IEPE to current regulation simply remove the capacitors

and put the 1 kΩ resistor in series with the sensor. Both solutions are presented below.

This circuit, see Figure 23, is only used to distribute power to the sensors and have one output

used as common ground for the DAQ. This cable is marked as "GND Out" and is connected to

one GND terminal on the DAQ.

Figure 23 – Power distribution circuit.

4.2.1 Alternative 1, IEPE configuration

The output signal is dependent on the derivative of the force with respect to time.

Figure 24 – Filter circuit for the force sensor used to extract the output signal.

Page 39: Test rig for study of pre-synchronization in gearboxes

34

The filter is simply a scaled down (and slightly modified) version of the one in Figure 6. One

problem with this solution is that the circuit is powered by a 24 VDC source (battery or other)

and not constant current. The 4 kΩ resistor limits the current. In the modified circuit the

maximum current is 4.2 mA, however it will change as the sensor is actuated.

In reality the circuit consists of four 1 kΩ resistors in series (to get 4 kΩ), two parallel 4.7 μF

capacitors (to get 9.4 μF) and one 1 kΩ resistor to get the output signal from. The force sensor is

connected via its cable to a BNC female connector, which is connected to the bread board. The

output signal wire is labeled as "Out", see Figure 25.

Figure 25 – Actual sensor wiring.

4.2.2 Alternative 2, current regulation

The output signal is dependent on the applied force. Equation (1) gives the measured force.

( )output baseF V V K (1)

Where outputV is the measured voltage, baseV is the measured voltage when there is no force acting

on the sensor. K is a scaling factor and F is the applied force.

Figure 26 – Circuit for the force sensor, current regulation.

Figure 27 shows the real circuit. The capacitors have simply been removed and the BNC

connector wire moved so that it is now in series with the last resistor.

Page 40: Test rig for study of pre-synchronization in gearboxes

35

Figure 27 – Actual sensor wiring.

4.3 PWM motor controller

The voltage output of the PWM is controlled by a panel-potentiometer mounted on the short side

of the box. When this potentiometer is turned all the way counter-clockwise the output is at its

lowest. To trim the duty cycle to the voltage over the potentiometer there are three

potentiometers soldered on the circuit. They control max/min voltage and frequency. Frequency

can be trimmed to lessen the noise from the motor. However this circuit only goes up to 5 kHz

and is therefore still within hearing range. The voltage from the PWM when the control signal is

zero can be set to a non-zero value. This means that it can be tuned so that the motor slowly

increases its speed (up to a certain rpm since the back-voltage increases with rpm) when the

control signal is zero. This might be useful but needs to be trimmed in on the rig to account for

friction To check the output voltage attach a 4.7 kΩ resistor over the output (acts as load) and

measure the DC voltage over the resistor. The cables marked as "GND sup" and "+ Supply" are

for the power input. The grey cable marked as "motor" is the output. The PWM can be seen in

Figure 28 and Figure 29.

.

Figure 28 – Front of PWM with potentiometer.

Page 41: Test rig for study of pre-synchronization in gearboxes

36

Figure 29 - Inside of PWM.

4.4 Matlab programs

For the DAQ to work with Matlab the "Data Acquisition Toolbox" (DAT) for Matlab needs to be

installed. To check if the toolbox is installed type "ver" in Matlab. There are two different

interfaces in Matlab to choose from when using data acquisition. 64-bit Matlab supports only

"Session-based" interface while the 32-bit version also supports "Legacy" interface. The code

used in this project is the session-based one and should thus work on any Matlab version (64 or

32-bit).

There are three programs for this project. They can be found in appendix F-H.

DataAcquisition.m

Speedometer.m

LoadMatFileProgramShell.m

Other than the main programs there are also three function files. They can be found in appendix

I-J.

calculateSpeed.m

calculateNumberOfPulses.m

plotData.m

4.4.1 DataAcquisition.m

DataAcquisition.m is the main program and is used to capture data, calculate rpm and save

everything to a .mat file. To use the program simply run it before the data acquisition should be

done. It will initialize the sensors, display session information and then wait for ENTER to be

Page 42: Test rig for study of pre-synchronization in gearboxes

37

pressed. It will then acquire data for a set duration and then display all of it in graphs. The user

will be asked whether to save the data or not. Simply pressing ENTER (or typing y or Y) will

save the data and a message will appear that says that the data has been saved. If the user type n

or anything else and then press ENTER, a message will appear that says that the data has not

been saved. The data is by default saved to a folder named Measurement_data (in the same

folder that the program is run from). If the folder does not exist then it will be created. The name

of the saved data is "Date_" followed by the date and time when the save was made.

The user can change the program by changing the variables under the section that says "control

panel" in the beginning of the file. The options in the control panel can be seen in Table 8.

Table 8 – Variables in the control panel for DataAcquisition.m.

Control variable Purpose

device_ID This is a string containing the DAQ devices name in the system. By default it

is Dev1.

folder String containing the name of the folder that the data is saved to. Changing

this will create a new folder with the new name.

duration Time in seconds that the acquisition will run for. Example, =5 means the

acquisition will run for 5 seconds.

fs Sample rate in Hz. Default is 5000 (5kHz). If more than two channels are in

use Matlab will lower the sample rate and display a warning.

use_disp2 If set to 1 data is gathered from displacement sensor 2. If set to 0 (or

anything else but 1) then the sensor will not be used.

use_speed If set to 1 data is gathered from the encoder. If set to 0 (or anything else but

1) then the sensor will not be used.

nr_of_speeds Determines how many equally spaced rpms that will be calculated from the

measured data from the encoder. If set too high (meaning each rpm is

calculated from less than 400 samples) then it will be ignored.

puls_per_rev Number of pulses from the encoder for every revolution of the lower disc.

Default is 75.

terminal_disp1 String containing the name of the analog input terminal that displacement

sensor 1 is connected to. Default is ai0.

terminal_disp2 String containing the name of the analog input terminal that displacement

sensor 2 is connected to. Default is ai2.

terminal_force String containing the name of the analog input terminal that the force sensor

is connected to. Default is ai3.

terminal_speed String containing the name of the analog input terminal that the encoder is

connected to. Default is ai5.

logical_low Is used to filter the signal from the encoder. Values below this will be

converted to 0. Default is 2 (with regards to 5V high input).

logical_high Values above this will be converted to 1. Default is 3.

If for any reason the rpm needs to be calculated at another time from the saved data, then it can

be done by this command:

[data_speed, data_speed_time] = calculateSpeed( data_meas_pulse...

, data_time, nr_of_speeds,logical_low, logical_high, puls_per_rev);

Page 43: Test rig for study of pre-synchronization in gearboxes

38

Because the highest possible sample rate from the DAQ is 10 kHz divided by the number of

channels in use, the program offers the user to disable one displacement sensor and the speed

sensor individually. When a channel is disabled its "output" variable is still saved, only instead

of a vector with data it will simply be a scalar zero. This way the saved files will always contain

the same variables and no special treatment need to be made. The save file also includes the

variables that activates/deactivates the channels so that their state can easily be determined upon

loading the data. What the save file consists of can be seen in Table 9.

Table 9 – Variables in the save file.

Variable Content

data_disp1 Measured data from displacement sensor 1.

data_disp2 Measured data from displacement sensor 2. =0 if sensor is deactivated.

data_force Measured data from the force sensor.

data_meas_pulse Measured data from the encoder. =0 if sensor is deactivated.

data_time Measured timestamps for the data above.

data_speed Calculated rpm of the lower disc. = user input if encoder is deactivated.

data_speed_time Timestamps for the rpm. =0 if encoder is deactivated.

use_disp2 If =1 then displacement sensor 2 is enabled. If =0 it is disabled.

use_speed If =1 then encoder is enabled. If =0 it is disabled.

If the speed sensor is deactivated then the program will ask the user what rpm the experiment ran

at.

4.4.2 Speedometer.m

Speedometer.m gathers data from the encoder continuously and displays the rpm in a graph and

in the command window in real-time. It should be used to set the rpm to a desired level for the

experiment. When that is done the user should switch to DataAcquisition.m.

To use the program simply run it (session information will be displayed) and then press ENTER

when asked to start the acquisition. The program will run forever if not stopped properly. To stop

the program simply press ENTER again and a message will be displayed that says the program

ended properly. If ctrl+c is used the program will not end and needs to be stopped by typing

s.stop in the command window.

The user can change the program by changing the variables under the section that says "control

panel" in the beginning of the file. The options in the control panel can be seen in Table 10.

Page 44: Test rig for study of pre-synchronization in gearboxes

39

Table 10 – Variables in the control panel for Speedometer.m.

Control variable Purpose

device_ID This is a string containing the DAQ devices name in the system. By default it

is Dev1.

fs Sample rate in Hz. Default is 5000 (5kHz).

terminal_speed String containing the name of the analog input terminal that the encoder is

connected to. Default is ai5.

list_size Number of calculated rpms that are shown in the graph. Example: =10 means

that the graph will show the last 10 calculated rpms.

upd_speed How many times per second that the rpm will be updated. Default is 1.

puls_per_rev Number of pulses from the encoder for every revolution of the lower disc.

Default is 75.

logical_low Is used to filter the signal from the encoder. Values below this will be

converted to 0. Default is 2 (with regards to 5V high input).

logical_high Values above this will be converted to 1. Default is 3.

4.4.3 LoadMatFileProgramShell.m

This is a simple program that shows how to load the data that has been saved from

DataAcquisition.m. It also displays the data in the file and which sensor has been deactivated. It

is not meant to be used as a program, but as a mere shell that the user can build upon. It used a

graphic interface to load a saved file and automatically opens the folder to which the data was

saved. It also only displays files with the format ".mat" in the folder. For the sake of simplicity

the input from the user is not handled by an error handling function. So if the user presses cancel

in the GUI then the program crashes.

4.4.4 calculateSpeed.m

This function returns a vector of calculated rpms and their time vector. It chops the data into

segments and then calls the function calculateNumberOfPulses for each segment. Then it uses

that info to calculate the rpm of that segment. The function can be called by this command:

[rpm, time] = calculateSpeed( data, timestamps, nr of rpms to calculate...

, logical_low, logical_high, pulses per revolution )

4.4.5 calculateNumberOfPulses.m

This function calculates the number of pulses in a square wave. At first it cleans up the signal so

that noise is eliminated. If this was not done then short dips in the signal might make it count too

high (the DAQ always have noise on its inputs). Then it counts the number of rising edges and

returns these. The function can be called by this command:

Number = calculateNumberOfPulses( data, logical_low, logical_high )

Page 45: Test rig for study of pre-synchronization in gearboxes

40

To count the number of pulses from the encoder this (simplified) code is used:

for i = 1, 2, 3 ....

if x(i) < logical_low

x(i) = 0

elseif x(i) > logical_high

x(i) = 1

else

if i > 1

x(i) = x(i-1)

end

end

end

nr_of_pulses = nnz( diff( x ) > 0)

The variable x is the measured square-wave input (data) consisting of an imperfect signal (signal

+ noise). With the operations performed by the "if-else" statements it is transformed into a

perfect square-wave consisting solely of ones and zeros. The way it works is by checking if a

value is lower than logical_low. If it is then that value is replaced by a 0. If however it is instead

larger than logical_high it is replaced by a 1. If it is neither of these (value is in-between high

and low) then it becomes the last determined value. This means that if the current value is not

high or low and the last value was 0, then the current value becomes 0 as well.

The "diff()" function is used to calculate the derivative of every data point in the new square-

wave. Thus it is transformed into a vector with 1 where the edge rises and -1 where the edge falls

(i.e the square-wave goes from 1 to 0). The "> 0" operation eliminates -1 from the vector and

replaces it with 0. Finally "nnz()" counts the number of non-zero entries in the vector. That is to

say this whole function counts the number of rising edges the signal has. An example of the

result of filtering can be seen in Figure 30. For clarity the filtered signal has not been scaled

down to a maximum value of 1, instead it is scaled to 5 (amplitude of the original signal).

Figure 30 – Noisy input signal, original signal and filtered signal.

Page 46: Test rig for study of pre-synchronization in gearboxes

41

4.4.6 plotData.m

This function plots the last few calculated rpms and also displays the number in the command

window. It updates every time it is called and needs to be used with global variables. It is called

by a listener function as data is acquired in the background. An example of how it is used:

lh = addlistener( session object, 'DataAvailable', @plotData )

Every time the "DataAvailable" notification is sent from the session object, the listener calls

plotData and the graph and command window is updated.

Page 47: Test rig for study of pre-synchronization in gearboxes

42

Page 48: Test rig for study of pre-synchronization in gearboxes

43

5 Discussion and Conclusion

This chapter discusses the results from the previous chapter.

5.1 Discussion

Why analog input for the rpm measurement is used

To measure the rotational speed there are three choices, analog input, digital input or counter.

The encoders output is a square wave so if the analog or digital input channels are used then the

number of pulses has to be calculated from the measured signal. If the digital input is used it

reduces the number of calculations needed (in comparison to analog input). The counter channel

(PFI0) would directly give the measured number of pulses and thus eliminate these calculations

entirely. However, the National Instruments (NI) devices have no internal clock and thus both

the digital input and counter input can only be measured one sample at a time. This presents a

number of problems. Firstly, the analog data cannot be gathered at the same time as the

digital/counter data since startBackground / startForeground commands cannot be used in the

same session (the commands the analog input data and time are gathered with in Matlab).

Secondly, the time in between scans need to be determined "manually". Thirdly, there might be

problems in having a high enough sampling rate for the digital channel to accurately measure the

signal (the counter can be sampled at a much lower rate).

The first problem can be solved by using an external clock and feeding pulses (probably to the

counter channel) that can be used to time the acquisition. The DAQs output channels cannot be

used since they have a maximum output frequency of 150 Hz (too slow for this project). This

would require buying more equipment and is needlessly expensive and complicated. Another

solution could be to create two different sessions and running them simultaneously. If this works

the counter channel is recommended since it can use a much lower sample rate. The second

problem, to determine the time manually, could perhaps be done using "tic" and "toc". However

the risk for cumulating errors in the time measurements are large (larger for the digital channel

then for the counter channel since it needs a higher sampling rate i.e. more separate time

measurements).

Because of this the signal from the encoder is connected to the analog input. It does require more

computation but needs no additional equipment and is easy to implement. For future work the

counter can instead be used as a trigger if a sensor is hooked up to the release mechanism, so that

the acquisition starts when the pin is pulled.

For every rotation of the motor, the encoder gives 12 pulses. At most the motor should spin with

3500 rpm. This gives 3500 ∙ 12 / 60 = 700 pulses per second. This means that the lowest

sampling rate that can be used to accurately measure the signal is 2 ∙ 700 = 1400 Hz (to catch

highs and lows). Since data acquisition in this project uses a sampling rate of at least 2.5 kHz

that will not become a problem.

Design modifications

The analysis that was made was that the parts closest to the measurement points were most

important to redesign. This was to ensure that no mechanical faults could make the sensors data

to be inaccurate from the real test.

Page 49: Test rig for study of pre-synchronization in gearboxes

44

By adding a hole in the lower disc and placing a pin there to connect the upper and lower discs

axial align was achieved between the upper and lower parts. The self-aligning ball bearing

ensures that small misplacement in the alignment due to inaccurate mounting procedure would

not damage the designs intention.

The modifications to the upper disc by adding two holes for the displacement sensors increased

the accuracy of the measurements compared to before because the distance between the sensors

more than doubled.

The torque problem that occurs when the upper and lower discs are in contact was solved by

adding the holes for the angle links in the upper disc and mounting rods to the frame. The rods

will then prevent the torque from damaging any components that cannot sustain torque and also

stabilizes the upper parts.

5.2 Conclusion

The sensors are powered and their output signals are gathered with Matlab. These measurements

are saved as .mat files so that they can be later modified or plotted. This has been tested and

everything works. However since everything is wired up to breadboards wires can accidentally

be pulled out, and it can be a nuisance to connect everything. The sensors are not calibrated.

There are two ways to measure the force. The first measures the dynamic force and the other

measures the static force. The sensor is not meant to measure static force. How this affects

measurements are not known.

The motor is powered and controlled by a PWM. The PWM is enclosed in a box with cooling

and a potentiometer to control output voltage. At the time of writing the PWM has not been used

to run the motor. It is not known if the cooling is enough or if more or bigger holes need to be

made.

The mechanical design modification of the rig has made it more stable and can assure that the

test data from the sensors has sufficient accuracy. That being said the rig has not done any tests

so further design modifications may need to be made.

The goals for the project have all been reached and the test rig is ready to begin testing.

Page 50: Test rig for study of pre-synchronization in gearboxes

45

6 Recommendations and Future work

This chapter discuss recommendations for future work.

6.1 Recommendations

Tests should be made to ensure that the force sensor gives consistent results when used to

measure static force.

The distance between the upper and lower disc should be measured while the rig is in use and the

potential difference in measurements from the two sensors recorded. This way the parallelism

between the discs can be determined to quantify the wedge effect on the oil film.

Temperature should be checked while the PWM runs the motor continuously to make sure the

PWMs cooling is good enough.

A concept that is more alike the real procedure in a gearbox should be look at. A horizontal rig

that splashes up oil from an oil bath can be of interest. To build the rig around a coherent axle is

recommended.

6.2 Future work

Since the DAQ unit introduces noise to the measurements with an amplitude of about 20 mV it

would be a good idea to filter the saved data with one of Matlabs inbuilt filter functions. For

example using a butterworth filter. The noise probably has the same frequency as the sample

rate. A quick FFT analysis on a stationary signal would show whether this is true or not.

Connecting all the cables to breadboards are a nuisance and the wires can be pulled out by

accident. The components should instead be soldered to a perfboard and everything outfitted

with proper connectors.

The panel-potentiometer used to control the PWM could be replaced by an external voltage

controlled by a computer or a micro controller. This way a start-up sequence can be programmed

and the motor slowly be taken up to the wanted speed level.

To make the programs more user friendly for people with no Matlab knowledge a GUI could be

made. Another thing to do would be to figure out a way to use the counter channel to measure

the rpm instead of the analog input. Right now the data acquisition must be started by pressing

enter on the keyboard. A more convenient way would be to start when the pin holding the arm is

pulled.

Actual tests should be made with the same conditions several times to accurately evaluate the rig

as a tool to make measurements.

The displacement sensors and the force sensor needs to be calibrated. To calibrate the

displacement sensors a distance block can be used to measure a set distance and the discs can be

brought together to give the zero distance reference. Likewise the force sensors zero can be taken

when it is simply hanging without the discs touching and another point when a weight are placed

on the upper disc (if the sensor is used to measure static force).

Page 51: Test rig for study of pre-synchronization in gearboxes

46

The rigs needs to be evaluated regarding its eigenfrequencies to ensure that this won’t affect the

test data or damage the rig and its components.

The design problem that can be seen in Figure 10 should be solved. Figure 11 shows an idea that

could be used as a starting point. The mechanism for the extension spring should also be

modified so the force can be changed. Redesign and manufacture of these parts should be done.

Some kind of shield to prevent the oil from splashing everywhere should be created. The rods

that prevent the torque needs to be considered when this shield is designed.

Page 52: Test rig for study of pre-synchronization in gearboxes

47

7 References

This chapter lists all the used sources in this thesis work.

Angelopoulos V. Bozorg A.D. Ericson P. Ramachandran P. and Xiaoyu Z., “Development of test

rig for synchronizing rings”, Machine Design Project, KTH, 2014.

Wikipedia, “Ball bearing”,

http://en.wikipedia.org/wiki/Ball_bearing, searched 2015-03-14.

Siemens, “Solid edge”,

http://www.plm.automation.siemens.com/en_us/products/solid-edge/, searched 2015-05-09.

MathWorks, “Matlab”,

http://se.mathworks.com/products/matlab/, searched 2015-05-14.

National Instruments, “Installing NI-DAQmx”,

http://www.ni.com/getting-started/install-software/data-acquisition, searched 2015-03-01.

National Instruments, “NI USB 6008",

http://www.ni.com/pdf/manuals/371303m.pdf, searched 2015-02-29.

National Instruments, “NI USB 6008 datasheet",

http://www.ni.com/pdf/products/us/20043762301101dlr.pdf, searched 2015-02-29, 2008.

Micro-Epsilon, "Eddy NCDT 3001 manual",

http://www.micro-epsilon.com/displacement-position-sensors/eddy-current-

sensor/eddyNCDT_3001/index.html, searched 2015-02-17.

Dytran, "1050V3 manual",

http://www.dytran.com/Model-1050V3-IEPE-Force-Sensor-P2497.aspx, searched 2015-02-17.

MMF, "IEPE standard",

http://www.mmf.de/iepe_standard.htm, searched 2015-04-22.

Tech Teach, "A quick guide to...NI USB 6009",

http://techteach.no/tekdok/usb6009/, searched 2015-03-02.

Mathworks, "Matlab programming",

http://se.mathworks.com/help/daq/using-the-session-based-interface.html, searched 2015-02-15.

Eriks automation, "Motor GR63x55",

http://www.eriks.co.uk/Automation/GR63x55-Brushed-DC-Motor/64, searched 2015-02-15.

Dunkermotoren, "Gearbox PLG52",

http://www.dunkermotor.com/default.asp?id=13&gid=6&lang=2, searched 2015-02-15.

Dunkermotoren, "Encoder ME52-12",

http://www.dunkermotoren.com/default.asp?id=16&sid=4&lang=2, searched 2015-03-14.

Anaheim Automation, "Encoder Guide",

https://www.anaheimautomation.com/manuals/forms/encoder-guide.php, searched 2015-03-19.

Page 53: Test rig for study of pre-synchronization in gearboxes

48

Kjell och Company, "Velleman K8004",

http://www.kjell.com/sortiment/el/elektronik/byggsatser/velleman-k8004-p87660, searched

2015-04-20.

Page 54: Test rig for study of pre-synchronization in gearboxes

49

Appendix A: Pin draft

Page 55: Test rig for study of pre-synchronization in gearboxes

50

Appendix B: Cap draft

Page 56: Test rig for study of pre-synchronization in gearboxes

51

Appendix C: Upper disc draft

Page 57: Test rig for study of pre-synchronization in gearboxes

52

Appendix D: Lower disc draft

Page 58: Test rig for study of pre-synchronization in gearboxes

53

Appendix E: Data acquisition equipment

Equipment used in this project for data acquisition and motor control.

Dytran 1050V3, Force sensor

ME52-12, Magnetic pulse generator (encoder)

Micro Epsilon Eddy NCDT 3001, Displacement sensor

NI USB-6008, Data acquisition unit (DAQ)

Velleman K8004, Pulse width modulation circuit

Constant voltage supply (5V and 24V)

Breadboard to distribute power between the sensors

Current limiting signal circuit for the force sensor

Page 59: Test rig for study of pre-synchronization in gearboxes

54

Appendix F: DataAcquisition.m

% DataAcquisition.m

% Version 1.0

% Created by Johan Holmberg, KTH - Farkostteknik, 2015

%{

Requirements---------------------------------------------------------------

- This program requires the function files calculateNumberOfPulses.m and

calculateSpeed.m.

- At least version 9.1 of the NI-DAQmx driver must be installed.

- Matlab needs to have the Data Acquisition Toolbox.

- The sensors must be connected reference-single-ended to the DAQ.

Default connection terminals-----------------------------------------------

Displacement sensor 1 = ai0, Displacement sensor 2 = ai2

Force sensor = ai3, Speed sensor = ai5

README---------------------------------------------------------------------

This program gathers data from the NI-USB 6008 DAQ device. Analog input data

from four channels are recorded and saved to an .mat file. Additionally it

calculates the rpm of the lower disc and also saves that data. There are

options to turn off one displacement sensor and the encoder (speed

sensor). This is because the maximum sample rate is 10 kHz divided by the

number of channels in use. If the speed sensor is deactivated then the user

will be asked to input the rpm. Matlab will automatically lower the sample

rate if necesarry. When run the program will initialize everything and then

wait for ENTER to be pressed. Then it will acquire data for a set duration

and then finish and show the data in plots. The user can then choose to

save the data or not. If data is saved for the first time it will create a

directory where it saves the data to (default name is Measurement_data).

The variables in the control panel can be changed to modify the program.

The variables logical_high/low are scaled to an input voltage from the

encoder of 5V.

---------------------------------------------------------------------------

To check if the NI-DAQmx drivers are installed, type "daq.getVendors()"

To check if Data Acquisition Toolbox is installed, type "ver"

To get a list of connected devices and their ID, type "daq.getDevices()"

---------------------------------------------------------------------------

%}

clear all; clc;

% Control panel------------------------------------------------------------

device_ID = 'Dev1'; % If the device ID is not Dev1 then change it

here

folder = 'Measurement_data'; % Name of the folder that data is saved to

duration = 2.0; % Time in seconds (s) that the acquisition

will run for

fs = 5000; % Sample rate (Hz), using all channels sets

Fs = 2500!

use_disp2 = 0; % Set =1 if displacement sensor 2 is used,

otherwise =0

use_speed = 1; % Set =1 if the speed sensor is used,

otherwise =0

nr_of_speeds = 10; % Number of calculated speeds from gathered

data

puls_per_rev = 75; % Number of pulses from the encoder for every

rotation of the lower disc

terminal_disp1 = 'ai0'; % The terminal which displacement sensor 1 is

connected to

terminal_disp2 = 'ai2'; % The terminal which displacement sensor 2 is

connected to

terminal_force = 'ai3'; % The terminal which the force sensor is

Page 60: Test rig for study of pre-synchronization in gearboxes

55

connected to

terminal_speed = 'ai5'; % The terminal which the speed sensor is

connected to

logical_low = 2; % Voltage below this value counts as a

digital 0, used for pulse counting

logical_high = 3; % Voltage above this value counts as a

digital 1, used for pulse counting

%--------------------------------------------------------------------------

s = daq.createSession('ni');

s.DurationInSeconds = duration;

s.Rate = fs;

ch_disp1 = addAnalogInputChannel(s,device_ID, terminal_disp1, 'Voltage');

ch_force = addAnalogInputChannel(s,device_ID, terminal_force, 'Voltage');

ch_disp1.InputType ='SingleEnded'; % Single-ended connection

ch_force.InputType ='SingleEnded';

ch_disp1.Range = [-10, 10]; % The DAQ can measure +-

10V

ch_force.Range = [-10, 10];

% Adds displacement sensor 2, if activated

if use_disp2 == 1

ch_disp2 = addAnalogInputChannel(s,device_ID, terminal_disp2, 'Voltage');

ch_disp2.InputType ='SingleEnded';

ch_disp2.Range = [-10, 10];

end

% Adds the speed sensor, if activated

if use_speed == 1

ch_speed = addAnalogInputChannel(s,device_ID, terminal_speed, 'Voltage');

ch_speed.InputType ='SingleEnded';

ch_speed.Range = [-10, 10];

end

% Displays session information

disp(s)

% At this point everything is set up and ready to start acquire data.

% Data Acquisition---------------------------------------------------------

% Trigger function, halts script until ENTER is pressed.

input('Press ENTER to start acquisition ','s');

clc;

disp('Acquiring data')

[data, data_time] = startForeground(s);

disp('Acquisition finished')

% Data processing----------------------------------------------------------

data_disp1 = data(:,1); % Data from displacment sensor 1

data_force = data(:,2); % Data from force sensor

% Data from displacment sensor 2, if activated

if use_disp2 == 1; data_disp2 = data(:,3); else data_disp2 = 0; end

% Data from speed sensor, if activated

% Also calculates the rpm and stores it in "data_speed"

if use_speed == 1;

% Measured square-wave

data_meas_pulse = data(:,end);

% Calculates the speeds of several time segments (number determined by

nr_of_segments)

[data_speed, data_speed_time] = calculateSpeed( data_meas_pulse...

, data_time, nr_of_speeds ,logical_low, logical_high, puls_per_rev);

else % If the speed sensor is not used then the speed need to be entered

manually

Page 61: Test rig for study of pre-synchronization in gearboxes

56

data_speed = input('Input rpm during measurement : ');

data_speed_time = 0;

data_meas_pulse = 0;

end

% Scaling of data----------------------------------------------------------

%

%Input code here that scales the measured voltage into (mm) and (N)

%for the force and displacement sensors. Don't forget to change to ylabels

%for the graphs.

%

%--------------------------------------------------------------------------

% Data plotting------------------------------------------------------------

figure(1)

if use_disp2 == 1 && use_speed == 1

plot (data_time,data_disp1, data_time, data_force, data_time, data_disp2,

data_time, data_meas_pulse)

legend(['disp1 ',terminal_disp1],['force ',terminal_force],['disp2

',terminal_disp2],['speed ',terminal_speed])

elseif use_disp2 == 1

plot (data_time,data_disp1, data_time, data_force, data_time, data_disp2)

legend(['disp1 ',terminal_disp1],['force ',terminal_force],['disp2

',terminal_disp2])

elseif use_speed == 1

plot (data_time,data_disp1, data_time, data_force, data_time,

data_meas_pulse)

legend(['disp1 ',terminal_disp1],['force ',terminal_force],['speed

',terminal_speed])

else

plot (data_time,data_disp1, data_time, data_force)

legend(['disp1 ',terminal_disp1],['force ',terminal_force])

end

xlabel('Seconds (s)'); ylabel('Voltage (V)'); title('Analog input (measured

data)')

if use_speed == 1;

figure(2)

plot(data_speed_time, data_speed,'o-')

title('RPM of lower disc'); xlabel('Time (s)'); ylabel('Speed (rpm)')

end

% Saving data--------------------------------------------------------------

done=0;

while done ~= 1 % Runs until valid input is given

will_save = input('Save data Y/N? [Y]: ','s');

try

% ENTER or y or Y saves the data

if isempty(will_save) || will_save == 'y' || will_save == 'Y'

% Creates the save folder if it does not already exist

if ~exist(folder, 'dir')

mkdir(folder);

end

% Path to folder where the data is saved

pathname = [folder,'\'];

filename=[pathname,'Date_',datestr(now,30),'.mat'];

save(filename,'data_disp1','data_force','data_disp2','data_speed'...

,'data_speed_time','data_meas_pulse','data_time','use_disp2','use_speed','-

v7.3')

disp('=== Data saved ===')

else

disp('=== Data not saved ===')

Page 62: Test rig for study of pre-synchronization in gearboxes

57

end

done=1; % Breaks the loop

catch

disp('ERROR! Type only one letter!')

done=0;

end

end

Page 63: Test rig for study of pre-synchronization in gearboxes

58

Appendix G: Speedometer.m

% Speedometer.m

% Version number 1.0

% Created by Johan Holmberg, KTH - Farkostteknik, 2015

%{

Requirements---------------------------------------------------------------

- This program requires the function files plotData.m and

calculateNumberOfPulses.m

- At least version 9.1 of the NI-DAQmx driver must be installed

- Matlab needs to have the Data Acquisition Toolbox

- The encoder (speed sensor) need to be connected single-ended mode to the

analog terminal ai5

README---------------------------------------------------------------------

This program measures and displays the rotational speed of the lower disc

using signals from the encoder on the motor.

When the script is run it will initialize the session but not start the

acquisition of data. To start measuring and displaying data press ENTER

when asked. Pressing ENTER again will end the program. If ctrl+c is used

it will not stop the acquisition. Use "s.stop()" if the program was not

exited properly. Change the variables in the control panel to modify the

program.

---------------------------------------------------------------------------

To check if the NI-DAQmx drivers are correctly installed, type

"daq.getVendors()"

To check if Data Acquisition Toolbox is installed, type "ver"

To get a list of connected devices and their ID, type "daq.getDevices()"

---------------------------------------------------------------------------

%}

clear all; clc; clf

global velocity_list time_list puls_per_rev logical_low logical_high;

% Control panel------------------------------------------------------------

device_ID = 'Dev1'; % If the device ID is not Dev1 then change it

here

fs = 5000; % Sample rate (Hz)

terminal_speed = 'ai5'; % The terminal which the speed sensor is

connected to

list_size = 7; % Number of data-points to show in the graph

upd_speed = 1.0; % Updates per second (s) of graph and text

puls_per_rev = 75; % Number of pulses from the encoder for every

% revolution of the lower disc

logical_low = 2; % Voltage below this value counts as a digital 0,

used for pulse counting

logical_high = 3; % Voltage above this value counts as a digital 1,

used for pulse counting

%--------------------------------------------------------------------------

% These global variables are used by the function plotData to display data in

the graph.

velocity_list = zeros(1, list_size);

time_list = zeros(1, list_size);

s = daq.createSession('ni');

s.Rate = fs;

s.IsContinuous = true; % Acquire data forever until stopped

addAnalogInputChannel(s, device_ID, terminal_speed, 'Voltage');

s.Channels.InputType = 'SingleEnded'; % Sensor input connection type

s.Channels.Range = [-10, 10]; % Volt range for the NI-6008 is -+10V

% The listener waits until the object s sends the "DataAvailable"

Page 64: Test rig for study of pre-synchronization in gearboxes

59

% notification. When that happens the listener calls the plotData function

lh = addlistener(s,'DataAvailable', @plotData);

% This makes it so that DataAvailable is called after X number of samples

% has been collected. If =fs then it notifies once every second. Changing

% this changes the update rate of the graph and command window.

s.NotifyWhenDataAvailableExceeds = round(fs / upd_speed);

% Prints session settings

disp(s)

% At this point everything is set up and ready to start acquire data.

% Trigger function, halts script until ENTER is pressed.

input('Press ENTER to start acquisition ','s');

clc;

% Starts the acquisition without locking Matlab so that while the

% acquisition goes on other code can also run

s.startBackground();

% Waits for ENTER to be pressed, then the code below will execute

input(' ','s');

s.stop() % Stops acquisition

delete (lh) % Deletes the listener

disp('The program has ended properly')

Page 65: Test rig for study of pre-synchronization in gearboxes

60

Appendix H: LoadMatFileProgramShell.m

%This is a short program which shows how to load the data saved from

%DataAcquisition and displays it.

clear all; clc;

%Name of folder that data is saved to

folder = 'Measurement_data';

%Path to folder where the data is saved

pathname = [folder,'\'];

%User chooses a .mat file to load

load([pathname,uigetfile([pathname,'*.mat'])])

figure(1)

subplot(2,2,1)

plot(data_time,data_disp1)

title('Displacement sensor 1'); xlabel('Time (s)'); ylabel('Voltage (V)')

subplot(2,2,2)

plot(data_time,data_disp2)

title('Displacement sensor 2'); xlabel('Time (s)'); ylabel('Voltage (V)')

subplot(2,2,3)

plot(data_time,data_force)

title('Force sensor'); xlabel('Time (s)'); ylabel('Voltage (V)')

subplot(2,2,4)

plot(data_speed_time,data_speed)

title('Speed of lower disc'); xlabel('Time (s)'); ylabel('Speed (rpm)')

figure(2)

plot(data_time, data_meas_pulse)

title('Measured encoder signal (speed sensor)'); xlabel('Time (s)');

ylabel('Voltage (V)')

if use_disp2 ~=1

disp('Displacement sensor 2 not used')

end

if use_speed ~=1

disp('Speed sensor not used')

end

Page 66: Test rig for study of pre-synchronization in gearboxes

61

Appendix I: calculateSpeed.m

function [ data_speed, data_speed_time ] = calculateSpeed( data_meas_pulse,

data_time, nr_of_speeds, logical_low, logical_high, puls_per_rev)

% This function calculates the rpm of the lower disc from a measured square-

wave.

% Version 1.0

%

% Example:

% [rpm, time] = calculateSpeed( data vector, time vector, nr of rpms to

calculate...

% , logical low voltage, logical high voltage, pulses per revolution)

%

% It recievs a measured square-wave "data_meas_pulse" and splits

% it into several segments of length "seg_L". These segments are fed to the

% function calculateNumberOfPulses.m which counts the pulses in the

separate

% segments. Start and end time of the segments are used togheter with the

% number of pulses and pulses per revolution, to calculate the rotational

% speed (rpm).

%

% Created by Johan Holmberg, KTH - Farkostteknik, 2015

min_seg_L = 400; % Minimum allowed segment

length

data_L = length( data_meas_pulse ); % Available data length

seg_L = round( data_L / nr_of_speeds ); % Length of one segment

% Runs if segment size is too low, the calculated

% speeds will not be reliable otherwise

if seg_L <= min_seg_L; seg_L = min_seg_L; end

seg_start = 1 - seg_L; % seg_start = start of segment (index)

seg_stop = 1; % seg_stop = end of segment (index)

data_speed = []; data_speed_time = []; % Empty output data

vectors

while seg_stop < data_L % Run while there is still

unprocessed data left

% Determines length ( seg_stop - seg_start ) of the next segment

% Can't be longer than we got data for i.e data_L

if data_L < (seg_stop + seg_L)

seg_start = seg_stop;

seg_stop = data_L;

else

seg_start = seg_start + seg_L;

seg_stop = seg_stop + seg_L;

end

% Data vector for this segment

data_seg_pulse = data_meas_pulse( seg_start:seg_stop );

% Time vector for this segment

seg_time=data_time( seg_start:seg_stop );

% Calculates the number of pulses in this data segment

nr_of_pulses = calculateNumberOfPulses( data_seg_pulse, logical_low,

logical_high );

% Calculates the speed (rpm)

speed = 60 * nr_of_pulses / (puls_per_rev * ( seg_time(end) -

seg_time(1) ));

% Output data

data_speed = [data_speed , speed];

Page 67: Test rig for study of pre-synchronization in gearboxes

62

data_speed_time = [data_speed_time, seg_time(end)];

end

end

Page 68: Test rig for study of pre-synchronization in gearboxes

63

Appendix J: calculateNumberOfPulses.m

function [ nr_of_pulses ] = calculateNumberOfPulses( data_seg_pulse,

logical_low, logical_high )

% This function counts the number of pulses in a square-wave.

% Version 1.0

%

% Example:

% [nr of pulses in data] = calculateNumberOfPulses(data, logical low

voltage, logical high voltage)

%

% First the signal is filtered through the for-loop. Values below

% logical_low is counted as 0 and values above logical_high as 1.

% Data between high/low are set to the previous value. This lessens the

% impact from noise in the data. Then the derivatives above 0 are counted

% i.e the rising edges of the signal are counted.

%

% Created by Johan Holmberg, KTH - Farkostteknik, 2015

% This is a filter that transforms the measured signal into a pure

% square-wave (zeros and ones)

for i = 1:length(data_seg_pulse)

if data_seg_pulse(i) < logical_low; data_seg_pulse(i) = 0;

elseif data_seg_pulse(i) > logical_high; data_seg_pulse(i) = 1;

% This determines the value of the data in-between logical low and

high

else

if i>1; data_seg_pulse(i) = data_seg_pulse(i-1); end

end

end

% Counts the number of pulses in the filtered square-wave

nr_of_pulses = nnz( diff( data_seg_pulse ) > 0);

end

Page 69: Test rig for study of pre-synchronization in gearboxes

64

Appendix K: plotdata.m

function [] = plotData(~,event)

% Calculates rpm of the lower disc, plots and prints it out. Used with

% background acquisition.

% Version 1.0

%

% Example:

% lh = addlistener(s,'DataAvailable', @plotData);

% s.startBackground();

%

% This function is called by a listener and recieves the event data.

% event.Data is the gathered data since the last read operation i.e this

% function was called. event.TimeStamps is the time for the data. From

% this the rpm is calculated and then printed out to a figure and in the

% command window.

%

% Created by Johan Holmberg, KTH - Farkostteknik, 2015

global velocity_list time_list puls_per_rev logical_low logical_high;

% Counts the number of recieved pulses and calculates the rotational

% speed of the lower disc.

nr_of_pulses = calculateNumberOfPulses( event.Data, logical_low,

logical_high );

speed=60*nr_of_pulses/(puls_per_rev*(event.TimeStamps(end)-

event.TimeStamps(1))); %rpm

% Prints out text to the command window

clc

disp('Press ENTER to stop acquisition')

fprintf ('RPM = %d\n', round(speed))

% This slides the content of the lists downwards and adds the newly

% acquired data on top. These are records of the last few recorded

% speeds and their timedata.

time_list = [time_list(2:end) , event.TimeStamps(end)];

velocity_list = [velocity_list(2:end) , speed];

% Plots speed data

plot(time_list,velocity_list,'o-')

xlabel('Time (s)'); ylabel('Rotational speed (rpm)');

title({'\bf===== Speed graph ====='...

;'Displays the last recorded RPMs of the lower disc'})

end

Page 70: Test rig for study of pre-synchronization in gearboxes

65

Appendix L: How to test the DAQ

With the NI-DAQmx driver comes Measurement and Automation Explorer (MAX) and this is a

handy tool to perform tests on the DAQ with. Start MAX and the DAQ "NI USB-6008" will

show up under "Devices and Interfaces", and should be named by default as "Dev1" ,see figure

below. Click on the device and then on "Self-Test" or right click on the device and choose "Self-

Test" from the drop-down menu. Hopefully a message appears that says that the test was

completed successfully. After this the input terminals should be tested to confirm that their

measurements are correct.

Click on the "Test Panels" button or right-click the device and choose "Test Panels" from the

drop-down menu and a new window will open, see figure below. The test panel will be used to

generate a voltage on one of the analog output terminals (ao) and to measure the voltage on all of

the analog input terminals (ai) one at a time. There is another way however. Instead of using the

analog output there is a stable 2.5V source meant for testing purposes on the DAQ. Which to use

is left to the user but here the analog output terminals are used.

Page 71: Test rig for study of pre-synchronization in gearboxes

66

Connect the terminals ai0 and ao0 with a wire. Go to the "Analog Output" tab and put the

channel name to "Dev1/ao0". Set the output voltage to 5 V and click the "Update" button. Go

back to the "Analog Input" tab and set the channel name to "Dev1/ai0" and "Input configuration"

to RSE (reference-single-ended). Click the start button and let it run a few seconds before

clicking the stop button. Hopefully the measured voltage is 5 V.

Page 72: Test rig for study of pre-synchronization in gearboxes

67

Appendix M: Setting up the equipment

Hooking up the sensors

All sensors will be connected (single ended) to the analog inputs (ai). Which terminal that

corresponds to which sensors can be changed in the programs control panels. By default it is:

Displacement sensors to ai0 and ai2.

Force sensor to ai3.

Encoder to ai5.

GND Out to any GND terminal on the analog side.

Connect the +5 V, +24 V and GND from the power supply to the power-rails on the power

distribution circuit. Then connect the force sensors circuit to the +24 V and GND rails too. See

figure below for the complete circuit.

Hooking up the motor controller

Turn the potentiometer counter-clockwise as far as it can go. This makes sure that the output

voltage is as low as possible. Plug the cellphone charger into a jack so that the fan sucks the air

out of the box. Connect the motor with the PWM via the screw terminals. Then connect the

power supply the same way. Make sure the fuse is connected to the + side of the supply. Turn the

power on when everything is set up. Slowly turn the potentiometer clockwise to increase the

speed. If the potentiometer is turned too fast the 6.3 A fuse will trigger.