概述
涂鴉智能 (NYSE:TUYA) 是一家致力于讓生活更智能的領(lǐng)先技術(shù)公司,涂鴉提供能夠智連萬(wàn)物的云平臺(tái),打造互聯(lián)互通的開(kāi)發(fā)標(biāo)準(zhǔn),連接品牌、OEM 廠商、開(kāi)發(fā)者、零售商和各行業(yè)的智能化需求,涂鴉的解決方案賦能并提升合作伙伴和客戶的產(chǎn)品價(jià)值,同時(shí)通過(guò)技術(shù)應(yīng)用使消費(fèi)者的生活更加便利,涂鴉智能的智慧商業(yè) SaaS 為豐富的垂直行業(yè)提供智能解決方案。涂鴉智能領(lǐng)先業(yè)界的技術(shù),符合嚴(yán)格的數(shù)據(jù)保護(hù)標(biāo)準(zhǔn)和安全性。 壓力傳感器是工業(yè)實(shí)踐中最為常用的一種傳感器,其廣泛應(yīng)用于各種工業(yè)自控環(huán)境,涉及水利水電、鐵路交通、智能建筑、生產(chǎn)自控、航空航天、軍工、石化、油井、電力、船舶、機(jī)床、管道等眾多行業(yè)。 同時(shí)壓力傳感器可以應(yīng)用于電子稱重系統(tǒng)或者久坐系統(tǒng),實(shí)現(xiàn)了稱重顯示、超限報(bào)警、校準(zhǔn)、適應(yīng)各種工作環(huán)境、遠(yuǎn)程實(shí)時(shí)監(jiān)控等多種功能,可以廣泛應(yīng)用于各種稱重場(chǎng)景。 本章主要是配置開(kāi)發(fā)板對(duì)壓力傳感器HX711進(jìn)行數(shù)據(jù)讀取以及通過(guò)串口打印數(shù)據(jù)。
資料下載
https://download.csdn.net/download/qq_24312945/84796130
涂鴉智能
想更多了解涂鴉智能化開(kāi)發(fā)方案,獲取相關(guān)技術(shù)資料或開(kāi)發(fā)物料,可點(diǎn)擊下方報(bào)名參加,同時(shí)有30元優(yōu)惠券。。 https://t.tuya.com/AY1D3R9jGr
硬件準(zhǔn)備
首先需要準(zhǔn)備一個(gè)開(kāi)發(fā)板,這里我準(zhǔn)備的是NUCLEO-F103RB的開(kāi)發(fā)板:
對(duì)于該主控的原理圖,可以在官方種進(jìn)行下載,下載地址如下: https://www.st.com/zh/evaluation-tools/nucleo-f103rb.html#cad-resources
選擇芯片型號(hào)
使用STM32CUBEMX選擇芯片stm32f103rb,如下所示:
配置時(shí)鐘源
HSE與LSE分別為外部高速時(shí)鐘和低速時(shí)鐘,在本文中使用內(nèi)置的時(shí)鐘源,故都選擇Disable選項(xiàng),如下所示:
配置時(shí)鐘樹(shù)
STM32F1的最高主頻到72M,但是使用內(nèi)部時(shí)鐘最快只能達(dá)到64M,所以配置64即可:
串口配置
本次實(shí)驗(yàn)使用的串口1進(jìn)行串口通信,波特率配置為115200。
開(kāi)啟中斷。
生成工程設(shè)置
代碼生成設(shè)置
最后設(shè)置生成獨(dú)立的初始化文件:
生成代碼
串口接線配置
由于只用做發(fā)送數(shù)據(jù),故不需要接開(kāi)發(fā)板的rx。 |開(kāi)發(fā)板 | 串口模塊 | |--|--| |PA9(TX) | RX | |GND | GND |
配置keil
打印代碼
在main.c中,添加頭文件,若不添加會(huì)出現(xiàn) identifier “FILE” is undefined報(bào)錯(cuò)。
/* USER CODE BEGIN Includes */
#include "stdio.h"
/* USER CODE END Includes */
變量定義:
/* USER CODE BEGIN PV */
#define BUFFERSIZE 255 //可以接收的最大字符個(gè)數(shù)
uint8_t ReceiveBuff[BUFFERSIZE]; //接收緩沖區(qū)
uint8_t recv_end_flag = 0,Rx_len;//接收完成中斷標(biāo)志,接收到字符長(zhǎng)度
/* USER CODE END PV */
函數(shù)聲明和串口重定向:
/* USER CODE BEGIN PFP */
#ifdef __GNUC__ //串口重定向
#define PUTCHAR_PROTOTYPE int __io_putchar(int ch)
#else
#define PUTCHAR_PROTOTYPE int fputc(int ch, FILE *f)
#endif
PUTCHAR_PROTOTYPE
{
HAL_UART_Transmit(&huart1 , (uint8_t *)&ch, 1, 0xFFFF);
return ch;
}
/* USER CODE END PFP */
打印數(shù)據(jù)進(jìn)行測(cè)試。
/* USER CODE BEGIN 2 */
printf("壓力傳感器HX711\\r\\n");
/* USER CODE END 2 */
打印演示效果
壓力傳感器HX711接線說(shuō)明
橋式傳感器于HX711原理如下所示。 模塊接線方式如下所示。 壓力傳感器與HX711模塊接線。
壓力傳感器 | 串口模塊 |
---|---|
紅線 | E+ |
黑線 | E- |
白線 | A- |
綠線 | A+ |
開(kāi)發(fā)板HX711模塊接線。 |開(kāi)發(fā)板 |串口模塊| |--|--| |VCC| VCC| |DT |PC10| |SCK |PC11| |GND |GND|
STM32CUBEMX配置數(shù)據(jù)管腳
配置PC10為DT數(shù)據(jù)腳,配置PC11為SCK時(shí)鐘腳。
壓力傳感器HX711通訊
串口通訊線由管腳 PD_SCK 和 DOUT 組成,用來(lái)輸出數(shù)據(jù),選擇輸入通道和增益。 當(dāng)數(shù)據(jù)輸出管腳 DOUT 為高電平時(shí),表明A/D 轉(zhuǎn)換器還未準(zhǔn)備好輸出數(shù)據(jù),此時(shí)串口時(shí)鐘輸入信號(hào) PD_SCK 應(yīng)為低電平。當(dāng) DOUT 從高電平變低電平后,PD_SCK 應(yīng)輸入 25 至 27 個(gè)不等的時(shí)鐘脈沖。其中第一個(gè)時(shí)鐘脈沖的上升沿 將讀出輸出 24 位數(shù)據(jù)的最高位(MSB),直至第 24 個(gè)時(shí)鐘脈沖完成,24 位輸出數(shù)據(jù)從最高位至最低位逐位輸出完成。第 25至 27 個(gè)時(shí)鐘脈沖用來(lái)選擇下一次 A/D 轉(zhuǎn)換的輸入通道和增益。 PD_SCK 的輸入時(shí)鐘脈沖數(shù)不應(yīng)少于 25 或多于 27,否則會(huì)造成串口通訊錯(cuò)誤。 當(dāng) A/D 轉(zhuǎn)換器的輸入通道或增益改變時(shí),A/D 轉(zhuǎn)換器需要 4 個(gè)數(shù)據(jù)輸出周期才能穩(wěn)定。 DOUT 在 4 個(gè)數(shù)據(jù)輸出周期后才會(huì)從高電平變低電平,輸出有效數(shù)據(jù)。
壓力傳感器HX711驅(qū)動(dòng)程序
通過(guò)參考的驅(qū)動(dòng)程序,修改成自己的代碼。
主程序代碼
/* USER CODE BEGIN 2 */
printf("壓力傳感器HX711\\r\\n");
weight_qupi=ReadCount();//首次讀取重量進(jìn)行去皮操作
printf("首次去皮weight_qupi=%d\\n",weight_qupi);
HAL_Delay(100);
/* USER CODE END 2 */
/* Infinite loop */
/* USER CODE BEGIN WHILE */
while (1)
{
/* USER CODE END WHILE */
/* USER CODE BEGIN 3 */
weight_shiji=ReadCount();
if(weight_qupi>=weight_shiji)
{
weight_shiji=weight_qupi-weight_shiji;
weight_shiji=weight_shiji/100;
printf("重量為:%dg",weight_shiji);
}
else
{
weight_shiji=weight_shiji-weight_qupi;
weight_shiji=weight_shiji/100;
printf("重量為:-%dg",weight_shiji);
}
HAL_Delay(1000);
}
/* USER CODE END 3 */
實(shí)際演示
實(shí)際測(cè)試重量為1115g。 模塊測(cè)試如下所示1157g。
審核編輯:湯梓紅
-
壓力傳感器
+關(guān)注
關(guān)注
35文章
2234瀏覽量
163492 -
涂鴉智能
+關(guān)注
關(guān)注
7文章
213瀏覽量
19502
發(fā)布評(píng)論請(qǐng)先 登錄
相關(guān)推薦
評(píng)論