智能小车平台需要实现的功能:上位机无线遥控可发送速度、转向、行车时间、轨迹、测距、自动蔽障等控制命令,同时可以反馈实时速度、距离、电源电压、功率等状态数据。 硬件原理 1、电机驱动: 智能小车采用12V直流电机为后轮驱动力,6V步进电机为前轮转向控制提供动力,故智能车平台需驱动12V直流电机和6V步进电机。由于需要控制小车的车速以及小车行驶的方向(包括转向以及前进、后退、停车),直流电机驱动采用常用的H桥电路,通过控制信号选通对管与否实现电机的正反转,并改变所加电压的占空比来改变电机转速。这里采用电机驱动专用芯片L298N,该芯片可驱动两路5-36V的直流电机或者一路四拍的步进电机。同时在L298N与主控芯片间通过四路光耦TLP521-4隔离消除干扰信号。 搭建好电路后不要直接在小车上调试,外界一只相同电压的电机测试模块。在STC12C5A60S2上配置好串口、PWM,实现串口接收的数据直接赋值给PWM定时器CCAP1L、CCAP1H。利用串口调试助手发送控制信息给STC12C5A60S2,同时辅助外界电源更改L298N的IN1和IN2,共同完成L298N电机驱动模块的调试。 2、光电对管测速 光电对管采用TCRT5000,由一只特殊的发光二极管和光电三极管构成,当二极管发出的光打在光电三极管的基极B上时三极管CE导通。而正常情况下二极管的光不能到达光电管的基极上,故通过在车轮上贴反射片即可实现对小车的测速。假设车轮均匀贴有n片反射片,测得光电三极管的输出脉冲频率为f,则车速=f/n。为了提高测速的精度,在信号后级添加比较器调理信号为标准的方波,调节比较器运放的偏置电压使方波信号最适合于测速。 同样适用外界电机(已配有自制的编码盘),给电机加电让其带动编码盘旋转,将光电对管靠近编码盘,用示波器观测输出脉冲信号的有无与好坏,调节比较器偏置电压使脉冲最接近于方波且幅度大于3.3V。 3、超声测距 超声波测距的方法有多种:如往返时间检测法、相位检测法、声波幅值检测法。本设计采用往返时间检测法测距。其原理是超声波传感器发射一定频率的超声波,借助空气媒质传播,到达测量目标或障碍物后反射回来,经反射后由超声波接收器接收脉冲,其所经历的时间即往返时间,往返时间与超声波传播的路程的远近有关。测试传输时间可以得出距离。假定s为被测物体到测距仪之间的距离,测得的时间为T,超声波传播速度为V表示,则有关系式S=VT/2 。 超声波发射部分是为了让超声波发射换能器TCT40-16T能向外界发出40 kHz左右的方波脉冲信号。编程由单片机端口输出40 kHz左右的方波脉冲信号,由于单片机端口输出功率不够,40 kHz方波脉冲信号分成两路,送给一个由74HC04组成的推挽式电路进行功率放大以便使发射距离足够远,满足测量距离要求,最后送给超声波发射换能器TCT40-16T以声波形式发射到空气中。发射部分的电路,如图4所示。图中输出端上拉电阻R31,R32,一方面可以提高反向器74HC04输出高电平的驱动能力,另一方面可以增加超声换能器的阻尼效果,缩短其自由振荡的时间。 上述TCT40-16T发射的在空气中传播,遇到障碍物就会返回,超声波接收部分是为了将反射波(回波)顺利接收到超声波接收换能器TCT40-16R进行转换变成电信号,并对此电信号进行放大、滤波、整形等处理后,这里用索尼公司生产的集成芯片CX20106,得到一个负脉冲送给单片机的INT0引脚,以产生一个中断。 接在CX20106的第五脚上的电阻,用以设置带通滤波器的中心频率f0,阻值越大,中心频率越低。电路中采用一只粗调的可变电阻和一只精密调节的电阻串联而成。调节函数信号发生器产生40K的方波,接在超声发射电路的输入端,同时用示波器观测超声接收电路的输出端。用书本等模拟障碍物,调节两只电阻观测示波器看接收端否会产生电平跳变。 4、电源模块 对于小车而言电源是整个系统的咽喉,考虑到体积、重量、电能容量等。这里我们选取8节1.5V锂电池串联起来作为总电源输出(12V),采用LM78L05、LM317构成整个电源模块。 5、无线通信模块 无线通信采用现成的串行接口的蓝牙模块,只需要配置主从机、信道、通信密钥、波特率即可实现无线串行通信。这样PC和主控STC12C5A60S2只需将通信理解为串行通信,给程序构架带来便利。不过需要考虑通信接口的问题:STC12C5A60S2是5V电压供电,TXD和RXD的通信电信号自然是以5V为参考电平;蓝牙模块是3.3V电压供电,TXD和RXD的通信电信号自然是以3.3V为参考电平。所以我们需要添加电平转换,实现STC12C5A60S2与蓝牙模块的正常通信。一般电平转换可以使用专用的芯片74xHCT或164245,电阻分压法、OC/OD 器件法、晶体管上拉电阻法等。不过对
1
STC单片机+W5500客户端模式例程(模拟SPI)
2021-04-22 14:03:13 44KB STC单片机+W5500客户端模
STC单片机+W5500模块-服务端模式例程(模拟SPI)
2021-04-22 14:03:13 44KB STC单片机+W5500模块
STC单片机+W5500模块-服务端模式例程(硬件SPI)
2021-04-22 14:03:13 44KB STC单片机+W5500模块
STC单片机+W5500模块-UDP模式例程(模拟SPI)
2021-04-22 14:03:12 87KB STC单片机+W5500模块
STC单片机+W5500模块-UDP模式例程(硬件SPI)
2021-04-22 14:03:12 44KB STC单片机+W5500模块
当打开Keil c51的Device找不到stc系列单片机的型号时,可以把该文件拷贝到C:\Keil\UV2目录下,关掉Keil软件,再从新打开就能找到了。
2021-04-22 11:04:54 167KB UV2.CDB
1
用C编写的STC单片机控制直流电机角度,完全验证并在产品上使用
1
单片机运行时的数据都存在于RAM(随机存储器)中,在掉电后RAM 中的数据是无 法保留的,那么怎样使数据在掉电后不丢失呢?这就需要使用EEPROM 或FLASHROM 等 存储器来实现。在传统的单片机系统中,一般是在片外扩展存储器,单片机与存储器之间通 过IIC 或SPI 等接口来进行数据通信。这样不光会增加开发成本,同时在程序开发上也要花 更多的心思。在STC 单片机中内置了EEPROM(其实是采用IAP 技术读写内部FLASH 来 实现EEPROM),这样就节省了片外资源,使用起来也更加方便。下面就详细介绍STC 单 片机内置EEPROM 及其使用方法
2021-04-19 18:51:32 158KB STC 单片机 内部 EEPROM
1
基于STC单片机的PID温度控制程序,KEILC编译器,可以运行。
2021-04-16 16:57:22 38KB pid 温度控制
1