1

关于投票
高压断路器用陶瓷电容器引线焊接新方法
高压断路器用陶瓷电容器引线焊接新方法
 
摘 要:研究了SF6型高压断路器用陶瓷电容器的电极与引线之间的焊接技术,采用62Sn/36Pb/2Ag锡膏及相应的工艺措施,解决了以前用锡箔片焊接存在的工艺难控制、易堆锡、银溶问题以及用环氧树脂银导电胶粘接存在的导电胶老化问题,获得了工艺简单且使焊接强度明显提高的焊接方法。 

关键词:陶瓷电容器 引线 焊接 工艺 

    国内某高压开关厂550 kV级SF6型高压断路器是我国“七五”至“八五”计划的重要科研项目,为其配套的高压陶瓷电容器以前均采用进口件,为降低成本,推进该电容器国产化,我厂经多年的研究,成功地开发了550kV级SF6型高压断路器用高压陶瓷电容器。该电容器(外型见图1)结构是在两平行电极焊接φ18mm铜电极引线(简称引线),外涂绝缘漆,铜电极引线在电容器串联装配时起接触导通作用,引线和电容器的焊接强度直接影响电容器的使用。在最初研制时,用锡焊把引线和银电极连接,即在引线和银电极间夹一层薄锡箔,然后加热到230℃保温30min使锡熔化,以达到焊接目的。此种方法因较难控制锡用量及锡熔化扩散方向,常因锡过量,结果在银电极表面堆锡造成电容器装配困难。另外,引线和电极间锡扩散不均造成引线部分虚焊,使焊接强度降低。过量的锡在高温长时间熔解时造成银溶入锡中,即“银溶”现象,影响到电容器的电性能及焊接强度。 

    有人曾采用有机环氧树脂加入导电性银粉即导电胶,把引线和电极粘连的方法。此种方法虽暂时解决了堆锡,银溶等问题,粘接的强度也暂时满足了要求,但有机材料环氧树脂随着时间老化,使粘接的强度降低,引线在长期使用中存在潜在脱落的可能,从而使断路器在运行中可能出现故障。 

    为解决这些问题,我们寻找一种材料,能适合片状引线和电极之间的连接,强度高,工艺简单,易控制材料用量,外形美观,不影响电容器性能,通过反复试验,选用62Sn/36Pb/2Ag糊状锡膏焊接定位,并多次进行了试验及性能测试。  


图1 陶瓷电容器外形

1 工艺 

    锡膏主要用于表面贴装技术,成功地把锡膏应用在陶瓷电容器引线焊接上,我们摸索出适合电容器引线焊接可行的工艺方法,62Sn/36Pb/2Ag锡膏焊接定位时,焊接工艺曲线见图2。具体操作如下: 

    (1)将锡膏在常温下存放2h,使其软化,然后用棒搅至糊状待用; 
    (2)用刮板将锡膏均匀地刮到引线上,控制用量,不易过多; 
    (3)将引线贴紧银面,用模具固定放入烘箱; 
    (4)烘箱升温,在130℃停3~5min,再继续升温至200℃保温10min,停止加热,待自然降温。 


图2 62Sn/36Pb/2Ag锡膏焊接曲线

    锡膏是由铅、锡和银超细颗粒加入助焊有机物,由于其颗粒细,比表面增大,表面自由能降低,使熔解温度降低,熔化时间缩短。在130℃保温数分钟,以促进有机成分挥发,然后升温至200℃使Sn-Pb合金熔解,以达到焊接目的。 

2 试验结果及讨论 

    把分别作锡膏与导电胶定位的电容器进行了对比分析试验,用美国RESTRVMENTT5K型拉力机测定焊接后引线端子强度,及两种材料的使用对电容器电性能的影响。 

2.1 端子强度试验 

    电容器引线端子强度试验方法如图3。我们依照有关标准要求做引线端子强度测试,具体结果见表1。 

    从表1数据比较中可看出,锡膏定位的引线端子强度要大于导电胶定位的端子强度,因为锡膏中的Sn-Pb合金对电极的银和引线的铅润湿性强,焊接效果好,而导电胶定位是一种机械性粘连,粘接强度受到一定限制。锡不存在老化,因而也不会产生电容器在使用中存在引线脱落。 

表1 引线端子强度测试结果

点击看大图

    焊接定位后在电容器引线边缘形成一均匀锡圈,该锡圈增加了引线和银电极之间的焊接强度。以前曾对日本同类电容器进行分析时发现此种情况,但无法理解是怎样形成的,采用锡膏这种材料焊接定位,成功地解决了此问题,焊接后机械强度高,表面美观,光洁。  


图3 引线端子强度试验方法

2.2 电性能影响 

    把用锡膏焊接引线的电容器在焊接前后进行常规电性能测试及电晕试验,结果表明,锡膏焊接引线对电容器电性能如:容量、介质损耗、绝缘电阻、耐电压及局部放电无不良影响。试验结果见表2。 

2.3 其他 

    采用锡箔焊接定位时,因难以控制箔片的用量,常常在电极表面堆锡,影响电容器的外观和使用,且因焊接温度高,时间长,产生了银溶现象,有时造成了虚焊,反而使焊接强度降低,采用新材料62Sn/36Pb/2Ag锡膏定位,其焊接温度降低,时间缩短,同时在Sn-Pb合金中溶入2%的银,糊状锡膏用量易控制,使银溶现象明显减弱,锡膏焊接定位,工艺操作简单,易掌握,焊接时不需要加入助焊剂,防止了电容器表面污染,且焊后外形美观。 

    采用锡膏定位,相比锡箔,虽然材料成本有所提高,但锡膏定位工艺操作简单,外形好,成品率提高;锡膏相比导电胶定位,成本低,工艺简单,引线端子强度明显增强。 

表2 锡膏焊接引线对电容器电性能的影响

点击看大图

3 结论 

    SF6型高压断路器用陶瓷电容器采用糊状锡膏进行电极引线焊接定位,改善了锡箔片焊法工艺难控制,易在表面堆锡及造成银溶现象;比环氧树脂银导电胶引线粘连的强度要大大提高,解决了有机材料长时间使用老化使焊接强度劣化的问题,锡膏定位成本低,端子强度高,工艺操作简便,已大批量应用于生产之中,产品提供给用户,获得良好反应。62Sn/36Pb/2Ag锡膏适用于焊接电容器引线。

系统分类: 其他技术
用户分类: 无分类
标签: 无标签
来源: 无分类
发表评论 阅读全文(143) | 回复(0)

1

关于投票
电力电容器差电压及零序电压保护试验方法的探讨
电力电容器差电压及零序电压保护试验方法的探讨
 
[摘 要]文章总结分析了电容器零压和差压保护传统的投产调试方法所存在的问题,提出了从电容器放电压变一次侧加压试验的方案,以提高电容器零序电压和差电压保护的可靠性及检验二次回路接线的正确性,确保电力系统的安全稳定运行。 

[关键词] 电容;电压;保护;试验;探讨 

(一)引言 

    随着国民经济的快速发展,电力用户对电力供应的可靠性和电压质量的要求越来越高,为提高系统供电电压,降低设备、线路损耗,各种形式的无功补偿装置在电力系统中得到了广泛的应用。因此,对变电所电力电容器保护进行正确的试验,保证电容器的正常安全运行至关重要。
 
(二)电力电容器组传统差压和零压保护的试验方法存在的问题 

    由于电容器的零压或差压保护在电容器组正常运行时,其输出接近于0V,有可能存在电压回路开路保护拒动的事故,也可能存在电压回路误接线,保护误动的隐患。如果电容器三相平衡配置,能提升电压质量稳定系统正常运行,熔断一只(或几只)将造成电容器中性点电压的偏移,达到整定值,差压或零压保护就会动作跳开高压开关。因此,这两种电压保护在真正投运前,放电压变二次回路的接线正确性都需要通过送电进行验证,方法如下: 
 
    1. 新电容器及保护带负荷试验时,首先进行对电容器冲击试验,观察正常。电容器改试验,拆除一只(或几只)电容器熔丝(以下简称“拔熔丝”试验),再送电,测试零压或差压,以验证回路的正确性及定值的配置,一次系统多次操作带来安全风险,且时间长,工作效率低下。这种试验方法对于传统的熔丝安装于电容器外部的安装形式才有效,但对于集合型电容器组,因内部配置多个熔断器,停电也不能单独拆除其内部的一只熔断器的安装形式(如上海思源电气有限公司生产的并联电容器成套装置,型号为TBB35-1200/334-ACW),电容器与连接排之间安装非常紧凑,就无法作零压或差压试验,来验证保护。 

    2. 专业分工导致试验方法存在纰漏。由于高压试验工不熟悉继电保护的二次回路,试验只注重单个一次设备的电气性能,对二次回路正确性关心不够; 而继电保护工只对二次回路认真维护,对一次回路关心较少,导致压差保护和零差保护这样的重要保护投产调试操作麻烦,安全风险大。 

(三)改进措施 

    怎么验证压差或零差保护回路的正确性呢?从放电压变一次侧加试验电压,让零压和差压保护达到整定值后动作跳闸,便是一个的较好的选择。笔者认为: 

    1.理论计算上可行。35kV及10kV电压互感器的变比都不是很大,差压保护和零压保护的整定值也不是很高,这为从放电压变一次加压试验保护的动作性能提供了先决条件。例如: 35kV放电压变的变比为35000/1.732/100=202.08/1,即1000V的电压就可以在二次侧感应到约4.9V的电压; 对于10kV的放电压变在一次加1000V电压则可在二次侧可感受到约17.3V的电压。1000V的电压不算太高,这为从放电压变一次加压试验差压和零压保护提供了可能。 

点击看大图

    2.电力系统生产的安全性、可靠性、高效性的要求。通过一次加一定量的电压的方法,达到保护动作的目的,将放电压变一次和二次电压回路接线的正确性和零差、压差保护的定值试验全都包括,避免了繁琐的送电、停电、拔电容器熔丝后再送电的试验操作模式,达到安全和零停电目的。 

    3.现代继电保护整定技术成熟性允许。对于电容器这样的设备,专业的继电保护整定部门可以保证整定值的正确,也有成功的运行经验,不需要用“拔熔丝”这样的手段来验证保护定值。因此,“拔熔丝”试验的作用,也只能是粗略验证压差或零差保护回路的正确性,包括放电压变一次接线的正确性。换句话说,如果能从放电压变一次侧加压试验,证明压差或零差保护动作正确,就可以不做“拔熔丝”试验了。 

(四)试验方法
 
  1. 零压保护的试验方法: (见图一)  

点击看大图

    说明: 图中的主要设备是三相调压装置、三只试验变压器SB1~3、三只放电压变YB1~3。该试验变压器需定制,三只变压器的一致性要好,变比为1000V/57.74V,作升压变使用,目的是和继电保护三相试验设备配套,主要由继电保护人员来操作。试验方法: 试验压变和放电压变各自接成三相星形接线,从放电压变一次侧加入一定量正相序电压,在二次回路检测序开口三角电压(即零压保护两端电压)是否为0V; 改变某相电压使至达到整定值(或改变电压相序),保护动作,如此可直接检查及验证保护动作值和放电压变一、二次回路的正确性。(见图二) 请登陆:输配电设备网 浏览更多信息 

    2.差压保护的试验方法: 

    差压保护的试验接线图: (见图三) 

点击看大图
 

    说明: 图中的主要设备是三相调压装置、二只试验变压器SB1~2、三只放电压变YB1~3,图中是某相放电压变如A相放电压变试验接线图,B、C相同样分别接线试验。试验方法: 从放电压变高压侧加入一定量同相序电压,二次回路检测差电压(即差压保护动作电压)接近0V。改变某侧电压使差电压达到保护整定值,保护动作,这样便检查及验证了放电压变一、二次回路的接线正确性。 

(五)试验步骤 

    第一步: 将电容器组改检修; 
    第二步: 将放电压变与电容器组连接线拆开; 
    第三步: 按实际电容器保护原理,按图采用差压保护或零压保护的相应试验接线; 
    第四步: 加压试验,验证差压保护或零压保护的正确性。由于试验电压较高,放电压变和试验压变周围要用绝缘胶带做好隔离,防止触电,必要时请高试班的人员进行指导。 
    第五步: 恢复接线并检查接线正确牢固。 
    第六步: 带负荷试验时,只需要测量保护安装处的不平衡电压在允许范围内既可,不必要再将电容器组停电,用拔电容器的熔丝方法来验证保护接线的正确性了。 

(六)运用效果总结 

    2007年7月,在嘉兴禾城变#1、2电容器改造后投产试验时,由于安装的是上海思源电力有限公司的电容器成套装置,熔断器安装在电容器内部,无法采用“拔熔丝”试验的方法,而采用从电容器放电压变的一次侧加压试验的方法,问题迎刃而解,简单方便且确保试验安全; 由于该方法确实安全、简便和有效,对于熔丝安装在外部的电容器组的投产试验,也提供了一个更好的的选择。
 
  这种方法,由于是在主设备送电前完成的,压变二次回路存在的问题可以事先发现并及时处理,减少了送电后发现问题再二次停电的风险,是事前控制的技术手段。对于新投产的变电所,在验证计量压变、保护压变、开口三角压变一、二次接线正确性时,也可在压变投运前采用这种试验方法,结合压变投运后二次回路的带负荷试验,达到全过程控制,就可减少工作失误,极大地提高工作效率,保证设备安全运行。 

系统分类: 其他技术
用户分类: 无分类
标签: 无标签
来源: 无分类
发表评论 阅读全文(93) | 回复(0)

1

关于投票
低压断路器可视化仿真系统的研究
低压断路器可视化仿真系统的研究
 
摘 要:可视化仿真技术是综合计算机图象学、图象处理、计算机辅助设计、人机交互技术等多个领域的一个崭新的技术领域。本文研究了这种新技术在低压电器中的应用。根据低压断路器开断时电弧的物理过程,建立了以磁流体动力学MHD为基础的电弧模型及以热击穿为主的背后击穿物理模型。把这种仿真算法和三维可视化技术结合起来,对低压断路器开断过程中的电弧运动进行了可视化仿真研究。 

关键词:断路器 可视化 仿真 

1 概述 

    可视化仿真是90年代崭新的技术领域。它是涉及计算机图象学、图形处理、计算机辅助设计、计算机视觉及人机交互技术等多个领域的一个崭新的技术领域。在工程设计领域,可视化仿真或科学计算可视化被定义为对科学计算或仿真计算所获得的数据进行可视化加工或三维图形和动画显示,并可通过交互的改变参数来视察计算结果的全貌及其变化。由于科学计算可视化对各门学科和工程技术的发展有极其重要的意义及实用价值,因而这种技术在它一开始出现就得到人们的极大重视。 

    实现科学计算的可视化具有多方面的重要意义。它可以大大加快数据的处理速度,使庞大的数据得到有效的利用;能把不能或不易观察到的工程现象变为使人们能发现并理解被设计和被研究对象所产生的物理机理,从而提出改进设计的具体措施;可以实现对计算过程的引导和控制,通过图形交互手段可方便快速的改变设计和计算的原始数据和条件,并通过三维图形或动画来显示和观察改变原始数据对设计和研究对象基本特性的影响,来达到对象优化设计的目的。 来源:输配电设备网 

    低压电器的灭弧室一般由器壁 形成一个小室,电弧开断过程在灭弧室内进行,并且时间很短,很难用肉眼进行观察,特别是要定量地掌握和了解灭弧室内如电弧温度、离子浓度、气体压力,气流速度等物理参数变化,则难度更大。近年来,由于磁流体动力学(MHD)数值分析的进展,使人们依靠电弧的物理数学模型来模拟低压电器开断过程成为可能,如果把这种仿真算法和三维可视化技术结合起来,则可使灭弧室内电弧的开断过程在计算机屏幕上显示出来,让人们观察到电弧在灭弧室内运动情况,以及温度,流场等分布和变化情况,这对今后低压电器灭弧室的设计有重大意义。 

    目前图形及计算机技术得到极大的发展,使在微机上进行三维空间可视化仿真成为可能。本文以磁流体动力学为基础,综合流场、电磁场、温度场等计算,建立低压断路器开断电弧的动态数学模型。在Windows98平台上用Visual C++语言编制,利用基于Windows98的三维图形模块,形成了友好的人机界面,对开断中电弧的运动在三维空间进行显示,对温度,气流等参数以图形可视化方式表示,实现了低压断路器开断的可视化仿真软件系统。 

2 低压断路器开断电弧的数学模型 

    断路器中的开断电弧满足下列方程。质量连续性方程 

    动量守恒方程

:质量力; 
v:速度; 
P:压力; 

能量方程 

ρ:密度;h:焓;T:温度(K);t:时间(s);K:热传导系数;s:热源项 
    在每一层每个单元的电流密度是: 

    其中G是电导,电导率由这一层元i,k的温度决定。 
    电弧辐射所发射出的能量是: 

    QR=A.ε.K.(T4-T40) 

    A:表面积;ε:辐射率;K:玻尔兹曼辐射常数;T:温度;T0:周围温度; 
    磁场中的电弧等离子体受到磁场力的驱动:

    电弧等离子体在磁场中运动时,产生感应电流,受到磁场对它的作用力,与流体运动的方向相反,阻止流体的运动。 

3 电弧开断过程可视化仿真 

    可视化被定义为对科学计算或仿真计算所获得的数据进行可视化加工或三维图形和动画显示。本文研制的低压断路器开断的三维可视化仿真软件,系在Windows98平台上用Visual C++语言编制,利用基于系统的三维图形模块,在三维空间以动画方式显示的开断过程中电弧的运动情况,并绘出仿真计算的开断电压电流波形。 

    在低压断路器开断过程的仿真中,需要计算断路器模型所在的回路的电流,计算电弧的耦合场,从而掌握和了解灭弧室内如电弧温度、离子浓度、气体压力,气流速度等物理参数变化。模拟计算的电压电流波形图如图1所示,电弧电压逐渐上升,当电弧进入栅片时,电压迅速上升到一个较高的值,电流得到限制,然后出现了背后击穿,电弧电压跌落。计算结果与实验基本符合。在0.85ms时灭弧室内温度分布及流场如图2所示。 


图1 模拟计算的断路器开断电压电流波形


图2 t=0.85ms时计算得灭弧室内温度分布及流场

    本可视化系统的实现基于数据库技术。随着自动化、集成化、智能化程度的不断提高,系统中的数据管理复杂。要求数据管理系统能支持应用程度之间数据的传递与共享,工程数据类型复杂,不仅有矢量、动态数组、常常要求处理有复杂结构的工程数据对象。工程对象在不同设计阶段,可能有不同的定义模式,因此就能根据实际需要,修改和扩充定义模式。要求有适应于工程特点的数据管理。因此采用了在Visual C++的MFC中提供的强大的数据库CDao类。MFC中基于DAO的数据类比基于ODBC的数据类功能更强大。基于DAO的数据类通过Microsoft Jet database engine来取得数据。它支持数据定义语言(DDL)的操作,比如创建数据库,在数据库中加入新的表或是在表中定义新的域。 

    三维图形可分为线框,表面及实体模型造型。实体模型是一种高级技术,现在已经有多个商品化的系统。它特别适合研究复杂机构的干涉和碰撞的检查、物体质量特性的计算,以及物体的逼真显示等情况。因此目前已经成为CAD系统中主要的几何造型手段。 

    Microsoft提出了在Windows98&NT以及X-Windows平台上通用的三维图形规范。但这套三维图形规范是面向底层操作的,只提供了对点、线、面的操作,这对于电器的可视化仿真CAD系统的研制是远远不够的。本可视化仿真系统需要实体显示,在系统中经常要进行三维绘图,因此用面向对象的编程技术,制作了适用于本系统的类库。 

    CGL Wnd类从MFC的视窗CWnd类继承,主要对绘图设备进行三维绘图所需要的初始化。 

    class CGLWnd:public CWnd 
    {…… 
    public: 
    void Init();对三维显示设备进行初始化 
    protected: 
    afx-msg void OnMouseMove(UINT nFlags,CPoint point);响应鼠标事件 
    ……}; 

    CMcb类用于将断路器作为一个对象封装,其以下的成员函数负责可视化的显示。三维的计算对象法线矢量,材料的光亮度,决定光照强度,绘制有阴暗的实体表示。 

    void DrawT();断路器温度场分布的绘制;void DrawFlow();气流场的绘制; 

    void DrawI();断路器开断电流波形的绘制;void DrawU();开断电压波形的绘制; 

    void DrawArc();断路器开断中电弧的三维绘制;void Draw3D();断路器的三维绘制; 

    低压断路器开断时的三维仿真如图3所示,在0.14ms时电弧刚刚产生,当0.9ms时电弧已经充分发展,并且前进至灭弧栅片入口处;2.7ms时电弧又退出了灭弧室,背后击穿现象产生,电弧电压跌落。之后,电弧在灭弧室内较稳定的燃烧,直至熄灭。整个开断燃弧时间是4.8ms。 


图3 低压断路器开断时电弧运动的三维仿真

4 结 论 

    本文讨论了可视化仿真系统,是综合计算机图象学、图象处理、计算机辅助设计、人机交互技术等多个领域的一个崭新的技术领域。指出了可视化仿真技术应用于低压电器产品设计中的重要意义。Visual C++实现了在Windows98平台上的低压断路器可视化仿真系统,基于磁流体动力学(MHD)建立电弧的物理数学模型模拟了低压电器开断过程,将这种仿真算法和三维可视化技术结合起来,使灭弧室内电弧的开断过程在计算机屏幕上显示出来,观察到电弧在灭弧室内运动情况,以及温度,流场等分布和变化情况。在低压电器产品设计中应用这种技术,可以大幅度提高低压电器的技术水平,促进我国低压电器的发展。

系统分类: 控制系统
用户分类: 无分类
标签: 无标签
来源: 无分类
发表评论 阅读全文(90) | 回复(0)

1

关于投票
基于Modbus协议的电火花控制系统
基于Modbus协议的电火花控制系统
 
摘  要:提出了一套基于Modbus协议的总线控制系统,分析了Modbus协议的特点,介绍了Modbus协议的内容及通信过程,给出了系统的软件实现方法,包括系统流程图及部分校验代码。

关键词:Modbus,现场总线,电火花,RTU

0. 前言

  国内的大多数电火花设备由于实时性等方面的要求,控制系统均是基于dos环境设计,这种系统能满足电加工的基本要求,但也大大影响了人机交互的改进以及远程通信等现代控制的要求;模块化结构可裁减性强,便于满足不同用户的需求,是系统深入发展的良好基础;专业化的信号采集设备及检测装置成为系统稳定和可靠运行的保障;应用网络技术,可做到信息处理综合化,智能化;与此同时,VB、VC以及各种组态软件的发展为人机界面及总线控制的发展的提供了良好的开发环境,使我们能够设计出更为合理及人性化的系统。本文试图将现场总线理论应用于电火花加工机床,并最终通过使用Modbus协议实现各设备之间的互联。[4]

  现场总线是应用在生产现场,在微机化测量控制设备之间实现双向串行多节点数字通信的系统,也被称为开放式,数字化,多点通信的底层控制网络。[5][6]在整个工厂的控制网络中,现场总线处于重要的基础地位。

1. 控制系统结构

  1.1 系统基本结构

  现场总线控制系统一般采用上位计算机结合下位智能仪表来实现控制功能。在本系统中,由于系统的检测装置简单易用,因此采用微控制器来读取信号并最终传输给上位机。一般来说,总线系统主要包括变送器,总线和检测站。在本套系统中,微控制器和检测装置成为智能仪表即变送器,它作为从机使用,但确是系统的核心部件,而上位机即检测站主要完成人机交互的任务以及一些优化、复杂计算和控制的功能。个性化的人机界面以及标准化的总线结构设计,可方便的扩展系统的控制功能。

  整套系统结构图如图1所示,系统最主要包括一个服务器,一台pc机,三个微控制器及相关检测设备。

点击看大图
图1 系统结构图

  这几层的工作主要包括:

  1. 最底层为数据采集层,需要从现场采集实时的数据,比如油温,油面高度等。三个微控制器作为现场控制层的核心器件,每个被赋予唯一的本机地址用以识别身份。微控制器即变送器也是整个系统的核心设备,其作用主要是采集间隙电压,液位油温,限位报警,手控盒控制等实时数据,自动实现伺服控制,自动灭火,风扇开关,定时抬刀等功能,并同时将数据输出到modbus现场总线测控网络。

  2. 现场控制层的任务是将所有的加工状态通过双脚电缆送至控制室的监控计算机,组成现场总线网络,而在此网络中,所有传输的信息均遵循modbus协议。Modbus现场总线将现场变送器和检测站连接成一个测控网络,实现电火花加工的监测计量与管理。

  3. 工厂监控层安装人机界面软件,负责监视所有加工参数即电规准,以及所有相关数据的显示及键盘输入信息处理等人机交互过程。pc机作为监控计算机,通过以太网连接到远程管理中心,实现向上进行网络运行;监控计算机可以安装moden,通过现场进行单击操作。

  4. 最上层为远程管理层,可以由以太网,top等局域网段组成,一般设服务器,pc机与服务器之间通过以太网卡,网关相连,也可通过路由器连接至广域网。服务器是系统的外扩部分,可以选用。

  1.2 物理实现

  目前,可以通过下列三种方式实现Modbus通信:以太网上的TCP/IP;各种介质(有线:EIA/TIA-232-F、EIA-422、EIA/TIA-485-A;光纤、无线等)上的串行链路上传输;Modbus PLUS,一种高速令牌传递网络。选择何种实现方式主要是依据他所连接的设备所处的地位。一般采用标准的232口即可,但由于计算机上的rs232传送的距离不超过30m,因此可以选用485接口。除此之外,422口也为标准串行数据接口,表1列出了他们之间的主要差别。本套系统采用了隔离的RS-485通信方式来提供对Modbus的硬件支持。

点击看大图
表1 有线介质传输性能对比表

  Modbus系统是一种主从网络,容许一个计算机和一个或多个从机通信。当在Modbus网络上通信时,每个控制器都有自己的设备地址,主机识别按地址发来的消息,并决定要产生何种行动。当在其他网络上传输时,包含了Modbus协议的消息转换为在此网络上使用的帧或包结构。此时,控制器既可以作为主设备也可以作为从设备, 但不能两者同时兼备。

  根据各种设备的不同接口,总线上还可以串联打印机等设备,也可以将这些设备直接连接至监控计算机的打印机端口或USB口,实现通信。

  芯片要根据所接收的信息进行选择,如果是数字量,则最常见的单片机或pic微控制器等均可选用,如果是模拟量如间隙电压,则要选择带模拟端口的芯片。

  电缆选择可以根据所选择的传输通道及距离来确定,这里选用的是带屏蔽的双绞电缆。

2 Modbus协议

  Modbus协议是OSI模型第七层上的应用层报文传输协议,它在连接至不同类型总线或网络的设备之间提供客户机/服务器通信。互联网组中已经保留TCP/IP系统端口502用以访问Modbus,Modbus协议已经成为一种流行的工业控制传输标准。

  2.1 协议内容

  Modbus协议定义了消息与格式和内容的公共格式,主要采用命令/应答方式,每一种命令报文都对应着一种应答报文,命令报文由主站发出,当从站收到后,就发出相应的应答报文进行相应。Modbus的信息帧包括站点、字节长度、功能码、操作地址、操作数据、CRC校验值等。在Modbus系统中有两种有效的传递模式即ASCII(美国标准信息交换码)和RTU(远程终端装置)模式。内容格式及字符长度如下:[2]

  由于RTU模式传输位数少,使用方便,本文内容均采用RTU模式。

  2.2 通信过程

  Modbus主从节点之间通信过程大致为:

  (1)从节点通过特定的端口与主节点建立连接,等待接收主节点发送的请求帧信号。

  (2)主节点根据实际需要达到的目的选择合适的功能,将其对应的功能代码保存在ADU的功能代码域,把必要的参数和子功能代码保存在数据域中,并将传输标志、协议标志、数据长度等存放在标志域中,从而组成一个完整的数据帧发送到从节点。

  (3)从节点对收到的请求帧经过错误检测后,根据协议的规定将其分解成基本功能单元,并按照功能代码的要求完成特定的操作,最后还要返回一个功能回应信号。如果请求帧或某一步操作出错,就返回一个错误报告。完备的出错应答是Modbus的一个特点,这有利于通信主节点判断通信的错误原因,从而将其排除,保证通信可靠进行,提高通信成功率。[3]

3. 软件实现

  软件实现时包括:初始化关键字,包括波特率设置,数据位数,停止位数,奇偶校验模式等,总线上所有的master及slave的以上设置应完全一致。

  Modbus编程主要需处理好校验码的生成及数据包开始标志的检测。[3]

  3.1 地址定义

  通信程序必须处理好数据报开始的标志,因为每次主机发送数据时,所有的从机都会接收到信息,但只有地址相同的从机才会响应,因此地址的判别至关重要。在两个数据包之间modbus协议将提供3.5帧的空闲时间,此时,总线上所有的从机要做好接收准备,一旦主机有数据包发出,从机立刻接受此数据。这当中的第1帧即为地址帧。从机记录该地址并判断是否执行该功能。

  通常,程序中会设置一个3.5帧计时器,当线路上有数据时计时器不计数,一旦线路空闲则计时器计数开始,直至该计时器停止计数,这时线路上开始有数据包发出,这第一帧数据即为地址帧。值得注意的是,3.5帧时间并非常数,应根据传输速率及帧校验方式(奇偶校验或无校验)而定。


表2 ASCII模式传输格式


表3 RTU模式传输格式

  3.2 功能码定义

  客户所请求的服务和服务器所提供的服务均通过功能码(Function Code)标识。Modbus 功能码分三种,即公共功能码、用户自定义功能码和保留功能码,

  公共功能码是已定义的功能码,保证其唯一性,包含现存已定义的公共指配功能码和未来使用的未指配保留功能码。用户定义功能码有两个定义范围,即 65 至 72 和十进制 100 至 110。用户没有 Modbus 组织的任何批准就可以选择和实现一个功能码。保留功能码是一些公司对传统产品通常使用的功能码,并且对公共使用是无效的功能码。

  为使用方便,在本套系统中,我们仅编写Modbus协议中的三个公共功能码,包括写单个寄存器0x06,读多个寄存器0x13,读写多个寄存器0x17。以写单个寄存器为例,请求信息为

点击看大图

  响应为

点击看大图

  函数流程图如下:


图2 系统响应流程图

  除此之外,我们还可以扩展其他功能,比如利用读文件记录0x20,写文件记录0x21两个功能码来存储系统的相关信息,如故障记录,使用过的规准查询,各设备使用情况等。

  3.3 校验码的生成

  根据传输模式的不同,系统需要产生不同的校验码(check sum),ASCII模式采用LRC校验(Longitudinal Redundancy Check)而RTU采用CRC校验(Cyclical Redundancy Check),实现这两种方法的函数均可以在相关资料中找到。下面是用C语言设计的CRC校验,其中Unsigned char* data 为指向讯息缓冲区(buffer)之指针 Unsigned char length 为讯息缓冲区中位元组数目,而产生的返回值reg-crc即为回传之校验码。[2]

  unsigned int crc_chk(unsigned char *data, unsigned char length)

  {

  int j;

  unsigned int reg_crc=0xFFFF;

  while(length——)

  {

  reg_crc︿=*data++;

  for(j=0;j<8;j++)

  {

  if(reg_crc&0x01)

  {

  reg_crc=(reg_crc>>1)︿0xA001;

  }

  else

  {

  reg_crc=reg_crc>>1;

  }

  }

  }

  return reg_crc;

  }

4. 总结

  通过上述系统,希望能与先进控制设备实现对接,从而提高系统的改进速度,使机床整体性能得到提升。

  本文作者创新点:将modbus这项广泛应用的协议用于电火花加工机床,并在加工中取得了很好的加工效果,提高了整体机床的自动化程度。

系统分类: 控制系统
用户分类: 无分类
标签: 无标签
来源: 无分类
发表评论 阅读全文(89) | 回复(0)

1

关于投票
步进电机一体化控制系统的设计
步进电机一体化控制系统的设计
 
摘 要: 本文应用单片机、步进电机驱动芯片、字符型LCD和键盘阵列,构建了集步进电机控制器和驱动器为一体的步进电机控制系统。二维工作台作为被控对象通过步进电机驱动滚珠丝杆在X/Y轴方向联动。文中讨论了一种以最少参数确定一条圆弧轨迹的插补方法和步进电机变频调速的方法。步进电机控制系统的开发采用了软硬件协同仿真的方法,可以有效地减少系统开发的周期和成本。最后给出了步进电机控制系统的应用实例。

关键词: 步进电机控制系统,插补算法,变频调速,软硬件协同仿真

1 引言

  作为一种数字伺服执行元件,步进电机具有结构简单、运行可靠、控制方便、控制性能好等优点,广泛应用在数控机床、机器人、自动化仪表等领域。为了实现步进电机的简易运动控制,一般以单片机作为控制系统的微处理器,通过步进电机专用驱动芯片实现步进电机的速度和位置定位控制。

2 圆弧插补改进算法

  逐点比较插补算法因其算法简单、易实现且最大误差不超过一个脉冲当量,在步进电机的位置控制中应用的相当广泛[1]。圆弧插补中,为了确定一条圆弧的轨迹,可采用:给出圆心坐标、起点坐标和终点坐标;给出半径、起点和终点坐标;给出圆弧的三点坐标等。在算法实现时这些参数若要存放在单片机内部资源有限的数据存储器(RAM)中,如果要经过复杂的运算才能确定一段圆弧,不但给微处理器带来负担,而且要经过多步运算,往往会影响到算法的精确度。因此选取一种简单且精确度高的插补算法是非常必要的。本文提出了一种改进算法:在圆弧插补中,无论圆弧在任何位置,是顺圆或是逆圆,都以此圆弧的圆心作为原点来确定其他坐标。因此只须给出圆弧的起点坐标和圆弧角度就可以确定该圆弧。如果一个轴坐标用4个字节存储(如12.36),而角度用2个字节存储(如45°),则只需要10个字节即可确定一段二维的圆弧。较之起其他方法,最多可节省14个存储单元。现以第I象限逆圆弧为例,计算其终点坐标。如图1所示,(X0,Y0)为圆弧的起点坐标,(Xe,Ye)为圆弧的终点坐标,θ为圆弧的角度。


图1 圆弧轨迹示意图

  圆弧半径: ,

  终点坐标: 

  终点坐标相对X轴的角度:

  本系统要求输入的角度精确到1度,输入坐标的分辨率是0.01,单片机C语言的浮点运算能精确到0.000001,按照上面的公式算出的终点坐标,虽存在误差,但这个误差小于1%,能够满足所要求的精确度。

3 步进电机的变频调速

  虽然步进电机具有快速启停能力强、精度高、转速容易控制的特点,但是在实际运行过程中由于启动和停止控制不当,步进电机仍会出现启动时抖动和停止时过冲的现象,从面影响系统的控制精度。尤其是步进电机工作在频繁启动和停止时,这种现象就更为明显[2]。为此本文提出了一种基于单片机控制的步进电机加减速离散控制方法。加减速曲线如图2 所示,纵坐标是频率 f,单位为脉冲/秒或步/秒。横坐标时间 t,单位为秒。步进电机以 f0 启动后加速至 t1 时刻达到最高运行频率 f,然后匀速运行,至 t2 时刻开始减速,在 t5 时刻电机停转,总的步数为 N。其中电机从静止加速至最高运行频率和从最高运行频率至停止至是步进电机控制的关键,通常采用匀加速和匀减速方式。


图2 时间与频率的函数图 

图3 离散化的时间变频图

  采用单片机对步进电机进行加减速控制,实际上就是改变输出脉冲的时间间隔,可采用软件和硬件两种方法。软件方法依靠延时程序来改变脉冲输出的频率,其中延时的长短是动态的,该方法因为要不停地产生控制脉冲,占用了大量的CPU时间;硬件方法是依靠单片机内部的定时器来实现的,在每次进入定时中断后,改变定时常数(定时器装载值),从而升速时使脉冲频率逐渐增大,减速时使脉冲频率逐渐减小。这种方法占用CPU时间较少,是一种效率比较高的步进电机调速方法。考虑到单片机资源(字长)和编程的方便,不需要每步都计算定时器装载值。如图3所示,采用离散方法将加减速曲线离散化。离散化后速度是分台阶上升的,而且每上升一个台阶都要在该台阶保持一段时间,以克服由于步进电机转子转动惯量所引起的速度滞后。只有当实际运行速度达到预设值后才能急速加速,实际上也是局部速度误差的自动纠正。

4 系统软硬件协同设计

  对于51系列单片机的软件开发,传统的方法是在PC机上采用Keil等开发工具进行程序设计、编译、调试,待程序调试通过之后生成目标文件下载至单片机硬件电路再进行硬件调试[3]。这种方法只有硬件电路完成之后才能进行系统功能测试,若此时发现硬件电路存在设计问题且必须进行修改时就会显著影响系统开发的成本和周期。为此,本文采用了系统软硬件协同仿真的开发方法,使得硬件电路实现前的功能测试成为可能。同时硬件电路的软件化仿真为硬件电路的设计与实现提供了有力的保障。其中在Keil uVision2集成开发环境下,实现步进电机控制系统的程序设计、编译、调试,并最终生成目标文件 *.hex,而由英国Proteus Labcenter electronics公司所提供的EDA工具Proteus则利用该目标文件 *.hex 实现对步进电机控制系统硬件电路功能的测试。

点击看大图
图4 步进电机控制系统硬件电路仿真

  如图4所示,单片机AT89C55司职步进电机控制器,通过运行在Keil uVision2 环境下所开发的程序来控制两个步进电机驱动芯片L298,从而实现对AXIS_X / AXIS_Y两轴步进电机的联动控制。L298驱动芯片的步进脉冲输入信号来自AT89C55 P0端口,使能信号ENABLE A与ENABLE B并联接到AT89C55的P3.0、P3.1口,由程序控制实现步进电机的使能,从而避免电机线圈处于短路状态而烧坏驱动芯片。4 x 4键盘阵列接AT89C55的P1端口,通过程序设计定义每个按键的具体功能。LCD的数据端口DB0~DB7接AT89C55的P2端口,控制端口RS, RW, E分别接单片机的P3.5, P3.6, P3.7口。相关的参数值、X/Y轴坐标值可以通过LCD以文本方式显示。本文采用软硬件协同仿真的方法经过设计à测试à修正à再测试一次次迭代开发,在制作控制系统硬件电路之前即可实现对系统整机功能的测试。待系统程序和硬件电路设计方案最终完善之后便可以实际制作如图5所示的硬件电路。显然该种方法可以显著提高系统软硬件开发的成功率,从而有效降低系统的开发周期和开发成本。

5 应用实例

  图5即是根据图4进行硬件电路仿真的最终结果所制作的步进电机控制系统电路板。该电路驱动X/Y轴步进电机通过滚珠丝杆带动二维工作台作联动,并由一只铅笔模拟加工刀具将所要加工的二维轨迹描绘出来。


图5步进电机控制系统硬件电路 

图6 二维模拟工作平台运动轨迹

6 结束语

  本文在分析了传统的逐点比较插补原理的基础上提出了一种以最少的参数确定一条圆弧轨迹的插补方法。实现了一种有效的步进电机变频调速的方法。采用系统软硬件协同仿真的开发方法,使硬件电路实现前的功能测试成为现实,从而显著改善系统开发的成本和周期。该种方法同样也可以应用于其它类型控制系统的开发。

系统分类: 电机传动
用户分类: 无分类
标签: 无标签
来源: 无分类
发表评论 阅读全文(130) | 回复(1)

1

关于投票
基于模块化生产线的总线网络系统设计
基于模块化生产线的总线网络系统设计
 
摘  要:本文主要探讨基于模块化生产线的总线网络系统设计,即在多台PC机、一条MPS生产线以及多台PLC的系统环境下,实现对MPS的资源共享和优化管理,保证每一台PC机都有机会与各台PLC联机通讯。本系统利用RS-232C总线与单片机组成总线网络系统,在总线网络中以单片机作为控制站,通过RS-232C总线、总线适配电路,再配以相应的软件程序,实现对MPS的控制系统资源——PLC进行管理与优化配置。本设计成果的意义在于最大限度的利用MPS教学培训系统的资源,充分提高实验设备的利用率、可操作性,以便在有限的时间内取得最佳的教学效果。

关键词:模块化生产线; 资源共享; RS-232C总线

1 引言

  在工业控制领域,传统的现场控制方式已经越来越不能满足工业自动化的要求,这种控制方式不但耗时、费力而且很不完善。工业自动化控制系统发展到今天,随着通讯技术的不断提高,摆脱了以传统的现场控制方式为主体的控制方式,出现了利用上位机通过现场总线通信来控制生产线的全新模式。本设计中的控制系统是针对FESTO公司生产的模块化加工生产系统设计的现场总线网络控制系统。

  德国FESTO公司的MPS(Modular Production System)模块化生产加工教学与培训系统,是一个完整的面向自动化控制技术的培训系统,它由多个模块组成,是一个完全开放型的操作系统,操作人员可根据不同的需要进行各种模块的组合、扩展和控制。MPS系统很接近实际工业生产系统,因此基于MPS系统的培训在大学工科教学中是很有实际意义的。

  但MPS教学培训系统价格昂贵、数量有限,为了最大限度的利用MPS教学培训系统的资源,充分提高实验设备的利用率,并在有限的时间内取得最佳的教学效果,因此需要设计一套完善的资源分配与管理系统,通过资源的优化配置实现资源共享、分时选用等要求。本文对实现资源共享的总线网络系统的结构、功能以及软硬件设计内容进行了描述。

2 总体方案设计

  德国FESTO公司的MPS模块化自动加工生产线是一套模拟加工生产线教学与培训设备,可以由西门子公司的S7-300型可编程控制器——PLC作为控制系统,对整个自动加工生产线进行过程控制。

  总线网络系统设计所要解决的核心问题是:对控制MPS自动生产线的可编程控制器———PLC实现资源共享。所谓资源共享用一句简单的话来描述就是“多选一”和“一选多”。“多选一”就是指多台PC机可以分时与同一台PLC进行通讯,实现多台PC机对MPS生产线的某一个工作站进行控制;而“一选多”就是指某一台PC机能够分别与多台PLC进行通讯,实现一台PC机对MPS生产线的多个工作站进行控制。

  在进行总线网络系统设计时,首先要确定硬件设计方案,也就是把总线网络系统中的硬件环境设备——多台PC机和多台PLC,通过硬件电路设计有序的连接在一起,再配合一些必要的其他设备实现资源共享和分配管理工作。为了实现多台PC机对PLC资源共享,本设计提出了一种以一台单片机为控制站的总线网络设计方案。这一总线网络设计方案是由多台PC机,一台AT89C51单片机,通过RS232总线和总线适配电路实现对PLC的资源共享。

  要通过总线网络实现资源共享,除了完善的硬件环境外,还必须开发相应的通讯程序与之匹配。通讯程序设计分为两个部分:一是单片机的通讯程序设计,二是PC机的通讯程序设计。单片机通讯程序是利用汇编语言编写的源程序,它的主要功能是轮询各PC机,以便接收PC机发出的联机申请,并根据申请内容发送联机许可信号。PC机通讯程序是应用现成的编程软件来设计的,它的主要功能是发送联机申请并接受联机许可信号。这些通讯程序不是独立的,它需要与总线网络的硬件适配电路相配合,两者只有共同作用才能够实现资源共享和优化管理。

3 总线网络的硬件设计

  总线网络的硬件设计就是要设计能够实现资源共享和分配管理的总线适配电路。总线适配电路由两部分电路组成,一部分是单片机轮询电路,另一部分是资源共享电路。总线适配器电路所要完成的主要工作是:由作为控制站AT89C51单片机采用轮询的方法,通过RS-232C总线接收各PC机发出的联机申请信号和联机机号等信息,单片机经程序分析后向该PC机发出允许联机信号,并发出指令接通PC机所要连接的PLC的控制信号线,接下来就可以把在PC机已编好的程序通过总线RS-232C下传到PLC,实现PLC的资源共享。

  3.1 单片机轮询电路设计

  单片机要轮询各PC机发出的联机申请,就是要实现PC机与单片机之间的通讯,在实现PC机与单片机之间的通讯时,通常采用标准串行总线通信接口RS-232C。RS-232C是在异步串行通讯中应用最广的标准总线。PC机与单片机最简单的连接是零调制三线经济型,这是进行全双工通信所必须的最少线路。PC机与单片机、PLC通过9芯标准插座连接。本设计的单片机轮询电路由CD4052芯片和MAX232芯片组成。CD4052芯片是双路、四通道模拟多路转换器,一片CD4052芯片可实现对四台PC机进行轮询。MAX232是实现把RS-232C电平转换为TTL电平的电平转换专用集成芯片。单片机轮询电路原理如图1所示。

点击看大图
图1 单片机轮询电路原理图

  3.2 资源共享电路设计

  资源共享电路设计是要实现“多选一”和“一选多”的功能。即多台PC机可以分时与同一台PLC进行通讯,而某一台PC机能够分别与多台PLC进行通讯。本设计采用以RS-232C总线和多位数据选择器为核心的集成电路方案。该集成电路通过设计成行列结构形式的开关网络电路来实现资源共享。PC机与PLC的通讯也采用标准串行总线通信接口RS-232C,用最简单的三线连接方式,因此本设计选用CD4053芯片作为数据选择开关。CD4053芯片是三路、双通道模拟多路转换器。以四台PC机共享五台PLC为例,开关网络电路需要四乘五总共二十个数据选择开关,即要用二十个CD4053芯片排列成四行五列(或五行四列)的行列结构形式,构成资源共享电路,电路原理如图2所示。


图2 资源共享电路原理图

    控制信号线
    RS-232C总线

  当单片机轮询到某一台PC机要与某一台PLC联机通讯时,由单片机给与之相连的相应的CD4053芯片控制信号线发出控制信号,使该芯片的开关通道接通,实现某一台PC机与某一台PLC联机通讯。

4 总线网络的通讯软件设计

  4.1 PC机通讯程序的设计

  PC机通讯程序是要实现PC机发送联机申请信号,并可接收单片机发回的联机许可信号等。为此要设计一个如图3所示的控制面板。


图3 控制面板示意图

  在总线网络系统通讯中,是采用询问与应答的方式进行通信联络。为保证通信的可靠性及信息传递的准确性,故为通信中主要的命令字制定了一个简单的通讯协议。PC机通信软件和单片机软件命令字约定如下:

  该命令字有八位数据组成,其中最高两位为命令字,最低三位为PLC机号,中间三位为PC机机号。

  00XX XXXX 为PC机退出联机命令字;

  01XX XXXX 为PC机申请联机命令字;

  10XX XXXX 为单片机允许联机命令字;

  11XX XXXX 为资源占用命令字。

  PC机通讯程序完成的功能是当PC机要与某台PLC的进行联机调试时,先在控制面板的对话框中输入由两位申请联机命令字、三位PC机机号和三位PLC机号组成的字符串,点击确定按键,此时PC机通讯程序将这八位字符串通过RS-232C总线发送给单片机的串行口;当该台PLC没有被占用时,接收单片机发回的联机允许信号,并点亮控制面板上的绿色指示灯;一旦该台PLC已被占用,则接收单片机发回资源占用信号,并点亮控制面板上的黄色指示灯;当PC机与某台PLC的联机调试完成,则在控制面板的对话框中输入由两位退出联机命令字、三位PC机机号和三位PLC机号组成的字符串,点击确定按键,此时PC机通讯程序将这八位字符串通过RS-232C总线发送给单片机的串行口,并关断控制面板上的指示灯。点击退出按键,则退出通讯程序。

  PC机通讯程序是应用VB编程软件来设计的。控件MSComm可设置串行通讯的数据发送和接收,对串口状态及串口通讯的信息格式和协议进行设置。它是一个标准的十位串口通讯,包括八位标准数据位、一个起始位和一个停止位。

  4.2 单片机通讯程序的设计

  在单片机与PC机进行数据通信的过程中,每次通信是由相应的PC机发送命令数据帧,单片机通讯程序完成的功能是通过串行口轮询接收PC机发出的命令字符,并对此字符进行分析判断,以确定哪台PC机与哪台PLC联机,当该台PLC没有被占用时,再由软件发出联机控制信号给两者对应的开关芯片,使该芯片导通,则使该台PC机与所选定PLC的进行联机调试,并给PC机发回允许联机信号。一旦该台PLC已被占用,则给PC机发回资源占用信号,暂缓联机。当PC机结束与PLC的通讯后,向单片机发送退出信号,单片机接到该信号后断开开关芯片,继续轮询。

  AT89C51单片机内部有一个可编程的全双工串行通信接口,可以同时进行数据的发送和接收。串行通信是采用工作方式1,波特率9600b/s,单片机接收数据和发送数据采用查询方式。定时器T1选用工作方式2,初值为FDH,晶振频率11.0592HZ。

5 结束语

  本文从最大限度地发挥MPS生产线的价值的角度出发,本着优化资源管理与配置的思想,围绕MPS生产线开展的大量、基础性的且有使用价值的设计工作。本设计不仅可以充分利用MPS教学培训资源,使MPS生产线的工作效率得到提高,还可以实现辅助教学,实现了实验室管理的智能化、网络化,并可以激发学生学习兴趣,对于学生认识了解现代工业自动化技术领域的知识,增强他们的实践能力都是非常有益的。

  本文作者创新点:采用CD4053芯片作为数据选择开关,设计了行列结构形式的开关网络电路来实现资源共享。

系统分类: 现场总线
用户分类: 无分类
标签: 无标签
来源: 无分类
发表评论 阅读全文(107) | 回复(0)

1

关于投票
基于82527的CAN总线智能流量传感器节点设计
基于82527的CAN总线智能流量传感器节点设计
 
引 言

    CAN(Controller Area Network,控制局域网)属于工业现场总线,是德国Bosch公司20世纪80年代初作为解决现代汽车中众多的控制与测试仪器间的数据交换而开发的一种通信协议。1993年11月,ISO正式颁布了高速通信控制局域网(CAN)的国际标准(ISO11898)。CAN总线系统中现场数据的采集由传感器完成,目前,带有CAN总线接口的传感器种类还不多,价格也较贵。本文给出一种由8051单片机和82527独立CAN总线控制器为核心构成的智能节点电路,在普通传感器基础上形成可接收8路模拟量输入和智能传感器节点。

1 独立CAN总线控制器82527介绍

    82527是Intel公司生产的独立CAN总线控制器,可通过并行总线与Intel和Motrorola的控制器接口;支持CAN规程2.0B标准,具有接收和发送功能并可完成报文滤波。82527采用CHMOS 5V工艺制造,44脚PLCC封装,使用温度为-44~+125℃,其引脚的排列和定义参见参考文献[1]。

(1)82527的时钟信号

    82527的运行由2种时钟控制:系统时钟SCLK和寄存器时钟MCLK。SCLK由外部晶振获得,MCLK对SCLK分频获得。CAN总线的位定时依据SCLK的频率,而MCLK为寄存器操作提供时钟。SCLK频率可以等于外部晶振XTAL,也可以是其频率的1/2;MCLK的频率可以等于SCLK或是其频率的1/2。系统复位后的默认设置是SCLK=XTAL/2,MCLK=SCLK/2。

(2)82527的工作模式

    82527有5种工作模式:Intel方式8位分时复用模式;Intel方式16位分时复用模式;串行接口模式;非Intel方式8位分时复用模式;8位非分时复用模式。本文应用Intel方式8位分时复用模式,此时82527的30和44脚接地。

(3)82527的寄存器结构[2]

    82527的寄存器地址为00~FFH.下面根据需要对寄存器给予介绍。

①控制寄存器(00H):

点击看大图

CCE——改变配置允许位,高电平有效。该位有效时允许CPU对配置寄存器1FH、2FH、3FH、4FH、9FH、AFH写操作。

EIE——错误中断允许位,高电平有效。该位一般置1,当总线上产生异常数量的错误时中断CPU。

SIE——状态改变中断允许位,高电平有效。该位一般置0。

IE——中断允许位,高电平有效。

INIT——软件初始化允许位,高电平有效。该位有效时,CAN停止收发报文,TX0和TX1为隐性电平1。在硬件复位和总线关闭时该位被置位。

②CPU接口寄存器(02H):

点击看大图

RSTST——硬件复位状态位。该位由82527写入,为1时硬件复位激活,不允许对82527访问;为0时允许对82527访问。

DSC——SCLK分频位。该位为1,SCLK=XTAL/2;为0,SCLK=XTAL。

DMC——MCLK分频位。该位为1,MCLK=SCLK/2;为0,MCLK=SCLK。

PWD——掉电模式使能位,高电平有效。

SLEEP——睡眠模式使能位,高电平有效。

MUX——低速物理层复用标志位。该位为1,ISO低速物理层激活,PIN24=VCC/2,PIN11=INT#(#表示取反);该位为0,PIN24=INT#,PIN11=P2.6。

CEN——时钟输出允许位,高电平有效。

③标准全局屏蔽寄存器(06~07H)。该寄存器用于具有标准标识符的报文,或XTD置0的报文寄存器。该方式称为报文接收滤波。当某位为1时,报文标识符的相应位必须匹配;为0时,不必匹配。

④扩展全局屏蔽寄存器(08~0BH)。该寄存器用于扩展报文格式,或XTD置1的报文寄存器,其作用与③相同。

点击看大图

⑤总线配置寄存器(2FH):

COBY——旁路输入比较器标志位,高电平有效。

POL——极性标志位。为1,如果旁路输入比较器,RX0的输入逻辑1为显性,逻辑0为隐性;为0,则反之。

DCT1——TX1输出切断控制位。为1,TX1输出不被驱动,该模式用于1根总线的情况,2根差分导线短路;为0,TX1输出被驱动。

DCR1——RX1输入切断控制位。为1,RX1与输入比较器的反相端断开,接至VCC/2;为0,RX1接至输入比较器反相端。

DCR0——RX0输入切断控制位。作用与DCR1相同,此时RX0接至比较器同相端。

点击看大图

⑥位定时寄存器0(3FH);

SJW——同步跳转宽度位场,编程值1~3。

BRP——波特率分频位场,编程值0~63。

点击看大图

⑦位定时寄存器1(4FH):

SPL——采样模式标志位。1表示每位采样3次;0表示每位采样1次。

TSEG1——时间段1位场,编程值2~15。

TSEG1——时间段2位场,编程值1~7。

波特率=XTAL/[(DSC+1)*(BRP+1)*(3+TSEG1+TSEG2)>

⑧报文寄存器(把每个寄存器的第1字节地址作为基址BASE)。

点击看大图

◇控制寄存器0,1(BASE+0,BASET+1)

MSGVAL——报文寄存器有效标志位,高电平有效。10置位,01复位。

TXIE——发送中断允许标志位,高电平有效。10置位,01复位。

RXIE——接收中断允许标志位,高电平有效,10置位,01复位。

INTPND——中断申请标志位,高电平有效。10置位,01复位。

RMTPND——远程帧申请标志位,高电平有效。10置位,01复位。

TXRQST——请求发送标志位,高电平有效。10置位,01复位。

MSGLST——报文丢失标志位,只用于接收报文寄存器。10表示未读报文被新报文覆盖,01表示未覆盖。

CPUUPD——CPU更新标志位,只用于发送报文寄存器。10报文不被发送,01报文可发送。

NEWDAT——新数据标志位。10表示向寄存器写入了新数据,01表示无新数据写入。

◇仲裁寄存器0,1,2,3(BASE+2-BASE+5)

存储报文标识符。

点击看大图

◇报文配置寄存器(BASE+6)

DLC——数据长度编码,编程值0~8。

DIR——方向标志位。1发送,0接收。

XTD——标准/扩展标识符标志位。1扩展标识符,0标准标识符。

◇数据寄存器(BASE+7-BASE+14)

82527存储报文时,8个数据字节均被写入,未用到的字节数据是随机的。

2 硬件电路设计

    智能节点的电路如图1所示(图中6264略去)。

    在硬件设计中,由ADC0809完成对8路模拟置的转换,与8051的信息交换采用查询方式,地址BFF8~BFFFH,其时钟可由ALE二分频获得;82527完成与CAN总线的信息交换。本设计中,旁路了输入比较器,与8051的信息交换采用中断方式,地址7F00~7FFFH,可以用82527的P1口和P2口对开关量采集或对继电器进行控制。82C250提供82527和物理总线间的接口,提高接收和发送能力。可根据需要扩展程序存储器。

3 软件设计

    本设计软件采用MCS-51汇编语言编写,程序框图如图2所示。

82527的初始化程序如下:

INT:MOV DPTR,#0FF02H

MOV A,#00H

MOVX @DPTR,A ;SCLK=XTAL

;MCLK=SCLK,CLKOUT无效

MOV DPTR,#0FF00H

MOV A,#41H

MOVX @DPTR,A ;置位CCE,INIT

MOV DPTR,#0FF2FH

MOV A,#48H

MOVX @DPTR,A ;旁路输入比较器设置1位隐性,0为显性,RX1无效

MOV DPTR,#0FF3FH;

MOV A,#43H;

MOVX @DPTR,A ;SJW=2,BRP=3

MOV DPTR,#0FF4FH

MOV A,#0EAH

MOVX @DPTR,A ;SPL=1,TSEG1=7,TSEG2=6此时波特率为100Kbps

MOV DPTR,#0FF00H;

MOV A,#01H

MOVX @DPTR,A ;禁止对配置寄存器的访问

MOV DPTR,#0FF10H;

MOV A,#55H;

MOVX @DPTR,A;

INC DPTR;

MOVX @DPTR,A;

·

·

·

MOV DPTR,#0FFF0H;

MOV A,#55H;

MOVX @DPTR,A

INC DPTR;

MOVX @DPTR,A ;报文寄存器控制位初始化

MOV R0,#06H;

MOV DPTR,#0FF06H;

MOV A,#0FFH;

L1:MOVX @DPTR,A ;报文标识符需全部匹配

INC DPTR

DJNZ R0,L1;

MOV DPTR,#0FF16H;

MOV A,#8CH ;报文寄存器1可发送8个字节扩展报文

MOVX @DPTR,A;

MOV DPTR,#0FF26H;

MOV A,#84H;

MOVX @DPTR,A ;报文寄存器2可接收8个字节扩展报文

MOV DPTR,#0FF00H;

MOV A,#00H;

MOVX @DPTR,A ;初始化结束

RET 

系统分类: 现场总线
用户分类: 无分类
标签: 无标签
来源: 无分类
发表评论 阅读全文(156) | 回复(0)

1

关于投票
基于MSP430单片机的微功耗中文人机界面设计
基于MSP430单片机的微功耗中文人机界面设计
 
    在现代便携式智能仪器或手持设备中,中文人机界面成为一种事实上的行业标准。能显示汉字的图形点阵液晶和可输入数字的小键盘已成为智能设备必不可少的组成部分。同时作为便携式设备基本要求的低功耗特性也贯穿于中文人机界面的设计始终。 

    这种低功耗中文人机交互界面需要设计者在选取MCU和具体元器件上有特殊考虑。微功耗、小体积应作为选择相关器件的首要要求。 

    设计中,笔者采用MSP430F149单片机作为系统的MCU,通过选择合适的液晶显示模块在3V电平构建了一个低功耗的中文人机界面。此中文人机界面构成了微功耗数据采集系统的重要组成部分。 

一、MSP430系列FLASH型单片机的微功耗特点 

    德州仪器公司(TI)推出的MSP430F14x系列是超低功耗Flash型16位RISC指令集单片机。它采用"冯-纽曼"结构,RAM、ROM和全部外围模块都位于同一个地址空间内。其具有丰富的片内外围,性价比极高。 

    MSP430F14x系列是TI的MSP430F1x系列(FLASH存储器型)单片机中功能最强大的子系列。F14x具有更大的程序和数据存储区、更多的外围模块,其片内甚至还包括一个硬件乘法器。同时F14x系列单片机开发工具简便,固化于FLASH存储器内的程序易于在线升级和调试,非常适合于开发消费类便携式电子产品。 

    MSP430F14x单片机集中体现了现代单片机先进的低功耗设计理念。其设计结构完全以系统低功耗运行为核心。 

    这种低功耗结构具体体现在以下四点: 

    (1)高集成度的完全单片化设计。 
    
    将很多外围模块集成到了MCU芯片中,增大硬件冗余。内部以低功耗、低电压的原则设计,这样系统不仅功能强、性能可靠、成本降低,而且便于进一步微型化和便携化。 
    
    (2)内部电路可选择性工作。 
    
    F14x单片机可以通过特殊功能寄存器选择使用不同的功能电路,即依靠软件选择其中不同的外围功能模块,对于不使用的模块使其停止工作,以减少无效功耗。 

    (3)具有高速和低速两套时钟。

    系统运行频率越高,电源功耗就会相应增大。为更好地降低功耗,F14x单片机可采用三套独立的时钟源:高速的主时钟、低频时钟(如32.768kHz)以及DCO片内时钟。可在满足功能需要的情况下按一定比例降低MCU主时钟频率,以降低电源功耗。在不需要高速运行的情况下,可选用副时钟低速运行,进一步降低功耗。通过软件对特殊功能寄存器赋值可改变CPU的时钟频率,或进行主时钟和副时钟切换。 

    (4)具有多种节能工作模式。 

    F14x单片机具有五种节能模式:LPM0、LPM1、LPM2、LPM3、LPM4。这五种模式为其功耗管理提供了极好的性能保证。图1显示了活动状态(AM)与各种节能模式下消耗的实际工作电流大小。
 


图1 F14x的工作模式与工作电流关系

    由于MSP430F14x系列是专为超低功耗的便携式应用开发的。利用先进的集成电路技术和生产工艺,其功耗已经跨越了毫安级,真正进军到了微安级。 

    不仅如此,F14x的软件结构也针对低功耗而设计。如从备用模式唤醒MCU仅需6μS。其中断和子程序调用无层次限制,这种丰富的中断能力减少了系统查询的需要,可以方便地设计出中断程序结构的控制程序。 

    利用F14x系列单片机,可以方便地构建一个低电压的工作平台。通过各功能模块的智能运行管理和MCU的节能模式相结合,可以解决运行速度、数据流量与低功耗设计的矛盾,将各功能模块的电流消耗降至最低状态,限制活动状态至最低要求。经过这样优化,可以实现单片机的极低功耗。如在1MHz工作频率下,F14x只消耗0.1~400μA电流(1.8~3.6V供电),如1.8V供电时,执行时仅消耗160uA的电流,备用时0.1uA,这时RAM中的数据还能有效保持。 

    概括来说,MSP430F14x单片机具有极低的功耗、强大的处理能力、丰富的片上外围模块,方便高效的开发方式。 

    本系统采用的MSP430F149单片机,是F14x系列中功能最强大的一款。它具有一个硬件乘法器、6个I/O端口(每个有8个I/O口)、1个精确的模拟比较器、2个具有捕捉/比较寄存器的定时器、8路12位A/D转换器、片内看门狗定时器、2个串行通信接口和60KB的FlashROM,2KB RAM。 

    F149还具有强大的扩展功能,其具有48个I/O引脚,每个I/O口分别对应输入、输出、功能选择、中断等多个寄存器,使得功能口和通用I/O口可以复用,大大增强了端口功能和灵活性,提高了对外围设备的开发能力。 

    MSP430F149的以上特点,使其非常适合于构成一个全功能的便携式单片机应用系统。 

二、液晶显示模块与接口电路 

    图形点阵式液晶可显示用户自定义的任意符号和图形,并可卷动显示,它作为便携式单片机系统人机交互界面的重要组成部分被广泛应用于实时检测和显示的仪器仪表中。支持汉字显示的图形点阵液晶在现代单片机应用系统中是一种十分常用的显示设备,汉字BP机、手机上的显示屏就是图形点阵液晶。它与行列式小键盘组成了现代单片机应用系统中最常用的人机交互界面。 


    采用图形点阵式液晶显示较之其它显示方式主要有以下优点: 
    (1)工作电压低、功耗极低。工作电压3~5V,工作电流≤10uA/cm2,特别适用于便携式的仪器仪表中。 
    (2)液晶显示属被动显示,受外界光线干扰小。 
    (3)图形点阵式液晶可显示的信息量大,分辨率高。 
    (4)不产生电磁干扰。 
    (5)可靠性高。使用寿命长。 

    在设计中,笔者采用了信利(TRULY)公司的MG-12232液晶显示模块。MG-12232模块供电电压的典型值为3V,工作电流的典型值为0.3mA,很适合本系统3V电平的低功耗环境。其可显示范围为122×32点阵,即能实现所谓的"双排汉显"。MG-12232采用的控制器是两片SED1520,一片SED1520控制器可以驱动16行×80列。SED1520控制器可以在3V逻辑下正常工作,因而避免了与MSP430单片机逻辑电平不匹配的问题。其具体结构框图见图2。 

点击看大图

图2 SED1520的引脚定义和结构框图

    SED1520控制器作为液晶显示屏与MCU的接口,它直接驱动MG-12232液晶,控制字符、汉字以及图形的显示。由于MSP430F149具有48个I/O引脚,借助SED1520,可以直接利用MSP430的I/O口模拟液晶的读写和控制时序。使得MCU对液晶的操作实际上变为MCU对液晶显示控制器SED1520的操作,因而接口电路的的硬件连接和软件编程都简单了很多。 

    图2中"V5"引脚提供MG-12232液晶的对比度电压,可以通过一个-12V电压发生电路(如MAX765)产生,经一个100K电位器分压后即可使用。 

    MCU可以通过SED1520的一些控制引脚和13条常用指令来访问液晶显示模块。如"RST"用于重启动SED1520,"E1"和"E2"分别用于使能两片SED1520。"R/W"控制对SED1520的读或写。"A0"决定此次操作是指令读写还是数据读写。 

    一个SED1520显示控制器能控制80×16点阵液晶的显示,其显示RAM共16行,分2页,每页8行,每一页的数据寄存器分别对应液晶屏幕上的8行点。当设置了页地址和列地址后就确定了显示RAM中的唯一单元。屏幕上的每一列对应一个显示RAM的字节内容,且每列最下面一位为MSB,最上面一位为LSB,即该RAM单元字节数据由低位到高位的各个数据位对应于显示屏上某一列的由高到低的8个数据位。对显示RAM的一个字节单元赋值就是对当前列的8行(一页)像素点是否显示进行控制。 

    如图3,MSP430F149单片机的P5口用作与液晶显示模块通信的数据口。 


图3 MSP430F149与MG-12232的电路连接示意图

    MG-12232显示模块有多个型号,不同型号都采用相同的SED1520控制器,操作及使用方法完全相同,只是尺寸不同。常用的如MG-12232-5(76×29.1×5.7mm)、MG-12232-6(45.05×22.32×6.3mm)、MG-12232-7(84×44×10mm)等,可以分别用在大小不同的便携式仪器或设备上。 

    对液晶显示模块还需着重考虑其背光类型,不同的背光类型消耗电流大不相同。一般可选的背光类型有LED(发光二极管)、EL(电致发光灯)以及CCFL型(冷阴极灯管)。EL是一种面发光的冷光源,在结构上可以做得很大很薄,虽然亮度较低,但发光非常均匀而且无光斑,尤其是功耗很低。缺点是需要一个高压交流电压来驱动,故需要一个专门的电压变换电路(如IMP803)。CCFL照明面积更大,适用于需要大面积液晶显示界面的仪器或设备中。 

三、键盘接口 

    MSP430F149的P1、P2口除了支持输入、输出以外,还支持硬件中断。P1、P2口的8个引脚都有各自的控制寄存器,每个引脚可以单独控制,并且每个引脚都可以作为中断源,每一引脚都可以单独选择中断触发沿,单独允许中断。P1、P2口各使用一个中断向量,P1.0~P1.7产生同一个中断,P2.0~P2.7也产生同一个中断。P1、P2口的这种结构非常适合实现基于中断的键盘输入响应程序。 

    本系统中使用2×2的行列式键盘。键盘程序采用行扫描法。即P1.0、P1.1接两根列线,列线定义为输出口,P1.2、P1.3接两根行线,行线定义为输入口。两根行线需接10K上拉电阻。 

    基于对系统低功耗要求的考虑,键盘输入响应程序应设计为中断方式运行的。即有键按下时,产生中断把MCU从休眠状态唤醒,并启动定时12ms的定时器,随后MCU又进入休眠状态。当定时器产生中断时再次将MCU从休眠状态唤醒,此时扫描键盘,若有键按下,则计算出键值,并执行该键值对应的功能程序。执行完该程序后,MCU再次进入休眠状态。 

四、汉字显示的原理与部分程序实例 

1、图形点阵液晶的汉字字模 

    与在DOS中显示汉字不同的是,图形点阵液晶并不是简单地用画点的方式来描出汉字。直接从中文系统汉字字库中提取的汉字字模并不能直接在液晶上显示,通常都必须经过格式上的调整和转换。标准16点阵汉字(如希望汉字的HZK16)字模数据的排列形式如图4。 

    由于一个SED1520显示控制器能控制80×16点阵液晶的显示,其显示RAM共16行,分2页,每页8行。连续16列相邻2页的32字节显示RAM就可以控制一个汉字的显示区域(如图5)。对这些显示RAM赋以相应值就可以显示出一个汉字。 


点击看大图

图4 标准汉字字模排列形式    图5 SED1520汉字字模排列形式

    由图4和图5所示可见,SED1520图形点阵液晶显示控制器汉字字模的排列顺序和方式与标准汉字字模完全不同。液晶字模数据可以通过对标准字模数据进行位运算后得到。 

    实际编程中,具体汉字的液晶字模数据应存放在MSP430F149单片机的FLASH存储器中。 

    2、液晶显示器初始化流程 
    
    在液晶显示信息之前,必须先对液晶进行初始化。 
    
    初始化的流程如下: 

    需注意,MG-12232模块内虽然一片SED1520控制器实际控制区域为61列,但清除显示RAM时,仍应按80个RAM单元清除。 

    3、部分程序实例 

    程序是在MSP430单片机的开发平台IAR Embedded Workbench下采用汇编语言编写,仿真机采用了TI公司的MSP-FET430P410。 

    由于本系统中选用了MSP430F149单片机,对源程序编译前需对IAR Embeded WorkBench平台进行以下设置: 

    A. 点击Project菜单下的Options…命令进入设置窗口,对左边Category框内的"XLINK"选项下的"Include"页面进行设置,把"XCL file name"框的内容设置为"C:\Program Files\IAR Systems\ew23\430\icc430\MSP430F149A.xcl"。 

    B. 点击Project菜单下的Options…命令进入设置窗口,对左边Category框内的"C-SPY"选项下的"Setup"页面进行设置,把"Chip Description"框的内容设置为"C:\Program Files\IAR Systems\ew23\430\cw430\MSP430F149.ddf"。 

    以下给出了一些常量定义和发送命令字子程序(SEND_COM)、发送数据子程序(SEND_DATA)及液晶状态查询子程序(LCD_STE)的源代码。 

#include

"MSP430x14x.h" 
;程序在液晶上显示"汉字液晶"。 
;————————-定义LCD的引脚 
LCD_RST
EQU
04H

;P4.2 
LCD_E1

EQU
40H

;P4.6 
LCD_E2

EQU
20H

;P4.5 
LCD_RW

EQU
10H

;P4.4 
LCD_A0

EQU
08H

;P4.3 
;——————————定义LCD使用的数据寄存器 
LCD_PAGE
EQU
0200h

;定义显示页面 
LCD_ORDER
EQU
0201h

;暂存液晶控制指令 
LCD_DATA
EQU
0202h

;暂存液晶数据 
LCD_CNT
EQU
0203h

;液晶计数存储器 
LCD_ROW
EQU
0204h

;存放列地址数据 
LCD_LINE
EQU
0205h

;存放行地址数据 
LCD_CHAR
EQU
0206h

;存放当前字符数据的首地址 
LCD_BYTECNT EQU
0207h

;存放要显示的字节数 
LCD_STATUS
EQU
0208h

;存放液晶当前状态的数据 
SEND_COM
;发送命令字子程序,以LCD_ORDER为入口参数 

BIS.B
#LCD_E1,&P4OUT

;SET E1=1 ,使能CHIP1 

CALL
#LCD_STE 

BIC.B
#LCD_A0,&P4OUT

;A0=0,SEND OUT INSTRUCTION 

BIC.B
#LCD_RW,&P4OUT

;R/W=0,WRITABLE 

BIS.B
#0FFH,&P5DIR

;SET P5 PINS OUTPUT 

MOV.B
LCD_ORDER,&P5OUT

;SEND ORDER BYTE TO LCD 

BIC.B
#LCD_E1,&P4OUT

;SET E1=0 

RET 
;发送数据子程序,以LCD_DATA为入口参数 
SEND_DATA
BIS.B
#LCD_E1,&P4OUT

;SET E1=1 

CALL
#LCD_STE 

BIS.B
#LCD_A0,&P4OUT

;A0=1,SEND OUT DATA 

BIC.B
#LCD_RW,&P4OUT

;R/W=0,WRITABLE 

BIS.B
#0FFH,&P5DIR

;SET P5 PINS OUTPUT 

MOV.B
LCD_DATA,&P5OUT

;SEND DATA BYTE TO LCD 

BIC.B
#LCD_E1,&P4OUT

;SET E1=0 

RET 
;读液晶当前状态的子程序LCD_STE 
LCD_STE
BIC.B
#LCD_A0,&P4OUT

;A0=0,SEND OUTINSTRUCTION 

BIS.B #LCD_RW,&P4OUT

;R/W=1,READABLE 

BIC.B
#0FFH,&P5DIR

;SET P5 PINS INPUT 
STE_AGN
MOV.B
&P5IN,LCD_STATUS

;GET STATUS DATA FROM LCD 

BIT.B
#80H,LCD_STATUS

;如状态存储器第7位为1,忙,则等待 

JC

STE_AGN 

RET 

五、结束语 

    本系统利用MSP430F149单片机、MG-12232图形点阵液晶模块和行列式键盘接口构建了基于3V电平的低电压、微功耗的中文人机界面。实际使用中,此人机界面消耗电流不足1mA,这种设计方案取得了很好的微功耗效果。 

系统分类: 人机界面
用户分类: 无分类
标签: 无标签
来源: 无分类
发表评论 阅读全文(151) | 回复(0)

1

关于投票