0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

采用蓝牙低功耗4.2技术遥控机器人车的动向

电子设计 来源:郭婷 作者:电子设计 2019-02-27 07:52 次阅读

最新蓝牙4.2低功耗(BLE),也称为蓝牙智能,专为物联网IoT)而打造。每个主要操作系统蓝牙技术的原生支持使得移动应用程序的开发变得简单。

使用PSoC Creator 3.2,Xcode 6和Swift应用程序开发环境,可以开发一款应用程序来处理简单的遥控车使用iPhone,演示在嵌入式BLE系统开发中使用GATT配置文件和GAP外设。该车由两台电机和一台带正交编码器的H桥和赛普拉斯半导体公司的PSoC4200 BLE器件构成。

采用蓝牙低功耗4.2技术遥控机器人车的动向

图1:PSoC4200来自赛普拉斯半导体可以使用蓝牙低功耗4.2来控制机器人汽车。

该项目从简单的LED和触摸板控制开始,指示连接状态。初始CAPSense滑块用于控制红色LED,当未连接电路板时,蓝色LED用于蓝色LED。

为PSoC4100 BLE创建新项目,可将组件添加到简单原理图中。 BLE组件添加到图形设计工具并链接到CapSense组件。需要PWM来驱动LED,并且因为蓝色LED为低电平有效,所以需要反转PWM,因此库中使用了非门。

PWM配置需要是单输出,需要库中的时钟组件。对于闪烁的LED,时钟配置为1 kHz。复位连接到逻辑低电平(因为它是高电平有效),更改PWM的名称使其更容易连接。该项目增加了一个线性滑块来处理评估板上的五个传感器

在原理图中配置BLE组件需要自定义配置文件,并且该板充当带有GAP(通用访问配置文件)外围设备的GATT服务器。 iPhone是GAP Central与电路板通信,作为GAP外设进行连接。

GATT服务器是BLE上的一个数据库,用于存储与iPhone作为GATT客户端共享的信息

自定义配置文件实质上是创建GATT数据库,创建一个LED和CapSense的定制服务;这些都有UUID(通用唯一ID),以便iPhone可以找到这项服务。这使固件能够与该服务通信。 1字节LED特性表示可以远程写入和读取的LED状态,因此需要激活读取和写入标志。 CapSense特性(无符号16个2字节格式)只能读取,不能远程写入。为了在有变化时得到通知,激活通知标志。此时可以添加自定义的人类可读通知。

每个特性都需要一个128位的UUID,而Creator工具为它提供了一个默认值,可以在最低有效位进行修改。

GAP设置包括设备名称和广告设置。在此示例中,它通过关闭超时来一直通告。在每隔20到30毫秒发送一次的广告包中,有一些信息可以帮助识别设备,例如设备的名称和可用的服务。

设置BLE,CapSense,PWM和LED后,需要设置引脚。第一个要设置的引脚是CapSense端口4的pin0调制电容。然后将CapSense滑块连接到电路板上的P21至P25引脚。蓝色LED连接到Port3 pin7,RED LED连接到port2,pin6。然后,该工具会自动为固件生成应用程序。

固件

使用Xcode在Github项目中实现固件,第一个变量是表示LED状态的无符号全局变量,第二个变量是CapSense通知。

update_LED函数使用LED的当前状态更新GATT数据库。如果连接了BLE(来自GetState函数),则CYBLE_LEDCAPSENSE_LED_CHAR_HANDLE读取引脚的值,并在LED为低电平时将其反转。使用GATT WriteAttribute函数将1字节写入数据库。这可以在源代码中的任何位置调用,以读取LED的状态。

下一个功能与CapSense相同。这将使用CYBLE_LEDCAPSENSE_CAPSESNE_CHAR_HANDLE和2字节值进入GATT数据库。这也使用BLE中的notify函数,因此当CapSenseNotify变量发生更改时,会自动发送通知。

接下来是BLE事件处理程序。这将处理来自BLE的所有事件,例如堆栈打开或断开连接。这使用蓝色LED显示连接正在发生或正在关闭,因此这些调用会触发PWM并使用LED状态和CapSense值更新GATT数据库。这由堆栈固件自动处理。

下一个事件是写事件,当远程端想要写入GATT数据库时调用该事件。这里,堆栈给出了需要编写的特性。

然后可以使用Xcode为设备编译所有这些。

机器人

建造汽车本身相对简单,因为两个电机连接到H桥,该H桥映射到电路板上的连续引脚。设备上的开关显示在应用程序中,每个电机的速度可以通过应用程序控制以引导汽车。

图2:机器人车板结合了BLE芯片,两个轮子和一个H桥。

有四个关键特性,左右电机的转速计使用正交编码器,两个PWM驱动两个电机。 iPhone上有两个开关可以快速将特性切换为零。

原理图与初始LED项目具有相似的元素。 PWM很简单,周期为100,比较50,占空比为100,在iPhone上映射0到100比例。正交编码器使用TCPWM,它可以在1X模式下解码来自左右脉冲中的每一个的正交信号,从而计算脉冲而不是前沿和下降沿。

PSoC引脚足以直接为H桥供电,另一个引脚是软件控制的开关,通过软件控制电机的方向。最后一个是用于LED连接的PWM。

正交编码器每转计数64个脉冲,并且每187 ms触发一次中断以查找已发生的脉冲数并缩放以给出RPM编号。

自定义MOTOR_SERVICE配置文件具有四个特性,即8位整数,可写和可读,从-100到+100,速度左和速度右。这还包括人类可读的表格和通知。这会更新GATT数据库并发出通知。

BLE是具有机器人和电机服务UUID名称的外围设备。这简化了连接过程。

从工具生成固件,包括通知标志,左右转速计值以及左右速度。每次按下电路板按钮关闭电机时都会触发ISR,速度存储在GATT数据库中。

下一步是将固件链接到智能手机应用程序。

构建应用程序

在Swift中构建iOS应用程序有两个视图控制器,在赛普拉斯学院中有说明。第一个是表视图控制器,它显示手机可以看到的所有设备。当该类启动时,它会中继所有与其听到的服务相匹配的设备。在这种情况下,只有一个遥控车,因此表中只有一件事,但这可用于控制许多外围设备。

第二个视图控制器本身就是遥控器。这对左右转速计使用两个标签,在左右电机上使用两个开关。对于左右电机,选择器视图从-100到+100。

该模型有三个类:

RCcar.swift,它跟踪左右电机的连接和速度;

跟踪设备的BT.neighborhood类。

BLE连接类处理连接,以便RC对象具有与之关联的邻域和连接。该类记录了它对更改感兴趣的事实,并将选择器设置为两个滑块。

最后发生的事情是如果更新了转速计,那么它会更新屏幕上的左右文本值。在视图消失之前,您需要在按下后退按钮时禁用设备和连接。这些都通过Swift中的应用程序编程接口(API)连接到固件。

结论

PSoC 4100设备中最新的蓝牙低功耗4.2技术与简单的H桥,电机和编码器使得简单的iPhone应用程序易于开发。使用最新版本的PSoC Creator,Xcode和Swift开发工具允许开发人员为机器人创建原理图,固件和应用程序。

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 机器人
    +关注

    关注

    210

    文章

    27883

    浏览量

    204806
  • 蓝牙
    +关注

    关注

    114

    文章

    5695

    浏览量

    168227
  • 遥控器
    +关注

    关注

    18

    文章

    826

    浏览量

    65484
收藏 人收藏

    评论

    相关推荐

    低功耗智能云台驱动板方案在电力巡检机器人技术应用介绍

    的续航能力和稳定性具有关键意义。本文将详细介绍低功耗智能云台驱动板的技术方案及其在电力巡检机器人中的应用。 1. 技术背景 电力巡检机器人
    的头像 发表于 09-25 18:06 113次阅读
    <b class='flag-5'>低功耗</b>智能云台驱动板方案在电力巡检<b class='flag-5'>机器人</b>的<b class='flag-5'>技术</b>应用介绍

    Al大模型机器人

    )大模型AI机器人采用中英文双语应用,目前的知识图谱包括了金航标和萨科微所有的产品内容、应用场景、产品的家属参数等,热卖的型号S8050、TL431、SS8550、FR107、LM321、ZMM5V6
    发表于 07-05 08:52

    国产蓝牙模组 | 低功耗蓝牙应用

    蓝牙技术联盟于2010年推出了蓝牙4.0规范,其中低功耗蓝牙的出现满足了小型电池供电设备进行低功耗
    的头像 发表于 06-14 08:25 329次阅读
    国产<b class='flag-5'>蓝牙</b>模组 | <b class='flag-5'>低功耗</b><b class='flag-5'>蓝牙</b>应用

    全球机器人开发领域采用NVIDIA 机器人开发和生产

    比亚迪电子、西门子、泰瑞达和 Alphabet 旗下公司 Intrinsic 采用 NVIDIA Isaac 机器人平台开发自主机械臂、人形机器人和移动机器人   NVIDIA 于今日
    的头像 发表于 06-03 18:25 1076次阅读

    低功耗蓝牙蓝牙Mesh模块的区别与关系

    低功耗蓝牙模块和蓝牙Mesh模块的区别与关系 蓝牙Mesh并非无线通信技术,而是一种网络技术
    的头像 发表于 05-30 11:13 542次阅读

    基于FPGA EtherCAT的六自由度机器人视觉伺服控制设计

    概述 中国制造 2025 是中国政府实施制造强国战略的第一个十年行动纲领,是全面提升中国制造业发展质量和水平的重大战略部署,其中明确指出了围绕工业机器人创新技术的重要地位。目前工业机器人
    发表于 05-29 16:17

    蓝牙模块选经典蓝牙还是低功耗蓝牙

    energy和Bluetooth smart两者又有什么区别?我的应用应该选经典蓝牙技术还是低功耗蓝牙技术?首先,在2010年以前,当我们
    的头像 发表于 05-23 17:57 676次阅读
    <b class='flag-5'>蓝牙</b>模块选经典<b class='flag-5'>蓝牙</b>还是<b class='flag-5'>低功耗</b><b class='flag-5'>蓝牙</b>?

    其利天下技术·搭载无刷电机的扫地机器人的前景如何?

    随着懒人经济的崛起,智能家居设备的需求呈现出显著的增长态势。作为智能家居领域的一员,扫地机器人因其方便、实用的特性而备受消费者青睐。特别是在无刷电机技术的加持下,扫地机器人不仅提升了清洁效率,还优化
    发表于 05-05 15:03

    基于国民技术N32WB031的蓝牙语音遥控器解决方案

    N32WB031系列蓝牙芯片是国民技术新一代高性能、超低功耗蓝牙5.1芯片,具有丰富的外设接口,在工业/能源、金融/消费、医疗、家电及汽车等行业领域用途非常广泛。本文介绍的
    的头像 发表于 03-08 10:00 1759次阅读
    基于国民<b class='flag-5'>技术</b>N32WB031的<b class='flag-5'>蓝牙</b>语音<b class='flag-5'>遥控</b>器解决方案

    低功耗蓝牙技术的特点 低功耗蓝牙如何实现低功耗

    低功耗蓝牙技术是一种优化的蓝牙技术,专为满足低功耗需求而设计。它通过
    的头像 发表于 02-07 16:49 1571次阅读

    低功耗蓝牙技术发展势头强劲

    今天要跟大家讨论的是低功耗蓝牙技术(BLE)。就字面意思来说,与经典的蓝牙技术相比,低功耗
    的头像 发表于 01-20 10:32 1241次阅读

    一文读懂低功耗蓝牙的应用

    蓝牙技术联盟于2010年推出了蓝牙4.0规范,其中低功耗蓝牙的出现满足了小型电池供电设备进行低功耗
    的头像 发表于 12-28 08:24 753次阅读
    一文读懂<b class='flag-5'>低功耗</b><b class='flag-5'>蓝牙</b>的应用

    低功耗蓝牙模块取代远红外技术遥控器广泛应用于市场

     蓝牙技术的出现对于遥控器来说似乎是一个质变,那些曾经很常见的红外遥控器也随着老电视逐渐退出了市场。虽然万能遥控器曾经火热过一段时间,但是随
    的头像 发表于 12-21 11:18 662次阅读

    用全志R128复刻自平衡赛车机器人,还实现了三种不同的操控方式

    更上一层楼。 硬件设计 本项目中的自平衡赛车机器人的硬件设计结构非常简单,硬件部分主要由R128开发板和几个驱动模块组成。 供电模块 自平衡机器人采用锂电池供电的方式,并利用mini360航模电池降压
    发表于 12-20 10:22

    【应用笔记】STM32WB 低功耗蓝牙无线接口

    低功耗蓝牙是由蓝牙技术联盟(Bluetooth SIG)设计和销售的无线个人局域网技术,该技术
    发表于 12-12 16:30 1次下载