wiki:Telemetry/TelemetryTelecontrolShield
Last modified 5 years ago Last modified on 12/30/2012 04:03:40 PM

Telemetry and Telecontrol Shield for Launchpad MSP430

Daughterboard for MPS430 LaunchPad which uses MSP430 G2553 Microcontroller. Please mind that the RX and TX jumpers on the Launchpad MSP430, version with MSP430G2553 supported only, must be placed sideways.

Ticket: http://dev.wlan-si.net/attachment/ticket/1050/ This device is not developed anymore.

Code: https://github.com/wlanslovenija/telemetry

Schematic: TelemetryShield.pdf

Developed by: Musti and Domen P.

Operation

This board has 4 controllable channels (default ON on boot), that can be controlled using serials commands. INPUT connects to the power supply whose output is split in 4 channels and controlled, positive terminal is the left one. (t&t v1 PCB has the INPUT ground pin unconnected, solder it to the adjacent ground). The solid state relay is connected to the MCU via 10kOhm protective resistors. On board voltage regulator can be used to power the MCU, depends on the jumper selection. On the bottom side an INA219 I2C high side power monitor can be employed, accurately measuring the power with shunt R8 resistor. Varistors and TVS diode protect the input, all output channels must be terminated with a TVS diode to backwards protect the solid state relay.

Firmware

Firmware is available in the repository, a compiled version available here.

Upload using MSP430 Flasher utility using the command:

MSP430Flasher.exe -n MSP430G2553 -v -w telemetry0v3.hex -i USB

Powering

The device power source can be selected with a jumper power reg. Connect the jumper between middle and 'reg' pin if the board is powered from the on board regulator from the power source on the INPUT, this is the recommended operating setup. Remove the jumper if powered from USB, otherwise make sure to remove Launchpad programming jumpers.

Communication

The device can be connected via an 3.3V UART interface (named serial and located on the shield; remove all the jumpers on the launchpad in this case) or UART over USB as supported by the Launchpad.

All the communication with the device is via UART 8N1 9600(determined in the build, can be 115200 as well), commands and responses are in plain text ASCII, line terminated.

Communication can be tested with the commands ATZ, expect reply OK:wlan-si telemetry 0.x

Commands:

ATZ - initialize module
reply: OK:wlan-si telemetry 0.1
watchdog on <channel> - start 300s watchdog, if no ping received, reboot is triggered
watchdog off - disable watchdog
watchdog ping - reset watchdog timer to 300s

Controllable channels

4 channels can switch up to 8A per channel and in total per device, voltage up to 35V. Current per channel is sensed and returned with the serial command csense, values returned are RAW ADC in mV, recalculate to current depending on the measurement resistor R12.

Commands:

channel <channel> on - set output channel to 1
channel <channel> off - set output channel to 0
csense                - display current consumption for channels 1-4

Sensors

The board supports communication with sensors via I2C or 1-wire protocol with following commands.

1w scan - scan 1w bus for devices
example reply:
OK:1 1-wire devices:
1WIRE DEV 2c1647070000003d
1w scan_read - scan 1w bus for devices, also read ds18b20 temperatures
example reply:
OK:2 1-wire devices:
1WIRE DS18B20 288055bb03000052 18.43
1WIRE DEV 236e5b8200000043
1w match_rom <id64> - 1w primitive MATCH_ROM, used to select device on bus
1w read_rom - 1w primitive READ_ROM, use to read device id for only device
1w skip_rom - 1w primitive SKIP_ROM, use if only 1 device on bus
1w read [bytes_dec] - read a byte or bytes, ie. "1w read 11" will read 11 bytes
example reply:
1WIRE DATA 27 01 4b 46 7f ff 09 10 72
OK
1w write <hex8>... - write bytes, ie. "1w write 12 3c 8a"
reply: OK:<number of bytes written>

i2c <hexaddr> write <hex8>... - write bytes, ie. "i2c 5a write 21 3a"
i2c <hexaddr> read <bytes_dec> - read bytes, ie. "i2c 5a read 2" will read 2 bytes from address 0x5a (so, 0x5a<<1|1, basically). 0-byte read is valid, and can be use to detect device presence.
example reply:
I2C 5a DATA 3e 51
OK
i2c <hexaddr> write <hex8>... read <bytes_dec> - a merge of write and read commands,

Attachments