国产日韩欧美一区二区三区三州_亚洲少妇熟女av_久久久久亚洲av国产精品_波多野结衣网站一区二区_亚洲欧美色片在线91_国产亚洲精品精品国产优播av_日本一区二区三区波多野结衣 _久久国产av不卡

?

基于模塊化的按摩椅驅(qū)動(dòng)系統(tǒng)設(shè)計(jì)

2024-06-17 00:00:00凌丹丹
消費(fèi)電子 2024年5期
關(guān)鍵詞:按摩椅模塊化驅(qū)動(dòng)

【關(guān)鍵詞】模塊化;按摩椅;ARM;驅(qū)動(dòng)

引言

按摩椅驅(qū)動(dòng)系統(tǒng)是一種含有揉捏、敲擊、3D徑向和氣囊等功能的綜合系統(tǒng),通常由傳感器、電機(jī)、氣泵、氣閥及單片機(jī)組成。單片機(jī)將上位機(jī)發(fā)來的按摩手法解析成各個(gè)執(zhí)行機(jī)構(gòu)能理解的指令并輸入到各模塊的接口函數(shù)中[1],各個(gè)模塊快速響應(yīng)并成功實(shí)現(xiàn)相應(yīng)的功能。

本文將基于模塊化的按摩椅驅(qū)動(dòng)系統(tǒng)設(shè)計(jì)做一個(gè)詳細(xì)的論述,給出主要模塊的硬件電路圖、軟件方框圖和實(shí)驗(yàn)結(jié)果。

一、模塊化設(shè)計(jì)

硬件模塊化:固化現(xiàn)有的成熟電路圖,以及其中的電子元器件的設(shè)計(jì)參數(shù),固化硬件電路的PCB的布局以及PCB的設(shè)計(jì)要求。

軟件模塊化:將軟件分成數(shù)據(jù)層、邏輯層、硬件層三層[2]。數(shù)據(jù)層接收上位機(jī)的鍵值,然后將鍵值解析成每一個(gè)執(zhí)行機(jī)構(gòu)的動(dòng)作參數(shù)。邏輯層執(zhí)行電機(jī)、氣囊、通訊、傳感器等機(jī)構(gòu)的邏輯運(yùn)算,將它們按照功能分類;硬件層是跟單片機(jī)強(qiáng)相關(guān)的端口配置。

二、按摩椅驅(qū)動(dòng)板硬件系統(tǒng)

(一)電機(jī)驅(qū)動(dòng)

按摩的經(jīng)典動(dòng)作:揉捏、敲擊、頂背、搖擺、搓腳等,這些都離不開電機(jī)的控制。所有電機(jī)控制全部用DRV8840芯片來驅(qū)動(dòng),除了端子顏色不一樣外,電路的其他任何元器件要保持一致。在硬件電路圖庫(kù)[3]中通過端子確認(rèn)電機(jī)功能。

此電路可以調(diào)整電機(jī)的轉(zhuǎn)速、方向,通過軟件動(dòng)態(tài)調(diào)節(jié)電機(jī)的驅(qū)動(dòng)狀態(tài),實(shí)現(xiàn)按摩的平穩(wěn)度。

圖1 揉捏電機(jī)控制電路

(二)氣囊控制

圖2 氣囊控制電路

氣囊可以按摩肩膀、手臂、小腿、大腿、腳、腰等部位。電路如上,通過SPI方式實(shí)現(xiàn)每一個(gè)氣閥的打開或關(guān)閉。

圖3 與手控器通信

用戶是通過手控器控制按摩椅運(yùn)行的。手控器與驅(qū)動(dòng)板之間通過UART串口來通訊,它們之間波特率是9600,全雙工方式。驅(qū)動(dòng)板每50ms向手控器發(fā)送按摩椅的運(yùn)動(dòng)參數(shù),手控器每50ms將按鍵值發(fā)給驅(qū)動(dòng)板。

三、按摩椅驅(qū)動(dòng)板軟件系統(tǒng)

(一)軟件模塊圖

圖4 軟件模塊圖

(二)電機(jī)軟件控制

揉捏電機(jī)就是實(shí)現(xiàn)揉捏功能,電機(jī)帶動(dòng)兩個(gè)輪子運(yùn)動(dòng),每個(gè)輪子運(yùn)動(dòng)一圈為橢圓。揉捏的運(yùn)動(dòng)由速度、軌跡決定。

揉捏電機(jī)的功能,就是在背部表面上進(jìn)行揉捏動(dòng)作。

1、軟件控制方框圖

圖5 軟件控制方框圖

2、控制參數(shù)

控制參數(shù)是一個(gè)結(jié)構(gòu)體數(shù)據(jù),里面含有揉捏電機(jī)運(yùn)行所需的速度、軌跡等關(guān)鍵要素??刂茀?shù)在數(shù)據(jù)層將上位機(jī)命令解析后生成的。

變量Data_Update:

當(dāng)數(shù)據(jù)層有新的揉捏運(yùn)動(dòng)模式時(shí),置1;否則揉捏電機(jī)還是按照之前的模式運(yùn)動(dòng)。

變量Control_DEF:

運(yùn)動(dòng)基準(zhǔn)分為三大類:時(shí)間、次數(shù)、不停。 默認(rèn)以時(shí)間來運(yùn)行。

變量Run_Data:

圖6 控制參數(shù)結(jié)構(gòu)體

當(dāng)運(yùn)動(dòng)基準(zhǔn)為時(shí)間時(shí),此變量代表時(shí)間;當(dāng)基準(zhǔn)為次數(shù)時(shí),它代表次數(shù);當(dāng)基準(zhǔn)為不停運(yùn)動(dòng)時(shí),它沒有意義。

變量Work_State:

揉捏電機(jī)一共分為9種狀態(tài),停在任意位置、逆時(shí)針運(yùn)動(dòng)、順時(shí)針運(yùn)動(dòng)、停在寬、停在窄、停在中,寬窄來回運(yùn)動(dòng)、窄中來回運(yùn)動(dòng),中窄來回運(yùn)動(dòng)。寬中窄是三個(gè)位置信號(hào),主要用來記錄次數(shù)及搓背用的。默認(rèn)停在任意位置。

變量Run_Speed:

控制揉捏電機(jī)的速度大小,一共7檔,默認(rèn)0檔,0檔即沒有速度,電機(jī)停止。

3、定時(shí)器

模塊在運(yùn)行時(shí)需要用到時(shí)間,由于是模塊化設(shè)計(jì),不可能專門給此模塊弄一個(gè)特有的硬件定時(shí)器來做時(shí)間統(tǒng)計(jì)。由于SysTick是ARM內(nèi)核里的一個(gè)功能單元,因此使用SysTick產(chǎn)生一個(gè)1ms的中斷來調(diào)用每個(gè)模塊的“1ms中斷”函數(shù),每一個(gè)模塊既實(shí)現(xiàn)了計(jì)時(shí)功能,也滿足了代碼在不同單片機(jī)之間能夠快速移植。

4、外部信號(hào)

揉捏電機(jī)在運(yùn)行時(shí)需要知道直流24V電壓大小、寬中窄傳感器信號(hào),但這些數(shù)據(jù)不是模塊特有的。直流24V電壓,其他電機(jī)也需要用到;寬中窄信號(hào)是信號(hào)小板采集的一部分,通過UART方式傳送給主驅(qū)動(dòng)板。軟件模塊化的核心思想是保持模塊的獨(dú)立性,所以這些只能以形參的方式傳遞進(jìn)來。

5、實(shí)驗(yàn)結(jié)果

(1)以時(shí)間為基準(zhǔn),讓揉捏電機(jī)以順時(shí)針方式運(yùn)行6000秒,結(jié)果正確。

(2)以時(shí)間為基準(zhǔn),讓揉捏電機(jī)以窄中來回運(yùn)行6000秒,結(jié)果正確。

(3)以次數(shù)為基準(zhǔn),讓揉捏電機(jī)以逆時(shí)針方式運(yùn)行50000次,結(jié)果正確。

(4)以次數(shù)為基準(zhǔn),讓揉捏電機(jī)以窄寬來回運(yùn)行500000次,結(jié)果正確。

(三)脈沖計(jì)數(shù)數(shù)字濾波

當(dāng)行走機(jī)芯上行或下行時(shí),通過電平的變化來統(tǒng)計(jì)脈沖數(shù),往上走脈沖加,往下走脈沖減。

當(dāng)脈沖電平發(fā)生變化時(shí),就直接進(jìn)行脈沖數(shù)增減。對(duì)于正常的方波信號(hào)是沒有問題的。但是電子產(chǎn)品不可能做到100%不受到外界的一絲干擾,進(jìn)入單片機(jī)的脈沖信號(hào)不可能非常的完美。

即使同一類型的機(jī)臺(tái),行車機(jī)芯從最底端跑到最頂端,脈沖數(shù)也不可能一模一樣,由于安裝存在差異,最大脈沖數(shù)相差30都有可能。假設(shè)一臺(tái)按摩椅實(shí)際最大脈沖數(shù)是842,跑到頂點(diǎn)卻強(qiáng)行設(shè)置成832;本來統(tǒng)計(jì)脈沖數(shù)就不準(zhǔn),再加上人為制造一個(gè)誤差,雙重誤差下導(dǎo)致行車機(jī)芯運(yùn)動(dòng)就很不準(zhǔn)。

當(dāng)進(jìn)行模塊化設(shè)計(jì)時(shí),會(huì)收集過去按摩椅發(fā)生的各種不良現(xiàn)象,在設(shè)計(jì)時(shí)會(huì)避免相同問題的發(fā)生。

增加數(shù)字濾波,在電平發(fā)生反轉(zhuǎn)后10毫秒內(nèi)電平未發(fā)生變化(每1ms檢查一次,連續(xù)10次)才確認(rèn)電平真發(fā)生了反轉(zhuǎn),否則認(rèn)為是干擾波。

當(dāng)行走機(jī)芯上電后第一次運(yùn)行時(shí),首先要做歸零動(dòng)作,即先運(yùn)行到下限位,將脈沖數(shù)置0。當(dāng)運(yùn)行到上限位,不管脈沖數(shù)是多少,都不能人為地進(jìn)行修正。

(四)通信

1、通信小板

通信小板與主驅(qū)動(dòng)板之間通過UART通訊,主驅(qū)動(dòng)只負(fù)責(zé)接收數(shù)據(jù),不對(duì)通信小板發(fā)送數(shù)據(jù)。通信小板負(fù)責(zé)靠背電機(jī)上下極限、行走電機(jī)上下極限、小腿升降上下極限、揉捏寬中窄、肩膀、前滑電機(jī)前后極限、腳底、小腿角度、小腿伸縮極限等信號(hào)的采集。

2、3D電機(jī)信號(hào)小板

3D電機(jī)信號(hào)小板負(fù)責(zé)采集3D電機(jī)的前后極限、3D電機(jī)脈沖數(shù)等信號(hào)。

3D電機(jī)信號(hào)是通過485方式和主驅(qū)動(dòng)板通信。主驅(qū)動(dòng)板是主,其他連接上485總線上的都是從設(shè)備。主驅(qū)動(dòng)板每50ms輪流給不同的從設(shè)備發(fā)送數(shù)據(jù),從設(shè)備收到正確的命令后,將相應(yīng)的信號(hào)數(shù)據(jù)反饋至主驅(qū)動(dòng)板。

3、快捷按鍵小板

快捷按鍵安裝在扶手上方便用戶操作,它也是通過485方式與主驅(qū)動(dòng)板通信的。為了方便用戶操控快捷鍵,當(dāng)用戶按下某個(gè)按鍵時(shí),主驅(qū)動(dòng)板根據(jù)查詢到的按鍵值通過喇叭播報(bào)。

4、手控器

手控器與主驅(qū)動(dòng)板通過UART通信,它們之間是全雙工。主驅(qū)動(dòng)板每50ms將主驅(qū)動(dòng)板每個(gè)模塊的狀態(tài)發(fā)送給手控器;手控器每50ms將鍵值發(fā)送給主驅(qū)動(dòng)板,無(wú)鍵按下時(shí)發(fā)無(wú)鍵值。手控器是TFT屏,屏幕上顯示按摩椅自動(dòng)按摩的程式及手動(dòng)按摩的選擇,畫面簡(jiǎn)單明了。

5、藍(lán)牙模塊

主驅(qū)動(dòng)板與APP通訊時(shí),其實(shí)是與主驅(qū)動(dòng)上的藍(lán)牙模塊進(jìn)行通信。通信也是UART方式,與手控器通訊協(xié)議內(nèi)容一致。APP上的顯示內(nèi)容也和手控器一致。

APP可以理解成第二個(gè)手控器,無(wú)論手控器或APP按下某個(gè)按鍵后,主驅(qū)動(dòng)板將更新后的狀態(tài)發(fā)給所有手控器,它們的狀態(tài)也會(huì)同時(shí)更新,這樣就解決了多設(shè)備操作按摩椅顯示不協(xié)調(diào)的問題。

(五)錯(cuò)誤代碼

原先的按摩椅沒有“錯(cuò)誤代碼”功能。當(dāng)產(chǎn)品出現(xiàn)問題后,工程師無(wú)法快速知道問題的源頭來自哪里,只能通過更換各個(gè)電路板來慢慢鎖定。這樣做既費(fèi)時(shí)也費(fèi)力,而且增加企業(yè)運(yùn)營(yíng)成本。如果通過模塊化設(shè)計(jì),就能將問題解決在產(chǎn)品出廠或入庫(kù)之前。

編寫每一個(gè)獨(dú)立模塊代碼時(shí),事先要考慮好它可能會(huì)產(chǎn)生哪些錯(cuò)誤,并添加偵測(cè)這些錯(cuò)誤的代碼。

錯(cuò)誤代碼模塊收集每個(gè)模塊的錯(cuò)誤,將之轉(zhuǎn)化成錯(cuò)誤代碼和LED報(bào)警。工程師到達(dá)現(xiàn)場(chǎng)后,通過觀察LED閃爍次數(shù)或者在手控器上查詢最近產(chǎn)生的錯(cuò)誤代碼,能在極短的時(shí)間知曉錯(cuò)誤來源,對(duì)產(chǎn)品質(zhì)量提升起到一個(gè)非常好的促進(jìn)作用。

總結(jié)

以往的按摩椅沒有以模塊化方式來設(shè)計(jì),從硬件到軟件都是由一個(gè)工程師全權(quán)封閉式負(fù)責(zé),由于工程師們急于完成設(shè)計(jì),很多地方繞過規(guī)范來做。這樣做的后果是電路圖存在缺陷,代碼非常難懂,且同樣的問題一錯(cuò)再錯(cuò)。對(duì)于企業(yè)及個(gè)人來說,浪費(fèi)了極大的時(shí)間成本。

模塊化設(shè)計(jì)提高了產(chǎn)品質(zhì)量,杜絕隱患發(fā)生,同時(shí)也大大降低企業(yè)經(jīng)營(yíng)成本。

猜你喜歡
按摩椅模塊化驅(qū)動(dòng)
模塊化自主水下機(jī)器人開發(fā)與應(yīng)用
基于模糊PI控制的驅(qū)動(dòng)防滑仿真系統(tǒng)分析
屈宏斌:未來五年,雙輪驅(qū)動(dòng),砥礪前行
No.3 商場(chǎng)共享按摩椅的坐與不坐
模塊化住宅
公共場(chǎng)所按摩椅,老人悠著點(diǎn)
軌旁ATC系統(tǒng)門控柜接收/驅(qū)動(dòng)板改造
ACP100模塊化小型堆研發(fā)進(jìn)展
模塊化VS大型工廠
頑皮的貓
常德市| 潞西市| 登封市| 南郑县| 武隆县| 木兰县| 石林| 金华市| 罗平县| 吉安市| 陆河县| 久治县| 武强县| 龙泉市| 台前县| 红桥区| 敖汉旗| 张北县| 阿拉尔市| 阿巴嘎旗| 汉沽区| 灵武市| 普安县| 永州市| 左权县| 九龙坡区| 光泽县| 宁晋县| 电白县| 康平县| 霍邱县| 大足县| 壶关县| 莆田市| 浪卡子县| 黑龙江省| 珠海市| 巨野县| 沂源县| 神池县| 伊春市|