1.实验原理
该部分由应变片与 HX711 模数转换器组成。应变片上的压力变化引起应变片 内的电阻值大小发生变化,进而引起线路中的电流发生改变,该电流经过 HX711 内部的片内低噪声可编程放大器、24 位 A/D 模数转换器等部分的处理,最终产 生一个关于重量大小数字信号。这个信号通过导线进行数据的传输最终到达核心 处理器。处理器最后将该数字信号进行处理,得到称重的实际大小。
该电子秤共设有四个应变片式压力电阻,两两一对安装在秤杆的上下两个平面。四个传感器应用了桥式电路,能够对称重的精确度进行有效的提高。而我们
所选用的模数转换器所使用的芯片 HX711,内部封装了用于为板件内各部分提供时钟信号的钟振,具有较高的集成度;还封装了用于提供稳定电压的稳压电源 , 能够减少在开发以及实际安装使用过程中的复杂程度。
- 硬件连接
除了 VCC 和 GND 只需要连接一根时钟线和一根数据输出线,以下为对应的
引脚连接表:
- 实验平台
北京迅为电子提供的搭建好的开发环境 Ubuntu18.04 和 Linux 源码,RK3568
开发平台。
- 实验步骤
1 下载迅为提供的内核源码。
解压之后如下所示:
2 内核配置
默认内核中是不包含 HX711 的驱动,我们将网盘资料“iTOP-3568 开发板\02_
【iTOP-RK3568 开发板】开发资料\09_系统外设功能测试\06_V1.7 底版外设快速测试资料\07_HX711 测试\03_驱动模块”中的驱动文件拷贝到源码内核的
kernel/drivers/misc/hx711 目录下,如下所示:
在源码 kernel/drivers/misc/hx711 目录下新建 Makefile 文件,写入如下内容:
obj-$(CONFIG_HX711)
+=hx711.o
在源码 kernel/drivers/misc/hx711 目录下新建 Kconfig 文件,写入如下内容:
config HX711
tristate "HX711"
help
This supports HX711 Module drivers.
然后在源码 kernel/drivers/misc/Makefile 添加如下内容:
obj-y
+=hx711/
然后在源码 kernel/drivers/misc/Kconfig 添加如下内容:
source "drivers/misc/hx711/Kconfig"
最后执行 make menuconfig 配置内核对应选项,如下所示:
export ARCH=arm64
make rockchip_linux_defconfig
make menuconfig
依次选择以下选项:
Device Drivers
Misc devices --->
<*> HX711
保存退出之后,输入以下命令保存配置内核文件。
make savedefconfig
输入以下命令保存到默认的配置文件中:
cp defconfig arch/arm64/configs/rockchip_linux_defconfig
3 修改设备树
在设备树
rk356x_linux/kernel/arch/arm64/boot/dts/rockchip/rk3568-evb1-ddr4-v10.dtsi 的根目
录下,添加如下内容:
hx711 {
status = "okay";
compatible = "avia,hx711";
sck-gpio = <&gpio1 9 GPIO_ACTIVE_HIGH>;
dt-gpio = <&gpio1 10 GPIO_ACTIVE_HIGH>;
linux,default-trigger = "gpio";
default-state = "off";
};4 取消复用
打开
rk356x_linux/kernel/scripts/dtc/include-prefixes/arm64/rockchip/rk3568.dtsi 文件,注
释掉如下内容。
5 重新编译内核和设备树文件
在源码目录
rk356x_linux/kernel/arch/arm64/boot/dts/rockchip/topeet_screen_choose.dtsi 文件中
开启屏幕宏定义,然后输入以下命令编译内核镜像。
./build.sh kernel
6 更新系统内核和设备树
编译完成之后,在 kernel 目录下生成编译好的镜像,我们单独替换烧写内核
镜像。
7 测试
首先将 hz711_test 可执行文件拷贝到开发板的/mnt 目录下,
首先在没有放承重的情况下,使用命令“hz711_test”运行称重测试程序,
可以看到打印的重量信息为 0g,然后放上承重物,再次使用命令“hz711_test”
运行称重测试程序,可以看到承重物的重量信息已经被打印了出来,具体重量为 159g,至此 HX711 称重模块测试就完成了