开源门禁系统设计项目—基于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

继续阅读
sam4s16c的片内flash读写

最近一直在玩sam4s16c,网上的所有论坛基本找不到atmel的资料,真心的不喜欢,但是工作需要,没办法。只能静下心来仔细研究Datasheet,别无他径。

把握MCU发展轨迹 正确选择MCU完成产品创新

面对缤纷多彩的 MCU 世界,如何在新品设计,老产品更新换代中正确的选择芯片和供应商将是要面临的一个重要的题目,因为无论是产品的更新还是 MCU 的更新速度都远远超出设计者预想,正确把握 MCU 发展趋势,利用 MCU 帮助产品创新是电子设计者正在考虑的问题。

SAM4L8教程之USB复合设备的实现

大家用usb数据线连接开发板的DEBUG USB,打开设备管理器会发现主机识别出有3个设备,这就是usb多功能的复合设备。下面是我探索将MSC,usb mouse和usb keyboard集合于1个设备的教程。

可视化的调试助手FreeRTOS+Trace

在AS开发库中,除了直接用于程序嵌入的库和内核以外,还有用来调试的工具。对于FreeRTOS而言,相对的线程和任务调度是比较难于用普通的设置断点,进行参数跟踪来实现的。因此,一种可视化的调试工具就被引入到AS中——FreeRTOS+Trace。

ATxmega之实现实时系统

在xmega上实现一个简单的实时系统,对于一般的mcu已经够使用了。下面主要介绍一个简单实时调度系统的实现过程。

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