新闻中心

EEPW首页 > 嵌入式系统 > 设计应用 > 基于加速度传感器MMA7260QT的自动摇篮的设计

基于加速度传感器MMA7260QT的自动摇篮的设计

作者:狄亮时间:2008-07-29来源:中电网收藏

  飞思卡尔MMA7260QT三轴加速度
  系统使用新的MMA7260QT三轴加速度作为主要,内部信号调理,内置滤波,量程可选,性能稳定可靠,设计起来相当简洁方便。

本文引用地址:http://www.eepw.com.cn/article/86352.htm

  加速度测量部分
  传感器设置为最小的量程,输出经过电阻电容滤波然后进入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


  主要子程序:
void MCU_init(void) 单片机初始化
void lcd_init(void)点阵液晶显示初始化,显示待机画面。
void lcd_menu(unsigned char)菜单显示子程序
void acc_t(void)加速度检测子程序
unsigned char key_calc(void)键盘处理子程序,返回键盘值。
全局变量key_start_time保存放电开始时间key_a、key_b保存两个按键放电时间。
Prog_state保存程序运行状态。Sys_set保存系统设置。

  菜单可调节参数:

摇篮状态:自动,手动开,手动关。
摇动时间:1,3,5,10,30,60,120分钟。
摇动速度:快速,中速,慢速,关闭。
宝宝动作灵敏度:高,中,低。
声音灵敏度:高,低。
音乐音量:高,中,低,关闭。


 


上一页 1 2 下一页

评论


相关推荐

技术专区

关闭