- 基于加速度傳感器MMA7260QT的自動搖籃的設計
- 來源:賽斯維傳感器網 發表于 2014/12/8
引 言
照顧小寶寶是非常勞累的事情,因為他們醒來和睡覺都比較頻繁,加之喂食換衣服等活動,會占用大人大量的時間和精力。搖籃的誕生在很大程度上減輕了大人的負擔,但仍有很多不盡如人意的地方。利用動作(加速度)傳感器和功能豐富的單片機,則可以設計出一種相對智能化的搖籃。
背 景
現在市面上的電動搖籃僅有簡單的定時功能,因此不能針對嬰兒的活動發生動作,若搖籃一直搖動,對嬰兒的安撫作用就會降低。采用聲音觸發的自動搖籃,缺點是嬰兒先是活動,得不到安撫則會哭鬧,搖籃才會啟動進行安撫;另外如果因為別的原因哭鬧,搖籃則不能起到安撫作用。所以根據嬰兒的活動來啟動搖籃是比較妥當的控制方式。飛思卡爾的加速度傳感器性能優秀,成本較低,適合這樣的應用。
自動搖籃的原理
本系統采用飛思卡爾MC9S08QG8單片機作為控制器,使用飛思卡爾加速度傳感器MMA7260QT判斷嬰兒的活動情況,同時用麥克風檢測嬰兒哭鬧的聲音作為輔助判斷,然后根據設置啟動搖籃搖動。人機界面由鍵盤和點陣液晶顯示器組成。
測量運動的方法
加速度傳感器測量運動和動作有很多算法,本系統中由于搖籃的活動方向是二維的,而且主要是其中的一維(所以采用一維加速度傳感器也可以),運動情況單一,場合也不復雜,所以采用簡單的閾值判斷的方法即可實現。閾值代表著靈敏度,可由用戶根據實際情況選擇。
觸摸按鍵的實現
觸摸按鍵是近年比較流行的技術,由于MC9S08QG8單片機有很低的端口漏電流和強大的鍵盤中斷功能,所以不需增加其它有源器件即可實現。而且本系統使用兩個端口即可提供三個按鍵的功能。
使用PCB焊盤作為觸摸按鍵,和地之間構成一個小電容C1(沒有手指觸摸時),按鍵通過大阻值電阻R1接地。單片機端口平時輸出高電平,檢測按鍵時則為鍵盤中斷,隨著C1上的電荷通過R1流失,電平逐漸降低直至引起鍵盤中斷,從開始檢測到引起鍵盤中斷的時間為T1,當有手指觸摸時相當于在C1上并了一個電容,因此電容值變成C2,則從開始檢測到引起鍵盤中斷的時間為T2,通過檢測T1、T2的差別即可判斷按鍵按下,如圖1。
假設按鍵1的電容為C1,按鍵2的電容為C2,則如果C1增加C2不變,則按鍵1按下,如果C2增加C1不變,則按鍵2按下,如果C1、C2都增加相似的數值,則可判斷為按鍵3按下。PCB上按鍵3位于按鍵1和按鍵2之間。這樣就實現了兩個端口判斷三個按鍵的功能。
PWM脈寬調制驅動電機
使用脈寬調制(PWM)的方式驅動電機來實現調速,可以給用戶選擇3檔搖動速度,也可以實現軟啟動和軟停止。
液晶顯示
使用3V串口液晶顯示模塊,用單片機SPI口驅動,實現簡潔高效的顯示界面。
系統特性
A.使用飛思卡爾MC9S08QG8單片機作為控制器,集成度高,性價比好。
B.使用飛思卡爾MMA7260QT加速度傳感器感知動作,性能先進,穩定。
C.良好的人機界面包括了點陣液晶顯示器和簡潔的菜單系統。
D.使用單片機端口低漏電流的特性和鍵盤中斷功能實現流行的觸摸按鍵技術。
E.使用單片機PWM功能實現搖籃速度可調,軟啟動和軟停止。
F.可控音量的音樂播放功能。
系統概述
基于MMA7260QT加速度傳感器的自動搖籃控制系統結構如圖2。
嬰兒睡著時,搖籃不動,加速度傳感器的輸出穩定,單片機采樣得到的數值作為零值。當嬰兒有動作引起搖籃晃動,單片機采樣得到的數值發生變化,變化大于設定的閾值時,PWM引腳輸出驅動電機動作。
麥克風作為可選的輔助判斷依據也輸入單片機。
音樂播放作為可選的輔助安撫手段。
系統硬件
電路框圖如圖3所示。
MC9S08QG8單片機
本系統使用MC9S08QG8作為核心控制器,其高度集成的功能和靈活的端口控制大大簡化了系統設計和成本,本系統主要用到了以下功能:
高速CPU和大容量的Flash和RAM存儲器
內置的精確時鐘
2通道10位AD轉換器
2個鍵盤中斷輸入端口
PWM輸出功能
高速SPI接口
MMA7260QT三軸加速度傳感器
系統使用新的MMA7260QT三軸加速度傳感器作為主要傳感器,內部信號調理,內置濾波,量程可選,性能穩定可靠,設計起來相當簡潔方便。
加速度測量部分
傳感器設置為最小的量程,輸出經過電阻電容濾波然后進入單片機AD輸入,如圖4。
鍵盤電路
鍵盤電路十分簡單,端口到地接2M電阻即可,觸摸鍵盤的PCB設計要兼顧三鍵判斷,故采用如圖5設計。
電機驅動
單片機輸出PWM脈寬調制信號,然后通過驅動電路驅動電機。
麥克風輸入
麥克風輸入經放大后通過二極管整流到電容上,此電壓進入單片機AD轉換器。
音樂播放
音樂源使用專用音樂IC,功率放大器使用國家半導體的LM4874芯片,具有4級電子音量調節功能,本系統只需單聲道即可。
液晶顯示
采用3.3V串行液晶顯示模塊,128X64點陣,單片機通過SPI端口直接相連。
外圍其他電路
電源經220V轉為5V然后經LM1117-3.3穩壓成3.3V輸出給系統電路使用,5V電壓還用來驅動電機。
系統軟件
系統軟件完成以下功能:
根據設置參數定期檢測搖籃狀態。
定期對鍵盤中斷引腳檢測充放電時間。
驅動液晶顯示器顯示相關參數、菜單。
根據參數驅動搖籃播放音樂。
檢測搖籃狀態
以10Hz的頻率檢測加速度傳感器,定時器中斷程序啟動AD轉換器,主程序中檢測到AD轉換完成則把結果保存起來,通過和零值比較,如果大于閾值,則認為嬰兒活動,根據設置參數啟動電機、音樂。
鍵盤檢測
以20Hz的頻率掃描鍵盤,定時器中斷程序把相應引腳置為輸入,允許鍵盤中斷。引腳放電引起鍵盤中斷,保存中斷時的定 時器數值,然后退出。主程序等兩個按鍵引腳都掃描完畢保存了放電時間后,調用鍵盤處理程序分析,得到按鍵結果。
液晶顯示器驅動
液晶顯示器使用SPI口送數據,根據按鍵結果相應調整液晶顯示的內容。
搖籃驅動和音樂播放
驅動搖籃時,根據設置參數啟動PWM輸出,同時記錄時間,到參數規定的時間后緩慢停止搖籃(減少PWM占空比)。
功放音量根據參數設置,觸發音樂IC播放音樂。
其他輔助程序
根據軟件需要,設置定時器中斷和變量time_to_1s,當變量中數值達到1S后重置變量。
程序結構
主程序流程如圖6
轉載請注明來源:賽斯維傳感器網(www.sensorway.cn)