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.
Tuesday, 26 March 2013
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.
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.
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.
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.
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.
Subscribe to:
Posts (Atom)