购买了ADI的ADXL357测试板,用于采集X/Y/X三轴的加速度。
ADXL357特性如下:
- 支持I2C,SPI协议;
- 其它见文档;
一、I2C
Jenson Nano板卡上有两个I2C总线,将SDA,SCL直接连线后,通过jetson nano中自带的i2cdetect/i2cdump/i2cget/i2cset即可检测到ADXL357的设备ID是0x01。
然后按照datesheet,将其init至测量模式后,即可然后按照正常操作读取数据结果。
参考连接:
https://github.com/linux-downey/jetson_nano_demo_kit_example/blob/master/grove_3_axis_accelerometer_adxl372.py 下载:jetson-nano-demo-kit-example-master
https://ez.analog.com/cn/mems/f/q-a/99023/adxl357
优点:连线简单、但速度上限仅3Mb/S左右,上限传输速度决定仅能在一个I2C总线上挂在3个ADXL357传感器;(3路20位ADC)
二、SPI
Jetson Nano上自带两个SPI总线,但Jetson默认未将Linux Kernal中的DTS设备树种挂在SPI总线,因此需要手动使能SPI总线。
使能SPI总线后,即可在/dev/分区下看到总线号与设备号。
后将SCL/MOSI/MISO/CS1连接至Jetson Nano 对应GPIO口。
使用Python的spcdev包连接SPI总线后,可以正常读取到x/y/z三轴的及速度,并且经过测试每秒可以读取10K次,且数据不重复,完全达到了ADXL采样率的上限。
参考连接:
《JetsonNano使用DC电源接口》:https://devtalk.nvidia.com/default/topic/1048640/jetson-nano/power-supply-considerations-for-jetson-nano-developer-kit/
《JetsonNano使能SPI总线》:https://github.com/rt-net/JetsonNano_DT_SPI
《使用python连接adxl345》:https://github.com/pimoroni/adxl345-python 下载连接:adxl345-python-master
《raspberrypi-adxl345》:https://github.com/nuclearfutureslab/adxl355-pi 下载连接:adxl355-pi-master
《树莓派2B调试SPI接口》:https://www.mobibrw.com/2018/13291
《Raspberry Pi 筆記(20):MCP3008 讀取類比訊號測溫度與光度》:https://atceiling.blogspot.com/2014/04/raspberry-pi-mcp3008.html#.Ve01WXvG6JU
优点:传输速度快,ADXL357最大速度为10Mb/s。
缺点:接线复杂,多个传感器时需要物理CS片选;
三、GPIO
使用python3 Jetson.GPIO库之后,可以正常操作GPIO满足正常需求。
参考连接:
https://github.com/NVIDIA/jetson-gpio
四、ADXL357
已知经验如下:
- 通讯正常时,z方向有1g的默认加速度,当转动adxl357传感器时,会将加速度分担之x,y轴向;
- 若加速度传感器完全静止,则可以根据x,y,z三轴的加速度解出其x,y,z三轴的角度姿态;
-