Servo Valve Controller Design Notes

Project: 901101 Ocean Imaging
PI: David Caress
Designer: Eric Martin

Requirements

Functional Requirements

  1. Must interface electrically either with OI power can or directly with Doc Ricketts through one of its science ports.
  • Can actuate 1 servo valves of the Moog 30 Series Servo Valves
  • Can achieve high-resolution position control through remote valve command.
  • Can have persistent null point current calibration storage
  • Can update setpoint at rates to allow for tilt at maximum and minimum speeds.
  • Provides utility for software and either SMD software control or remote control through a fiber optic transceiver.
  • Fits within the same oil-compensated volume housing the backside of the servo valves, and be pressure tolerant to 6,000-PSIG.
  • Be compatible with Ventana integration as well.

Derived Requirements

  1. ROV science port interface is optimal as it provides utility for this valve pack on other potential users of the sled. This can be 12-VDC or 24-VDC, and is limited around 2-amperes. DETAILS PENDING
  • Science ports offer both RS-232 and RS-485 interface through Focal fiber-optic converters. The channels limit communication speeds to DETAIL PENDING.
  • Resolution requirements impart a certain control response limit both from the valve itself and the DAC frontend driving the spool. This will be evaluated.
  • Speed of the final tilting apparatus must be within the range of 0-20-degrees/second (xxx GPM)
  • Null point drift can often vary with time, temperature and system pressure. However, we want to ensure that the zero-current command truly stops motion. This can be employed through persistent storage on a target controller.
  • SMD software control enforces implementation of MODBUS protocol, which can be employed on a variety of physical layers, such as RS-232 and RS-485.

Non-Essential Features

  1. Self contained closed loop control through direct communication with the tilt sensor.
  • Sing Science port integration

Response Time

How fast and how slow does the system need to go? There are two operational requirements:

  1. The system must respond to a rapidly change topography.
  2. The system must move slowly enough for a uniformly survey.

Let's look at each one:

Topography Response

To expand this operational scenario informs the design in such a way that the system must be able to sense and tilt the array fast enough that at normal forward survey velocities it can see and register the worst case problem: a flat bottom approaching a vertical wall.

In [1]:
import numpy as np
%matplotlib inline
import matplotlib.pyplot as plt

# Assuming the vehicle is moving at its usual survey speed
speed_forward = 30 #cm/s
altitude = 300 #cm

# Also assuming we are using the DVL Beams as the first warning and bottom tracking solution
theta_forward = 30 #degrees

# What are the ranges of speeds we are interested in? 
speed_tilt = np.linspace(5,20) #degrees/s

# How far out are we seeing as we approach and tilt up at maximum speed
look_ahead_distance = altitude * np.tan(np.deg2rad(theta_forward))
look_ahead_distance
Out[1]:
173.20508075688772
In [2]:
# So now how much time is there to stop from there
time_to_stop = look_ahead_distance / speed_forward
speed_lim = [5,20]
time_lim  = [time_to_stop, time_to_stop]
time_to_stop
Out[2]:
5.773502691896257
In [3]:
# So how long to tilt up to face that? 
time_to_face = 90 / speed_tilt
fig = plt.figure(figsize=(10,3))
ax = fig.add_subplot(111)
ax.plot(speed_tilt, time_to_face, label='Tilt Response')
ax.plot(speed_lim, time_lim, label='Time before collision')
plt.xlabel('Tilt Speed (deg/s)')
plt.ylabel('Time of Response (s)')
plt.legend();

Uniform Survey

The slowest data aggregation tool along track is the multibeam, which usually surveys with 5-cm cross-track spacing at a scan rate of 5-Hz, let's understand how slow we need to tilt at a steady rate to acheive the same along-track spacing, assuming the ROV is stopped and we are surveying a feature with 3-m curved profile.

In [4]:
# Determine the scan speed for this arc to move through 5-cm at 5-Hz
along_track_resolution = 5 #cm
ping_rate = 5 #hertz
arc_length_bt_pings = along_track_resolution
theta = np.rad2deg(arc_length_bt_pings/altitude) # degrees of motion in subtended arc
max_tilt_speed = theta *ping_rate # degrees/sec
max_tilt_speed # max tilt speed for multibeam to have 5-cm along-track resolution
Out[4]:
4.77464829275686

Selecting Hardware for COTS Solutions

The below response curve helps establish the upper response of the amplifier and any DAC's in the system:

30 Series Frequency Response

If we are using the Moog G123-825 servo amplifier, its corner filter on the input is set in steps of 7, 16, 34, 72, & 723 Hz, ±10% So we are looking for a PLC module that can supply either 4-20mA drive or ±10V and can update around 100Hz.

PLC Modules

  1. [Adam-4024] (https://buy.advantech-bb.com/I-O/Serial-I-O/model-ADAM-4024-B1E.htm)
    • RS-485 (Max baud 38.4)
    • Compact (60x125x25)
    • Only frequency response published is a output slope setting of 0.124 mA/sec
    • This limits to 62Hz for 1mA oscillations, and 3.8Hz for full range oscillations.
    • Cost $309
  1. DGH D4000
    • RS-232/485
    • Compact (91x64x28)
    • Similar controls to the 4024, but single channel
    • Cost $275
  1. [CLICK PLCs] (https://www.automationdirect.com/clickplcs)

    • C0-02DD1-D: Has required bits, and another analog output card could expand for proportional valve control.
    • Dual serial port means one port could talk through vehicle, and another could parse data from the level sensor
    • Low cost (<200$)
    • More channels easily c004da1
    • About the size of a wago
  2. WAGO

    • Comparable to CLICK, likely better quality
    • 3x the price
    • larger
  3. Microprocessor
    • implement an i2c 4-20mA current transmitter with a micro to provide a similar unit to the DGH module, plugged into a micro like an arduino, tiny and cost <150$, but not worth it.
In [1]:
# Calculate the full swing
(((16)*2/0.124)/1000)**-1
Out[1]:
3.875

Next

Looks like all of the available solutions are rate limited and likely just expensive enough to warrant a custom design. Let's look into that in the next page:

In [ ]: