基于CAN总线的智能控制器设计

※发布时间:2018/5/9 1:56:50   ※发布作者:habao   ※出自何处: 

  摘要:随着计算机技术、微处理器技术以及通讯技术的不断发展,传统仪表已经不能适应工控的要求。而控制器的出现为工业控制系统向分散化、网络化发展等开辟了新的空间。CAN控制器具有良好的稳定性、高可靠性、较快的通讯速率以及低成本等特点,且能够有效支持实时、分布式控制,从而应用于许多领域,本设计针对内嵌CAN的STM32 F103RC处理器进行深入研究,并以它为核心部件进行CAN控制器软硬件的设计,该控制器兼容模拟量数字量的输入,了通用性并具有较大的应用范围。在采集与输出通道数量方面也得到了保障。例如由于工业需求要增加监测点或执行点,本控制器可以解决此问题。从长远考虑会降低用户的投资成本,本控制器可以与其他CAN节点及上位机组成

  现如今工业生产针对现场数据的采集与控制的要求在日益提高,生产实现自动化处理,若继续使用传统的一对一连线式或“各自为战”式集散系统,企业的和发展将面临着极大的挑战。

  为实现整个系统设备之间以及系统与之间的信息交换,就必须搭建一种性能优越、可靠性高、造价低廉的通信系统,并且要求该系统可运行于工业中,实现底层系统与信息的交换,再者工业的发展也对现场控制器的性能也提出了更高的要求。在现场总线控制系统中,各个分散的测控设备作为的网络节点,通过现场总线联系起来,进而实现信息互通,共同完成自动化控制任务。工业CAN控制器的发展,推进仪器仪表系统的数字化、智能化、网络化进程,所以基于CAN 总线的现场总线控制器的研究与开发具有非常现实的意义。

  本课题设计的CAN总线控制器,由技术角度出发可以总结为仪表系统。仪表系统是由各个功能模块集合而成,但也可以分离组合,其由结构划分为集成式、混合式和模块式3种形式。其中集成式仪表是将传感器与微处理器、信号调理电做在同一块芯片上。集成度高、体积小,此传感器在目前技术水平上实现较难。而混合式集成仪表系统是将传感器的微处理器、信号调理电做在不同芯片上,目前此结构仪表系统结构较多。而初级智能仪表系统可用相互的模块组成,如将微计算机、信号调理电模块,输出电模块,显示电模块与传感器装配在同一壳体内,组成模块式传感器,本系统将对模块化的控制器进行研究。

  本课题针对工业现场的数据采集设计了基于STM32的CAN总线的控制器,根据功能结构的不同,该控制器将分为四大部分即现场数据采集、数据输出、实时数据处理以及CAN总线控制器。此系统CAN总线RC为主芯片,作为数据处理、存储及控制部分,考虑该控制器的通用性,在数据输入部分设计采集8模拟量和4数字量信号,8模拟量通道可以接收由现场传感器信号经调理电传输过来的标准电压电流信号。输出部分设计了4模拟量和2数字量输出通道,其中4模拟量的输出通道,考虑到电压输出信号在传输过程中的损耗,这里采用了V/I转换电,在第一章已经说明 Stm32f103rc内嵌CAN控制器,只需在外部接入CAN收发器,就可以完成与上位机通讯功能。系统硬件框图如图1所示。

  本设计要求做成通用的CAN控制器,设计中要采集8模拟信号(电压信号0~5 V,电流信号4~20 mA),经过对模拟信号的处理再传输到主芯片的ADC进行转换,STM32F103RC的电压输入范围在2.4~3.3 V之间,所以在采集电压信号时我们要经过分压电阻进行分压处理,针对电流信号,要将电流转换为电压,所以在此引入精密电阻,即R=250 ,经过转换处理得到理想的电压符合AD的输入范围。考虑到STM32F103RC:芯片内部有2个12位的A/D转换模块,是一种逐次逼近式A/D转换器,在模拟信号输入时将分别用2个A/D模块各采集4模拟信号。

  在选取运放的时候还要注意参数的选择要与芯片的ADC之间的误差匹配问题,在此由计算得到满量程3.3 V时(控制器ADC为12位转换,得到对应的LSB为0.8 mV),在选取运放时要特别注意该运放所引起的误差是否在允许的范围之内,本设计采用低功耗精密运算放大器TLV2231CDBV,该运放为单电源供电,工作电压范围在2.7~10 V之内,输入失调电压为0.45 mV,失调漂移在0.55V/℃,共模比最小在60 dB,具体电如图2所示。

  本设计的数字采集模块共涉及了4个数字量。由于该控制器应用于工业现场,所以会受到较大的干扰,为了增强其干扰特性,在数字信号进入微控制器之前加入了光电隔离电。我们这里采用高速晶体管光耦HCPL0531进行隔离,针对光耦的传输特性而言,在逻辑低电平时,R=1.9 k时的延迟时间达到0.45s,最大为0.8s,上述计算中取得R=1.2 k随着R的减少延迟时间将有所减短。

  本设计将设计2模拟量输出,主控制芯片内嵌了DAC,可以将数字量转换成模拟量电压信号传输到现场,由于电压信号在传输过程中会造成衰减,于是增加了V/I转换电,在输出模拟信号时,常以电压信号为准,但针对传输距离较长会导致电压信号有所衰减,通常改进的办法是增加信号接收端的输入电阻,可是输入电阻的增加会对线的抗干扰性产生降低的影响。所以在此我们将电压传输变为电流传输,其中V/I设计中用到运放TLV223 CDBV,该运放采用单电源直流5 V供电。经过V/I电实现0~20 mA电流的输出。