新聞中心

EEPW首頁 > 嵌入式系統(tǒng) > 設(shè)計(jì)應(yīng)用 > 基于加速度傳感器MMA7260QT的自動(dòng)搖籃的設(shè)計(jì)

基于加速度傳感器MMA7260QT的自動(dòng)搖籃的設(shè)計(jì)

作者:狄亮 時(shí)間:2008-07-29 來源:中電網(wǎng) 收藏

  飛思卡爾MMA7260QT三軸加速度
  系統(tǒng)使用新的MMA7260QT三軸加速度作為主要,內(nèi)部信號(hào)調(diào)理,內(nèi)置濾波,量程可選,性能穩(wěn)定可靠,設(shè)計(jì)起來相當(dāng)簡(jiǎn)潔方便。

本文引用地址:http://m.butianyuan.cn/article/86352.htm

  加速度測(cè)量部分
  傳感器設(shè)置為最小的量程,輸出經(jīng)過電阻電容濾波然后進(jìn)入AD輸入,如圖4。

  鍵盤電路
  鍵盤電路十分簡(jiǎn)單,端口到地接2M電阻即可,觸摸鍵盤的PCB設(shè)計(jì)要兼顧三鍵判斷,故采用如圖5設(shè)計(jì)。


 

  電機(jī)驅(qū)動(dòng)
  輸出PWM脈寬調(diào)制信號(hào),然后通過驅(qū)動(dòng)電路驅(qū)動(dòng)電機(jī)。

  麥克風(fēng)輸入
  麥克風(fēng)輸入經(jīng)放大后通過二極管整流到電容上,此電壓進(jìn)入AD轉(zhuǎn)換器。

  音樂播放
  音樂源使用專用音樂IC,功率放大器使用國(guó)家半導(dǎo)體的LM4874芯片,具有4級(jí)電子音量調(diào)節(jié)功能,本系統(tǒng)只需單聲道即可。

  液晶顯示
  采用3.3V串行液晶顯示模塊,128X64點(diǎn)陣,單片機(jī)通過SPI端口直接相連。

  外圍其他電路
  電源經(jīng)220V轉(zhuǎn)為5V然后經(jīng)LM1117-3.3穩(wěn)壓成3.3V輸出給系統(tǒng)電路使用,5V電壓還用來驅(qū)動(dòng)電機(jī)。

系統(tǒng)軟件

  系統(tǒng)軟件完成以下功能:

  ·根據(jù)設(shè)置參數(shù)定期檢測(cè)搖籃狀態(tài)。
  ·定期對(duì)鍵盤中斷引腳檢測(cè)充放電時(shí)間。
  ·驅(qū)動(dòng)液晶顯示器顯示相關(guān)參數(shù)、菜單。
  ·根據(jù)參數(shù)驅(qū)動(dòng)搖籃播放音樂。

  檢測(cè)搖籃狀態(tài)
  以10Hz的頻率檢測(cè)加速度傳感器,定時(shí)器中斷程序啟動(dòng)AD轉(zhuǎn)換器,主程序中檢測(cè)到AD轉(zhuǎn)換完成則把結(jié)果保存起來,通過和零值比較,如果大于閾值,則認(rèn)為嬰兒活動(dòng),根據(jù)設(shè)置參數(shù)啟動(dòng)電機(jī)、音樂。

  鍵盤檢測(cè)
  以20Hz的頻率掃描鍵盤,定時(shí)器中斷程序把相應(yīng)引腳置為輸入,允許鍵盤中斷。引腳放電引起鍵盤中斷,保存中斷時(shí)的定時(shí)器數(shù)值,然后退出。主程序等兩個(gè)按鍵引腳都掃描完畢保存了放電時(shí)間后,調(diào)用鍵盤處理程序分析,得到按鍵結(jié)果。

  液晶顯示器驅(qū)動(dòng)
  液晶顯示器使用SPI口送數(shù)據(jù),根據(jù)按鍵結(jié)果相應(yīng)調(diào)整液晶顯示的內(nèi)容。

  搖籃驅(qū)動(dòng)和音樂播放
  驅(qū)動(dòng)搖籃時(shí),根據(jù)設(shè)置參數(shù)啟動(dòng)PWM輸出,同時(shí)記錄時(shí)間,到參數(shù)規(guī)定的時(shí)間后緩慢停止搖籃(減少PWM占空比)。

  功放音量根據(jù)參數(shù)設(shè)置,觸發(fā)音樂IC播放音樂。

  其他輔助程序
  根據(jù)軟件需要,設(shè)置定時(shí)器中斷和變量time_to_1s,當(dāng)變量中數(shù)值達(dá)到1S后重置變量。

  程序結(jié)構(gòu)
  主程序流程如圖6


  主要子程序:
void MCU_init(void) 單片機(jī)初始化
void lcd_init(void)點(diǎn)陣液晶顯示初始化,顯示待機(jī)畫面。
void lcd_menu(unsigned char)菜單顯示子程序
void acc_t(void)加速度檢測(cè)子程序
unsigned char key_calc(void)鍵盤處理子程序,返回鍵盤值。
全局變量key_start_time保存放電開始時(shí)間key_a、key_b保存兩個(gè)按鍵放電時(shí)間。
Prog_state保存程序運(yùn)行狀態(tài)。Sys_set保存系統(tǒng)設(shè)置。

  菜單可調(diào)節(jié)參數(shù):

搖籃狀態(tài):自動(dòng),手動(dòng)開,手動(dòng)關(guān)。
搖動(dòng)時(shí)間:1,3,5,10,30,60,120分鐘。
搖動(dòng)速度:快速,中速,慢速,關(guān)閉。
寶寶動(dòng)作靈敏度:高,中,低。
聲音靈敏度:高,低。
音樂音量:高,中,低,關(guān)閉。


 


上一頁 1 2 下一頁

評(píng)論


相關(guān)推薦

技術(shù)專區(qū)

關(guān)閉