虫虫首页| 资源下载| 资源专辑| 精品软件
登录| 注册

电动汽车,<b>加速</b>转矩,补偿

  • 基于ARM的超声波电机嵌入式驱动控制系统研究

    超声波电机是一种全新原理的直接驱动电机,它利用压电陶瓷逆压电效应激发的超声振动作为驱动力,通过定转子间的摩擦力来驱动转子运动。与传统的电磁电机相比,它具有低速大转矩、无电磁干扰、动作相应快、运行无噪声、无输入自锁等卓越特性,在非连续运动领域、精密控制领域要比传统的电磁电机性能优越得多。超声波电机在工业控制系统、汽车专用电器、精密仪器仪表、办公自动化设备、智能机器人等领域有广阔的应用前景,近年来倍受科技界和工业界的重视,成为当前机电控制领域的一个研究热点。 本文主要研究了行波型超声波电机的嵌入式驱动控制系统设计。系统是基于ARM嵌入式微控芯片设计的。全文共分为6部分。第一章主要介绍了国内外超声波电机驱动控制技术在国内外的发展状况,ARM芯片的结构原理以及本课题的选题意义。第二章在前人的研究基础上做了系统仿真,为系统的硬件设计提供设计指导。第三章提出了基于ARM的超声波电机嵌入式驱动控制系统设计方案,并介绍了系统各个模块的设计与调试的过程和结果。第四章介绍了uC/OS-Ⅱ操作系统在ARM上的移植,以及基于该操作系统的电机控制系统软件设计流程。第五章介绍了系统各子程序的设计,速度控制与定位控制的算法设计,以及系统调试的结果。第六章总结了本论文的主要贡献、存在问题以及后续课题的研究方向。

    标签: ARM 超声波 电机 嵌入式

    上传时间: 2013-04-24

    上传用户:gpyz253344

  • 基于ARM的汽车防抱死制动系统设计

    汽车在紧急制动过程中易出现很多非稳定因素(诸如侧滑、跑偏、失去转向操纵能力等),进而导致了相当多的交通事故。这些非稳定因素是由于制动时车轮抱死而产生的,汽车防抱死制动系统ABS(Anti-lockBraking system)可以避免制动时的这些不利因素,缩短刹车距离,保证汽车安全制动。 现代汽车整车控制技术的迅猛发展,迫切需要研制具有自主知识产权的汽车电子产品。研制以汽车防抱死制动系统为代表的高技术含量汽车电子产品,对加速我国汽车产业的技术自主化具有举足轻重的作用。 本文根据防抱死制动系统的工作原理,采用逻辑门限控制算法,选择车轮加速度和滑移率门限来调节制动压力,使车轮的滑移率保持在最佳滑移率附近。以ARM单片机LPC2292为核心,完成了轮速信号调理电路、电磁阀和回液泵电机驱动电路及系统故障诊断等电路的设计,阐述了ABS各功能模块软件的设计思想和实现方法,完成了防抱死制动系统的硬件和软件设计。 本文所设计的汽车防抱死制动系统在昌河CH711A轿车上进行了道路实验,结果表明:汽车防抱死制动控制系统的硬件电路设计合理可行,软件所采用的控制策略正确、有效,系统运行稳定可靠,改善了汽车制动系统性能,完全能够满足汽车安全制动的需要。

    标签: ARM 汽车防抱 制动 系统设计

    上传时间: 2013-07-19

    上传用户:ylwleon

  • SPMC65P2404A在电动自行车中的应用

    摘要:本文主要介绍电动自行车主控板方案的实现。本设计以凌阳科技公司的8位单片机SPMC65P2404A为核心,采用直流无刷电机,具有堵转断流、电子刹车、自动巡航、过流保护等功能,实现了电动自行车的低成本、高性能。SPMC65P2404A良好的性能和合理的资源非常适合于电动自行车。关键词:电动自行车 直流无刷电机 凌阳单片机 SPMC65P2404A

    标签: 2404A P2404 SPMC 2404

    上传时间: 2013-11-02

    上传用户:雨出惊人love

  • at91rm9200启动过程教程

    at91rm9200启动过程教程 系统上电,检测BMS,选择系统的启动方式,如果BMS为高电平,则系统从片内ROM启动。AT91RM9200的ROM上电后被映射到了0x0和0x100000处,在这两个地址处都可以访问到ROM。由于9200的ROM中固化了一个BOOTLOAER程序。所以PC从0X0处开始执行这个BOOTLOAER(准确的说应该是一级BOOTLOADER)。这个BOOTLOER依次完成以下步骤: 1、PLL SETUP,设置PLLB产生48M时钟频率提供给USB DEVICE。同时DEBUG USART也被初始化为48M的时钟频率; 2、相应模式下的堆栈设置; 3、检测主时钟源(Main oscillator); 4、中断控制器(AIC)的设置; 5、C 变量的初始化; 6、跳到主函数。 完成以上步骤后,我们可以认为BOOT过程结束,接下来的就是LOADER的过程,或者也可以认为是装载二级BOOTLOER。AT91RM9200按照DATAFLASH、EEPROM、连接在外部总线上的8位并行FLASH的顺序依次来找合法的BOOT程序。所谓合法的指的是在这些存储设备的开始地址处连续的存放的32个字节,也就是8条指令必须是跳转指令或者装载PC的指令,其实这样规定就是把这8条指令当作是异常向量表来处理。必须注意的是第6条指令要包含将要装载的映像的大小。关于如何计算和写这条指令可以参考用户手册。一旦合法的映像找到之后,则BOOT程序会把找到的映像搬到SRAM中去,所以映像的大小是非常有限的,不能超过16K-3K的大小。当BOOT程序完成了把合法的映像搬到SRAM的任务以后,接下来就进行存储器的REMAP,经过REMAP之后,SRAM从映设前的0X200000地址处被映设到了0X0地址并且程序从0X0处开始执行。而ROM这时只能在0X100000这个地址处看到了。至此9200就算完成了一种形式的启动过程。如果BOOT程序在以上所列的几种存储设备中找到合法的映像,则自动初始化DEBUG USART口和USB DEVICE口以准备从外部载入映像。对DEBUG口的初始化包括设置参数115200 8 N 1以及运行XMODEM协议。对USB DEVICE进行初始化以及运行DFU协议。现在用户可以从外部(假定为PC平台)载入你的映像了。在PC平台下,以WIN2000为例,你可以用超级终端来完成这个功能,但是还是要注意你的映像的大小不能超过13K。一旦正确从外部装载了映像,接下来的过程就是和前面一样重映设然后执行映像了。我们上面讲了BMS为高电平,AT91RM9200选择从片内的ROM启动的一个过程。如果BMS为低电平,则AT91RM9200会从片外的FLASH启动,这时片外的FLASH的起始地址就是0X0了,接下来的过程和片内启动的过程是一样的,只不过这时就需要自己写启动代码了,至于怎么写,大致的内容和ROM的BOOT差不多,不同的硬件设计可能有不一样的地方,但基本的都是一样的。由于片外FLASH可以设计的大,所以这里编写的BOOTLOADER可以一步到位,也就是说不用像片内启动可能需要BOOT好几级了,目前AT91RM9200上使用较多的bootloer是u-boot,这是一个开放源代码的软件,用户可以自由下载并根据自己的应用配置。总的说来,笔者以为AT91RM9200的启动过程比较简单,ATMEL的服务也不错,不但提供了片内启动的功能,还提供了UBOOT可供下载。笔者写了一个BOOTLODER从片外的FLASHA启动,效果还可以。 uboot结构与使用uboot是一个庞大的公开源码的软件。他支持一些系列的arm体系,包含常见的外设的驱动,是一个功能强大的板极支持包。其代码可以 http://sourceforge.net/projects/u-boot下载 在9200上,为了启动uboot,还有两个boot软件包,分别是loader和boot。分别完成从sram和flash中的一级boot。其源码可以从atmel的官方网站下载。 我们知道,当9200系统上电后,如果bms为高电平,则系统从片内rom启动,这时rom中固化的boot程序初始化了debug口并向其发送'c',这时我们打开超级终端会看到ccccc...。这说明系统已经启动,同时xmodem协议已经启动,用户可以通过超级终端下载用户的bootloader。作为第一步,我们下载loader.bin.loader.bin将被下载到片内的sram中。这个loder完成的功能主要是初始化时钟,sdram和xmodem协议,为下载和启动uboot做准备。当下载了loader.bin后,超级终端会继续打印:ccccc....。这时我们就可以下在uboot了。uboot将被下载到sdram中的一个地址后并把pc指针调到此处开始执行uboot。接着我们就可以在终端上看到uboot的shell启动了,提示符uboot>,用户可以uboot>help 看到命令列表和大概的功能。uboot的命令包含了对内存、flash、网络、系统启动等一些命令。 如果系统上电时bms为低电平,则系统从片外的flash启动。为了从片外的flash启动uboot,我们必须把boot.bin放到0x0地址出,使得从flash启动后首先执行boot.bin,而要少些boot.bin,就要先完成上面我们讲的那些步骤,首先开始从片内rom启动uboot。然后再利用uboot的功能完成把boot.bin和uboot.gz烧写到flash中的目的,假如我们已经启动了uboot,可以这样操作: uboot>protect off all uboot>erase all uboot>loadb 20000000 uboot>cp.b 20000000 10000000 5fff uboot>loadb 21000000 uboot>cp.b 210000000 10010000 ffff 然后系统复位,就可以看到系统先启动boot,然后解压缩uboot.gz,然后启动uboot。注意,这里uboot必须压缩成.gz文件,否则会出错。 怎么编译这三个源码包呢,首先要建立一个arm的交叉编译环境,关于如何建立,此处不予说明。建立好了以后,分别解压源码包,然后修改Makefile中的编译器项目,正确填写你的编译器的所在路径。 对loader和boot,直接make。对uboot,第一步:make_at91rm9200dk,第二步:make。这样就会在当前目录下分别生成*.bin文件,对于uboot.bin,我们还要压缩成.gz文件。 也许有的人对loader和boot搞不清楚为什么要两个,有什么区别吗?首先有区别,boot主要完成从flash中启动uboot的功能,他要对uboot的压缩文件进行解压,除此之外,他和loader并无大的区别,你可以把boot理解为在loader的基础上加入了解压缩.gz的功能而已。所以这两个并无多大的本质不同,只是他们的使命不同而已。 特别说名的是这三个软件包都是开放源码的,所以用户可以根据自己的系统的情况修改和配置以及裁减,打造属于自己系统的bootloder。

    标签: 9200 at 91 rm

    上传时间: 2013-10-27

    上传用户:wsf950131

  • 电子屏字符显示器 四个显示字符数据表放在50H-6FH单元内

    电子屏字符显示器 四个显示字符数据表放在50H-6FH单元内,字符用8*8点阵,R4(30H)用于控制显示静止字的时间,R5(31H)静止字显示跳转地址步距,B内放显示首址

    标签: 50 FH 电子屏 字符显示器

    上传时间: 2013-11-26

    上传用户:2404

  • 汽车通讯控制程序

    汽车通讯控制程序,用红外线控制,发射接收程序均有,汽车状态包括左转,右转,刹车,前车左转,后车超车等

    标签: 汽车 通讯控制 程序

    上传时间: 2015-03-29

    上传用户:851197153

  • 摘 要: 本文件是C8051单片机LCD测试程序

    摘 要: 本文件是C8051单片机LCD测试程序,功能:定义 A ~ F 为功能键。按"A"显示画点图形,按"B" 显示画直线图形, 按"C"显示画矩型图形,按"D"显示画矩型图形,按"E"显示画圆形图形, "F"显示待机界面. 将跳线器J8短接J16断开,R44闲置。使用外部22.1184MHz晶振。

    标签: C8051 LCD 单片机 测试程序

    上传时间: 2013-12-02

    上传用户:xyipie

  • YUV转RGB的源程序

    YUV转RGB的源程序,使用到了硬件加速器,可利用FGPA的乘法器加速处理速度。

    标签: YUV RGB 源程序

    上传时间: 2014-11-26

    上传用户:chenjjer

  • 键盘任意输入一个稀疏矩阵A(m*n)

    键盘任意输入一个稀疏矩阵A(m*n),采用三元组存储方法求其转置矩阵B(n*m),并用快速转置算法实现该操作。

    标签: 键盘 输入 稀疏 矩阵

    上传时间: 2013-12-08

    上传用户:lingzhichao

  • 通过MP(代表其中一个P口)的高4位来控制

    通过MP(代表其中一个P口)的高4位来控制,AA`BB`-4,5,6,7脚。12细分,没行数组里面分4对,每对数第一个加到P口控制电流方向,第二个数控制通电时间。正转AA`-BB`-A`A-B`B,数组由1到12行的读取,反转B`B-A`A-BB`-AA`,数组由12到1行的读取。参数POWER表示电机启动还是不启动,DIRECT参数表示方向,SPEED表示速度等级,每项通电时间用数组中的植/SPEED。本程序没考虑要走多少步的情况,调用一次就走一步。

    标签: 控制

    上传时间: 2015-12-07

    上传用户:hopy