迅为RK3568开发板外接模块之HX711 称重模块

描述

 1.实验原理

该部分由应变片与 HX711 模数转换器组成。应变片上的压力变化引起应变片 内的电阻值大小发生变化,进而引起线路中的电流发生改变,该电流经过 HX711 内部的片内低噪声可编程放大器、24 位 A/D 模数转换器等部分的处理,最终产 生一个关于重量大小数字信号。这个信号通过导线进行数据的传输最终到达核心 处理器。处理器最后将该数字信号进行处理,得到称重的实际大小。

该电子秤共设有四个应变片式压力电阻,两两一对安装在秤杆的上下两个平面。四个传感器应用了桥式电路,能够对称重的精确度进行有效的提高。而我们

所选用的模数转换器所使用的芯片 HX711,内部封装了用于为板件内各部分提供时钟信号的钟振,具有较高的集成度;还封装了用于提供稳定电压的稳压电源 , 能够减少在开发以及实际安装使用过程中的复杂程度。

 

模块模块

 

 

2. 硬件连接

除了 VCC 和 GND 只需要连接一根时钟线和一根数据输出线,以下为对应的

引脚连接表:

 

模块模块

 

 

3. 实验平台

北京迅为电子提供的搭建好的开发环境 Ubuntu18.04 和 Linux 源码,RK3568

开发平台。

 

4. 实验步骤

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 称重模块测试就完成了

打开APP阅读更多精彩内容
声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉

全部0条评论

快来发表一下你的评论吧 !

×
20
完善资料,
赚取积分