Localization Hardware
This page describes the hardware design of the 3D localization system.
The anchors and tags are made up of some main components as described in the table below. The main difference is that the anchors have 180° of the antenna shielded in order to allow mounting on walls and ceilings without changing the antenna properties from reflections, other than that the tags contains a high precision IMU for sensor fusion in order to improve the velocity estimates.
Anchors | Tag |
---|---|
a cortex-m0 processor from ST (STM32f072) | a cortex-m3 processor from ST (STM32f103) |
an UWB device (DWM1000) | an UWB device (DWM1000) |
a pressure sensor (LPS25H) | a pressure sensor (LPS25H) |
a 3.3v low noise LDO regulator (MIC5209) | a high precision IMU (MPU-9250) |
a single-cell LIPO charger (MCP73831) | a 3.3v low noise LDO regulator (MIC5209) |
a single-cell LIPO charger (MCP73831) |
Contents |
Connectivity
The system contains a number of potential ways to extract information. It is possible to connect to the anchors through a UART serial port, a virtual serial port on the USB port, or SWD via eg. openOCD (GDB). In the same way the tags can be reached through the UART port, a virtual serial port through the USB port, SWD or I2C. The next generation of the tags are supposed to SPI extracted from the uC as well for improved connectivity to eg. a robot.
The Anchors
The anchor schematic can be seen at Anchor schematic
The anchors can be programmed through either the USB (DFU), or the SWD link that has been broken out to J3. The SWD protocol is an alternative to the full JTAG, that only used 2 data wires for programming and debugging. See Arm compiler environment#OpenOCD Setup For more info on how to use SWD.
Known errors
The anchor hardware is still error free, meaning that there is yet to be found errors in the newest electronic design. The only thing on the list of changes to come in the next revision is a better power control, courtesy of a switch-mode regulator and the ability to utilize the ultra-low power sleep mode of the DW1000 devices. This means that the DWM1000 modules would have to be powered directly from the battery, through its own 3.3v always-on regulator, with EXTON connected to the shutdown of the switch-mode. This would allow the anchors to be powered on and off wirelessly, while still maintaining an ultra low power consumption in standby mode.
The Tags
The tag schematic can be seen at Tag schematic
The tags can only be programmed through the SWD link that has been broken out to the U6 connector. The SWD protocol is an alternative to the full JTAG, that only used 2 data wires for programming and debugging. See Arm compiler environment#OpenOCD Setup For more info on how to use SWD.
The tags furthermore contain a high precision IMU (MPU9250), to allow for sensor fusion with the result of a better velocity estimate. For more info in the sensor fusion see 3D localization#Sensor fusion
Known errors
The tags contains at least two known hardware errors, one is the missing load sharing in the charger design (see the anchors for the proper design), and the other known issue, is the regout pin being connected to 3.3v instead of bypassed to ground through 100 nF capacitor. As with the anchors, the next hardware revision of the tags should implement a proper power scheme, through a switch-mode regulator. The next revision will probably loose the battery charger entirely, as the system should be powered through the device you want to track (robot), and as such does not need a battery.
Software
All the PCB design is done in a software suite called DipTrace, which can be downloaded for free at www.diptrace.com. The software is currently only available in a Windows and Mac OS X version, but runs perfectly through Wine. DipTrace offers a free student license, allowing a larger design along with some extra features. This student license can be requested by writing an email to the contact address listed at their academic site.