开源门禁系统设计项目—基于ATmega328

分享到:

门禁系统设计要求:
基于atmega328单片机设计,具有通话、振铃、摘机、通话、开锁功能,还要有键盘和显示电路。

门禁系统设计思路:

 

  • 系统用到AD、UART、PWM、SPI,考虑成品的体积,采用arduino nano
  • 语音采样使用驻极体麦克风,经200倍前置放大,再进行8位AD采样,采样率8kHz,可达到电话音质,满足需求
  • 门禁系统通信的特点是多对一,距离10~100m,通信速率要满足语音通信、控制信号传输,因此采用485通信,通信速率512Kbps
  • 语音播放使用8位PWM,功放芯片采用常见的LM386
  • 显示屏采用Nokia5110,SPI通信
  • 键盘采用10位ADC键盘,16个按键
  • 开锁电路使用继电器实现


硬件设计分析:

1、Arduino Nano
主控直接采用arduino nano,由于485通信和下载程序共用0、1脚,因此要通过拨码开关切换0、1脚功能

2、电源电路
整个系统使用外部12v电源供电,用于驱动继电器和LM386,12v电源通过LM2940得到5v电源,Nokia5110显示屏需要3.3v供电,直接采用nano上的3.3v电源

3、ADC键盘电路
由于arduino接口较少,直接采用ADC键盘,一次挂载20个按键没有问题,每个分压电阻使用1kΩ,线性度非常不错。

4、485通信电路

使用了两片MAX485组成了全双工通信,实际测试,10m网线,2Mbps,完全不丢包,另外测试过2m,2Mbps的串口通信,也是完全不丢包

5、麦克风采样电路

语音采样,使用普通驻极体麦克风,经过LM358的200倍放大后,送入ADC

6、功放电路

功放直接采用常见的LM386典型电路,PWM信号经过积分电路,再送入LM386,为了提高音量,使用12v供电,实测效果不错,5v供电时,噪音非常大,稍微一大声就失真

7、开锁电路

开锁功能可以通过电磁锁实现,这里只用了继电器并留出了接线口,继电器电流也不小,保险起见使用了一个9014扩流,并反向并联一个二极管吸收反向电流

8、画好原理图之后就是排版画pcb了:

门禁系统设计结果:
        经过不断的测试与完善,在12v供电情况下,语音通信清晰,声音洪亮,基本无噪音,可改变从机地址,范围为001~999,其他功能也基本实现了,如开门、交互界面等等。


门禁系统源码截图:

9

 

附件下载地址:http://atmel.eefocus.com/module/forum/thread-7062-1-1.html


©2017 Microchip Corporation
facebook google plus twitter linkedin youku weibo rss