2024年4月4日发(作者:天景同)
浅谈智能车的制作
1、选择微控制器
常用的主控制器芯片主要有STC 89C52/STC12C5A60S2 (51系列)、ATMEGA16/128(AVR)、
PIC16F877(PIC)、MSP430F149(MSP430)、STM32F103VET6(STM32)、EP2C8Q208C8
(CPLD/FPGA)、LPC2103(ARM7)、S3C2440(ARM9)等。一般的单片机都可以输出PWM
波用来控制电机转速,调节小车的车速和转向。51单片机的PWM输出是使用内部程序模
拟出来的(当然部分增强型的51除外),其他系列的单片机如AVR、PIC、MSP430、MC9S
系列等等的IC都具有PWM输出功能,只要操作单片机内部的寄存器即可输出不同频率不
同占空比的PWM波。另外,比如定时器、中断数量、运行速度等因数也可能会影响到单片
机的选型。并不是芯片越高级越好,比如FPGA、DSP、ARM9等用在这个地方很大程度上
可以说是资源浪费或者是杀鸡用牛刀---大材小用或说是用错了地方。在这里我推荐大家使用
稍微高级的单片机(相对51而言),原因有二:1.功能相应的强大很多,不仅仅是PWM输
出功能。有些内部还集成AD转化的接口等,这对于我们来说为设计提供了很多的方便。2.
作为学习,51真的是简单得不能再简单了(当然了,还有些是4位的单片机,我们在这不讨
论),我们应当抱着追求更多知识的心态,学习和探索高深的宇宙奥妙,要不然你还真的得
意忘形会觉得你单片机已经学到家了。
关于单片机的学习,我不得不提几点。
1.不要畏惧:这些不同系列的IC都是人类智慧创造出来的。我们也是人类,不可能
我们学不会。学不好的人往往只有两种,一种是方法不对另一种就是不肯花时间,而往往后
者占大多数。在学习了51之后,其他系列单片机的学习方法也是相通的,只不过是稍微复
杂一些而已。不要只是觉得单片机是个很高深神奇的东西望而却步。好的心态和态度才有好
的学习,不信你试试。
2.认清一个事实,不是学了单片机就什么都能做。单片机只是个工具,它的作用不
是它有多么多么强大,而是在于我们如何利用它,用它使用在什么方面。一个好的单片机程
序编程者,并不一定是那些能够把单片机内部寄存器名称和操作指令都能背得滚瓜烂熟的
人。为什么呢?因为我前面说过了,它只是工具,真正使它强大的是你如何编程利用和控制
它,也就是要有好的编程思路,并能用程序把你的思路表达出来,这样你才有成为单片机高
手的潜质。
话题似乎扯远了,好吧,言归正转。
2、电机的选择
常用的电机一般有3种:直流(减速)电机、步进电机和舵机。在智能车制作中而又前者
较为常用。
现在我们要讨论的不是结构和工作原理,主要来说说如何控制改变转向和转速。
直流(减速)电机:利用电压的大小和方向来改变转速和转向。使用PWM电机驱动(下
个小节会讲到)来控制电机时,占空比的大小调速实际就是改变电机两端电压的平均大小。
至于控制引脚的高低电平使之转向无非就是改变电机两端电压的方向。
步进电机:使用频率来调节转速。改变各相的通电顺序即可改变转速。
舵机:可以不用驱动芯片直接用I/O口控制。控制采用一定频率的PWM波。一般PWM频
率为50Hz。高电平时间0.5ms—2.5ms对应舵机转向-90°— +90°。
说到电机的选择,不得不提一点。那就是不管你选择何种电机,都不可能不在加任何控制算
法的情况下使小车能够走得很笔直。毕竟生产厂家不可能把电机做得完完全全的一样。而且
你在搭小车部件的时候机械结构也不见得做到很完美的程度。认清这一点很有必要,当初我
们就是在这上面摔了很大的跟斗。
当然,不只有小车才用得到电机,控制类的题目基本离不开对电机的控制。至于该如何选择
电机,请读者自评优劣,谨慎决定。
3.电机驱动的选择
直流电机驱动芯片常用主要有:晶体管或者MOS管搭建的H桥、集成L293、L298N、
MC33886、BTN7960B等。使用上一个很大的区别就是工作电流的范围不同。最常用的就当
属L298N(双H桥、两路直流、一路步进、双路2A)了。在这我只提思路,至于具体的电路
图网上基本都能成片成片的搜索到,我也不敢班门弄斧。
步进电机驱动常用的有:ULN2003/ULN2803(达林顿管)、L297+L298N、TA8435H、
THB7128等,还有市面上常见的大功率的驱动模块。有些驱动具有细分的功能,能够使步
进电机一个脉冲输入转动很小的角度。电路的原理及电路图在这就不提了。
4、转速的测量
不管使用什么器件,什么原理,最终都基本是靠测脉冲的形式来测量轮子转速。常用的
传感器有:霍尔传感器+磁钢、光电传感器+黑胶带、光电传感器+编码盘以及飞思卡尔智能
车比赛中常见的测速编码器等。原理不解释,测量转速实质就是测脉冲频率。方法有测频法、
测周法、输入捕获等。当然了,这些方法除了可以用于速度的检测之外,还可以计算路程、
实现较为精准的拐角功能等。相比霍尔传感器使用光电编码盘精度要稍微高很多。在淘宝上
可以买到常用的100线的光电编码盘,价格在20元左右。
5、时间的测量
在题目中一般都对时间有要求。时间的测量常用两种吧:一就是使用单片机内部的定时
器定时;二就是使用实时时钟芯片,如DS12C887、DS1302等(只能测量到秒,如果对时
间测量要求不高、定时器不够而且I/O口足够的话可以使用此方法)。
6、循迹传感器
循迹基本是黑白线(也有可能是走方格)。常用的传感器主要有:ST188、RPR220、TCRT5000、
红外收发管、激光传感器、摄像头等。而又属ST188和RPR220最为常用,在电路设计中
电平的转换常用反相器或者比较器。
还有一种,黑线不作为引导线而是边界的情况。如2011年国赛的智能小车。
另外,循迹传感器的布局不要仅局限于使用直线布局方式,应根据实际的要求选择最佳的传
感器布局。要是你觉得循迹真的已经不能在无聊了,想像高难度挑战的话建议你可以玩玩复
迹,相信一定很爽。
7、壁障模块
附加在小车的基本功能除了循迹之外还有就是壁障。常用传感器有:红外对管/接收头、
光电开关(障碍物颜色不同,检测距离有可能不同)、超声波模块(容易受外界干扰,需软件
特别处理)等。主要的使用区别就是壁障距离的长度和与障碍物的间距是否可测量等。
8、通讯模块
循迹和壁障也算可以归属于这一类,就是外界物体与小车的通信。如2011年国赛的超
车题目,两车的简单通信就可以使用壁障的传感器。不过我这节更想讲的是有线通信和无线
通信。
有线方式:简单的导线传输高低电平数据。稍微复杂的还有SPI、IIC、RS232、RS-485
2024年4月4日发(作者:天景同)
浅谈智能车的制作
1、选择微控制器
常用的主控制器芯片主要有STC 89C52/STC12C5A60S2 (51系列)、ATMEGA16/128(AVR)、
PIC16F877(PIC)、MSP430F149(MSP430)、STM32F103VET6(STM32)、EP2C8Q208C8
(CPLD/FPGA)、LPC2103(ARM7)、S3C2440(ARM9)等。一般的单片机都可以输出PWM
波用来控制电机转速,调节小车的车速和转向。51单片机的PWM输出是使用内部程序模
拟出来的(当然部分增强型的51除外),其他系列的单片机如AVR、PIC、MSP430、MC9S
系列等等的IC都具有PWM输出功能,只要操作单片机内部的寄存器即可输出不同频率不
同占空比的PWM波。另外,比如定时器、中断数量、运行速度等因数也可能会影响到单片
机的选型。并不是芯片越高级越好,比如FPGA、DSP、ARM9等用在这个地方很大程度上
可以说是资源浪费或者是杀鸡用牛刀---大材小用或说是用错了地方。在这里我推荐大家使用
稍微高级的单片机(相对51而言),原因有二:1.功能相应的强大很多,不仅仅是PWM输
出功能。有些内部还集成AD转化的接口等,这对于我们来说为设计提供了很多的方便。2.
作为学习,51真的是简单得不能再简单了(当然了,还有些是4位的单片机,我们在这不讨
论),我们应当抱着追求更多知识的心态,学习和探索高深的宇宙奥妙,要不然你还真的得
意忘形会觉得你单片机已经学到家了。
关于单片机的学习,我不得不提几点。
1.不要畏惧:这些不同系列的IC都是人类智慧创造出来的。我们也是人类,不可能
我们学不会。学不好的人往往只有两种,一种是方法不对另一种就是不肯花时间,而往往后
者占大多数。在学习了51之后,其他系列单片机的学习方法也是相通的,只不过是稍微复
杂一些而已。不要只是觉得单片机是个很高深神奇的东西望而却步。好的心态和态度才有好
的学习,不信你试试。
2.认清一个事实,不是学了单片机就什么都能做。单片机只是个工具,它的作用不
是它有多么多么强大,而是在于我们如何利用它,用它使用在什么方面。一个好的单片机程
序编程者,并不一定是那些能够把单片机内部寄存器名称和操作指令都能背得滚瓜烂熟的
人。为什么呢?因为我前面说过了,它只是工具,真正使它强大的是你如何编程利用和控制
它,也就是要有好的编程思路,并能用程序把你的思路表达出来,这样你才有成为单片机高
手的潜质。
话题似乎扯远了,好吧,言归正转。
2、电机的选择
常用的电机一般有3种:直流(减速)电机、步进电机和舵机。在智能车制作中而又前者
较为常用。
现在我们要讨论的不是结构和工作原理,主要来说说如何控制改变转向和转速。
直流(减速)电机:利用电压的大小和方向来改变转速和转向。使用PWM电机驱动(下
个小节会讲到)来控制电机时,占空比的大小调速实际就是改变电机两端电压的平均大小。
至于控制引脚的高低电平使之转向无非就是改变电机两端电压的方向。
步进电机:使用频率来调节转速。改变各相的通电顺序即可改变转速。
舵机:可以不用驱动芯片直接用I/O口控制。控制采用一定频率的PWM波。一般PWM频
率为50Hz。高电平时间0.5ms—2.5ms对应舵机转向-90°— +90°。
说到电机的选择,不得不提一点。那就是不管你选择何种电机,都不可能不在加任何控制算
法的情况下使小车能够走得很笔直。毕竟生产厂家不可能把电机做得完完全全的一样。而且
你在搭小车部件的时候机械结构也不见得做到很完美的程度。认清这一点很有必要,当初我
们就是在这上面摔了很大的跟斗。
当然,不只有小车才用得到电机,控制类的题目基本离不开对电机的控制。至于该如何选择
电机,请读者自评优劣,谨慎决定。
3.电机驱动的选择
直流电机驱动芯片常用主要有:晶体管或者MOS管搭建的H桥、集成L293、L298N、
MC33886、BTN7960B等。使用上一个很大的区别就是工作电流的范围不同。最常用的就当
属L298N(双H桥、两路直流、一路步进、双路2A)了。在这我只提思路,至于具体的电路
图网上基本都能成片成片的搜索到,我也不敢班门弄斧。
步进电机驱动常用的有:ULN2003/ULN2803(达林顿管)、L297+L298N、TA8435H、
THB7128等,还有市面上常见的大功率的驱动模块。有些驱动具有细分的功能,能够使步
进电机一个脉冲输入转动很小的角度。电路的原理及电路图在这就不提了。
4、转速的测量
不管使用什么器件,什么原理,最终都基本是靠测脉冲的形式来测量轮子转速。常用的
传感器有:霍尔传感器+磁钢、光电传感器+黑胶带、光电传感器+编码盘以及飞思卡尔智能
车比赛中常见的测速编码器等。原理不解释,测量转速实质就是测脉冲频率。方法有测频法、
测周法、输入捕获等。当然了,这些方法除了可以用于速度的检测之外,还可以计算路程、
实现较为精准的拐角功能等。相比霍尔传感器使用光电编码盘精度要稍微高很多。在淘宝上
可以买到常用的100线的光电编码盘,价格在20元左右。
5、时间的测量
在题目中一般都对时间有要求。时间的测量常用两种吧:一就是使用单片机内部的定时
器定时;二就是使用实时时钟芯片,如DS12C887、DS1302等(只能测量到秒,如果对时
间测量要求不高、定时器不够而且I/O口足够的话可以使用此方法)。
6、循迹传感器
循迹基本是黑白线(也有可能是走方格)。常用的传感器主要有:ST188、RPR220、TCRT5000、
红外收发管、激光传感器、摄像头等。而又属ST188和RPR220最为常用,在电路设计中
电平的转换常用反相器或者比较器。
还有一种,黑线不作为引导线而是边界的情况。如2011年国赛的智能小车。
另外,循迹传感器的布局不要仅局限于使用直线布局方式,应根据实际的要求选择最佳的传
感器布局。要是你觉得循迹真的已经不能在无聊了,想像高难度挑战的话建议你可以玩玩复
迹,相信一定很爽。
7、壁障模块
附加在小车的基本功能除了循迹之外还有就是壁障。常用传感器有:红外对管/接收头、
光电开关(障碍物颜色不同,检测距离有可能不同)、超声波模块(容易受外界干扰,需软件
特别处理)等。主要的使用区别就是壁障距离的长度和与障碍物的间距是否可测量等。
8、通讯模块
循迹和壁障也算可以归属于这一类,就是外界物体与小车的通信。如2011年国赛的超
车题目,两车的简单通信就可以使用壁障的传感器。不过我这节更想讲的是有线通信和无线
通信。
有线方式:简单的导线传输高低电平数据。稍微复杂的还有SPI、IIC、RS232、RS-485