拨码开关地址输入电路用于对各个CAN节点的标识。上电后,单片机首先读取拨码开关的数值,并在CAN初始化中将其写入SJA1000的接收代码寄存器,作为该节点的标识码。电源监测与看门狗电路采用的是MAX813,它在系统上电时刻提供上电复位功能,在程序运行时提供看门狗监测和电源监测功能,并能够实现手动复位。

为进一步提高CAN总线的可靠性,在系统设计中采取了一系列的抗干扰措施。一方面将SJA1000与82C250通过高速光耦6N137相连,从而实现了CAN总线上各CAN节点的电气隔离。另一方面,在82C250与CAN物理总线的接口部分也采用一定的安全和抗干扰措施。比如,82C250 的CANH和CANL引脚各自通过一个5Ω的电阻与CAN总线相连,可起到一定的限流作用,保护82C250免受过流的冲击;CANH和CANL与地之间分别并联一个30P的小电容,可以起到滤除总线上的高频干扰和一定的防电磁辐射的能力;CANH和CANL与地之间分别反接了一个保护二极管,这样,当CAN总线有较高的负电压时,通过二极管的短路可起到一定的过压保护作用。

另外,为了保护各CAN节点控制端不受电机端的影响,在单片机与电机接口处均采用了基于6N137的光电隔离方案。这样,当伺服电机端有大电压电流产生时,由于光耦的保护作用,不会对控制端产生较大影响。

在应用光电隔离方案时要注意的一个重要问题是要必须确保光耦两端的两个电源完全隔离,否则光电隔离将起不到其应有的保护作用。在本系统中,通过采用广州金升阳公司的小功率电源隔离模块B0505S-1W很好地实现了各电源之间的完全隔离。

3、 CAN网络的软件设计

CAN网络的软件主要包括三部分:初始化设计、通信设计、电机协调控制设计。下面从CAN控制节点的角度对它们进行说明。

3.1 初始化设计

CAN网络的初始化包括对微控制器内部资源的初始化和CAN控制器SJA1000的初始化。微控制器的内部资源包括程序中使用的各控制变量、定时器、外部中断、串口等,需要在程序进入正常工作前对它们进行合理的设置。这里重点对SJA1000的初始化进行说明。

SJA1000的初始化只能在复位模式下进行。其主要内容包括工作方式的设置、接收滤波方式的设置、接收屏蔽寄存器和接收代码寄存器的设置、波特率参数的设置、中断允许寄存器的设置等等。在完成SJA1000的初始化设置之后,应使SJA1000回到工作模式,进行正常的通信任务。图3是SJA1000的初始化流程图。需要特别引起注意的是,在同一个CAN网络中,各个CAN节点必须设置成相同的波特率,否则无法进行CAN通信。

实现水下波动仿生推进器的多电机独立控制设计方案

  • UC3846控制芯片工作原理控制图 逆变焊机原理与用途
  • 数字万用表电阻档测试二极管正反向没有阻值(使用万用表测量二极管的正向电阻,为什么各档)
  • 学单片机需要学数电模电吗(学单片机要先学数电模电吗)
  • 电工怎么选择适合自己用的万用表(电工初学者买什么样的万用表好)
  • 单片机需要同时运行多个任务怎么办(单片机怎么同时执行多个任务)
  • 电机保护的方案取决于负载的机械特性
  • 绝缘电阻表正负搭接不复零位是怎么回事
  • 短路怎么用万用表查