AST-CAN485联播指南

γ页面
贡献者: 詹姆斯姆
喜爱的 最喜欢的 6

介绍

这个AST-CAN485是一个紧凑的形式因素的微型Arduino Arduino迷你。除了所有通常的特性外,它还具有机载CAN和RS485端口,从而能够快速和方便地与许多工业设备进行接口。CAN485弥补了制造商和工业空间之间的鸿沟。

亚博官网SparkFun AST-CAN485开发板

亚博官网SparkFun AST-CAN485开发板

DEV-1483
44.95美元

CAN485构建在流行的Ardino平台上。它与Arduino pin-compatible箴迷你,给它一个小形式适合嵌入项目。亚博官网它支持亚博国际官网Arduino IDE,Arduino核心库,并使用董事会管理器可以安装。提供库以支持CAN和RS485端口。亚博国际官网车载可以和RS485收发器允许的任何可以或基于RS485网络接口。CAN和RS485构成了许多与自动化应用中的通信协议的主干,工业系统,建筑管理,汽车系统,奥布迪还有更多。

建议阅读

如果你不熟悉以下概念,我们建议在继续之前查看这些教程。

焊接:通孔焊接吗

本教程涵盖了所有你需要知道的关于通孔焊接。

串行通信

异步串行通信的概念:包,信号电平,波特率,UART还有更多!!

什么是阿杜伊诺??

“阿杜伊诺”到底是什么??

安装Arduino IDE

在Windows上安装和测试Arduino软件的逐步指南,Mac,和Linux。

逻辑电平

亚博在线娱乐官网学习3.3 v和5 v设备之间的区别和逻辑水平。

电阻

关于所有电阻器的教程。什么是电阻器,他们如何表现在并行/系列中,解码电阻器颜色代码,以及电阻应用。

硬件概述

CAN485采用相同的微小的形式支持迷你测量约34.65毫米x 19.20毫米,使它容易可嵌入在应用程序空间是有限的。引脚布局是相同的Arduino亲迷你。这使它销兼容现有专业迷你盾牌和应用程序。第四边的RESET按钮下面还有一行插脚包含CAN和RS485端口。

AST-CAN485维度 Arduino Pro迷你尺寸

引出线

虽然引脚分配类似于Arduino Pro Mini,有一些功能的差异。应该小心当使用盾牌为专业设计与CAN485迷你。图形数据表给出了关于引脚及其功能的更多细节。

AST-CAN485

很难看到这个图像?单击该图像以进一步查看。

CAN485基于Atmel AT90CAN128处理器。在16兆赫处理器运行,具有128KB或Flash,4KB的SRAM,并具有硬件CAN控制器。CAN485爆发常用通信端口和销功能包括:I2C,SPIUARTs8模拟输入,和6个中断大头针启用。

AT90CAN128数据表AST-CAN485示意图

权力

有几种方法可以给CAN485供电。

AST-CAN485功率LED

CAN485具有板上调节器,允许在引脚。允许输入电压范围7-16V,然而7-12V建议

监管5 v电源也可以直接提供录像机。提供电压必须在范围内4.5 v至5.5 v。还可以通过FTDI突发向FTDI报头供电。

一旦董事会上电,领导的压水式反应堆将点亮。

AST-CAN485功率LED

FTDI编程头

箴迷你,CAN485没有车载USB连接。需要外部FTDI断路板来对板进行编程或将其连接到PC。

AST-CAN485编程引脚

连接,你需要5V的FTDI,连接头销,和一个迷你B USB电缆。

亚博官网SparkFun FTDI基本突破- 5 v

亚博官网SparkFun FTDI基本突破- 5 v

DEV-097
14.95美元
113
突破头球-直球

突破头球-直球

prt - 00116
1.50美元
20.
亚博官网SparkFun USB Mini-B电缆6英尺

亚博官网SparkFun USB Mini-B电缆6英尺

出租车- 11301
3.95美元
2

可以港口

CAN控制器硬件加速,允许高速可以以最小的处理器通信开销。机载CAN收发机意味着CAN485可以直接连接到CAN网络,而不需要额外的电子设备。

AST-CAN485前端:CAN端口 AST-CAN485正面:IC和端口

连接到网络

下图显示了一个典型的CAN485和一罐网络之间的联系。网络由两条线路(CANH和CANL)组成。多个设备可能连接在这些线平行。公共汽车必须终止和终止电阻器两端(通常是100Ω120Ω)。

连接到CAN网络的AST-CAN485

有关更多信息,检查介绍CAN总线

RS485港口

与CAN端口类似,CAN485特性车载RS485收发器,允许简单的连接到任何RS485网络。虽然UART1消耗的RS485接口,还在针22和23日爆发如果用户宁愿使用它作为一个串行端口。

AST-CAN485正面:RS485端口 AST-CAN485背面:RS485 IC和端口

连接到RS485网络

下图显示了一个典型的CAN485和RS485网络之间的连接。网络由两条线(A和B),设备连接在这些线平行。公共汽车必须终止和终止电阻器两端(通常是100Ω120Ω)

RS485网络的AST-CAN485

有关更多信息,检查RS485简介

JTAG

JTAG编程和调试接口是断针21页。这允许更高级的调试与爱特梅尔公司Studio用户。

JTAG引脚

一个重要含义是,为了使用这些I / O,针JTAG接口必须被禁用。这可以通过添加一个小一点的代码设置()功能。

AST JTAG_Software_Disable.ino

软件系列

不幸的是,AT90CAN128芯片的管脚不支持改变中断。亚博国际官网因此,Arduino SoftwareSerial库亚博国际官网支持。AltSoftSerial库可以用作替代。

AltSoftSerial库有一些限制。它使用微处理器上的定时器资源。只有一个定时器可用,所以只有一个AltSoftSerial端口可用,并且固定在引脚5和9上。AST修改了标准AltSoftSerial库以支持CAN485。亚博国际官网图书馆AST的GitHub是可用的。

AST AltSoft系列图书馆

硬件连接

CAN485不带有头焊接。为了您的项目,我们让您在页眉或电线板上进行焊接。亚博官网选项包括可堆叠的报头,弯曲的头,或者直接焊线针垫。

突破头球-直球

突破头球-直球

prt - 00116
1.50美元
20.
打破男性的头部-直角

打破男性的头部-直角

prt - 00553
1.95美元
光子可叠起堆放的头- 12针

光子可叠起堆放的头- 12针

prt - 14322
0.50美元

如果你是焊接新手,看看通孔焊接教程。你需要一个烙铁,焊料,和一般焊接附件

无铅焊- 100克线轴

无铅焊- 100克线轴

托尔- 09325
7.95美元

白光FX888D焊台

TL—11704
53 退休

原型的一个标准配置是有别针一边朝下允许简单的模拟板试验时所面临的FTDI,通过跨接电缆通信针面对访问。

AST_CAN485头针焊接

软件安装

注:你需要升级如果您使用的是版本1.6.3以上。本示例假设您正在桌面上使用Arduino IDE的最新版本。如果这是你第一次使用Arduino,请检查我们的教程安装Arduino IDE。

下一步是安装CAN485董事会Arduino IDE。有两种安装方法。首先是通过使用Arduino董事会经理,这是首选的方法。第二种方法是手动复制文件从GitHub库。

使用董事会管理器安装董事会

使用Arduino IDE的董事会管理器安装方法的首选。

打开首选项窗口(文件>首选项Arduino IDE)。复制以下URL并将其添加到董事会经理URL的列表中:

https://..githubusercontent.com/Atlantis-Spec.st-Technologies/Arduino-Boards-Packages/master/package_ast_boards_index.json

董事会经理人偏好

打开董事会经理工具>板>董事会经理……):

董事会经理菜单

滚动到AST AVR板然后点击安装按钮:

在董事会经理中安装AST AVR董事会

AST AVR的电路板将可用在菜单。选择Can485当上传开发板。

AST AVR板在板菜单中

手动板安装

手动安装AST AVR板插件

  • 下载CAN485库来自GitHub。
  • 解压缩的文件夹。
  • 复制AST文件夹到* *……\期间\ Arduino \硬件
  • 目录结构应该是:…\期间\ Arduino \硬件\ ast

手工安装库

手动安装图书馆可以

  • 下载AST_CAN_Arduino_Library库来自GitHub。
  • 解压缩AST_CAN_Arduino_Library-master.zip文件夹中。
  • …\ AST_CAN_Arduino_Library-master文件夹中。
  • 移动AST_CAN_Arduino_Library-master文件夹进入Arduino库文件夹:* *……\期间\ Arduino \库
    • (创建库文件夹如果它不存在的话)
  • 最终的目录结构应该是:...MyDocumentsArduinolibrariesAST_CAN_Arduino_Library-master

手动安装RS485图书馆

  • 下载AST_RS485_Arduino_Library库来自GitHub。
  • 解压缩AST_RS485_Arduino_Library-master.zip文件夹中。
  • ...AST_RS485_Arduino_Library-master文件夹中。
  • 移动AST_RS485_Arduino_Library文件夹进入Arduino库文件夹:* *……\期间\ Arduino \库
    • (创建库文件夹如果它不存在的话)
  • 最终的目录结构应该是:…\期间\ Arduino \图书馆\ AST_RS485_Arduino_Library-master

手动安装AST AltSoftSerial图书馆

  • 下载RS485库库来自GitHub。
  • 解压缩AltSoftSerial-master.zip文件夹中。
  • ... AltSoftSerial-master文件夹中。
  • 解压缩到Arduino库文件夹中:* *……\期间\ Arduino \库
    • (创建库文件夹如果它不存在的话)
  • 最终的目录结构应该是:...MyDocumentsArduinolibrariesAltSoftSerial-master

上传代码

将FTDI编程电缆连接到FTDI报头,如图所示:

AST-CAN485与FTDI的连接

打开Arduino IDE,在工具菜单中选择CAN485董事会。确保使用正确的COM端口。上传Blink示例(示例>01.Basics>Blink)。您应该看到内置的LED连接销13 flash。

介绍CAN总线

控制器区域网络(可以)总线通信标准与它的起源在汽车行业。它有几个特性,使建成的健壮和噪音宽容。这是一个基于消息的协议,它能够支持多个节点。亚博国际官网支持加速1 mbps /距离不到40 m在更远亚博国际官网的距离可能以较低的速度在125 kbps(500米)。CAN总线还包括仲裁方法自动重视信息和解析数据包的碰撞。

CAN在工业应用中用作现场总线,并且包括底层,其上基于许多高层协议。CANopen和设备网是常见的更高的层协议基于CAN总线和用于工业自动化。CAN总线也用于OBDII车辆诊断标准是强制性的现代汽车在美国和欧盟。

信号的描述

CAN总线由两个信号(可以H和L)和终止和终止电阻器两端(通常是100Ω120Ω)。对于高速,建议具有120Ω端接电阻。这些线通常伤口成双绞线。

总线具有隐性状态(逻辑1)和显性状态(逻辑0)。公共汽车需要积极推动主要由一个节点的状态。如果没有驱动的占主导地位的国家的任何节点,公共汽车将恢复到隐形状态。这种显性和隐性行为意味着,如果两个节点同时传输,优势位将优先。仲裁方法利用这种行为来解决分组冲突。

可以收发器是必要的翻译之间的线状态和逻辑所使用的微处理器。

CAN信号

很难看到这个图像?单击该图像以进一步查看。

网络结构

多个节点可以并行连接。线路必须用端接电阻(通常为100Ω至120Ω)在每一端终止。对于高速CAN总线,下面的网络在每一端包括120Ω的终端电阻。

块图CAN网络

包结构

消息可以有消息ID组成的标准格式,数据长度字段,一个数据帧,CRC和其他控制位。作为基于消息的协议,没有节点地址,而是有一个消息ID。数据ID相关联而不是一个设备和一个节点可以使用多个消息传递ID。这种行为可能非常有用。例如,一个节点可以报告电动机转速,位置在三个不同的消息id和加速度,允许由任何接收节点容易地识别参数。

消息ID应该是唯一的。如果两个节点试图发送一条消息,该消息带有相同的ID在同一时间,这会导致错误。仲裁过程中使用的消息ID也来确定哪些消息优先级,当两个节点同时传输。

有两个标准格式可以包,基本格式(CAN2.0A)和扩展格式(CAN2.0B)。扩展格式的特征是29位ID,而基本格式的特征是11位ID。扩展格式是向后兼容的,允许在任何CAN网络上使用这两种格式。

CAN总线分组结构

很难看到这个图像?单击该图像以进一步查看。

仲裁

当两个节点试图同时传输仲裁过程决定了哪一个需要优先。虽然传输,每个节点读取总线状态。如果一个节点检测到它的一个隐性位已经被另一个节点主导,然后停止传输。这导致较低ID优先于较高ID。如果一个节点失去仲裁,它将尝试重新发送消息一旦电流传输完成。这种行为导致automaticprioritization和碰撞决议。

CAN总线仲裁信号

很难看到这个图像?单击该图像以进一步查看。

示例:简单CAN网络

在这个例子中,构造了一个简单的两节点CAN总线网络。一个节点发送消息,另一个接收它,并通过串口将其传递到PC。

所需材料

以下这个例子所需材料。尽管取决于你拥有的,你也许并不需要所有的东西。将它添加到您的购物车,阅读指南,并根据需要调整手推车。

  • 2X CAN48
  • 2x 120电阻器*
  • FTDI
  • 数据线
  • 挡板,跳线,等。

硬件连接

如图所示构建网络。

简单网络fritz图

上传代码

确保CAN485董事会和图书馆安装了。安装示例代码的库。它在Arduino IDE的示例菜单下可用。

上传代码通过Arduino IDE的例子

将发射机示例代码上传到发射机节点。然后上传接收器接收节点示例代码。

你应该看到

传感器节点将发送消息每500毫秒。接收节点将接收它,并通过串口将其传递到PC。使用Arduino串行监控(或你最喜欢的串行终端)并选择1000000 (1 mbaud)

例如:多节点网络

在这个例子中更大的可以网络构造。多个节点发送消息和一个节点传递到电脑通过串口。

所需材料

以下这个例子所需材料。尽管取决于你拥有的,你也许并不需要所有的东西。将它添加到您的购物车,阅读指南,并根据需要调整手推车。

  • CAN485 3倍或更多
  • 2x 120电阻器*
  • FTDI
  • 数据线
  • 挡板,跳线,等
  • 1 x外部电源* *
  • 1倍直流桶插座适配器女性**

硬件连接

如图所示构建网络。

多节点网络可以fritz图

上传代码

确保CAN485董事会和图书馆安装了。安装示例代码的库。它在Arduino IDE的示例菜单下可用。

将发射机示例代码上传到每个发射机节点。确保更改消息ID(MESSAGE_ID)独特的每个节点的值。

然后上传接收器接收节点示例代码。

你应该看到

传感器节点发送消息每500毫秒。接收节点将接收它,并通过串口将其传递到PC。打开电脑上的串口使用Arduino串行监控(或你最喜欢的串行终端)和选择1000000 (1 mbaud)

RS485简介

RS485标准串行通信系统中广泛使用。只有电气接口由RS485定义。没有指定特定的通信协议的标准;相反,它形成许多不同协议的物理层。例如,串行端口可以在RS485物理链路上运行。

RS485使用微分信号通过双绞线使它适应噪音。还支持多个节点,亚博国际官网其数量通常由使用的协议决定。距离1200米,传输速度高达10 mb是可能的。然而,有一种距离和速度之间的权衡。例如,50米电缆可以运行在2 mbps。

RS485是常用的物理层之一。应用包括工业系统,计算,汽车,以及建筑管理。Modbus和现场总线是两种常见的工业利用RS485协议。

信号的描述

接口包括两行信号A和B。当总线空闲时,两条线都浮动。在操作中,一个节点充当主节点并控制总线,推动两行到适当的电压。其他节点作为奴隶被传送和接收数据。这些线被驱动到相反的极性;如果A为正,B是负的。通过反转信号,逻辑0或1的水平是有可能的。

RS485信号

很难看到这个图像?单击该图像以进一步查看。

网络结构

多个节点可以并行连接。线路必须用端接电阻(通常为100Ω至120Ω)在每一端终止。

RS485网络框图

例如:简单的RS485网络

在这个例子中,构造了一个简单的两节点RS485总线网络。一个节点发送一个消息每500毫秒。其他接收它,通过它在PC机的串行端口。

所需材料

以下这个例子所需材料。尽管取决于你拥有的,你也许并不需要所有的东西。将它添加到您的购物车,阅读指南,并根据需要调整手推车。

  • 2X CAN48
  • FTDI
  • 数据线
  • 2x 120电阻器*
  • 挡板,跳线,等

硬件连接

如图所示构建网络。

简单的RS485网络fritz图

上传代码

确保已经安装了CAN485板和RS485库。示例代码与RS485库一起安装。它在Arduino IDE的示例菜单下可用。

上传代码通过Arduino IDE的例子

接收者示例代码上传到接收器节点。然后将发射机示例代码上传到发射机节点。

你应该看到

传感器节点将发送消息每500毫秒。接收节点将接收它,并通过串口将其传递到PC。打开电脑上的串口使用Arduino连续监测(或者你喜欢的串行终端)115200波特。

资源与进一步发展

现在你已经成功收到你的AST-CAN485发展局启动和运行,是时候把它融入自己的项目!亚博官网!

有关更多信息,看看下面的参考资料:

为你的下一个项目需要一些灵感?亚博官网查看一些相关的教程:

OBDⅱUART联播指南

如何开始与OBD-II Uart董事会的工作。

can总线盾联播指南

对CAN总线屏蔽的基本介绍。

开始使用OBD-II

一般指南OBD-II协议用于通信在汽车和工业应用。

或者在进一步挖掘对RS485皮特的更多信息。