稱重,包裝,配料設(shè)備 -工控版 1,作品簡(jiǎn)介:搭建的簡(jiǎn)單示范系統(tǒng)如下圖所示: 這個(gè)控制板的用途:應(yīng)用于需要稱重,包裝,配料等場(chǎng)合。搭配不同的外圍配件在不同的場(chǎng)合發(fā)揮作用。圖1所示的系統(tǒng)配合了10KG的傳感器,步進(jìn)電機(jī)驅(qū)動(dòng)器,步進(jìn)電機(jī)。可實(shí)現(xiàn)自動(dòng)下料,精確計(jì)量的用途,步進(jìn)電機(jī)控制機(jī)械結(jié)構(gòu)下料,用于某粉末物品的精確包裝設(shè)備。人機(jī)交互界面采用工業(yè)級(jí)觸摸屏,簡(jiǎn)化了調(diào)試步驟,增強(qiáng)用戶體驗(yàn)。
這個(gè)控制板的功能:控制板包含了兩路繼電器輸出,一路232串口輸出,一路壓力傳感器信號(hào)接入,5路開關(guān)信號(hào)接入,一路觸摸屏接口。合理配置各功能,可實(shí)現(xiàn)無(wú)限可能。 2,系統(tǒng)架構(gòu)圖
3,主要部分原理圖 4,PCB實(shí)物圖
5,稱重部分源代碼 //讀取HX711數(shù)值,10HZ刷新速率,增益128,25個(gè)脈沖 unsignedlong read_hx711(void) { unsigned long count=0;unsigned char i = 0; sck = 0;//AD轉(zhuǎn)換準(zhǔn)備。AD結(jié)束后,電平也為0; count=0;//接收存儲(chǔ)區(qū)清零 while(d_out == 1);//等待芯片準(zhǔn)備好. sck = 1; NOP2();//芯片上升沿讀取數(shù)據(jù)。 sck = 0; NOP2();//第一個(gè)脈沖,輸出符號(hào)位,放棄。 //接收23次,共接收24個(gè),放棄了符號(hào)位 for(i=0;i<23;i++) { sck = 1; NOP1(); if(d_out) count++;//上升沿讀取數(shù)據(jù) count = count << 1; sck = 0; NOP2(); } //一共25個(gè)脈沖 for(i=0;i<1;i++) { sck = 1; NOP2(); sck = 0; NOP2(); } sck = 0; count >>= 5;//18位有效位 return count; } 上述代碼的注釋應(yīng)該是國(guó)內(nèi)網(wǎng)上最全,最通俗的了,省略了軟件濾波的算法。這個(gè)HX711的底層驅(qū)動(dòng)經(jīng)得起實(shí)地考驗(yàn)。 6,產(chǎn)品總結(jié) 上述作品是為某位客戶設(shè)計(jì)的,已經(jīng)應(yīng)用到現(xiàn)場(chǎng)。經(jīng)過(guò)考驗(yàn),證明它能夠穩(wěn)定,可靠運(yùn)行。目前又出了個(gè)新版本,增加了一個(gè)熱電偶功能,可以拓展到溫度的測(cè)量,控制場(chǎng)合,同樣是觸摸屏進(jìn)行交互。 經(jīng)驗(yàn):1,HX711采集壓力傳感器信號(hào)輸出頻率較慢,軟件處理AD過(guò)來(lái)的數(shù)值時(shí)要注意時(shí)間,同時(shí)要注意有效位數(shù)。 2,電源接入很重要,抗干擾措施要到位,開關(guān)電源要使用合適的(貴的)。 3,24位AD特別敏感,軟件濾波時(shí)要考慮使用場(chǎng)合。 4,人機(jī)交互很重要,代碼寫作要細(xì)心。
本帖子首發(fā)于立創(chuàng)社區(qū) 樓主系原創(chuàng)作者,特此說(shuō)明。歡迎各位朋友交流。
|