赞
踩
五一最简单板也就是单片机最小系统,或者称为最小应用系统,是指用最少的元件组成的单片机可以工作的系统.。这个系统适合初学者使用,并且制作智能小车,可以考验青少年的机械组装,器件链接,电子焊接,现场调试能力等。有一定挑战性,又十分有趣,深受青少年这个年龄段的喜爱,参加这样活动既能充分培养学生动手操作手脑协调能力,又有较高的思维训练价值,十分适合中小学生发展。
做一个智能小车,首先你要学会一个编程语言并且能够顺畅的使用,然后要了解小车的各个部位。明确你想做什么,做什么样的小车,它要实现什么功能然后有目的性的去完成就可以了。
做一个智能小车,当然最简单的就是搭建智能小车框架,这并不需要复杂的操作,在网上随便就能找到一个教你如何搭建小车框架的视频,然后是连接小车的驱动模块,芯片,传感器,电池,最后你要下载这个编写代码的软件和一个烧录代码的软件。
博主是一个系统性学习代码两年的博主,不说很厉害,但对C语音和Java语言,C++语言有一定的了解,能够简单做一些功能,做一个智能小车是绰绰有余的,下面是博主做智能小车的一个过程,使用的软件是Keil uVision5和stc-isp-15xx-v6.85,感兴趣的可以看一下,如果有什么想法也可以评论发表一下,我们一起学习进步。
第一:了解小车所要涉及的东西。
电机驱动模块 :采用功率三极管作为功率放大器的输出控制直流电机。线性型驱动的电路结构和原理简单,加速能力强,采用由达林顿管组成的H型桥式电路。用单片机控制达林顿管使之工作在占空比可调的开关状态下,精确调整电动机转速。
复位:复位是单片机的初始化操作。其主要功能是把PC初始化为0000H,使单片机从0000H单元开始执行程序。除了进入系统的正常初始化之外,当由于程序运行出错或操作错误使系统处于死锁状态时,为摆脱困境,也需按复位键重新启动。
时钟电路: S TC 89C52内部有一个用于构成振荡器的高增益反相放大器,引脚RXD和TXD分别是此放大器的输入端和输出端,.时钟可以由内部方式产生或外部方式产生。内部方式的时钟电 路在RXD和TXD引脚上外接定时元件,内部振荡器就产生自激振荡。定时元件通常采用石英品体电容组成的并联谐振回路。晶体振荡频率可以在1.2~12MHz之间选择,电容值在5~30pF之间选择,电容值的大小可对频率起微调的作用.。对外部振荡信号无特殊要求,只要求保证脉冲宽度,一般采用频率低于12MHz的方波信号。片内时钟发生器把振荡频率两分频,产生两个相时钟P1和P2。
复位电路:由电容串联电阻构成,由电容电压不能突变的性质,可以知道,当系统一上电,RST脚将会出现高电平,并且,这个高电平持续的时间由电路的RC值来决定。典型的51单片机当RST脚的高电平持续两个机器周期以上就将复位,所以,适当组合RC的取值就可以保证可靠的复位。一般教科书推荐C取10u,R取8.2K.当然也有其他取法的,原则就是要让RC组合可以在RST脚上产生不少于2个机周期的高电平。至于如何具体定量计算,可以参考电路分析相关书籍。
晶振电路:典型的晶振取11.0592MHz(因为可以准确地得到9600波特率和19200波特率,用于有串口通讯的场合)/12MHz(产生精确的uS级时歇,方便定时操作) 。
单片机:一片AT89S51/52或其他51系列兼容单片机。STC89C52是STC公司生产的一种低功耗、高性能CMO58位微控制器,具有8K 在系统可编程Flash存储器。STC89C52使用经典的MCS—51内核,但做了很多的改进使得芯片具有传统51单片机不具备的功能.在单芯片上,拥有灵巧的8位C PU和在系统可编程Flas h,使得STC89C52为众多嵌入式控制应用系统提供高灵活、超有效的解决方案。
PWM: 脉冲宽度调制。脉冲宽度调制是一种模拟控制方式,根据相应载荷的变化来调制晶体管基极或MOS管栅极的偏置,来实现晶体管或MOS管导通时间的改变,从而实现开关稳压电源输出的改变;这种方式能使电源的输出电压在工作条件变化时保持恒定,是利用微处理器的数字信号对模拟电路进行控制的一种非常有效的技术;广泛应用在从测量、通信到功率控制与变换的许多领域中 。
特别注意:对于31脚(EA/Vpp),当接高电平时,单片机在复位后从内部ROM的0000H开始执行;当接低电平时,复位后直接从外部ROM的0000H开始执行。这一点是初学者容易忽略的。
第二:把所需要的硬件准备好。由于博主是做一个最简单的五一开发版小车,所以我们准备一个最简单的开发板系统,51芯片,然后是杜邦线,电池,电机和驱动模块,红外传感器,车轮,然后是小车框架。
第三:把小车组装好,调适器件并保证正常使用。其实就是给电机一个驱动达到进行控制小车轮子的功能,然后是一个连接红外传感器让他能够运行轮子,最后是一个驱动模块连接。
第四:写好小车需要的代码,并烧路进芯片里面。简单来说就是定义你要连接的管角,驱动模块的管脚定义,中断程序,延时程序,还有小车运行的动作的定义,传感器的管脚定义等。
这是博主使用的软件的样子,当然你们可以用别的能把代码编写并收录进芯片的软件就行。
时钟图片
51单片机的最小系统电路图.
下面是小车代码
定义驱动模块,红外传感器的管角,小车左转
设置中断程序,pwm
定义小车右转,向前,后退,停止等动作
设置红外传感器要完成的功能,延时程序
设置脉冲宽度的限制
注意:如果出现问题,可以对照一下以下出现的情况,进行避坑 。
1:小车轮子不动。①检查一下连接小车电机的管角②是否连接电源
2:红外传感器不亮。①是否把信号线管角接错②是否连接电源
3:小车没有按照预料行驶。①小车轮子定义有误②驱动定义有误③驱动连接有误④中断程序,延时程序有误
4:电动机转不停,芯片发热。①检查芯片集成电路块,插拔注意方向②针脚是否歪斜③芯片倒装
5:黑白线位电机不转。①检查白线是否在左,红线是否在右②电源线是否接错
6:电机倒转,车子倒开。①电机电源极性接反
7:电机转不停,转弯不灵,电机不转。①电位器灵敏度太低电机不转②两个电位器灵敏度不均衡转弯不灵③电位器灵敏度太高导致电机转不停
8:智能小车失灵。①智能小车是靠接收光线来启动电机工作的,如果场地光线亮度不高或者亮度不均都会导致小车失灵。
9:小车转向有差异。①当光线偏向一个方位并且光线来自左侧,则车子右转不受影响而左转可能不灵,同理,当光线偏向一个方位并且光线来自右侧,则车子左转不受影响而右转可能不灵。
上面介绍的是一些普遍出现的错误,可以了解一下,毕竟事无绝对。还有,不同的器件定义不同,不同的系统定义也不同,但也差不到哪去。可以进行类比推理,这样可以得到一些有用的信息。
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。