遥控小车报告_第1页
遥控小车报告_第2页
遥控小车报告_第3页
遥控小车报告_第4页
遥控小车报告_第5页
已阅读5页,还剩16页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、课程名称 选题名称 选题性质 学号姓名 专业名称 所在院系 完成时间州迎草寿噌枕HUBEINORMALUNIVERSITY电工电子实验报告电子系统设计基于STM32勺无线遥控小车课程设计电子信息科学与技术物理与电子科学学院2014年05月2日电工电子中心2009年5月绘制湖北师范学院电工电子实验教学省级示范中心电子版实验报告基于STM32的无线遥控小车一.任务解析1、电机驱动方案以及主控芯片选择2、无线通信模块的驱动和调试3、软件控制算法4、STM3柱控制板PC明丁样及调试二.方案实施1方案论证:1电机驱动方案选择:电机的常用驱动方式有两种:直流电压驱动,PWM口H桥驱动。直流驱动实现简单,但

2、是一般只能实现单向旋转,并且效率低。PWM口H桥的驱动方式可以在一组电源的情况下方便实现正反转,H桥工作在开关状态下,效率高,故采用PWM口H桥的驱动方案。2主控芯片选择:一路电机需要两路PWM信号来控制正反转以及转速,小车有四个独立的直流电机,所以需要8路PWMo不管是传统51单片机还是改良型的12单片机都已经不能胜任此任务,这里采用意法半导体公司的STM32F103RBT6芯片作为主控。STM32F103RBT6有128K的FLASH20K的SRAM最高72MHZX作频率,2个12位ADC(16个通道),支持DMA专输,多达7个定时器,9个通信接口。强大的性能以及低廉的价格完全可以满足本设

3、计的需求。2无线模块的驱动和调试无线通信采用的是挪威NORDIS司的NRF24L01+?片。nRF24L01+是一款高速低功耗集收发于一体的半双工芯片,最大传输速度可以到达2Mbps,工作在全球开放ISM频段,最大0dBm发射功率,免许可证使用。nRF24L01+集成了所有与RF协议相关的高速信号处理部分,其通信接口采用标准的SPI总线接口。用51单片机驱动NRF24L01+的做法是软件模拟SPI时序,但是软件模拟的时序存在部分问题:1,软件模拟时序速度慢,2稳定度不够高,STM32F103RBT6芯片自带硬件双路SPI,最高速度可以到达18MBits/s,此处的NRF24L01+和OLED都

4、是通过硬件SPI驱动的。硬彳SPI配置的关键代码如下:SPI_InitTypeDefSPI_InitStructure;/声明SPI结构体RCC_APB2PeriphClockCmd(RCC_APB2Periph_AFIO,ENABLE);/使能复用AFIO时钟,使用硬件SPI必须先使能复用AFIO时钟RCC_APB2PeriphClockCmd(RCC_APB2Periph_SPI1,ENABLE);使能SPI1时钟,使用外设时,必须先使能外设时钟SPI_Cmd(SPI1,DISABLE);/改变MOD前先禁止SPISPI_InitStructure.SPI_Direction=SPI_Di

5、rection_2Lines_FullDuplex;/设置为两线全双工模式SPI_InitStructure.SPI_Mode=SPI_Mode_Master;/设置为主模式SPI_InitStructure.SPI_DataSize=SPI_DataSize_8b;设置为8位数据帧模式SPI_InitStructure.SPI_CPOL=SPI_CPOL_Low;/CPOL=0时钟悬空低SPI_InitStructure.SPI_CPHA=SPI_CPHA_1Edge;/数据捕获于第1个上升沿SPI_InitStructure.SPI_NSS=SPI_NSS_Soft;/NSS软件控制SPI

6、_InitStructure.SPI_BaudRatePrescaler=SPI_BaudRatePrescaler_2;SPI时钟2分频,72M/2=36MHZ=SPI_FirstBit_MSB;/MSB/高位在前发送SPI_InitStructure.SPI_CRCPolynomial=7;/用来设置CR味验多项式,提高通信可靠性,大于1即可SPI_Init(SPI1,&SPI_InitStructure);/根据指定的参数初始化SPI1SPI_Cmd(SPI1,ENABLE);/使能SPI12,软件控制算法1,8路PWM的产生这里采用PWM加H桥驱动有刷直流电机,一路电机需要两路

7、PWM,来控制正反转以及转速,小车有四个独立的直流电机,所以需要8路PWM。STM32的每一个TIME有四个通道,每个通道可以独立的配置为PWM输由或者输入CAP模式,这里采用TIM2和TIM4的8个通道来产生需要的8路PWMo经过实际的测试发现,在相同的占空比下,PWM频率为100Hz左右时电机的转速以及扭力均大于1KHZ,10KHZoTIM2和TIM4属于桂接在低速时钟总线APB1的外设,在预分频不等于1时,TIM2和TIM4的时钟源为72MHZ系统时钟为72MHZ的情况下。无线模块接收的数据为04095,在这里对应0%100%的占空比,所以在频率为100HZ时,预分频系数选择176分频,

8、重装载值为4095,72MHZ/176/4096=100HZ。硬彳PWME置关键代码如下:GPIO_Config(PA,Pin(0)|Pin(1)|Pin(2)|Pin(3),AF_PP,Speed_50M);/GPIOA通道0,1,2,3设定为复用推挽输生模式GPIO_Config(PB,Pin(6)|Pin(7)|Pin(8)|Pin(9),AF_PP,Speed_50M);/GPIOB通道6,7,8,9设定为复用推挽输生模式TIM_BaseConfig(TIME2,4095,175,TIM_72M,Mode_Up);/72M/(175+1)/(4095+1)=100Hz,设定TIM2四路

9、PW顺率为100HZTIM_BaseConfig(TIME4,4095,175,TIM_72M,Mode_Up);/72M/(175+1)/(4095+1)=100Hz,设定TIM4四路PW顺率为100Hzfor(CHx=1;CHx<5;CHx+)TIM_PWM_Config(TIME2,CHx,PWM1,High);/配置TIM2四通道PW岫比较输由高模式TIM_PWM_Config(TIME4,CHx,PWM1,High);/配置TIM4四通道PW岫比较输由高模式2)小车前进/后退以及转弯控制百流电机第9页,共18页图1:L9110典型应用图如上图1所示,当正转信号端有PWMt号,反

10、转信号端为低电PWM平时,电机正转,此时小车前进。当正转信号端为低电平,反转信号端有PWM信号时,电机反转,即小车后退,通过控制输入的占空比即可以实现小车速度的调节。由于市面上卖的四轮驱动小车的四个轮子都是固定的,不能像汽车那样,导向轮可以左右转动,这里采取使左右轮的速度不一致的方式来实现转弯,当左轮速度大,右轮速度小,小车向右转,反之左转。如果以固定的差值改变左右PWM&空比,这样油门不同的时候就会由问题,例如为了解决这个问题,这里采用比例法,用这个比例系数去乘上油门的值,这样就可以很容易的解决问题。转弯的关键代码如下:u16 Throttle;/ 油门u16 Direction;

11、/float DirL,DirR; /if(Direction>2048) /DirL=1.0;/方向左右轮油门比例如果方向值大与 2048设置左轮油门比例系数为1DirR=(4096-Direction)/2048.0;/右轮油门比例系数随着方向值增大而减小Else/如果方向值小与2048DirL=Direction/2048.0;/左轮油门比例系数随着方向值减小而减小DirR=1.0;/设置右轮油门比例系数为1TIM_SetCompare1(TIM4,0);设定TIM4通道CHx占空比为0,即为低电平,此时为正转,小车前进TIM_SetCompare2(TIM4,0);TIM_Set

12、Compare3(TIM4,0);TIM_SetCompare4(TIM4,0);if(Nflag!=Oflag)/当Nflag!=oldflag车换向时时,设置死区延时,防止同一侧两个开关管同时导通烧坏芯片delay_ms(50);TIM_SetCompare1(TIM2,(u32)Thr*DirR);设定通道CH1占空比,占空比的值由油门值以及油门比例系数共同决定TIM_SetCompare2(TIM2,(u32)Thr*DirR);同上TIM_SetCompare3(TIM2,(u32)Thr*DirL);TIM_SetCompare4(TIM2,(u32)Thr*DirL);3在实际的

13、测试过程中发现当遥控的油门减小前就突然断电了,小车会保持之前的状态继续运动,这样就会失去控制,很容易由问题。后来在此基础上想到了看门狗,如果在规定时间里没有向看门狗寄存器里写入特定的数据,就会产生系统复位,当复位后,初始状态下车是停止的,这样一旦接收不到遥控的发来的数据就停止喂狗,系统处于一直复位状态,知道接收到遥控发送的数据,这样就保证了系统的稳定工作。具体实现代码如下:IWDG_Config(IWDG_2K5,2500);/配置独立看门狗时钟为2.5K,计数值为2500,1/2500*2500=1s,在1s内喂狗不会产生系统复位if(STATE=1&&flag!=0xff)

14、/判断接收标志位,当遥控突然断电后,用串口发现依然能够接收到0XFF的标志位,原因暂时不详IWDG_Feed();/接受到数据后喂狗,1S内没接收到数据产生系统复位湖北师范学院电工电子实验教学省级示范中心电子版实验报告Throttle=RxBuf0*256+RxBuf1;/获得油门值Direction=RxBuf2*256+RxBuf3;获得方向值flag=RxBuf4;/获得正/反转标志位值printf("%d%d%drn",Throttle,Direction,flag);/串口打印接收到的数据,便于系统调试STATE=0;/清空接收标志位为了清晰的观察,系统是否处在复

15、位状态下,这里加了指示灯加以指示,当系统复位时,会观察到灯以1S左右的周期闪烁,当系统正常工作时,灯处于长亮状态。具体代码如下:LED=1;/初始复位,状态指示灯不亮delay_ms(500);/当硬件一直复位时,形成状态灯以1s周期闪烁的效果while(1)LED=0;/当系统正常工作时,状态指示灯长亮3,STM3柱控制板PC明丁样及调试1)在进行PCB打样之前,先得进行原理的验证,这块板子的原理图参考了周兆丰老师以及正点原子的MiniSTM32开发板,在他们的基础上有所增减。当然,这不是一块纯粹的小车控制板,是一个完整的STM32开发板。里面的模块很多,这里就只介绍其中一部分。第11页,共

16、18页湖北师范学院电工电子实验教学省级示范中心电子版实验报告原理图部分如下:rzUAKLUSB 1, 厂ART n_ 1 二TTiRT 0图2:串口 /USB选择第17页,共18页当1和3,2和4相连是,是串口的功能,当3和5,4和6相连时,是USB功能,这里相对正点原子的少了两个排针,3,4可以作为公用的,减少了排针数目。!» F DCD_N m ti SHTDJJ ez_c£e: EE-DJ.TA四T3505imcNdkiM M ?LL_IE$l VW 23 工 GKb gV2©_W1 m X LD MSot CM)瓯 MODEL2>EESzT m ra

17、n - vi "3M DP图3:一键下载电路当然,这个电路不是我原创的啦,是正点原子的,觉得很经典,在这里说明一下。下载的时候选择DTR的低电平复位,RTS的高电平进BootLoard。一键下载电路的具体实现过程:首先,mcuisp控制DTR输生低电平,则DTR_NB由高,然后RTS置高,则RTS_Nt由低,这样Q2导通了,BOOT瞰拉高,即实现设置BOOT的1,同时Q1也会导通,STM32的复位脚被拉低,实现复位。然后,延时100ms后,mcuisp控制DTR为高电平,则DTR_N俞由低电平,RTS维持高电平,则RTS_N1续为低电平,此时STM32的复位引脚,由于Q1不再导通,变

18、为高电平,STM3综束复位,但是BOOT好是维持为1,从而进入ISP模式,接着mcuisp就可以开始连接STM3Z下载代码了,从而实现一键下载。OI.ED图4:通用OELDlf块接口我的这个OLED非母有9个引脚,可能你会觉得奇怪,本来SPI驱动模式的OLED128*64)市面上常用的一般都只有6个引脚,多的也才7个引脚,为什么要多此一举多弄两个电源引脚呢?仔细观察之后,你也许会明白,这样做是为了兼容性,当你顺着看的时候可以完全兼容6脚或者7脚的OLED那么IIC驱动模式的呢,对了,当你从下往上看的时候,会发现正好就是4脚IIC驱动模式的OLED而且蛮巧的,正好硬件IIC的引脚和硬件SPI的引

19、脚是挨着的,这样在方便布线的同时保证兼容市面上所有接口类型的OLED俘指128*64点),并且在程序上都可以采用硬件功能驱动,可以更快速的显示动态画面GNDI_PEN 岂-CML04LRli1KJXTLfS 1srssf ?B1?B3 ?E?b- W 洞1ILTT17?E1319?EI3 5T?CK«I工1家写31口"5中2 LCDJS5DRg CBS DB:.B? LB: BL百pat a re: 10F34 12F5<:6P3LG?o pm hCLID1|jjv ycc 1VDD3.3 6D ML MEO TLPEH TCSrr -rG1C231041293J8

20、5VM 工 MUS:3-IF7LCD图5:TFT彩屏以及正点原子OLE熊口彩屏接口是照着正点原子的原理图画的,因为对彩屏不是太熟悉,加之中等容量的STM3缎有FSMC只能用模拟时序的方式去驱动彩屏,并且在正点原子的TFT程序功能已经如此丰富的情况下,贸然去大幅度更改会造成不必要的麻烦。这里也可以兼容正点原子的OLED他是采用模拟时序的方式驱动的,虽然他的驱动方式灵活8080,SPI,IIC可选,但是在速度上就比不上硬件驱动了上几张整体效果图:厢ALQ二'TTVlRCZAtKUmaoaVfrEWXFTWjm;iu4hTEuliTMitM,nn后iKk-E2Fm&ODLruzuMJnMKMWfnuwnflF息r_WlKWmV?JK,由n>i*r-MjjEitHadR£V7W1CHi3*13占razjsorn.结果展示湖北师范学院电工电子实验教学省级示

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论