ucGUI中文教程(STM32实例非常详细)emWin教程
ucGUI、emWin中文教程,结合源码非常详细。《安富莱_STM32-V5开发板_STemWin教程》,包括模拟器、guibuilder使用等ARMFL武汉安富莱电子有限公司Www.ArmfLy.Com安富莱STM32-V5开发板 STemWin教程教程使用说明本教程配套的硬件开发平台是安富菜电子自主设计的STM32V5开发板。安富菜其他系列的STM32开发板也可以使用这个手册,我们的论坛www.armfly.con上有移植好的工程不过需要大量动态内存的例子是无法运行的。使用本教程前,请先按照第三章的教程进行触摸校准,将触摸参数保存到 EEPROM里面,后面所有的例子都会自动加载触摸参数。■基本涵盖了所有 STemWin知识点及其控件的使用,部分复杂的控件会在后期升级的教程中增加上去。完美解决 STemWin支持的BMP、JPG、GIF、PNG图片显示。完美解决 STemWin支持的字体显示,XBF、SIF、矢量字体显示。■教程中提供的 emWin的移植方法,可以完美支持各种显示屏,不受官方显示驱动限制。■所有的控件教程都有配套使用 GUIBulder5.22和u CGUIBulder40建立的例子。■大部分例子均支持在模拟器、MDK和IAR三个版本上面运行。STM32V5开发板相关资料地址:ahttp://bbs.armfly.com/readphp?tid=1139ahttp://bbs.armfly.com/readphp?tid=1285ahttp://bbs.armfly.com/read.php?tid=2103第3页共574页ARMFL武汉安富莱电子有限公司Www.ArmfLy.Com安富莱STM32-V5开发板 STemWin教程第1章 STemWin介绍本期教程开始带领大家了解-下 STemWin的基本知识,其实确切的讲应该叫eηwin基础知识,由于教程使用的开发板是ST的微控制器,所以就把名字统一命名成 STemWin(为什么叫 STemWin,在下面会有详细的讲解)。1.1 STemwin, emwin,μCGU之间的关系1.2 SEGGER公司介绍1.3 STemwin介绍14STM32F103和407跑 STemWin性能测试15 STemWin论坛16总结11 STemWin,emWn,μCGU之间的关系这个放在最开头进行说明,因为很多的初学者比较的迷惑对于一些刚学GUI的用户来说,知道μCGU的比较多,而不知道所谓的 emWin或者 STemWin。这个并不奇怪,主要是因为大部分人只知道 SEGGER公司的做的儿LINK,而不知道他们还有RTOS和相关的中间件(中间件的意思就是基于RTOS的文件系统,GUI,USB主机和设备协议栈等)。11.1卩CGU在国内比较火的原因μcGUI在国内前几年比较火的原因有三点●一个是μCOSI在国内的推广,自从 Micrum公司出的那本《嵌入式实时操作系统μCOSⅢ》发布之后,国內关于μCOSⅡ的资料就是普天盖起,再加上各种培训机构和开发板的推广,μCOSⅡ就在国内火起来了。μCOS火的同时,它配套的中间件,特别是μCGUI就跟着在国内火了起来●前几年国内有一个μCGUI的论坛,这个论坛在国内的μCGU方面应该算是做得最好的,特别是那个站长在μCGUI方面的研究,这位站长对于μCGUI在国内的发展功不可没●还有一个原因就是μCGU是带有源码的,很多时候可以通过修改部分的源码实现—些特殊的功能,现在网上流传的μCGUI的源码已经不知道经过多少人的手被修改过,最原始的的代码已经在官网上面找不到了。第4页共574页ARMFL武汉安富莱电子有限公司Www.ArmfLy.Com安富莱STM32-V5开发板 STemWin教程112 emwin和μCGU的关系首先要明白,这两个GUI是一个东西。最初这个GU就是 SEGGER公司的,然后以什么的方式授权给μcGUI就不清楚了。现在 SEGGER公司是这个GUI的主要推动者,已经将其授权给了多个芯片生产厂家。11.3 STemWin和emWn的关系STemWin是 SEGGER公司授权给ST(意法半导体)的。使用ST芯片的用户可以免费使用 STemWin其实不光授权给了ST,还有NXP, Energy micro等。凡是使用这些芯片厂商生产的处理器都可以免费的使用 emwin。但是出于一定的保护措施,使用 STemWin的库是不能用在其它芯片厂商的处理器上面的。因为在工程初始化 STemWin前要使能CRC校验。如果没有使能, STemWin是启动不起来的。 KEIL MDK的安装目录里面也带有 emwin软件包,这个软件包也不是可以直接使用的,用户需要给 KEIL MDK注册RL-ARM才可以使用。这里 STemWin还针对ST的微控制器做了专门的优化,比如在使用ST的F4XX微控制器带FPU的芯片时, STemWin在需要浮点处理的地方专门做了优化114 emWin5Xx版本和以前版本的不同emWin发展到50版本以后已经产生了很大的更新,特别是底层驱动方面。 emWin5xx版本向下完全的兼容低版本,当然包括μcGUI巧5ⅹX以下的版本,也就说如果用户有在μCGUI5×以下版本建立的工程完全可以用在高版本上面(条件是没有修改过源码)。这里不建议初学者修改源代码,修改过后会破坏现有的机制。在以后的使用中会养成不好的习惯,只要某些功能无法实现就去修改源码随着修改的增多会严重的破坏现有的机制。emwin5xX以后的版本只有库,没有源码。对于一些想研究源码的,可以看早期的版本,了解一下通讯机制。不过对于大多数从应用角度出发的,完全没有必要学习源码,源码内容太多。对于一些无法实现的功能,在 emWin5ⅹ上面得到了很大的改善,基本不需要修改源码。如果通过各种方法实在无法实现,完全可以使用 emWin支持的用户控件设计方法做一个符合要求的.12 SEGGER公司介绍SEGGER公司应该算是一家老牌的调试工具以及RTOS及中间件的生产商。 SEGGER公司成立于1997年,到现在的2014年,有差不多17年的历史了,这家公司主要有两个 office,一个是在德国的 Hilden,另个在美国的 Massachusetts。官网还有一个他们工作地方的照片,看着很不错,我这里也把这个照片贴第5页共574页ARMFL武汉安富莱电子有限公司Www.ArmfLy.Com安富莱STM32-V5开发板 STemWin教程国SEGGER公司的产品主要有三个方向,分别如下:121RToS及其中间件SEGGER公司的RTOS是 embos,在国内知道的人可能比较少。 SEGGER做的 embos和中间件都是以库的形式供用户下载的,除非购买了使用权。产品主要如下o embos(Real Time Operating System)embos/IP(TCP/IP Stack)o emWin(Graphic Software Gui)● em File( File System)emUSB Device(USB device Stack)e emUSB Host(USB Host stackemModbus( Modbus StackmoDbus是今年(2014年)刚刚发布的。第6页共574页ARMFL武汉安富莱电子有限公司Www.ArmfLy.Com安富莱STM32-V5开发板 STemWin教程122J-Link调试工具J-Link应该大家都不陌生,它是有 SEGGER公司设计的。具体的J-Link产品有好几款,具体如下●J- Link pro●J- Link ultra+●J- Link plus●J-Link●J- Trace Cortex-M3●J- Trace arm1.2.3 Production Programmers这个工具在国内用的比较少,主要如下几款产品:●F| asher armFlasher rx●F| asher stm8● Flasher st7● Flasher5● Flasher5PRo上面说的这三项应该算是SEGGER公司的主营产品,更详细的可以上面他们的官网www.segger.con进行了解。13 STemWin介绍emwin5X版本设计出来的界面还是非常漂亮的,先贴几个相关的设计图片,让大家有一些感官的认识131 STemWin设计界面●第一幅是官方设计的图片第7页共574页ARMFL武汉安富莱电子有限公司Www.ArmfLy.Com安富莱STM32-V5开发板 STemWin教程Coffee machineAirplane monitoring system666垂●Washing machineProcess automation40°C900Detergent40%3Dashboardx-Ray machineCEPHP114.1540整体来说,这些图片还是非常漂亮的,不过这些界面不是用专门的控件显示出来的,使用的2D绘图配合内存设备管理实现的。●下面的是在STM32V5开发板上面实现的界面总的来说这些界面还是非常漂亮的,关于STM32V5开发板更详细的资料可以看如下两个地址http://bbs.armfly.com/read.php?tid=1285http://bbs.armfly.com/read.php?tid=1139第8页共574页ARMFL武汉安富莱电子有限公司Www.ArmfLy.Com安富莱STM32-V5开发板 STemWin教程凹春Computer SettingsPictureletoonCameraClockFMAMamazonMPMP3RecorderensorTextUs日edioSignal201304303%177:28TueTask Manage▲进程性能实验目的优先级堆栈使用堆栈余堆栈分比CPU任务名字59869388%3. 70% App Task GUIRefresh60516358012%0. 30% App Task GUI10891610%0. 05% App Task UserIF749507%0.07% App Task COM829420. 00% App Task Update8219664%0. 00% App Task Start62636549%0. 01% uC/OS-III Timer Task62 6464 50% 0.47% uC/OS-III Stat Task646450%0. 83% uC/OS-III Tick Task63527640%94. 53% uC/OS-III Idle Task201343017:18:14Tue第9贪共574页ARMFL武汉安富莱电子有限公司Www.ArmfLy.Com安富莱STM32-V5开发板 STemWin教程File ManageFile Edit HelpOpen noneHardDiskUsed: 3MB Total: 126MBsed: 442MB Total: 1963MBUsed: 130MB Total: 7441MBCamera的oV7570&MT9D111OPEN USB HOSTOPEN USB HOSTCLOSE USB HOSTr OPEN USB DEVICE CLOSE USE DEVICEReady2013/43017:U7:49Tue132目标系统(硬件)目标系统必须具有:一个CPU(8/16/32/64位)一个具有最小内存的RAM和ROM一个完整图形显示器(任何类型和任何分辨率)存储器要求取决于使用的是软件的哪部分以及目枟编译器的效率。因此不可能指定精确的值,但是以下值适用于典型的系统。小系统(无窗口管理器)●RAM:100字节堆栈:600字节ROM:10-25kb(取决于所使用的功能)大系统(包含窗口管理器和小工具)RAM:2-6kb(取决于所需的窗口数)堆栈:1200-1800字节(取决于所使用的功能)ROM:30-60kb(取决于所使用的功能)请注意,如果应用程序使用了很多字体,则对ROM的要求会提高。上述所有值都是粗略估算值,不第10页共574页
- 2021-05-06下载
- 积分:1
全向轮运动平台pdf
全向轮,全向移动2,3,4轮小车,变换矩阵。设李雅普诺夫函数为V1=;(x2+y2+0)求其导数如下,当渐进稳定时导数小于0Ⅵ1=xx+yy+ade =-kxre, yeke8上式系数为正时,李雅普诺夫函数的导数小于零,系统渐进稳定代入微分方程得到控制律如下:+ vr cos日a+k-xea+ v sin 8e t kyy+ke022差动轮直角坐标运动学方程差动轮与全向轮的区别是,全向轮小车速度方向与四个轮子的共同朝向相同可为仼意方向,而差动轮小车的切向速度方向与X轴重合,故方程中v=0微分方程如下v+v cos 0PRxet vr sin221差动轮直角坐标下控制律设计选择 Lyapunov函数如下:V2=(x2+y2)+(1k(-cosee对上式沿求导+-。sin6e cea-v+ vr cos ee)+yec-xew+ vr sin ge)D sin 0rev+xe vr cos 8e+yevr sin Be+rwr sin 0e -- sin 8 e11-Xev+xevr cos Be year sin 0e +Wrsin eeksinbe选择如下速度控制输入s。+kxxOrt vr(kye t kosine e)将上式代入 Lyapunov函数导数得到esin 2 0当上式系数为正时,V2≤0,故以上 Lyapunov函数选择正确。由此得到堪于运动学模型的轨迹跟踪速度控制律为2:os 8+lcV(kye t resin其中,k,kx,k为控制器参数。22.2控制器参数选取将控制律代入微分方程得下式(rt vr (lye t))xeRyexe(ar+ vr(kye t kesinee))+ vr sin Be-v (kye t kesinee)上式在零点附近线性化,忽略高次项得PR= ApA0Vrky -vr ke系数值与角速度和速度指令值共同决定系统根,当系数为正是所有根为负数。23对比仿真与结果仿真系统结果图如下ct(pea qle)p(7)elrorxPe, qe)图3轨迹跟踪结构图图中q(yo),v、o分别为移动机器人的线速度和角速度,ε1=(xy0)r,对于差动机器人运动学方程可表示为:COS日0Stn图中 J-sine0:pR=y):qa对于全向轮机器人运动学方程可表示为60sine cose ov=R(O)1 vy对角速度为0.2和线速度为5的圆形轨迹进行跟踪,仿真结果如下图:35302501510-5图4圆形轨迹跟踪仿真图图中×点线为差动轮跟踪轨迹,O点线为全向轮跟踪轨迹。、全向轮平台的设计对全向轮采用如下图所示的结构时,进行系统分析与设计图5互补型全向轮( omni wheels31运动学模型X图6全向轮式移动机器人运动学模型移动坐标X-Y固定在机器人重心上,而质心正好位于几何中心上。机器人P点在全局坐标系的位置坐标为:(x2y,0),三个全向轮以3号轮中心转动轴反方向所为机器人的ⅹ轴。假设三个全向轮完全相同,三个全向轮中心到车体中心位置的距离L。在移动坐标X-Y的速度用 1xe 1表示。由文献[3可得三个全间轮的速度与其在移动坐标和全局坐标系下的速度分量之间的关系分别为以下二式sin(60)xeV)=(-s(60os60)()=011-21-213×3ysin(60-0)Cos(60-6)sin(60+6)cos(60+6)Lysinecose32动力学模型在移动坐标X-Y中,设机器人在沿轴X2和Y方向上收到的力分别为Fx和Fyc第1、2、3号驱动轮提供给机器人的驱动力分别为f1、卫、3,机器人惯性转矩为M,根据牛顿第二定律可得到如下的动力学方程:3√3cos(30)-cos(30)01fFre=sin(30) sin (30)1ML2LTb22/2在地理坐标系X一Y下的方程如下:mxcos(30+0)-cos(30-0) sing 1fiFr= sin(30+0)sin(30-0)-cosefzL33基于动力学模型的控制器设计如上式所示,基于机器人动力学模型的控制方案,直接根据机器人的动力学模型设讣运动控制器,控制器的输出为机器人上驱动电机的驱动电压。基于动力学模型的控制方案,不需对驱动电机进行底层的速度控制,消除了底层速度控制带来的延时。由功力学方程:nmx3×3M」可知在休坐标系中各个方向上的控制输入输出是独立的并且相互之间无耦合;于是可在体坐标中对各个控制量分别进行控制。当以各个电机电压作为控制量U时,对体坐标系中各个方向上的控制量UF经过Ta3×3变换后得到各个电机的控制量UUF先对输入UF到体坐标各个方冋上速度V的系统等效参数[m′门进行辨识,得到由控制量UF到体坐标速度Ⅴ的传递函数:然后设计UF的控制器,经过变换后得到各电机的电压U;速度控制指令 1xe vye (l由第2节控制律求得。34基于编码器的位姿推算圆弧模型在文献L4中介绍机器人里程计圆弧模型是把移动机器人在运动过程中的实际轨迹通过圆弧去逼近234图7平台样品示意图YAYR11B(x12+11Un-1XAA(r()图8采样期间的圆弧运动轨迹图中A(xmy,0n)和B(xnx+1,yn+1,On+1)分别为在采样时问间隔内起始点与终点的位姿坐标,AB为采样期间的圆弧轨迹,利用图中儿何关系可以得到运动轨迹为圆弧时的推算公式如下L(△SR+△S少sin△SR-△Sn+1xn+6n+2(△sinenR△SL(ΔSR+△S△SYn+1=ynCOS+
- 2020-06-06下载
- 积分:1