Difference between revisions of "dw1000 advanced demo"

From InCircuit
Jump to: navigation, search
(Created page with "==Overview== The {{PAGENAME}} is the default firmware programmed on radino32 DW1000 during production. The {{PAGENAME}} implements extended measurement for the [[radino3...")
 
Line 12: Line 12:
 
* easily accessible configuration interface
 
* easily accessible configuration interface
  
It is planned to also make the {{PAGENAME}} compatible to [[radinoL4 dw1000]] soon.
+
It is planned to also make the {{PAGENAME}} compatible to [[radinoL4 DW1000]] soon.
  
 
The measuring takes place between modules configured as Anchor and Tag. At least one of each type is required.
 
The measuring takes place between modules configured as Anchor and Tag. At least one of each type is required.

Revision as of 17:53, 13 October 2017

Contents

Overview

The dw1000 advanced demo is the default firmware programmed on radino32 DW1000 during production.

The dw1000 advanced demo implements extended measurement for the radino32 DW1000. The project is based on the basic dw1000 ranging demo which itself is a simple radino portation of the DW1000 library by Thomas Trojer.

Main enhancements versus the basic dw1000 ranging demo are:

  • more stable and accurate mesurements
  • easy to read data output
  • support for more devices
  • collision detection so that multiple meshes can work in parallel
  • easily accessible configuration interface

It is planned to also make the dw1000 advanced demo compatible to radinoL4 DW1000 soon.

The measuring takes place between modules configured as Anchor and Tag. At least one of each type is required.


How to see something going on

You received two brand new radino32 DW1000.
Here is how you set them up to see something happening.

  • Connect one radino32 DW1000 to your PC via USB
  • Access the com port with a terminal program (e.g. PuTTY, Hyperterminal, Aruindo Serial Monitor, HTerm, ...)
  • You'll see an empty table because no distant device is available
Type    Address Range   Battery OthRxP  OurRxP  (ADDR=3A34) F
  • Type "m<Enter>" to access the configuration menu
F)orceTag:0  C)han:5  X)Str:27.5  T)ableOut:Y  R)eload  S)tore  Q)uit
  • Type "f<Enter>" to set the module to tag mode
  • Type "q<Enter>" to leave the configuration menu
  • Connect the second radino32 DW1000 to your PC via USB
    • The second radino32 DW1000 starts in anchor mode
    • You'll see measurement results on the first radinos USB serial
$RAN,11927112,3AC3,0.48,2.02,0.00,-59.94
  • Open a serial connection to the second radino32 DW1000
    • You'll see a not empty table containing the first radino32 DW1000
Type    Address Range   Battery OthRxP  OurRxP  (ADDR=3AC3) F
5       3A34    0.46 m  2.00 V  -61.26 dBm      -60.72 dBm


Configuration within sketch

For correct functionality the Sketch needs to know which hardware the DW1000 is mounted on. This is done within the main *.ino at the block:

// Define your hardware setup
// 0: DW1000 USB device as Anchor (Mode toggleable via menu. See our wiki.)
// 1: DW1000 USB device forced to TagMode
// 2: DW1000 Tag
#define USED_HARDWARE 0

The "DW1000 USB device as Anchor" will correctly run on most boards.

  • The USB serial is used as data and configuration interface
  • No external hardware needs to be connected
  • The DW1000 acts as anchor by default and can be set to tag mode via configuration menu
  • The LED on Pin 13 will blink when a measurement was succesfull

The "DW1000 USB device forced to TagMode" acts nearly identical to the version above. The only difference is, that it always powers up in TagMode and can only temporarily be set to anchor mode.

The "DW1000 Tag" is built for the DW1000 Tag. It relies on the hardware available on that device.

  • acceleration sensor
  • battery measurement ciruit
  • always works in tag mode


The short address used in wireless communication can be

  • read from production written value within the EEPROM.
// On radino32 during production a serial number ist written to EEPROM at address 0x8
// This serial number will overide the SHORT_ADDRESS define below
#define SN_OFFSET 0x08
  • set by the define SHORT_ADDRESS if there is no valid serialnumber contained
// Define the modules default short address (used for wireless addressing)
// May be changed by commandmenu on some hardware (id set by command menu has priority)
// A valid serial number in EEPROM is favored over this define
#define SHORT_ADDRESS 0x9876
  • The value is stored in the internal configuration after inital interpretation


Configuration menu

For the configuration menu when using USED_HARDWARE==2 pleaser refer to the DW1000 Tag documentation.

The configuration menu on a USB device (USED_HARDWARE==0 or USED_HARDWARE==1) is available on the radinos virtual com port.

  • Connect the device to your PC via USB
  • Access the com port with a terminal program (e.g. PuTTY, Hyperterminal, Aruindo Serial Monitor, HTerm, ...)
  • After opening the connection type "m" and press <Enter> once to display the menu
F)orceTag:0  C)han:5  X)Str:27.5  T)ableOut:Y  R)eload  S)tore  Q)uit
>

Available commands:

All commands will be send by <Enter>.
While not in command mode, only the 't' and 'm' commands are executed.
Measurements will continue during command mode, but data output is paused.

f
  • toggle between Anchor and Tag mode (0==Anchor,1==Tag)
cX
  • set channel to X. (Valid values: 1,2,3,4,5,7)
xYYZ
  • set tx power to YY.Z dB (Range 0 to 33.5 steps of 0.5)
p
  • toggle state of relais when a tag is within distance
dXXX
  • set distance below which a tag is considered near (XXX is the value in 10ths of a meter)
    • example: d55 <Enter> sets the distance to 5.5 meters
t
  • toggle if information is printed as table (Y) or as single measurements (N)
  • See documentation below
  • In tag mode (ForceTag==1) the table output is not possible
r
  • reload last stored values from EEPROM
s
  • store current configuration to EEPROM
q
  • leave command mode


Output formats

Table output format:

Type Address Range  Battery OthRxP     OurRxP     (ADDR=3CB2) E
2    2A67    1.42 m 4.14 V  -63.23 dBm -62.58 dBm
  • ADDR=3CB2 means we are the Anchor with ID 3CB2
  • Type 2 means tag
  • Address is the tags ID
  • Range is the distance to the tag in m
  • Battery is the current battery voltage the tag measures
  • OthRxP is the Received Signal Strength Indication reported by the distant device
  • OurRxP is the Received Signal Strength Indication our DW1000 measured


Single output format:

$RAN,373024,2A67,1.14,4.12,-62.23,-63.30
  • $RAN - Header
  • Milliseconds since Anchor power up
  • ID of the tag
  • Distance to the tag in meters
  • Batterylevel the tag measures
  • RSSI of the connection reported by the distant device
  • RSSI of the connection reported measured by our DW1000


Download

The dw1000 advanced demo can be found at our radino library.

Personal tools