基于单片机的智能扫地吸尘小车设计

目 录
摘要 I
Abstract II
第1章 绪论 5
1.1选题背景及实际意义 1
1.2国内外研究现状 2
1.3 本文的组织结构 5
第2章 系统设计方案 6
2.1 主要模块方案选择 6
2.1.1 主控芯片方案选择 6
2.1.2 电机模块方案选择 6
2.2 整体设计方案 7
第3章 硬件设计 9
3.1主控电路模块 9
3.2 红外循迹检测电路模块 10
3.3超声波检测电路模块 11
3.4 继电器电路模块 12
3.5 舵机控制电路模块 13
3.6 直流电机驱动电路模块 14
第4章 系统程序设计 15
4.1 编程软件介绍 15
4.2 主程序流程设计 16
4.3 检测函数流程图设计 18
4.4 处理状态函数流程设计 19
第5章 仿真测试 21
5.1 整体仿真测试 21
5.2 智能扫地吸尘小车清扫垃圾仿真测试 22
5.3 智能扫地吸尘小车防撞仿真测试 23
第6章 实物测试 25
6.1 实物整体焊接测试 25
6.2 智能扫地吸尘小车清扫垃圾实物测试 26
6.3 智能扫地吸尘小车防撞实物测试 27
总结与展望 29
参考文献 31
致谢 33
附录 34
附录一:原理图 34
附录二:PCB 35
附录三:主程序 36
1.3论文研究主要内容
本论文主要聚焦于一种简易型智能扫地吸尘小车的设计与实现。这款智能扫地吸尘小车不仅具备自动清扫地面的功能,还能实现自动避障,极大地提升了其在实际应用中的便捷性和实用性。通过对智能扫地吸尘小车的整体方案进行精心设计,我们重点考虑了主控电路、避障电路以及循迹电路等关键组成部分,以确保小车能够高效地完成地面清扫任务,从而为人们减轻生活负担。
在本次设计中,我们采用了STC89C52单片机作为核心控制模块。STC89C52单片机以其低成本、运行速度快以及编程简便等优点而备受青睐,这使得它在智能扫地吸尘小车的设计中具有显著的优势。通过合理利用STC89C52单片机的性能特点,我们成功构建了一个稳定可靠的控制系统,为智能扫地吸尘小车的各项功能实现提供了有力保障。
具体而言,本次设计实验主要实现了以下功能:
首先,我们研究了智能扫地吸尘小车如何实现自动清扫功能。通过精心设计清扫机构和控制算法,我们使小车能够根据地面情况自动调整清扫力度和速度,从而实现对地面的高效清扫。
其次,我们探讨了智能扫地吸尘小车如何实现防撞功能。利用超声波传感器等感知器件,我们构建了一个灵敏的避障系统。当小车在行驶过程中遇到障碍物时,该系统能够迅速作出反应,调整小车的行驶轨迹,避免与障碍物发生碰撞。
最后,我们还研究了智能扫地吸尘小车如何实现检测垃圾的功能。通过红外循迹模块等传感器设备,我们实现了对地面垃圾的精准检测。一旦检测到垃圾,小车便会自动启动清扫机构进行清理,从而确保地面的清洁度。
综上所述,本论文通过深入研究智能扫地吸尘小车的各项功能实现,为其在实际应用中的推广和应用提供了重要的理论支持和实践指导。

/**********************************
包含头文件
**********************************/
#include "main.h"
#include "motor_zhiliu.h"
#include "hc-sr04.h"
#include "servo.h"


/**********************************
变量定义
**********************************/
uint time_num = 0;											//10ms计时变量
uint distance_value = 0;							  //距离值
extern uchar flag_direction;  				  //方向标志位
extern uint servo_pwm;									//舵机pwm值



/**********************************
函数声明
**********************************/
void Delay_function(uint x);						//延时函数(ms)
void Monitor_function(void);						//监测函数
void Manage_function(void);							//处理函数


/****
*******	主函数 
*****/
void main()
{
  Time0_Init();                         //定时器0初始化
  Delay_function(50);
	Time1_Init();           							//定时器1初使化函数
  Delay_function(50);
  servo_pwm = 12;                       //超声波朝前
  
	while(1)
	{
		Monitor_function();									//监测函数
		Manage_function();									//处理函数
    
		Delay_function(10);									//延时10ms
		time_num++;													//计时变量+1
		if(time_num == 5000)
		{
			time_num = 0;
		}
	}
}

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

  • 15
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值