Post overview
- Introduction
- Testing process
- Results
- Links
Introduction
In my 2016 year project plan, the most important one is mid-range positioning system. In this project, I need to locate users either by laser or by RF. DWM1000, a UWB module from Decawave company, is just what I need.
(Thanks to image source)
Actually, this module is initially designed as a transceiver for communication. However, thanks to high frequency (~3.5GHz to ~6.5GHz), this chip (DW1000) has enough timing resolution for in-door locating purpose. According to the product sheet, this chip “Allows the location of objects in real time location systems (TLS) to a precision of 10 cm indoors “
In order to validate the feasibility of DW1000 chip, I used Arduino and DWM1000 module to test if it works.
Testing process
Preparing adapter board
I used a milling machine to etch two adapter boards for DWM1000 modules, which made the connection easier and more reliable.
Preparing Arduino
Fortuantely, thotro has create fantastic Arduino Library for DWM1000 module on github: DWM1000-Arduino Thanks to Thotro ! Positioning system uses two way ranging method, which is specified in application note APS013, and screen shot below shows that, two way ranging methos is based on timing.
Testing setup
This is tag node, whcih powered by a mobile power, and put on my bed.
This is anchor, which reads the actual distance and show it on the laptop. There is no block or wall between two nodes, and there is no other engaged DWM1000 module in the range.
Result
According to the screen shot, we can see that, Achor node continuously reads the range with ~(+-)0.2m error, which is greater then I expected. This out-bound error may caused by limit performance of Arduino. I dont have detailed research on it, so please feel free to email me if I am wrong.