1. 基于单片机的人体红外传感的步进电机调速自动门智能控制系统设计

点击下载protues仿真设计:https://download.csdn.net/download/qq_39020934/92091157

1.1 系统功能概述

随着智能建筑与自动化控制技术的发展,自动门系统已广泛应用于商场、写字楼、医院、住宅小区等场景。传统自动门控制方式多采用简单继电器或固定速度电机驱动,存在响应不够智能、控制精度低以及安全性不足等问题。

本设计基于单片机控制系统,结合人体红外传感器与步进电机驱动技术,实现一种具有智能感知、自动开关门控制以及防夹保护功能的自动门系统。系统通过红外传感器实时检测门前人体存在情况,并根据检测结果控制步进电机的启停与转速,从而实现门体的平稳开合。

系统主要功能如下:

(1)当人体进入红外检测范围时,自动启动步进电机打开门;
(2)无人状态下延时1秒后自动关闭门;
(3)关门过程中若再次检测到人体靠近,立即停止关门并反向开门;
(4)通过步进电机实现开关门速度精确控制;
(5)提高系统安全性、防夹能力与使用寿命;
(6)实现自动化、智能化门禁控制。


2. 系统总体设计方案

2.1 系统整体结构

本系统采用模块化设计结构,主要由以下部分组成:

  1. 单片机控制模块
  2. 人体红外检测模块
  3. 步进电机驱动模块
  4. 电机传动机构
  5. 电源供电模块
  6. 状态指示与辅助控制模块

系统运行过程中,红外传感器持续检测人体信号,并将数字信号输入单片机。单片机根据逻辑判断控制步进电机驱动器,实现门体开关动作。同时通过速度控制算法实现平稳启停。


3. 系统电路设计

3.1 单片机最小系统设计

单片机作为系统核心控制单元,负责红外信号处理、电机控制以及逻辑判断。

3.1.1 时钟电路设计

系统采用11.0592MHz晶振,为单片机提供稳定时钟信号。晶振两端连接30pF电容用于稳定振荡频率,保证系统执行时序精确。

3.1.2 复位电路设计

复位电路采用RC上电复位与手动复位按键结合方式。在系统上电或异常情况下,可自动恢复正常运行状态,提高系统可靠性。

3.1.3 电源电路设计

系统采用5V直流电源供电,并通过稳压芯片进行电压稳定处理。电源端增加滤波电容与去耦电容,以降低电机运行时产生的电磁干扰。


3.2 人体红外检测模块设计

人体红外检测模块是系统的关键输入部分,用于判断是否有人靠近自动门。

3.2.1 工作原理

人体红外传感器通过检测人体红外辐射变化来判断是否有人存在。当检测到人体移动时输出高电平信号,否则输出低电平信号。

3.2.2 信号特点

该模块具有以下特点:

  • 非接触式检测
  • 响应速度快
  • 功耗低
  • 抗干扰能力较强

红外检测范围一般设定为1米左右,适用于门禁控制系统。


3.3 步进电机驱动模块设计

步进电机是自动门执行机构核心部件。

3.3.1 驱动方式

系统采用ULN2003或A4988驱动芯片对步进电机进行控制。单片机输出控制信号,经驱动模块放大后驱动电机线圈。

3.3.2 控制原理

步进电机通过脉冲控制方式运行,每一个脉冲对应一个固定角度的转动。

转速 ∝ 脉冲频率

通过调整脉冲频率即可实现电机速度控制。

3.3.3 速度控制设计

系统采用加减速控制策略,使电机在启动与停止时平滑过渡,避免机械冲击。


3.4 门体传动机构设计

电机通过齿轮或同步带带动门体移动,实现开关门动作。

3.4.1 结构特点

  • 传动稳定
  • 噪音低
  • 精度高
  • 适合连续运行

该结构保证门体运行平稳。


3.5 状态指示模块设计

状态指示模块用于提示系统运行状态。

主要包括:

  • 开门状态指示灯
  • 关门状态指示灯
  • 故障报警灯

用于提高系统可视化程度。


4. 系统程序设计

4.1 软件总体设计

系统程序采用模块化结构设计,主要包括:

  1. 红外检测模块
  2. 电机控制模块
  3. 状态判断模块
  4. 延时控制模块
  5. 防夹处理模块
  6. 速度控制模块

系统运行流程如下:

系统初始化
    ↓
红外检测
    ↓
判断有人/无人
    ↓
执行开门
    ↓
延时判断
    ↓
执行关门
    ↓
防夹检测
    ↓
循环执行

4.2 主程序设计

主程序负责系统整体调度。

void main()
{
    System_Init();

    while(1)
    {
        IR_Check();

        Door_Control();

        Motor_Run();

        Safety_Check();
    }
}

4.3 红外检测程序设计

用于判断人体是否靠近。

bit IR_Check()
{
    if(IR_SENSOR == 1)
        return 1;
    else
        return 0;
}

当检测到人体信号时返回1。


4.4 自动开门控制程序设计

当检测到有人时执行开门动作。

void Door_Open()
{
    Motor_Dir = OPEN;

    for(speed=0; speed<MAX; speed++)
    {
        Step_Motor_Run(speed);
    }
}

通过加速实现平稳开门。


4.5 自动关门控制程序设计

无人状态下延时关门。

void Door_Close()
{
    DelayMs(1000);

    Motor_Dir = CLOSE;

    for(speed=MAX; speed>0; speed--)
    {
        Step_Motor_Run(speed);
    }
}

实现缓慢关门避免冲击。


4.6 防夹安全控制程序设计

关门过程中检测人体再次进入。

void Safety_Check()
{
    if(IR_SENSOR == 1 && Motor_Dir == CLOSE)
    {
        Motor_Stop();

        Door_Open();
    }
}

确保用户安全。


4.7 步进电机控制程序设计

控制电机运行节奏。

void Step_Motor_Run(int speed)
{
    Set_Speed(speed);

    Step_A = 1;
    Step_B = 0;
    Step_C = 1;
    Step_D = 0;

    DelayUs(speed);
}

通过延时控制转速。


4.8 延时控制程序设计

用于无人延时关门。

void Delay_Control()
{
    if(IR_SENSOR == 0)
    {
        DelayMs(1000);
        Door_Close();
    }
}

实现智能延迟关闭。


4.9 状态管理程序设计

用于记录门状态。

void State_Update()
{
    if(Motor_Dir == OPEN)
        Door_State = OPENING;

    if(Motor_Dir == CLOSE)
        Door_State = CLOSING;
}

保证系统状态同步。


5. 系统运行过程分析

系统上电后进入初始化状态,红外传感器持续检测门前区域。当检测到有人进入时,单片机立即控制步进电机启动,通过加速控制实现门体平稳打开。当人员进入后系统保持开启状态。当检测区域无人时,系统延迟1秒后启动关门程序。在关门过程中如果红外传感器再次检测到人体信号,系统立即停止关门并重新执行开门操作,从而实现防夹保护功能。步进电机通过脉冲控制实现速度调节,使门体运动更加平滑稳定,有效减少机械磨损。


6. 系统总结

本系统基于单片机控制技术,结合人体红外传感器与步进电机驱动技术,实现了一种具有自动开关门控制、防夹保护与速度调节功能的智能自动门系统。系统结构简单、响应快速、安全性高,并具备良好的扩展能力,可广泛应用于智能建筑、商业场所及工业门禁系统中,具有较高的工程应用价值。

Logo

智能硬件社区聚焦AI智能硬件技术生态,汇聚嵌入式AI、物联网硬件开发者,打造交流分享平台,同步全国赛事资讯、开展 OPC 核心人才招募,助力技术落地与开发者成长。

更多推荐