摘要:交流伺服技术是研发各种先进的机电一体化设备的关键技术,在此前提下,介绍了一种基于西门子S7—222PLC的永磁直流无刷电机伺服控制系统。该系统结合西门子6SC610型晶体管脉宽调制变频器与1FT5无刷伺服电机,位置环采用先进的伪微分反馈控制算法,对无刷电机进行速度和位置伺服控制,并在上位机中进行监控。试验结果表明,采用这种控制方案可以在低成本下使永磁直流无刷电机伺服系统取得良好的控制效果。关键词:伺服系统;无刷直流电机;可编程控制器;伪微分反馈控制
上传时间: 2014-01-10
上传用户:恋天使569
一、用途D485C型单片机用TTL/RS-485/RS-422转换器用于将单片机的RS-232串行口(TTL电平)转换成RS-485或者RS-422电平,可以将单片机串行口的通信距离延长至1200m以上(9600bps时),可以用于单片机之间、单片机与PC机之间构成远程多机通信网络。二、硬件安装D485C型转换器外形为DB-9/DB-9转接盒大小,其中DB-9(孔座)一端接单片机的RS-232串行口(只用到RXD、TXD、GND)以及+5V电源。DB-9针座为转换后的RS-485、RS-422信号。三、软件说明本产品均无需任何初始化设置!无须收发转换控制信号!只用到单片机RS-232串行口的RXD(收)、TXD(发)、GND(地)信号,加上独有的内部零延时自动收发转换技术,确保适合所有软件!四、性能说明D485C型转换器需外接5V电源,最高速率115.2Kbps。外接电源要求:电压5V±0.5V,电流>10mA。五、D485C的外形图、引脚分配D485C作为TTL/RS-485转换器(注意跳线短接位置)
上传时间: 2013-12-26
上传用户:独孤求源
本资料包含紫微单片机生产的六管无霍尔无刷控制板(N06D01)的详细说明。 紫微无霍尔技术优点: 普通无刷电机控制器是利用无刷电机内部的霍尔位置传感器信号来进行换相,因此当无刷电机的霍尔发生故障后,普通无刷电机就不能够驱动电机正常运行。而无霍尔无刷电机控制器可以把电机的反电动势信号转换为电机霍尔位置信号,因此不需要安装电机霍尔就可以运行。同时因为电机的反电动势信号与电机转速成正比,因此当转速为零的时候电机是没有反电动势的,所以市场上一些无霍尔控制器采用固定相位强制启动的办法来驱动电机。这样就容易导致电机倒退的现象。紫微单片机采用了创新的主动检测技术,克服了固定相位启动导致电机后退的缺点,从而使无霍尔的技术水平上了一个新的台阶。紫微的无霍尔方案同时具备低速起动平稳有力,启动扭矩大等特点,效果堪比有霍尔控制器。
上传时间: 2013-12-14
上传用户:jichenxi0730
第一部分:设计概述随着现代化进程的逐步加深,数字城市化进一步推进,一方面,超市的规模越来越大,商品的种类日益繁多;另一方面,人们的生活节奏越来越快,时间观念越来越强,对购物环境的要求也越来越高,如何从眼花缭乱的商品中快速选择所需物品,如何使购物环境更为舒适便利,让购物变成一种休闲享受,鉴于上述的需要,我们设计了这款E-购系统。人们在大商场中选购商品时,特别是游客到达一个新的旅游景点超市时,由于对商场的布局不太了解,导致很多的时间浪费在寻找自己所需要的商品上,甚至有时因为找不到商品而失去了购物的心情。有了这款E-购系统,顾客就可以轻松了解商场的布局和自己感兴趣商品的位置,购物的同时还可以享受美妙的音乐,增添了购物的乐趣,从而为商家吸引回头客奠定了基础。这款系统相较于以往传统具有类似功用的导购系统有了很大的改进,商品导购方面有同类商品和同厂商品查询功能,让顾客获得更加丰富的信息,购得最适合自己的商品;购物舒适度方面不仅增加了商场环境实时检测功能,让顾客对自己所处的环境有理性的认识,同时E-购系统的随身音乐播放功能,让顾客从此远离传统超市环境的嘈杂,取而代之的是购物过程中轻松的音乐,这一点对于压力越来越大的城市人群来说,的确是件好事;在快速付账方面增加了所购商品总价结算模块,不仅给顾客以购物参考,也为将来的轻松结账铺平了道路。本系统可以应用于大中型商场或者超级市场。考虑到需要高系统性能、低系统成本、功能强大易用的开发环境,并可以根据自己的需要来调整嵌入式系统的特性、性能以及成本,我们选用单片机PIC30F,再加上适合软件系统开发调试的集成开发环境,为开发提供了方便。第一部分:设计概述随着现代化进程的逐步加深,数字城市化进一步推进,一方面,超市的规模越来越大,商品的种类日益繁多;另一方面,人们的生活节奏越来越快,时间观念越来越强,对购物环境的要求也越来越高,如何从眼花缭乱的商品中快速选择所需物品,如何使购物环境更为舒适便利,让购物变成一种休闲享受,鉴于上述的需要,我们设计了这款E-购系统。人们在大商场中选购商品时,特别是游客到达一个新的旅游景点超市时,由于对商场的布局不太了解,导致很多的时间浪费在寻找自己所需要的商品上,甚至有时因为找不到商品而失去了购物的心情。有了这款E-购系统,顾客就可以轻松了解商场的布局和自己感兴趣商品的位置,购物的同时还可以享受美妙的音乐,增添了购物的乐趣,从而为商家吸引回头客奠定了基础。这款系统相较于以往传统具有类似功用的导购系统有了很大的改进,商品导购方面有同类商品和同厂商品查询功能,让顾客获得更加丰富的信息,购得最适合自己的商品;购物舒适度方面不仅增加了商场环境实时检测功能,让顾客对自己所处的环境有理性的认识,同时E-购系统的随身音乐播放功能,让顾客从此远离传统超市环境的嘈杂,取而代之的是购物过程中轻松的音乐,这一点对于压力越来越大的城市人群来说,的确是件好事;在快速付账方面增加了所购商品总价结算模块,不仅给顾客以购物参考,也为将来的轻松结账铺平了道路。本系统可以应用于大中型商场或者超级市场。考虑到需要高系统性能、低系统成本、功能强大易用的开发环境,并可以根据自己的需要来调整嵌入式系统的特性、性能以及成本,我们选用单片机PIC30F,再加上适合软件系统开发调试的集成开发环境,为开发提供了方便。
上传时间: 2013-11-14
上传用户:3294322651
一、DVCC-51NET实验仪系统部分原理系统部分原理图如下图所示,系统部分由CPU8XC51、上电复位电路、低位地址锁存器74LS373、地址译码器74LS138、仿真插座、全部总线(P0口作数据总线D0~D7、经74LS373锁存输出的低位地址线A0~A7、P1口、P2口作高位地址总线A8~A15、P3口)引出插孔、用户晶振插座等组成。CPU8X51位置在仿真调试用户实验程序时,用于接入小仿真器;对调试好的实验程序,可以由专用编程器写入CPU8X51芯片后直接插入该位置,即可独立运行用户实验程序。
上传时间: 2014-12-27
上传用户:alex wang
LM3S 系列微控制器Flash 存储器应用 在众多的单片机中都集成了 Flash 存储器系统,该存储器系统可用作代码和数据的存储。它在整个存储器中所处的位置在最起始的位置,一般其起始地址从零开始。
上传时间: 2013-10-09
上传用户:aix008
用EasyFPGA030开发套件,游戏电路是模拟乒乓球比赛,可供两人游戏。甲乙各持一按键作为球拍,实验板上一行16只发光二极管为乒乓球运动轨迹,用一只亮点代表乒乓球,它可以在此轨迹上左右移动。击球位置应在左右端第2只发光二极管位置,若击球键恰好当球到达击球位置时按下,则发出短短的击球声,球即向相反方向移动,若按键偏早或偏晚,则击球无效,无球声发出,球将继续向前运行至移位寄存器末端,并停止在该位置上不动也可以设计为亮点熄灭,此时判击球者失败,记分板上给胜球者加1分,再经过1s后,亮点自动按乒乓球比赛规则移到发球者的击球位置上,发球者按动击球按键,下一次比赛开始。
上传时间: 2013-11-15
上传用户:z240529971
关于PCB封装的资料收集整理. 大的来说,元件有插装和贴装.零件封装是指实际零件焊接到电路板时所指示的外观和焊点的位置。是纯粹的空间概念.因此不同的元件可共用同一零件封装,同种元件也可有不同的零件封装。像电阻,有传统的针插式,这种元件体积较大,电路板必须钻孔才能安置元件,完成钻孔后,插入元件,再过锡炉或喷锡(也可手焊),成本较高,较新的设计都是采用体积小的表面贴片式元件(SMD)这种元件不必钻孔,用钢膜将半熔状锡膏倒入电路板,再把SMD 元件放上,即可焊接在电路板上了。晶体管是我们常用的的元件之一,在DEVICE。LIB库中,简简单单的只有NPN与PNP之分,但实际上,如果它是NPN的2N3055那它有可能是铁壳子的TO—3,如果它是NPN的2N3054,则有可能是铁壳的TO-66或TO-5,而学用的CS9013,有TO-92A,TO-92B,还有TO-5,TO-46,TO-52等等,千变万化。还有一个就是电阻,在DEVICE 库中,它也是简单地把它们称为RES1 和RES2,不管它是100Ω 还是470KΩ都一样,对电路板而言,它与欧姆数根本不相关,完全是按该电阻的功率数来决定的我们选用的1/4W 和甚至1/2W 的电阻,都可以用AXIAL0.3 元件封装,而功率数大一点的话,可用AXIAL0.4,AXIAL0.5等等。现将常用的元件封装整理如下:电阻类及无极性双端元件:AXIAL0.3-AXIAL1.0无极性电容:RAD0.1-RAD0.4有极性电容:RB.2/.4-RB.5/1.0二极管:DIODE0.4及DIODE0.7石英晶体振荡器:XTAL1晶体管、FET、UJT:TO-xxx(TO-3,TO-5)可变电阻(POT1、POT2):VR1-VR5这些常用的元件封装,大家最好能把它背下来,这些元件封装,大家可以把它拆分成两部分来记如电阻AXIAL0.3 可拆成AXIAL 和0.3,AXIAL 翻译成中文就是轴状的,0.3 则是该电阻在印刷电路板上的焊盘间的距离也就是300mil(因为在电机领域里,是以英制单位为主的。同样的,对于无极性的电容,RAD0.1-RAD0.4也是一样;对有极性的电容如电解电容,其封装为RB.2/.4,RB.3/.6 等,其中“.2”为焊盘间距,“.4”为电容圆筒的外径。对于晶体管,那就直接看它的外形及功率,大功率的晶体管,就用TO—3,中功率的晶体管,如果是扁平的,就用TO-220,如果是金属壳的,就用TO-66,小功率的晶体管,就用TO-5,TO-46,TO-92A等都可以,反正它的管脚也长,弯一下也可以。对于常用的集成IC电路,有DIPxx,就是双列直插的元件封装,DIP8就是双排,每排有4个引脚,两排间距离是300mil,焊盘间的距离是100mil。SIPxx 就是单排的封装。等等。值得我们注意的是晶体管与可变电阻,它们的包装才是最令人头痛的,同样的包装,其管脚可不一定一样。例如,对于TO-92B之类的包装,通常是1 脚为E(发射极),而2 脚有可能是B 极(基极),也可能是C(集电极);同样的,3脚有可能是C,也有可能是B,具体是那个,只有拿到了元件才能确定。因此,电路软件不敢硬性定义焊盘名称(管脚名称),同样的,场效应管,MOS 管也可以用跟晶体管一样的封装,它可以通用于三个引脚的元件。Q1-B,在PCB 里,加载这种网络表的时候,就会找不到节点(对不上)。在可变电阻
上传时间: 2013-11-03
上传用户:daguogai
单片机入门基础知识大全免费下载 单片机第八课(寻址方式与指令系统) 通过前面的学习,我们已经了解了单片机内部的结构,并且也已经知道,要控制单片机,让它为我们干学,要用指令,我们已学了几条指令,但很零散,从现在开始,我们将要系统地学习8051的指令部份。 一、概述 1、指令的格式 我们已知,要让计算机做事,就得给计算机以指令,并且我们已知,计算机很“笨”,只能懂得数字,如前面我们写进机器的75H,90H,00H等等,所以指令的第一种格式就是机器码格式,也说是数字的形式。但这种形式实在是为难我们人了,太难记了,于是有另一种格式,助记符格式,如MOV P1,#0FFH,这样就好记了。 这两种格式之间的关系呢,我们不难理解,本质上它们完全等价,只是形式不一样而已。 2、汇编 我们写指令使用汇编格式,而计算机只懂机器码格式,所以要将我们写的汇编格式的指令转换为机器码格式,这种转换有两种方法:手工汇编和机器汇编。手工汇编实际上就是查表,因为这两种格式纯粹是格式不同,所以是一一对应的,查一张表格就行了。不过手工查表总是嫌麻烦,所以就有了计算机软件,用计算机软件来替代手工查表,这就是机器汇编。 二、寻址 让我们先来复习一下我们学过的一些指令:MOV P1,#0FFH,MOV R7,#0FFH这些指令都是将一些数据送到相应的位置中去,为什么要送数据呢?第一个因为送入的数可以让灯全灭掉,第二个是为了要实现延时,从这里我们可以看出来,在用单片机的编程语言编程时,经常要用到数据的传递,事实上数据传递是单片机编程时的一项重要工作,一共有28条指令(单片机共111条指令)。下面我们就从数据传递类指令开始吧。 分析一下MOV P1,#0FFH这条指令,我们不难得出结论,第一个词MOV是命令动词,也就是决定做什么事情的,MOV是MOVE少写了一个E,所以就是“传递”,这就是指令,规定做什么事情,后面还有一些参数,分析一下,数据传递必须要有一个“源”也就是你要送什么数,必须要有一个“目的”,也就是你这个数要送到什么地方去,显然在上面那条指令中,要送的数(源)就是0FFH,而要送达的地方(目的地)就是P1这个寄存器。在数据传递类指令中,均将目的地写在指令的后面,而将源写在最后。 这条指令中,送给P1是这个数本身,换言之,做完这条指令后,我们可以明确地知道,P1中的值是0FFH,但是并不是任何时候都可以直接给出数本身的。例如,在我们前面给出的延时程序例是这样写的: MAIN: SETB P1.0 ;(1) LCALL DELAY ;(2) CLR P1.0 ;(3) LCALL DELAY ;(4) AJMP MAIN ;(5) ;以下子程序 DELAY: MOV R7,#250 ;(6) D1: MOV R6,#250 ;(7) D2: DJNZ R6,D2 ;(8) DJNZ R7,D1 ;(9) RET ;(10) END ;(11) 表1 MAIN: SETB P1.0 ;(1) MOV 30H,#255 LCALL DELAY ; CLR P1.0 ;(3) MOV 30H,#200 LCALL DELAY ;(4) AJMP MAIN ;(5) ;以下子程序 DELAY: MOV R7,30H ;(6) D1: MOV R6,#250 ;(7) D2: DJNZ R6,D2 ;(8) DJNZ R7,D1 ;(9) RET ;(10) END ;(11) 表2 这样一来,我每次调用延时程序延时的时间都是相同的(大致都是0.13S),如果我提出这样的要求:灯亮后延时时间为0.13S灯灭,灯灭后延时0.1秒灯亮,如此循环,这样的程序还能满足要求吗?不能,怎么办?我们可以把延时程序改成这样(见表2):调用则见表2中的主程,也就是先把一个数送入30H,在子程序中R7中的值并不固定,而是根据30H单元中传过来的数确定。这样就可以满足要求。 从这里我们可以得出结论,在数据传递中要找到被传递的数,很多时候,这个数并不能直接给出,需要变化,这就引出了一个概念:如何寻找操作数,我们把寻找操作数所在单元的地址称之为寻址。在这里我们直接使用数所在单元的地址找到了操作数,所以称这种方法为直接寻址。除了这种方法之外,还有一种,如果我们把数放在工作寄存器中,从工作寄存器中寻找数据,则称之为寄存器寻址。例:MOV A,R0就是将R0工作寄存器中的数据送到累加器A中去。提一个问题:我们知道,工作寄存器就是内存单元的一部份,如果我们选择工作寄存器组0,则R0就是RAM的00H单元,那么这样一来,MOV A,00H,和MOV A,R0不就没什么区别了吗?为什么要加以区分呢?的确,这两条指令执行的结果是完全相同的,都是将00H单元中的内容送到A中去,但是执行的过程不同,执行第一条指令需要2个周期,而第二条则只需要1个周期,第一条指令变成最终的目标码要两个字节(E5H 00H),而第二条则只要一个字节(E8h)就可以了。 这么斤斤计较!不就差了一个周期吗,如果是12M的晶振的话,也就1个微秒时间了,一个字节又能有多少? 不对,如果这条指令只执行一次,也许无所谓,但一条指令如果执行上1000次,就是1毫秒,如果要执行1000000万次,就是1S的误差,这就很可观了,单片机做的是实时控制的事,所以必须如此“斤斤计较”。字节数同样如此。 再来提一个问题,现在我们已知,寻找操作数可以通过直接给的方式(立即寻址)和直接给出数所在单元地址的方式(直接寻址),这就够了吗? 看这个问题,要求从30H单元开始,取20个数,分别送入A累加器。 就我们目前掌握的办法而言,要从30H单元取数,就用MOV A,30H,那么下一个数呢?是31H单元的,怎么取呢?还是只能用MOV A,31H,那么20个数,不是得20条指令才能写完吗?这里只有20个数,如果要送200个或2000个数,那岂不要写上200条或2000条命令?这未免太笨了吧。为什么会出现这样的状况?是因为我们只会把地址写在指令中,所以就没办法了,如果我们不是把地址直接写在指令中,而是把地址放在另外一个寄存器单元中,根据这个寄存器单元中的数值决定该到哪个单元中取数据,比如,当前这个寄存器中的值是30H,那么就到30H单元中去取,如果是31H就到31H单元中去取,就可以解决这个问题了。怎么个解决法呢?既然是看的寄存器中的值,那么我们就可以通过一定的方法让这里面的值发生变化,比如取完一个数后,将这个寄存器单元中的值加1,还是执行同一条指令,可是取数的对象却不一样了,不是吗。通过例子来说明吧。 MOV R7,#20 MOV R0,#30H LOOP:MOV A,@R0 INC R0 DJNZ R7,LOOP 这个例子中大部份指令我们是能看懂的,第一句,是将立即数20送到R7中,执行完后R7中的值应当是20。第二句是将立即数30H送入R0工作寄存器中,所以执行完后,R0单元中的值是30H,第三句,这是看一下R0单元中是什么值,把这个值作为地址,取这个地址单元的内容送入A中,此时,执行这条指令的结果就相当于MOV A,30H。第四句,没学过,就是把R0中的值加1,因此执行完后,R0中的值就是31H,第五句,学过,将R7中的值减1,看是否等于0,不等于0,则转到标号LOOP处继续执行,因此,执行完这句后,将转去执行MOV A,@R0这句话,此时相当于执行了MOV A,31H(因为此时的R0中的值已是31H了),如此,直到R7中的值逐次相减等于0,也就是循环20次为止,就实现了我们的要求:从30H单元开始将20个数据送入A中。 这也是一种寻找数据的方法,由于数据是间接地被找到的,所以就称之为间址寻址。注意,在间址寻址中,只能用R0或R1存放等寻找的数据。 二、指令 数据传递类指令 1) 以累加器为目的操作数的指令 MOV A,Rn MOV A,direct MOV A,@Ri MOV A,#data 第一条指令中,Rn代表的是R0-R7。第二条指令中,direct就是指的直接地址,而第三条指令中,就是我们刚才讲过的。第四条指令是将立即数data送到A中。 下面我们通过一些例子加以说明: MOV A,R1 ;将工作寄存器R1中的值送入A,R1中的值保持不变。 MOV A,30H ;将内存30H单元中的值送入A,30H单元中的值保持不变。 MOV A,@R1 ;先看R1中是什么值,把这个值作为地址,并将这个地址单元中的值送入A中。如执行命令前R1中的值为20H,则是将20H单元中的值送入A中。 MOV A,#34H ;将立即数34H送入A中,执行完本条指令后,A中的值是34H。 2)以寄存器Rn为目的操作的指令 MOV Rn,A MOV Rn,direct MOV Rn,#data 这组指令功能是把源地址单元中的内容送入工作寄存器,源操作数不变。
上传时间: 2013-10-13
上传用户:3294322651
ARM处理器的工作模式 ARM处理器状态 ARM微处理器的工作状态一般有两种,并可在两种状态之间切换:第一种为ARM状态,此时处理器执行32位的字对齐的ARM指令;第二种为Thumb状态,此时处理器执行16位的、半字对齐的Thumb指令。在程序的执行过程中,微处理器可以随时在两种工作状态之间切换,并且,处理器工作状态的转变并不影响处理器的工作模式和相应寄存器中的内容。但ARM微处理器在开始执行代码时,应该处于ARM状态。 ARM处理器状态 进入Thumb状态:当操作数寄存器的状态位(位0)为1时,可以采用执行BX指令的方法,使微处理器从ARM状态切换到Thumb状态。此外,当处理器处于Thumb状态时发生异常(如IRQ、FIQ、Undef、Abort、SWI等),则异常处理返回时,自动切换到Thumb状态。 进入ARM状态:当操作数寄存器的状态位为0时,执行BX指令时可以使微处理器从Thumb状态切换到ARM状态。此外,在处理器进行异常处理时,把PC指针放入异常模式链接寄存器中,并从异常向量地址开始执行程序,也可以使处理器切换到ARM状态。ARM处理器模式 ARM微处理器支持7种运行模式,分别为:用户模式(usr):ARM处理器正常的程序执行状态。快速中断模式(fiq):用于高速数据传输或通道处理。外部中断模式(irq):用于通用的中断处理。管理模式(svc):操作系统使用的保护模式。数据访问终止模式(abt):当数据或指令预取终止时进入该模式,可用于虚拟存储及存储保护。系统模式(sys):运行具有特权的操作系统任务。定义指令中止模式(und):当未定义的指令执行时进入该模式,可用于支持硬件协处理器的软件仿真。ARM处理器模式 ARM微处理器的运行模式可以通过软件改变,也可以通过外部中断或异常处理改变。大多数的应用程序运行在用户模式下,当处理器运行在用户模式下时,某些被保护的系统资源是不能被访问的。 除用户模式以外,其余的所有6种模式称之为非用户模式,或特权模式;其中除去用户模式和系统模式以外的5种又称为异常模式,常用于处理中断或异常,以及需要访问受保护的系统资源等情况。ARM寄存器 ARM处理器共有37个寄存器。其中包括:31个通用寄存器,包括程序计数器(PC)在内。这些寄存器都是32位寄存器。以及6个32位状态寄存器。 关于寄存器这里就不详细介绍了,有兴趣的人可以上网找找,很多这方面的资料。异常处理 当正常的程序执行流程发生暂时的停止时,称之为异常,例如处理一个外部的中断请求。在处理异常之前,当前处理器的状态必须保留,这样当异常处理完成之后,当前程序可以继续执行。处理器允许多个异常同时发生,它们将会按固定的优先级进行处理。当一个异常出现以后,ARM微处理器会执行以下几步操作:进入异常处理的基本步骤:将下一条指令的地址存入相应连接寄存器LR,以便程序在处理异常返回时能从正确的位置重新开始执行。将CPSR复制到相应的SPSR中。根据异常类型,强制设置CPSR的运行模式位。强制PC从相关的异常向量地址取下一条指令执行,从而跳转到相应的异常处理程序处。如果异常发生时,处理器处于Thumb状态,则当异常向量地址加载入PC时,处理器自动切换到ARM状态。 ARM微处理器对异常的响应过程用伪码可以描述为: R14_ = Return LinkSPSR_= CPSRCPSR[4:0] = Exception Mode NumberCPSR[5] = 0 ;当运行于 ARM 工作状态时If == Reset or FIQ then;当响应 FIQ 异常时,禁止新的 FIQ 异常CPSR[6] = 1PSR[7] = 1PC = Exception Vector Address异常处理完毕之后,ARM微处理器会执行以下几步操作从异常返回:将连接寄存器LR的值减去相应的偏移量后送到PC中。将SPSR复制回CPSR中。若在进入异常处理时设置了中断禁止位,要在此清除。
上传时间: 2013-11-15
上传用户:hanbeidang