社區(qū)事跡:
個(gè)人簡(jiǎn)介
張潞(論壇號(hào):zhanglu1012),嵌入式工程師, 擅長(zhǎng)嵌入式開發(fā)。
大賽作品賞析
1. RT-Thread創(chuàng)新應(yīng)用設(shè)計(jì)大賽
基于CH32V103的多功能推桿
項(xiàng)目簡(jiǎn)介:
“創(chuàng)意源于生活,工具始于懶惰。” 在參加RTT大賽前,老婆在用電腦時(shí)和我抱怨開機(jī)鍵太遠(yuǎn)了,每次都要站起來才能夠得到放在顯示器后面的主機(jī)上的開關(guān),十分的不方便。確實(shí),如果主機(jī)箱放在桌子底下或者顯示器后面,要開機(jī)的話要么得彎腰要么得站起來才能夠到,所以為了讓老婆可以坐著就把機(jī)器打開,我開始著手設(shè)計(jì)了這個(gè)多功能推桿。 整體造型外觀參考了最近比較火的夫妻游戲《雙人成行》第一關(guān)里面那個(gè)吸塵器的推桿開關(guān),結(jié)構(gòu)中采用阻尼器/滾珠軸承等器件,使其非常具有質(zhì)感和手感。功能上我構(gòu)思不能只有電腦開關(guān)這么簡(jiǎn)單地一個(gè)功能,于是內(nèi)部采用CH32V103、霍爾編碼器,振動(dòng)馬達(dá)驅(qū)動(dòng)等外設(shè)構(gòu)建了一個(gè)具有開關(guān)/線性控制,力感反饋推桿,通過自定義USB TYPE-C接口和HID協(xié)議,實(shí)現(xiàn)了對(duì)電腦的開關(guān)機(jī)、音量控制、鼠標(biāo)/鍵盤/搖桿模擬、甚至可以針對(duì)不同應(yīng)用實(shí)現(xiàn)快捷鍵等功能。
硬件說明
我認(rèn)為一個(gè)想法要有完整的設(shè)計(jì),不能只停留在開發(fā)板上,所以在前期我使用開發(fā)板完成了軟件功能的實(shí)現(xiàn),后面又設(shè)計(jì)并打樣了PCB和機(jī)械結(jié)構(gòu),把開發(fā)板上僅有的一枚CH32V103焊到了自制的PCB板上,安裝到3D打印的DEMO模型中,所以比較晚才完成提交項(xiàng)目。接下來我將從硬件和機(jī)械兩部分進(jìn)行介紹。
首先是硬件部分,整體的硬件架構(gòu)如下圖所示:
作為一個(gè)推桿,編碼器是必須的,為了結(jié)構(gòu)簡(jiǎn)單而不失分辨率性能,我選擇了12bit分辨率的AD5600線性旋轉(zhuǎn)霍爾傳感器,通過IIC與主控CH32V103相連接。
為了絲滑推感同時(shí)增加可玩性,我增加了DRV2605和線性馬達(dá)作為力反饋,DRV2605內(nèi)置多種震感波形,結(jié)合線性馬達(dá)可以提供多種力反饋特性,也通過IIC與主控相連接。
在推桿一端,我設(shè)計(jì)了一個(gè)DRV2605帶燈的微觸開關(guān),微觸開關(guān)的開關(guān)量,結(jié)合搖桿的線性控制量可以實(shí)現(xiàn)很多功能。在推桿本體中設(shè)計(jì)了兩個(gè)并聯(lián)的LED作為裝飾燈光,通過定時(shí)器可以實(shí)現(xiàn)呼吸燈效果。
在對(duì)推桿如何連接電腦這塊,我思考了很久,為了讓推桿能夠?qū)崿F(xiàn)電腦開關(guān)機(jī)功能,最簡(jiǎn)單的方式就是將一個(gè)開關(guān)輸出量與主機(jī)開關(guān)鍵并聯(lián),直接控制短接就能開機(jī)了。但這也就意味著要有兩根線直接與主機(jī)相連。為了讓推桿和電腦還能走USB協(xié)議,那么也就還要至少接上DM DP GND三根線,再想獲得下電腦當(dāng)前開機(jī)狀態(tài),那就還得再接兩根線到主機(jī)的POWER LED上(可能你會(huì)說,為啥不用USB連接狀態(tài)判斷?因?yàn)閯傞_機(jī)那會(huì)兒還沒建立USB連接,這個(gè)狀態(tài)不可靠啊),算下來這就七根線了,另外推桿模塊也需要供電,要么外接電池,要么再接一個(gè)VCC到電腦上,那就需要8個(gè)線了,其中4跟可以用USB micro接口,但另外四根就很難受了。
可能你會(huì)說,為啥不用USB來啟動(dòng)呢?我也想到了,但是查了不少資料,都說現(xiàn)再新的電腦都不支持USB遠(yuǎn)程喚醒關(guān)機(jī)了的電腦,想想也是,系統(tǒng)都關(guān)了,USB通訊也建立不起來啊,(當(dāng)然也是有部分電腦可以通過BIOS加載USB設(shè)備來啟動(dòng),但我的電腦不支持。。)
所以在簡(jiǎn)潔美觀性的追求下,我的目光聚焦到了USBType-C接口,標(biāo)準(zhǔn)Type-C接口有24P,其中包含兩組USB3.x的差分?jǐn)?shù)據(jù)線,但那個(gè)線間距是真的小啊,而且半插半帖的連接器也不好焊,所以我選擇了12P的剪裁版Type-C接口,其中包括一組USB2.0的接線,一組CC控制引腳和SBU控制引腳,后面這兩組引腳一般用于正反差識(shí)別、快充協(xié)議上,而我這里用不到這些功能,就正好替代成主機(jī)開關(guān)鍵和開關(guān)機(jī)狀態(tài)讀取功能,這樣一個(gè)Type-C接口就搞定了8根線的需求。為了也能正反插,在中間用二極管搭了個(gè)換向處理結(jié)構(gòu),這部分電路如下圖所示:
整個(gè)硬件原理圖如下圖所示:
電子發(fā)燒友論壇榮譽(yù)
2021年RT-Thread創(chuàng)新應(yīng)用設(shè)計(jì)大賽二等獎(jiǎng)
優(yōu)秀工程師評(píng)語(yǔ)
張潞參與社區(qū)設(shè)計(jì)比賽取得優(yōu)異成績(jī),創(chuàng)建個(gè)人專欄分享文章,電子發(fā)燒友社區(qū)特此制作社區(qū)工程師專題,以資鼓勵(lì)。
-
嵌入式
+關(guān)注
關(guān)注
5082文章
19104瀏覽量
304809 -
RTThread
+關(guān)注
關(guān)注
8文章
132瀏覽量
40861
發(fā)布評(píng)論請(qǐng)先 登錄
相關(guān)推薦
評(píng)論