file: vmcm2-function.html
11 Sep 2003

VMCM2 Functional Descriptions

This document provides additional detail of the VMCM2 functions, with brief descriptions of each PC board and discussion of options. In particular, the on-board A/D converter, which can be configured in the field and used for some types of analog options, is described in some detail. For more information on operation and technical details, refer to the VMCM2 Documents CDROM included with the VMCM2 Upgrade Kit.

VMCM2 Standard functions:

VMCM2 Current Meter Main Electronics   (Firmware VMCM2 V3.xx)

The VMCM2 Current Meter is based on the original VMCM instrument. The original rotors, "sting", and housing hardware are retained; only the internal chassis and electronics are replaced. See the VMCM2 Upgrade Kit instructions for details of upgrading the instrument.

The VMCM2 Main Electronics consists of a two-board set of CPU and interface which handles the rotor outputs and communicates (via RS232) with the Precision Navigation compass. Rotors and compass are sampled on a 1 second interval and vector averaged until the end of each logging interval (set by RI parameter in UOK command). Within the last few seconds of each interval, the thermistor interface and A/D converter are also sampled (see descriptions below). All the "live" interval data is available via the 'D' and 'E' commands on the primary RS232 "console" interface used for all VMCM2 communications.

Note that there are two minor differences in the VMCM2 handling of the rotors:

  1. the Velocity Constant is now set for 2.34375 cm flow per rotor count
  2. the rotors produce 16 counts per revolution

(the original VMCM produced 4 counts per revolution and used a constant of 9.36 cm flow per count).

The VMCM2 CPU board is based on a Dallas Semiconductor DS87C530 microcontroller. DS87C530 internal peripherals include a real time clock and 2 uarts; 2 additional uarts are included on the CPU board as well. Also present on the CPU board is a PCMCIA interface for the 20MB FLASH memory card included with the system; at a 1-minute logging interval, there is enough storage for over 400 days of data. A standard CR2032 lithium coin cell provides battery-backup for the realtime clock. Operating parameters are stored in EEPROM and are NOT dependent on the backup battery. A normally unused RS485 console interface at P1 is also present on this board.

(To use RS485 comms with the VMCM2, kill power, swap VMCM2 CPU board jumper JP1 to 2-3 [indicated by a small white dash on the silkscreen], remove the POWER/COMMS cable from the VM2IF P8 connector, and attach it to P1 on the VMCM2 CPU. At power up, no sign-on message will be sent, but all commands will function as in RS232 mode. Note that the XMODE command will only send a brief message "XMODEM data dump requires RS232".)

The VMCM2 Interface board handles power and comms distribution as well as interface to the rotors and on-board 12-bit A/D converter. In addition to the rotor interface at connector P12, connector P2 provides interface to the Precision Navigation compass, and connector P1 provides interface to the standard thermistor temperature interface (see description below). Connectors P13 and P14 provide access to the on-board A/D converter (see description below). Connector P8 is the main RS232 "console" interface to the VMCM2 and can also be used to apply external power to the VMCM2 during test. The main +12V battery stack (for the base system including rotors and compass) is connected to P9; the auxiliary +15V battery stack (which typically powers the thermistor temperature board and any external A/D devices) is connected to P10. Regulated +5V power for the system is produced on this board.

An unused RS232/RS485 interface with power control at P11 is available for future expansion, as is a single bit/simple frequency counter input with power control at P3. No access to either interface is currently available with VMCM2 V3.xx firmware.

Standard Thermistor Temperature (Firmware VMTPOD53 V1.xx)

The thermistor temperature interface is provided on a separate PC card linked by RS485 comms at 9600 baud. Power is switched and provided by the main VMCM2 board set. As with the main VMCM2 board set, operation is controlled by a Dallas Semiconductor DS87C530 microcontroller. The A/D converter is an Analog Devices ADS7807 16-bit device. Temperature accuracy is approximately ?? millidegrees. Response time is fairly slow at ?? minutes; this is equivalent to the original VMCM end-cap mounted thermistor temperature measurement.

Direct access for calibration and test purposes is possible by disconnecting the PC card from the main VMCM2 and connecting via an RS485 adapter to any standard PC terminal emulator software set for 9600 N81. Refer the the VMTPOD53 Command Set for direct commands.

On-board A/D converter option (part of Firmware VMCM2 V3.xx)

The A/D converter is sampled at the end of each logging interval (set by RI parameter in UOK) command). This "snapshot" is actually an average of 5 A/D conversions by the MAX186 12-bit A/D converter over aproximately 5 ms. The first 3 channels are unused and can accept a 0 to 4.000 volt input. The 4th channel is set by default (jumper JP9 2-3 on the VM2IF board) for battery current measurement. 11 SEP 2003 - this MUST be disabled by jumpering JP3 to eliminate dropping resistor to main battery common - possible instrument failure if NOT DISABLED!! By resetting the JP9 jumper, a 4th general purpose A/D channel may instead be made available on the 4th channel. The 5th A/D channel is hard-wired to measure main battery voltage only.

The 4 available A/D channels can be scaled by op-amps U18 and U19; two positions are available at each op-amp for 1/4 watt, 1% resistors (RN55 or equivalent). CH1, CH2 and CH3 are shipped with unity gain jumpers installed. CH4, which defaults to battery current measurement, has resistors installed for 5X gain. Switched power is available at the A/D channel input connectors as well; all 4 channels are switched simultaneously. Power is turned ON approximately 1 second before the A/D is sampled. The power source can be AUX +12V battery or AUX +15V battery. The default (and recommended) source, set by JP8 1-2, is AUX +15V. Maximum current on any one channel should be kept to less than 25 MA.

Remember that the total amount of power available is a function of the size of the power source (i.e. AUX +15V) versus the length of deployment, logging interval, and total option current consumption at the duty cycle of approximately 1.5 seconds per interval. Don't forget to include the 1.5 second per interval power consumption of the Thermistor Temperature Option, which also draws its power from the AUX +15v battery by default.

A/D channels are accessed at connectors P13 and P14 as follows:
    CH1+ input   -> P13-2
    CH1 common	 -> P13-1
    CH1 +power	 -> P13-4
    CH2+ input   -> P13-6
    CH2 common	 -> P13-5
    CH2 +power	 -> P13-8
    power common -> P13-7

    CH3+ input   -> P14-2
    CH3 common	 -> P14-1
    CH3 +power	 -> P14-4
    CH4+ input   -> P14-6
    CH4 common	 -> P14-5
    CH4 +power	 -> P14-8
    power common -> P14-7

A/D Converter Calibration

The raw 0 - 4095 count output of the A/D is always scaled by the built-in 3rd order polynomial with calibration constants defaulted to B = 1 for the first 3 channels, B = 1.95e-2 for the 4th channel (battery current in MA), B = 3.90e-3 for the 5th channel (battery voltage). Constants A, C, and D are all set to 0 normally. Refer the CAL parameter of the UOK command to set these values as desired.

Changed the instrument address and forgot the new address?

In the event that the instrument address has been forgotten (it was changed from the default VM001 at some point), it is not possible to send any commands to the VMCM2. But, all is not lost! To find out what the current address of the VMCM2 is, send a #99ADR<cr> and the current address will be returned. And if it's not the address you want, use the returned address to access the UOK command and change the address with the ADR sub-command. And don't forget to cycle power for the new address to take effect after WRTOK to save it to EEPROM.