基于加速度傳感器MMA7260QT的自動(dòng)搖籃的設計
飛思卡爾MMA7260QT三軸加速度傳感器
系統使用新的MMA7260QT三軸加速度傳感器作為主要傳感器,內部信號調理,內置濾波,量程可選,性能穩定可靠,設計起來(lái)相當簡(jiǎn)潔方便。
加速度測量部分
傳感器設置為最小的量程,輸出經(jīng)過(guò)電阻電容濾波然后進(jìn)入單片機AD輸入,如圖4。
鍵盤(pán)電路
鍵盤(pán)電路十分簡(jiǎn)單,端口到地接2M電阻即可,觸摸鍵盤(pán)的PCB設計要兼顧三鍵判斷,故采用如圖5設計。
電機驅動(dòng)
單片機輸出PWM脈寬調制信號,然后通過(guò)驅動(dòng)電路驅動(dòng)電機。
麥克風(fēng)輸入
麥克風(fēng)輸入經(jīng)放大后通過(guò)二極管整流到電容上,此電壓進(jìn)入單片機AD轉換器。
音樂(lè )播放
音樂(lè )源使用專(zhuān)用音樂(lè )IC,功率放大器使用國家半導體的LM4874芯片,具有4級電子音量調節功能,本系統只需單聲道即可。
液晶顯示
采用3.3V串行液晶顯示模塊,128X64點(diǎn)陣,單片機通過(guò)SPI端口直接相連。
外圍其他電路
電源經(jīng)220V轉為5V然后經(jīng)LM1117-3.3穩壓成3.3V輸出給系統電路使用,5V電壓還用來(lái)驅動(dòng)電機。
系統軟件
系統軟件完成以下功能:
·根據設置參數定期檢測搖籃狀態(tài)。
·定期對鍵盤(pán)中斷引腳檢測充放電時(shí)間。
·驅動(dòng)液晶顯示器顯示相關(guān)參數、菜單。
·根據參數驅動(dòng)搖籃播放音樂(lè )。
檢測搖籃狀態(tài)
以10Hz的頻率檢測加速度傳感器,定時(shí)器中斷程序啟動(dòng)AD轉換器,主程序中檢測到AD轉換完成則把結果保存起來(lái),通過(guò)和零值比較,如果大于閾值,則認為嬰兒活動(dòng),根據設置參數啟動(dòng)電機、音樂(lè )。
鍵盤(pán)檢測
以20Hz的頻率掃描鍵盤(pán),定時(shí)器中斷程序把相應引腳置為輸入,允許鍵盤(pán)中斷。引腳放電引起鍵盤(pán)中斷,保存中斷時(shí)的定時(shí)器數值,然后退出。主程序等兩個(gè)按鍵引腳都掃描完畢保存了放電時(shí)間后,調用鍵盤(pán)處理程序分析,得到按鍵結果。
液晶顯示器驅動(dòng)
液晶顯示器使用SPI口送數據,根據按鍵結果相應調整液晶顯示的內容。
搖籃驅動(dòng)和音樂(lè )播放
驅動(dòng)搖籃時(shí),根據設置參數啟動(dòng)PWM輸出,同時(shí)記錄時(shí)間,到參數規定的時(shí)間后緩慢停止搖籃(減少PWM占空比)。
功放音量根據參數設置,觸發(fā)音樂(lè )IC播放音樂(lè )。
其他輔助程序
根據軟件需要,設置定時(shí)器中斷和變量time_to_1s,當變量中數值達到1S后重置變量。
程序結構
主程序流程如圖6
主要子程序:
void MCU_init(void) 單片機初始化
void lcd_init(void)點(diǎn)陣液晶顯示初始化,顯示待機畫(huà)面。
void lcd_menu(unsigned char)菜單顯示子程序
void acc_t(void)加速度檢測子程序
unsigned char key_calc(void)鍵盤(pán)處理子程序,返回鍵盤(pán)值。
全局變量key_start_time保存放電開(kāi)始時(shí)間key_a、key_b保存兩個(gè)按鍵放電時(shí)間。
Prog_state保存程序運行狀態(tài)。Sys_set保存系統設置。
菜單可調節參數:
搖籃狀態(tài):自動(dòng),手動(dòng)開(kāi),手動(dòng)關(guān)。
搖動(dòng)時(shí)間:1,3,5,10,30,60,120分鐘。
搖動(dòng)速度:快速,中速,慢速,關(guān)閉。
寶寶動(dòng)作靈敏度:高,中,低。
聲音靈敏度:高,低。
音樂(lè )音量:高,中,低,關(guān)閉。
評論