通信


传感器和执行器与输入输出连接器称为沟通 “PIN”

传感器和执行器应与标准针穿过沟通 3 只有电线. 第一驱动程序 (吉安达) 是的质量, 第二个驱动程序 (+5V) 是的力量 ’, 第三导体 (SIG) 是的信号. 针脚都相同,他们都出来可以配置两个什么.

主模块有六个针脚的 InOut SlaveServo 有十和模块 CapSensor 无.

在六针 c ’ 是题词 “在出销”. 不要混淆这写. 六个引脚都一样,所有可配置, 和中, 他们出来.

当建立连接可能很难读写, 因此它很高兴知道: 在 Theremino 系统的所有组件, 连接 GND 老是板边缘.

针脚已配置为出产生一个电压从 0 只有在 3,3 伏特, 那些配置为接受来自电压 0 只有在 3.3 伏特. 如果您将应用于此范围之外的电压输入引脚电流限制应该是 100 非盟最大 (从至少 33 k 接近引脚电阻) 否则为 USB 通信感到不安的是,甚至可能关闭.

在长链接的情况下, 也读 链接.

这里是一个示例链接


连接开关和按钮,有或没有上拉

在这里你看到将交换机连接两种的方式, 微动开关, 芦苇和按钮. 第一种方法是简单不过后者较为宽容的干扰.

在顶部,你看到的直接连接 (设置在输入的引脚与上拉)

在底部你看到通过保护电阻器的快捷方式 (设置的输入的引脚上没有上拉). 非常高值电阻的存在, 在一系列与电线 “信号”, 限制了电流, 即使外很高电压 (也上百伏电压). 这将确保 USB 通信不会被打扰, 即使在强噪声, 在长导线上致, 从外部电源供应器, 电动机或功率继电器.

如果而不是插入按钮, 你测量电压 (这样使用配置为 ADC 的输入 Pin) 从 330 K 的电阻会引起太多的电压降, 你应该降到 33 K. 在本例中 10 k 电阻会和应该被淘汰.


连接按钮在强电噪声的情况下

前一节中所示的解决方案可以保护与PC主通信, 但它并不妨碍短脉冲噪声被错误地解释, 作为按钮的手动关闭.

因此,在恶劣的环境, 例如在该情况下的电线通过的按钮中的一个螺线管或电动机的电源线旁, 它也建议增加一个电容. 此电容器消除了更短的脉冲比十分之一秒,并进一步在特非常高的电压的情况下,增加了保护.

下面的两个图片显示这些连接的布线和布线图 (点击图片放大).

按钮过滤器 按钮过滤器

接下来的图像显示了如何进行连接,直接上线 (单击查看大图).

通过按钮筛选鼠线

 

使用电缆与阴型连接器, 部件也可以在导线直接焊接.

然后,你可以填补部件用一块热缩套管.

另外,您可以使用一个小基地方阵板.

 

回想一下,当你使用这些链接 (与保护电阻), 你必须 设置的输入的引脚上没有上拉.

还记得, 如果不是的连接按钮做了电压测量 (这样使用配置为 ADC 的输入 Pin), 从 330 K 的电阻会引起太多的电压降, 你应该降到 33 K. 在本例中 10 k 电阻会和应该被淘汰. 此外,加入的电容器的限制了ADC的带宽约 10 Hz.


主人和奴隶引脚连接

让我们带为例,需连接屏蔽的电缆, 携带三个引脚和五伏在很远的地方的信号.

你可以剪断与单个连接器屏蔽的电缆,因为在这里看到 (单击图片可以放大). 蓝线, 亮绿色和黄色是三个信号, 红线是 5 伏和暗绿色的丝是质量.

但它是一个难构建和不可靠的解决方案. 这些照片是一种加速度计, 那感动往往从实验室的长凳上一切 ’. 几个月后,两个五线断了, 以上导致主人的 RCA 连接器.

更好地牺牲三个标准的扩展:

延长线减半提供优质女性连接器, 金属丝是紧密相连,非常强大. 只有连接器的价格的一小部分,你可以买十袋 标准扩展从爱好国王.

延长线连接很容易与屏蔽电缆的儿子. 盖热收缩套连接,你得到鲁棒和专业的布线.

这里是一个做得正确的链接.

三个红色的金属线进行五伏特和连接, 所有在一起, 红线屏蔽电缆. 棕色的电线质量和连接, 所有三个, 屏蔽电缆的袜子. 三个黄色电线是 InOut 信号的针脚 1, 2 和 3 和它们链接到三线内屏蔽电缆.

对屏蔽电缆的另一端是相同, 与电缆的第二个一半的女性.

在长链接的情况下, 也读 链接.


奴隶和掌握通过串行通信模块的模块

串行线路提供的 Theremino 大师不是一个正常的 RS232 或 RS485. 但特殊的线,发送和接收单串上的信号, 由我们开发的 DPM 协议. 其优点是高速通信和自我识别的模块. 更多的信息在这里: 技术/协议

许多奴隶模块可以连接到主机的串行线路.

对于传感器, 对于串行线连接, 使用正常的伺服扩展命令, 可用在伟大的价格在 www.hobbyking.com

Connectors

布朗 = 地面
红色 = + 5V
黄色 = 信号

因为很长或特殊需求电源连接你可以使两线串行通信 (质量和信号), 可能的屏蔽电缆. 在部分的详细信息 长连接和抗扰度


硕士和计算机通过 USB 进行沟通

即使多个母版可以同时连接到同一台 PC 通过 USB 线分隔和他们都不会受到相同的应用程序哈尔.

使用多个 USB 线和多个主人允许在某些情况下提高通信速度. 在其他情况下,它可能有助于专门一些掌握镜头和其它通讯手段与要求最高刷新率的渠道沟通.

USB 电缆不应特别, 质量好的还是特别法庭. 我们已经试过很长的电缆 (10 米) 与更多的电线,在系列的联系 (延长线) 和他们都工作得很好. Theremino 系统使用 USB 协议 2.0, 但它是可能使连接没有错误, 通过标准的集线器, 此外 USB 1.0.


该程序使 HAL 通信硬件模块与插槽

Theremino HAL

 

 

 

 

 

 

 

 

 

Theremino HAL Slots

L ’ HAL ( 硬件抽象层 ) 简化了 USB 通信和硬件的复杂性 ’ 转换所有信号的数字 “浮法” 那是写在从输入输出中 0 只有在 999 提名 “插槽”, 或由它们读取和发送到 ’ 硬件.

.

 

 


插槽

的 “插槽” 用一个数字从标识系统 Theremino 0 只有在 999 和都是一部分的名称 MemoryMappedFile “Theremino1”.

每个插槽包含大量 “浮法” 那可以读取或写入的任何组件系统 Theremino.

在这张照片,只有 HAL 写到插槽中,但事实上所有的系统组件可以读,写在任何插槽中, 虽然已由其他使用.

所谓的 1000 可用插槽的可用自由就是只有一条规则:

许多应用程序和许多针脚可以读取同一插槽, 但你应该避免在许多写同一插槽, 这样做不会破坏任何东西,但结果是未定义.

如果您正在向同一插槽中发送多个数据流的数据然后混合和赢得最后一个写, 如果你想要合并需要有序的时尚规则中的数据.

建立在插槽之间的数学和逻辑规则, 和还能写复杂的算法的行为, 我们使用"Theremino_Script"或任何编程语言如 c + +, CSharp, VBNET, VB6, Python 或帕斯卡, 但你也可以使用视觉语言作为 MaxMSP, 处理, PureData, LabVIEW 和 EyesWeb.

对于 MaxMSP 是可用插件和这里的例子: 下载/基金会


文本字符串的插槽

SlotText 类似于常规 Slots, 有相似的地址 (从 0 只有在 999) 它们的使用方式与它们类似,但与 Slots 不同, 包含数字的 (整数或浮点数), SlotText 包含字符串.

内部使用的字符是 unicode 类型,以允许用不同的语言编写 (例如中文) 并为每个字符使用两个字节.

每个 SlotText 最多可以包含文本字符串 100 千字. 如果超过 100 一千个字符而不是文本,会写入一条简短的错误消息.

SlotText 不使用 MemoryMappedFile “Theremino1”, 但他们为每个 SlotText 使用不同的 MemoryMappedFiles. 这些文件的名称范围从 “ThereminoSS0” 只有在 “ThereminoSS999” (鸽子 ThereminoSS sta per Theremino String Slots).

最后,SlotText 只能用于应用程序之间的通信,而不能用于与 HAL 和 Master 或 Arduino 模块通信。.

目前 (六月 2022) 唯一使用 SlotText 的应用程序是:
– 二维码解码器, 将它们用于由 QR 码和 BAR 码解码的文本.
– 自动化 (从版本 7 开始), 它提供了 SlotText 命令来写入和读取 SlotText.
– SlotViewer, 在较新的版本中可以同时使用数字和文本插槽.
– 协作机器人, 它可以接收来自外部的命令,也可以通过事件向自动化发送异步命令 “来自 Cobot 的命令”.

要使用自动化和 COBOT 应用程序之间的通信,请阅读自动化指令文件中的以下页面:

  • 插槽文本
  • Event_CommandsFromCobot
  • 从 COBOT 到自动化的命令
  • 从自动化到 COBOT 的命令

在文件夹中 “来源” 在自动化领域 (总是从版本 7 我们将在年底前发布 2021) 你会找到新文件 “Class_ThereminoStrings.vb” 程序员也可以用来将 SlotText 添加到他们的应用程序中.


内存映射文件

插槽基于 “内存映射文件” 那些不为人知,但非常有用.

与沟通 “内存映射文件” 是效率极高, 在数十微秒可以转移的数百个数字 “浮法” 单独的程序之间, 不同的线程与书面中不同的语言.

这款 “内存映射文件” 被称为 “Theremino1” 它是长 4096 个字节,包含 1000 Theremino 系统所使用的插槽. 该系统的所有程序 Theremino 可以写和读他们的数据, 浮点数的形式, 在 1000 此文件的插槽.

每个插槽是四个字节,当使用低级别的存储功能你必须乘以 “插槽” 四要 l ’ 在 MemoryMappedFile 字节的索引.

测试和示例程序, 与源, 在主要的编程语言. 使用这些例子是很容易装备任何程序与 Theremino 系统进行通信的机会.

同时公开的还有 “外部” 斯科特和 Max5 在文件中找到 “MaxInstall.zip”. 以这种方式就可以沟通 “修补程序” 通过与系统的最大 “Theremino” 通过 MemoryMappedFiles.


与标准的电缆连接

管脚之间的所有连接, 传感器和执行器,以及串行通信是非常舒适的正常伺服扩展命令在一个伟大的价格公开发售 “www.hobbyking.com” 在节 “硬件和配件” / “电线和插头” / “伺服线 & 伺服插头”

男性女性连接器的标准线

棕红色 Gnd = = + 5V 黄色 = 信号
  • 对于电流达 0.5 放大器使用 26 特设工作组 (0.13 盗贼)
  • 对于电流达 1 或 2 放大器使用 22 特设工作组 (0.33 盗贼)

连接电缆,用于高电流和非常长的行的详细信息, 节中的链接和目标价格: 连接电缆


浮点数:
(最小值和最大值对数字槽有效)

数字 “浮法” 浮点数从 32 位 (单精度). Theremino 系统始终使用 “浮法” 而不是数字 “整数” 或 “双” 原因如下:

1) 正在长 32 bits 是读取和写入在单个语句中的处理器和不需要同步机制,以避免错误.

2) 虽然带小数点的数字可能包含没有错误或围捕任何整数从 000 000 000 + 16-16' '到' ' 多万, 然后轻松地包含的值从 0 只有在 65535 (16 位) 甚至达 24 一些现有的最佳的传感器和执行器.

3) 可以用来发送 16 数以百万计的不同的通信 “服务” 使用 NaN 值 (不是数字) 和 Nan ( 信令南 ).

4) 他们还可能包含特殊值 “+无限” 和 “-无限”, 有用的当计算产生很高的价值.

5) 准确性 “浮法” 是从几千到几百万倍超过所需的准确性, 因为他们用于只进行通信并不执行计算.

6) 所有当前的传送 32 在单个语句中的位, 每崔 l ’ efficienza è massima e 由于在提供 microsecondi 特有 separati possono comunicare.

每 maggiori 播出隋数值 “浮法” leggere le pagine seguenti.

– – – – – –

浮法 – 单精度, 32 位, 浮点数

积极马克斯: 3.4028235 E + 38
正民: 1.401298 E-45

负的最大: -3.4028235 E + 38
消极的民: -1.401298 E-45

存储没有舍入误差的最大整数 : +16’ 777 ’ 216
存储没有舍入误差的最小整数 : -16’ 777 ’ 216

可视化的最大整数 (7 位数舍入): +9’ 999 ’ 999
可视化的最小整数 (7 位数舍入): -9’ 999 ’ 999

+零: 0 00000000 00000000000000000000000 (0000 0000)
-零: 1 00000000 00000000000000000000000 (8000 0000)
+无限: 0 11111111 00000000000000000000000 (7F80 0000)
-无限: 1 11111111 00000000000000000000000 (FF80 0000)

积极 NAN
从: 0 11111111 00000000000000000000001 (7F80 0001)
自: 0 11111111 01111111111111111111111 (7国际书展 FFFF) (4’ 194 ’ 303 值)

消极的 NAN
从: 1 11111111 00000000000000000000001 (FF80 0001)
自: 1 11111111 01111111111111111111111 (FFBF FFFF) (4’ 194 ’ 303 值)

积极南
从: 0 11111111 10000000000000000000000 (7FC0 0000)
自: 0 11111111 11111111111111111111111 (7FFF FFFF ) (4’ 194 ’ 304 值)

消极的南
从: 1 11111111 10000000000000000000000 (FFC0 0000)
自: 1 11111111 11111111111111111111111 ( FFFF FFFF ) (4’ 194 ’ 304 值)

– – – – – –

特殊值

IEEE 储备指数字段值的所有 0 和所有 1 来表示浮点计划中的特殊值.

零 – 如上文所述, 零不是直接能上演在平直的格式, 一家领先的假设 1 (我们需要指定一个真正的零尾数屈服值为零). 零是一个特殊的值用零指数字段和零分数字段表示. 请注意, -0 和 +0 是不同值, 虽然他们都比较作为平等.

非规范化 – 如果指数是所有 0, 但分数为非零 (否则它将被解释为零), 则的值是非规范化的数, 其中并没有假设的领先 1 在二进制点之前. 因此, 这表示一个数字 (-1)s × 0.f × 2-126, 其中 s 为符号位,f 是分数. 为双精度, 非规范化的数是窗体的 (-1)s × 0.f × 2-1022. 从这你可以解释作为一种特殊类型的非规范化数零.

无限 – 值 + 无穷大和无穷大表示所有 1s 指数与全 0 的一小部分. 符号位区分正无穷大和负无穷大. 能够作为一个特定的值很有用的因为它允许操作继续过去的溢出情况表示无穷大. 操作与无穷大值定义在 IEEE 浮点数.

不是数字 – 值南 (不是数字) 用于表示一个值,并不代表一个实数. 南 ’ s 由一位组模式,具有指数的所有 1s 和一个非零分数. 有两种类别的南: QNaN (安静的南) 和教授膏方进补 (信令南).

QNaN – QNaN 是最重要的设置分数位南. QNaN ’ s 自由传播通过大多数算术运算. 这些流行了该手术时结果不数学上定义的值.

懒汉 – 懒汉是最重要的分数位明确与南. 它用于信号异常时在操作中使用. 懒汉 ’ s 可以方便将分配给未初始化的变量来捕获过早使用.

语义上, QNaN ’ s 表示不确定操作, 虽然懒汉 ’ s 表示无效操作.

– – – – – –

特别行动

特殊数字上的操作都是由 IEEE 定义良好. 最简单的情况, NaN 与任何操作结果南. 其他操作如下所示::

操作 结果
n ÷ ±Infinity 0
±Infinity × ±Infinity ±Infinity
±nonzero ÷ 0 ±Infinity
无限 + 无限 无限
± 0 ÷ ± 0
无限 – 无限
±Infinity ÷ ±Infinity
±Infinity × 0

– – – – – –

摘要

标志 指数 (和) 分数 (f) 价值
0 00..00 00..00 +0
0 00..00 00..01
:
11..11
积极的非规范化真实
0.f × 2(-b+1)
0 00..01
:
11..10
XX......XX 积极的归一化实
1.f × 2(b)
0 11..11 00..00 +无限
0 11..11 00..01
:
01..11
懒汉
0 11..11 10..00
:
11..11
QNaN
1 00..00 00..00 -0
1 00..00 00..01
:
11..11
负不正常真实
-0.f × 2(-b+1)
1 00..01
:
11..10
XX......XX 消极归一化实
-1.f × 2(b)
1 11..11 00..00 -无限
1 11..11 00..01
:
01..11
懒汉
1 11..11 10..00
:
11.11
QNaN

关闭评论.