Sunday, 25 August 2013

Frequency Response

I have finally finished processing all of the data and calculated the frequency, it ranges from 0 to a little bit above 2 Hz. The blue line is the motion of the KUKA, the green line above is the maching frequency.
 The plot below is the frequency response of the raw data. I am not very sure why there is this large spike towards the end of the graph.
I will now use these data to conduct a Bode Plot.


Friday, 23 August 2013

Constructing the Bode Plot

In the process of drawing a Bode Plot, I have construct a plot including 400 times the frequency of the KUKA and 100 times of the force data.
The x-axis marks the period of the peaks and troughs of the increasing frequency of the KUKA robot. I am assuming the rate of increasing frequency is constant within each period, using that to calculate the frequency of each point to plot the frequency response which leads to the Bode Plot.

Tuesday, 20 August 2013

The Bode Plot

Using the experimental data, a bode plot was constructed to examine the dynamic response of the probe. It requires the performance of the probe as well as the frequency at witch the system was moving at. As I do not know the transfer function of the system, I will need to use the experimental data along. After searching online, I have found a fast way of plotting, this requires an input frequency and measures the output of the system under that specific frequency. By changing the input, a set of output can be obtained. Plotting the output against the input would yield a frequency response of the system. In order to get a Bode Plot, the output need to be log transformed.

My problem is that I do not have an steady output for a specific frequency. The system is constantly adjusting its output while the frequency increases continuously. The best I can do is to calculate an average of the output for a period of time while dividing the constantly increasing frequency into blocks. As there are more than 55000 data points to go through, this may take quite a while.

Friday, 16 August 2013

Performance of the Probe

After studying the statistics obtained during the experiment, I found the performance of the probe is not as appealing as when it is hold vertically. I have taken all the components apart and trying to figure out why. I think there are a few causes. Firstly due to the nature of the motor and the spindle, when there is no force applied on them, the tolerance in between the two components works fine. However once a force perpendicular to the tolerance is applied, it forces the motor and spindle to come in close contact in one side but with lose tolerance in the other. This in fact would lead to inaccurate performance of the motor that the output speed does not equal to the desired speed when it is high. The second conclusion I draw is that as the probe was hold horizontally, the feeling of the same force to me is different to when it was held in a more vertical fashion. Human error may have also been introduced in the experiment. As it is sometime necessary to hold the probe horizontally during a ultrasound examination, how to increase the performance of the probe might be a development point.

Wednesday, 14 August 2013

Filtering the Experimental Data

As the vibration of the motor induce vibration on the sensor, it needs to be taken out of the raw data. This will need a high-pass filter.

To remove the vibration of the motor from the experimental data, I use a low pass filter which has a Matlab function of "function y=lowp(x,f1,f3,rp,rs,Fs)". In which x is the input, f1 is the frequency at the start of the pass band and f3 is the end of the band. rp is the cutoff frequency for the point 3 dB point below the passband value and rs being the cutoff frequency for the point 6 dB point below the passband value. Finally, Fs marks the sampling rate of the filter.

I have also involved a high pass filter to remove the shaking of my hand holding the probe, the function is essentially the same, "function y=highp(x,f1,f3,rp,rs,Fs)".

After applying the filters, the experimental data are plotted.

The first figure is increasing frequency and the second is increasing amplitude. It can be seen in both figures that the the early stages where the change is small, the probe could maintain a relatively constant level of force. It could also be observed that the probe performs better when the change is in frequency.

Tuesday, 13 August 2013

Experiment Result

The experiment was taken place on Monday with the help of Yang and Lin. The KUKA robort was facing downwards originally, as I explained what I would like to do, Yang tried to move the end-effector upward. Yang struggled for nearly twenty minutes but it was unsuccessful in the end. The best we could achieve was to have the end-effector perpendicular to ground, thus the end-effector moves parallel to ground. In this case, I had to held the probe away form its normal position but lying down. Due to the tolerance in between the motor and the spindle, stronger vibration could be felt immediately.

In the first experiment, we have set the KUKA to oscillate with increasing frequency. We started slow, having it move one cycle per second. The performance of the probe was very good. However, as we increase the frequency to 5 cycles, the performance started to degrade. This started  earlier than I originally thought, after a little fettle around, I discovered having the probe in a flattened position decrease the effective speed of the motor. I tried to increase the speed in the program to improve the performance, however this also introduced some extra vibration to the system. With the vibration, the raw data looks very noisy, they need to be filtered before moving onto plotting a Bode plot.

In the second experiment, the probe was set to follow the motion of the KUKA when the position of the holder was kept constant. The probe followed the end-effector closely with a phase shift.

Monday, 5 August 2013

Experiment Plan

After a discussion with my supervisor, we believe building a system from scratch and install a force sensor is too time consuming, using an existing system is a more effective option. The KUKA robot has been incorporated widely with a number of other projects, it has a force sensor mounted on the end-effector. The now plan is to press the probe against the sensor while oscillating the end-effector. Two tests will be carried out, one with constant frequency with increasing amplitude and another with constant amplitude but to vary the frequency of oscillation. Both data from the external force sensor and the load cell on the probe is to be recorded. I will need to find out how to export data from the serial monitor of arduino to a manageable format like excel.

Tuesday, 30 July 2013

Thinking of an experiment.

The performance of the system has been assessed. It is vibrating quite a bit as well as producing noise at the same time. These should be refined.

A platform was to be built to carry out the experiment, it is to move up and down vertically and vibrate to stimulate the motion of an ambulance on the road. An external force sensor is required to measure the force output by the end of the probe with respect to the platform/phantom surface. It gives a guideline and serves the purpose of assessing the performance of the system. From there, refinements could be done.

Monday, 22 July 2013

PCB Prototype Board

I have been trying to move my circuit from the breadboard onto a piece of prototype board. It is a more secure and permanent solution than a breadboard, it would also give me more freedom on positioning the circuit. As I transfer the components onto the board, the range of load cell read by the microcontroller decreases, whereas the range at the output of the amplifier remains the same. I have tried to rearrange the layout, taken all components out and put them back onto the breadboard to see if any component is burnt during soldering. The reason for this change is unknown yet.

Wednesday, 3 July 2013

Heat Sink Materials

As operation time of the system increases, heat produced by the motor adds up. The higher the input power, the hotter the motor gets. The specification sheet of the motor specifies that the maximum surface temperature could reach to 80 degrees Celsius when on full power, even though we might never apply that much power to the motor, the hotness could still be felt from the outer surface of the cover. In order to reduce the residual heat, heat sink materials are explored.

Common heat sink materials are copper, aluminium and ceramic, they are normally designed to a comb shape to increase the surface area thus efficiency. Ceramic seems to have a better performance with a thermal resistance of around 10 degree. Whereas performance of copper and aluminium are similar, ranging form 1 to 8 degrees depending on the surface area. Other advantages of ceramic hear sinks over metallic ones is that it is resistive to electricity with very low thermal capacity and light weight.

http://uk.farnell.com/amec-thermasol/mpc252525t/heat-sink-ceramic-25-25-2-5-std/dp/1892475

Monday, 1 July 2013

Ultrasound with Silicon Phantom and Water Balloon

In order to find the most suitable material/s to conduct a test with a sonographer, I carried out a little experiment with the 2D ultrasound machine.

Firstly I have tried to examine the FAST phantom, however as the objects lies quite deep from the surface, nearly no change in shape can be observed.

I have than tried with a balloon filled with water, by placing it on top of a flat silicon surface, a trapezium shape could be seen. As I apply some force to the balloon, the height of the trapezium become smaller. The problem is that as there is no constrains of motion of the balloon, only a low level of force can be applied before the balloon rolls away.

No Force Applied

Slightly Pushed

In order to test the water balloon "phantom" with a larger force to see a higher degree of change in shape, I have sandwiched it into two slices of silicon with a hollow space in between. The bottom slice has a "W" shaped hollow space, when no force is applied, the two sides of the "W" is not in contact with the surface, where as the force increases, the "W" would move towards the surface until the middle ditch of the "W" nearly touches the surface.
No Force

Slightly Pushed

Moderate Level of Force Applied
As the shape of water balloon is a ball, the change in shape is less noticeable. If a irregular shaped balloon such as an animal shaped is used, the change might increase to a greater extent.

Tuesday, 25 June 2013

Limit Switches

After comparing a variety of limit switches online, I decide to stick with the original plan of using mechanical limit switches. There are some larger ones I found on farnell that could stand near 2 newtons of force, they are a bit more than £6 each. Without a registered account, a minimum of £20 per purchase is required, meaning I need to buy 4. Considering that, I started searching for smaller options. I have found out that Maplin have some small ones that could fulfill my need and are priced at around £1.5 each. I went to purchase 2 and will look into options of how to secure them in position. This may involve some redesigning of the backing. I am also going to extend the cover so less components are exposed.

These limit switches are normally normally closed SPDT, with the middle leg as the common. They also features two connecting holes suitable for M1 screws.

Thursday, 13 June 2013

Data Collecting

I have tried to make a phantom with gelatine and gelly. As there is no information online for the ratio of the two, I have tried combinations of 1 part of gelatine to 5 parts of gelly to pure gelatine. More gelly would offer the benefit of bounciness, but soft and fragile. If only gelatine is used, the outcome is firmer. Comparing the phantoms with my stomach, pure gelatine gives the best matching result.

Considering its softness, magnification of sensitivity of the load cell is required, I have tried to achieve this by increase the gain of the differential amplifier. The resistors I am using currently are 260Ohm and 560kOhm, it brought a 4V offset while magnifying the output from the load cell. Once read by the controller, the freeload voltage is 875 in 16 bits.

For the data collection, I have placed the probe on my own stomach, and judging with my own experiences of undergoing an abdominal ultrasound test. When the maximum level of force is applied, the reading rise to 880. The change is not very significant, one of the reason could be that the probe is not secured onto the backing properly, the force is not fully transferred to the tip of the probe. This point will need to be considered when reviewing the mechanical design.

 At this point of time, it is hard to see any difference caused by the orientation of the system, thus an accelerometer may not be necessary.

Tuesday, 11 June 2013

Abdominal Phantom in Ultrasound Examination

Tissue-mimicking phantom serve an important role in ultrasound research and development without the required to use human or animals in experiment.Ultrasound phantoms are generally of two types.  One mimics the acoustic properties of tissue (with regard to the speed of sound, average attenuation, etc.). The main purpose of the other is to approximate the sonographic appearance of tissue, aiding biopsy training. Comparing the two types, biopsy phantoms are simpler in construction, contain simulated cysts or masses, and are either echogenic or sonolucent. Typical values of soft tissue characteristics are the average speed of sound is 1540 m/s while attenuation coefficients range from approximately 0.5 to 3.3 dB cm−1 MHz−1; they are as  low as 0.18 dB cm−1 MHz−1 for blood. Backscatter coefficients in tissue typically range from 10−5 to 10−1 cm−1 sr−1.
The following popper user interface control may not be accessible. Tab to the next button to revert the control to an accessible version.
Destroy user interface control
Various additives were added to a gelatin base to provide realistic acoustic and optical properties. For example forty-micron, spherical silica particles were used to induce acoustic scattering, Intralipid® 20% IV fat emulsion was employed to enhance optical scattering and ultrasonic attenuation, while India Ink, Direct Red 81, and Evans blue dyes were utilized to achieve optical absorption typical of soft tissues.

Rather than these characteristics, what I am interested in is purely on the physical properties of the phantom. This would ease the process of making a phantom however there is rarely any information can be found on it. I have decided to experiment a bit with combinations of gelatine and gelly aiming for a phantom mimicking the physical properties of human abdomen.

Referenced from:

Acoustical properties of selected tissue phantom materials for ultrasound imaging

Zell, K ; Sperl, J I ; Vogel, M W ; Niessner, R ; Haisch, C

Physics in Medicine and Biology, 2007, Vol.52(20), pp.N475-N484 [Peer Reviewed Journal]

Ultrasound Speed of Polymer Gel Mimicked Human Soft Tissue within Three Weeks
Nur Shakila Othman, Muhamad Suhaimi Jaafar, Azhar Abdul Rahman, Ernee Sazlinayati Othman, and 

Aifa Afirah Rozlan

Tissue-mimicking phantoms for photoacoustic and ultrasonic imaging

Ultrasound skin characterization : an in vivo study of intra and 
inter individual variations 
M. Lebertre1
, F. Ossant
1,2
, J. Bouyer
1
, L. Vaillant1,2
, S. Diridollou
3
 and F. Patat1,2
1
GIP Ultrasons / LUSSI EA2102,Tours 
2
University Hospital, Tours 
3 Pierre Fabre Research Institute, Toulouse, France.

lebert_m@med.univ-tours.fr

Friday, 31 May 2013

Problems with Prototype 1

1. Casing of the load cell on the lid is very very tight, the load cell is not perfectly horizontal.
2. Nut slots on the base is  extremely tight that I had to file the nuts a bit.
3. The spindle axis failed to align with the base, I had to use a coupling with a smaller diameter.

A redesign of the top of the load cell holder is required.

Monday, 20 May 2013

Assembly Schedule

Start with the base, put slider into the set of vertical holes and secure with two short bolt that sinks into the opposite side of the backing.

Take a 3mm diameter shaft, put through the hole on the horizontal part of the backing, secure with two nuts on both the top and bottom of the backing. Put a washer on top of the nut before assemble the base of the load cell holder through the shaft. Align the three holes of the base and the backing with 2.5 diameter bolt preferably coach bolt whose threads are only at the bottom. Use the shaft as centre axis, locate the load cell and the top of the cover, rotate until the other set of three holes align with the base, secure with bolts and nuts. The nuts are sunk into the bottom of the base which can be used to help tighten the bolts. Put the coupling into the circular solt.

Put the motor into the cover and secure with four short bolts diameter 2.5mm. On the other hand, allocate the slider base into the cover and tighten a 3mm bolt into the nut sunk within the cover. Slide the slider base into the slider on the backing. Lastly, screw the spindle through the motor and push the 3mm diameter no thread side into the coupling. Tighten the screws on the coupling to prevent rotational motion. Apply glue into the vertical slots within the top of the load cell cover to secure the coupling in location.

Tuesday, 30 April 2013

Bearing Selection

Single-row deep groove ball bearing:
Both radial and axial loads, low torque. Suitable for applications requiring high speeds and low power loss.

Magneto Bearing:
Outer ring can be removed for the ease of mounting. Suitable for small applications, pressed brass cages are generally used.

Single-Row Angular Contact Ball Bearing:
Take both axial and radial loads in single direction. The larger the contact angle, the higher the axial load capacity. However, smaller contact angles are preferred for high speed operation.

Four-Piont Contact Vall Bearing:
Separable inner and outer ring. Can take axial loads in both directions only. Equivalent to face-to-face or back-to -back angular contact bearings.


Duplex Bearing:
A combination of two radial bearings. Can be combined face-to-face, back-to -back or facing the same direction(DT). DT is used when there is strong axial load.


Self-Aligning Ball Bearing:
Correction of minor angular misalignment of the shaft and housing caused by machining or mounting error.

Thrust Ball Bearing:
Washer-like bearings, axial load only.

Load Rating:
The rate of radial bearing is defined as the constant central radial load applied on bearing with stationary outer rings that the inner rings can endure for a rating life of one million revolutions.

The actual load on the bearing would be greater than those calculated, thus a load factor is required to be taken in consideration. For smooth operations such as electric motors, the factor is typically 1 to 1.2, however, considering the shock and vibration the ambulance might brought, this value could boost up to 1.5 to 3.  When a 10N axial force is applied, the bearing will withstand roughly 15N. If the ball bearings are on an angle, the effective load centre will be shifted, thus the overall load will change according to the angle.

Tuesday, 23 April 2013

AccelStepper Library

I have found this stepper motor library that allows the use of a driver. I spent Monday trying to compose a set of codes to control the motor using the position as a parameter, however it has been unsuccessful until now. I changed my scope on Tuesday and changed the parameter to speed, which I am now able to control the speed of the motor with the force input. Whereas it still has some problems that I could not run the motor in a speed that is fast enough.

Thursday, 18 April 2013

Thu 18 April

Today I started adding codes to my software to control the speed which the motor turns . I started by trying to manipulate the frequency of the PWM produced by the analogWrite command, however this is not recommended and 490Hz is the highest I could go. After searching around on the website, I have found a library aiding the control on speed and acceleration. It is based on the Stepper Motor library in the Arduino program. It outputs 4 separate signals to the four terminals of the motor eliminating the need of the driver. I looked into its source files and trying to seek a solution to write my own commands with the driver which I will do tomorrow.

Tuesday, 16 April 2013

Microstepping

The relationship between step sizes and back-driving force is not steady, where the smaller step sizes like 1/32 and 1/16 as well as the larger steps (full and half) withstand less force the the mid-ranged step sizes.  There is a 'threshold' of force that the motor can withstand before it gets very easy to push backwards. An interesting fact occurs when the delay goes below 0.1 millisecond for step sizes larger than 1/8, the motor will not rotate straight away, it requires a little pull in the positive direction. I searched online trying to find a solution to improve the performance, however there seems to be no one trying to use a stepper motor in my application. I am now looking into the programming side seeking for solutions. I have successfully programmed the controller so the direction of motion of the motor can be controlled by the load.

Thursday, 11 April 2013

Thu 11 April

I have amended the code for controlling the brightness of the LED with the force measured by the load cell for it to be true when the force is above a threshold. This could be implemented on the motor to control the direction of motion according to the load.

In order to minimise the bias voltage, I have calculate the theoretical value of the resistors using the current flowing into both the inverting and non-inverting terminals of the op-amp. Due to the limited amount of current, no difference can be found. According to the theory of op-amps, when current and voltage of both terminals equal, minimum offset of input bias is obtained to R1//Rf = R2//Rg. I have changed a number of different combinations and ended up lowering the offset by 200. I have found another trail and error method on the internet which I will try tomorrow.

The motor driver and the male connection wires will arrive tomorrow.

Monday, 8 April 2013

Attempted to program the controller

My first attempt of the day was to control the stepper motor with the controller. The thought was to supply a square wave to the 'STEP' terminal of the motor driver. I searched the command manual through but was unable to get a solution. I then started trying to use the slot J1 for the servo motor as an input to the driver which I thought should be an Analogue square wave. The wider the pulse the faster the servo turns, whereas the principle of a stepper motor is merely the opposite, the narrower the pulse, the faster the frequency and motor speed.

I moved onto trying to read the voltage from the sensor. I have firstly configured the I/O ports of the extension board, then read the analogue input from port 1 with the code MG @AN[1]. I have used the +12V power supply on the extension board to power the load cell, but the reading is steady despite of the force I apply. I tried to read some other ports and see if I can find out what has gone wrong, however all other ports read 0. I then reset the controller wishing it would help. Unfortunately, after resetting, the total number of available ports had decreased, and port configuration using the command CO had no effect.

Thursday, 4 April 2013

Thr 04 April

I have managed to get the amplifier to work, a freeload voltage of 1.418V is detected with a 10V input. George had advice me a instrumentation amplifier INA125 that has a higher tolerance of noise, which may be useful. The output is ready to be connected to the microcontroller and to be used as a parameter to control the stepper motor.

The motor is connected to the driver, that needs to be connected to the microcontroller in the next stage. It requires several digital inputs, one will turn the motor in every rising edge, another selects the direction the motor is truing.

I am still navigating my way round the language by reading the command manual as well as examples on the Galil wbsite.

Wednesday, 3 April 2013

Update

I have connect the driver to the motor without the controller and producing rising edge by switching on the power manually. I am unable to get the motor to turn as I suspect the driver needs to be welded, which will ask George to supervise me tomorrow to weld them and try it out.

I have also connected the load cell with the op-amp under a inverting configuration. I chose the gain to be 100, which will bring the voltage output of the load cell from 1~10mV to 0.1~1 V. The output I got out this afternoon only varies from 8 to a lit less than 10V which makes me think it is not correct (with a supply voltage of 10V).

Tuesday, 26 March 2013

Accelerometer Selection

A three axis acclerometer is required to measure the orientation of the ultrasound probe and compensate the force applied onto the patient.
Analogue is in favored upon digital as the output is simply a voltage proportional to the gravity change and can be load into the microcontroller through one of the Analogue input ports of DB28020. Whereas if a digital accelerometer is used, an additional timer component is required to count the cycles in order to convert number of digital high square waves into acceleration.
A as large as possible dynamic range and sensitivity would be advantageous whereas a bandwidth of a couple of hundreds HZ could be sufficient.

Through the searching process, I have found a accelerometer from Analog Devices that supports sampling, since it is free, I have made a application, it will be shipped from Austria on 4th April. It is able to withstand 10000g of shock, with a measurement range of 200g and a typical sensitivity of 6.5mV/g at 3V. The active range of input voltage varies from 1.8V to 3.6V. There is an evaluation board priced at £23.27 based on this component. According to the technical information provided by Analog Devices on this product, I have capacitors that would give me a bandwidth of 500Hz when connected with the sample.

Monday, 25 March 2013

Stepper Motor Driver


DRV8825 Stepper Motor Driver Carrier


This driver could drive the stepper motor in 6 microstep resolutions from full step to 1/32th. It is able to supply as high as 47V to the motor (our motor had ratings lised when supplied with 48V), although the output current is only 0.75A/phase, it could still fulfill what is required for our motor (0.67A/phase). 0.7V is the highers Input Low Voltage while Input High is from 2.2V to 5.25V. The internal current control PWM frequency is 30kHz. 

The driver needs to be programmed with Arduino, which is an open-sourced C based language. I have contacted ICT for administration right to install it on the PC I am using at mid-day, wish I will get a reply by Tuesday.

Friday, 22 March 2013

Limit Switch

Two limit switches or alike will be used to indicate the extreme has been reached during the operation of motor. The intention was to search for a small and cost effective switch that is able be stand a maximum of around 15N(may not be accurate that needs to be justified). The search had also been limited onto vertical switches with a push button.

During the search, the term "slow action" came up frequently. It is characterized by a release position that is the same as the operating position. The switch actuator's speed directly conditions the travel speed of contacts.

Another form of contacting mechanism is Snap Action that is characterized by a release position that is distinct from the operating position (differential travel). Snap breaking of moving contacts is independent of the switch actuator's speed and contributes to regular electric performance even for slow switch actuator speeds.


Info from http://www05.abb.com/global/scot/scot209.nsf/veritydisplay/bfff30eb0da19bd385257615007532ca/$file/1sxu000023c0202_09_general_tech_data.pdf

Possible choises:
http://uk.farnell.com/bernstein/600-8104-025/limit-switch-1no-1nc-slow-make/dp/3204728 - 10N
http://uk.farnell.com/honeywell-s-c/gldb-01b/limit-switch-pin-plunger/dp/560390 - 16N
And the Honeywell GLL Series

However, the sizes of these switches are still a lot larger than ideal (min height around 50mm), thus other possibilities may need to be considered.

Thursday, 21 March 2013

Stepper Motor Driver

In order to keep power loss low, two methods are used. A simple and popular solution is to give only as much voltage as needed, utilizing the resistance (RL) of the winding to limit the current. A more complicated but also more efficient and precise solution is the inclusion of a current generator, to achieve independence from the winding resistance. However, the supplied power required is also higher. 

Power delivered by the motor is proportional to the current in the winding. In the dynamic working order a stepper motor changes poles of the winding current in the same stator winding after two steps. The speed with which the current changes its direction in the form of an exponential function depends on the specified inductance, the coil resistance and on the voltage. Figure below shows that at a low step rate the winding current IL reaches its nominal value VL/RL before the direction is changed. However, if the poles of the stator windings are changed more often, which corresponds to a high step frequency, the current no longer reaches its saturating value because of the limited change time ; the power and also the torque diminish clearly at increasing number of revolutions.
Running a stepper motor in half-step allows its position resolution to be increased by a factor of 2. It also avoids disturbance by the motor resonance, as the course covered by the rotor is only half as long and the
system is less stimulated. These may be so strong that the motor has no more torque in certain step frequency ranges and looses completely its position. This is due to the fact that the rotor of the motor, and the changing magnetic field of the stator forms a springmass-system that may be stimulated to vibrate. In practice, the load might deaden this system, but only if there is sufficient frictional force.On the down side, the half-step system needs twice as many clock-pulses (twice clock frequency) as the full-step system, and it is only able to deliver half of the torque of the full-step. It is also possible to turn the motor in small microsteps by controlling current at each motor phase precisely. Advantages of microstepping includes better positional resolution, less resonance issues and loser audible noise.

Commands driving the motor comes from a connected microcontroller. In its simplest form, a full-step control needs only two rectangular signals in quadrature. According to which phase is leading, the motor axis rotates clockwise or counter-clockwise, whereby the rotation speed is proportional to the clock frequency. In the half-step system the situation becomes more complicated. The minimal two control signals become four control signals. In some conditions as many as six signals are needed.

A typical control circuit that reduce the number of outputs required from a microprocessor from the 6 required to 3 static and dynamic control line is shown below, 
information obtained from http://users.ece.utexas.edu/~valvano/Datasheets/Stepper_ST.pdf

The stepper motor I have is L2818S0604-T5X5 from Nanotec with a resolution of 0.025mm per step and is able to deliver a maximum thrust of 30N. Matching driver is available to purchase, there are also a variety of similar products available in the market. The maximum current/phase of the motor is 0.95A. The Cytron 3-40V, 2A Unipolar / Bipolar Stepper Motor Controller from http://www.robotshop.com/cytron-3-40v-2a-unipolar-bipolar-stepper-motor-controller.html could be an option. I have also sent e-mails to suppliers of Allegro MicroSystems in the UK to ask if a free sample could be delivered.

Wednesday, 20 March 2013

Load Cell

Load Cell Connections,
Red: + Excitation (10V nominal)
Black: -Excitation (Ground)
Green: + Signal
White: -Signal
Change in voltage difference detected between + and  - Signals representing force applied. It is then amplified and maybe conditioned if required.

Shielding rule: Avoid continuous ground loops; a system should not be grounded at multiple points. This may occur, for example, if the shield of the load cell cable is connected to earth at both ends.


IDC header connector: http://uk.rs-online.com/web/p/pcb-sockets/6058819/
Something to extend preferably just one of the analogue input ports in order to weld the load cell circuitry on. The item above is a row of 8 pins that would cover one row out of the 16-pin IDC header. Single connector can not be found, wonder if these can be devide into individual ones.

Monday, 18 March 2013

Operational Amplifier

An amplifier is required to magnify the voltage output by the load cell. There are a number of amplifiers that could work, a simply inverting amplifier is chosen.

Vout = -Vin ( Rf/Rin )

Interconnector


ICM-3300 Interconnect Module
The ICM-3300 attaches directly to the CDS-3310 and breaks out the 37-pin D-sub connector into convenient screw terminals allowing for quick and easy connection to system elements.The ICM-3300 also provides optical isolation for inputs and outputs with the exception of the following signals: brake output, output compare, reset input and digital input 8.
Outputs 1 through 4 are high-side, 500 mA drives.The maximum common voltage for the I/O is 28 VDC. The ICM-3300 includes a high density 15-pin D-sub connector which allows direct connection to Galil’s BLM-N23 brushless servo motor.

Tuesday, 12 March 2013

CDS3310


Analog Inputs
The CDS-3310 has two analog inputs configured for the range between 0V and 5V. The inputs are decoded by a 12-bit A/D decoder giving a voltage resolution of approximately 1 mV (a 16-bit A/D is available on the DB-28040). The impedance of these inputs is effectively infinite. The analog inputs are read with @AN[x] where x is a number 1 thru 2.

Digital Inputs
The general use inputs are TTL and are labeled DGTL IN 1 to DGTL IN 8 on the silkscreen on the
sheet metal. These inputs can be interrogated with the use of the command TI (Tell Inputs), the
operand _TI, and the function @IN[n] (see Chapter 7, Mathematical Functions and Expressions).
Digital input 8 can accept a differential (two-wire) signal. To connect a single-ended (one wire) signal, connect to DGTL IN 8+ and leave DGTL IN 8- disconnected.

Analog Output
The CDS-3310 has one analog output configured for the range between -10V and 10V. The output is driven by a 16-bit D/A converter giving a voltage resolution of approximately 300 μV. The analog output is set with AO command.

Communication Protocols
Ethernet communication transfers information in ‘packets’. The packets must be limited to 470 data bytes or less. Larger packets could cause the controller to lose communication. Communication protocols are necessary to dictate how these packets are sent and received. Although UDP/IP is more efficient and simple, Galil recommends using the TCP/IP protocol. TCP/IP insures that if a packet is lost or destroyed while in transit, it will be resent. When using TCP/IP, each master or slave uses an individual Ethernet handle. The term “Master” is equivalent to the internet “client”. The term “Slave” is equivalent to the internet “server”.

Controller Response to Commands
Instructions are sent in ASCII, and the CDS-3310 decodes each ASCII character (one byte) one at a time. It takes approximately 0.5 msec for the controller to decode each command. After the instruction is decoded, the CDS-3310 returns a response to the port from which the command was generated. If the instruction was valid, the controller returns a colon (:) or a question mark (?) if the instruction was not valid. For example, the controller will respond to commands which are sent via the main RS-232 port back through the RS-232 port, and to commands which are sent via the Ethernet port back through the Ethernet port.
For instructions that return data, such as Tell Position (TP), the CDS-3310 will return the data followed by a carriage return, line feed and colon. It is good practice to check for : after each command is sent to prevent errors.

Command Syntax – ASCII
CDS-3310 instructions are represented by two ASCII upper case characters followed by applicable arguments. A space may be inserted between the instruction and arguments. A semicolon or <return> is used to terminate the instruction for processing by the CDS-3310 command interpreter. Commands will not be processed until an <return> command is given.

Programming Motion
Independent Axis Positioning
Absolute or relative positioning where each axis is independent and follows prescribed velocity profile.
The user specifies the desired absolute position (PA) or relative position (PR), slew speed (SP),
acceleration ramp (AC), and deceleration ramp (DC), for each axis.
The speed (SP) and the acceleration (AC) can be changed at any time during motion, however, the deceleration (DC) and position (PR or PA) cannot be changed until motion is complete. Remember, motion is complete when the profiler is finished, not when the actual motor is in position. The Stop command (ST) can be issued at any time to decelerate the motor to a stop before it reaches its final position. An incremental position movement (IP) may be specified during motion as long as the additional move is in the same direction. Here, the user specifies the desired position increment, n. The new target is equal to the old target plus the increment, n. Upon receiving the IP command, a revised profile will be generated for motion towards the new end position. The IP command does not require a BG.

Independent Jogging
Velocity control where no final endpoint is prescribed, speed, direction and acceleration can be changed during motion. Motion stops on Stop command. An instant change to the motor position can be made with the use of the IP command. Upon receiving this command, the controller commands the motor to a position which is equal to the specified increment plus the current position.

Position Tracking
Supports changing the target of an absolute position move on the fly. New targets may be given in the same direction or the opposite direction of the current position target. The controller will then calculate a new trajectory based upon the new target and the acceleration, deceleration, and speed parameters that have been set.

Contour Mode
Allows the user to generate custom profiles by updating the reference position at a specific time rate. In this mode, the position can be updated randomly or at a fixed time rate, but the velocity profile will always be trapezoidal with the parameters specified by AC, DC, and SP. Updating the position target at a specific rate will not allow the user to create a custom profile.

Dual Loop (Auxiliary Encoder)
The most common use for the second encoder is backlash compensation, position encoders are mounted on both the motor and the load. The continuous dual loop combines the two feedback signals to achieve stability. This method requires careful system tuning, and depends on the magnitude of the backlash. However, once successful, this method compensates for the backlash continuously.
The second method, the sampled dual loop, reads the load encoder only at the end point and performs a correction. This method is independent of the size of the backlash. However, it is effective only in point-to-point motion systems which require position accuracy only at the endpoint.

Motion Smoothing
The CDS-3310 controller allows the smoothing of the velocity profile to reduce the mechanical vibration of the system.
Trapezoidal velocity profiles have acceleration rates which change abruptly from zero to maximum value. The discontinuous acceleration results in jerk which causes vibration. The smoothing of the acceleration profile leads to a continuous acceleration profile and reduces the mechanical shock and vibration.

Tuesday, 12 February 2013

Turbulence of Ambulance

Test
Seat-pad vibration total values [m/s2]


Unweighted


Weighted


Mean
SD
SD/Mean
Mean
SD
SD/Mean
Hand transport
1.46
0.29
0.20
1.06
0.25
0.24
Ambulance off-road
1.87
0.18
0.10
1.21
0.12
0.10
Ambulance urban
1.03
0.15
0.15
0.64
0.08
0.13
Helicopter cruise
1.02
0.05
0.05
0.27
0.02
0.07



Acceleration measured on the stretcher at feet, center of gravity and head position. Head is toward the front of the vehicle. ——Δ—— unweighted acceleration values, ---•--- Weighted acceleration values.
From data analysis it is evident that exposure of the patient’ feet to vertical vibrations is higher than the exposure suffered by the head. Since feet are above the rear vehicle axis and the head is near the ambulance center of mass, these differences are probably related to vehicle pitch.



Referenced from Whole body vibration in mountain-rescue operations, E. AlbertiaD. ChiappabG. MoschioniaB. Saggina,  M. Tarabinia