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

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

3天内不再提示

Xbox360控制器陀螺仪转向模块的制作

454398 ? 来源:网络整理 ? 作者:网络整理 ? 2019-11-15 11:52 ? 次阅读
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

步骤1:您将需要:

工具:

烙铁

焊料

焊料吸盘/编织物

剥线钳

一把螺丝起子,也许是梅花刀取决于控制器中的螺钉(我的是十字头)

胶水(最好不是超强胶水,以便以后可以拆开)

USB到串行适配器以对Arduino进行编程

材料:

Xbox 360控制器(duh!)

Arduino Pro Mini(或克隆)(最好为3.3V)。如果使用5V版本,则可能需要一个升压转换器

MPU-6050陀螺仪/加速度计

MCP4725 DAC(如果要控制两个轴,则为两个) )

一些细导线

一个面包板,因此您可以在焊接前进行所有测试(可选,但建议使用)

第2步:分开控制器

您必须卸下七颗螺钉。其中有六个很明显,但第七个在标签后面。我认为删除它会使您的保修失效,因此,后果自负。许多指南说您需要Torx螺丝刀,但是我的却是十字头,因此请检查您的控制器。

然后,小心地撬开后盖。如果撬开前面板,则按钮会溢出,可能会散布到整个房间。从底部将其提起。然后拔下两个振动电机。 (重量较小的一个应该在左侧,重量较大的一个应该在右侧)将PCB取出,并取下模拟摇杆上的橡胶盖。他们只是简单地拉开了。

下一步是移除左侧的模拟摇杆,以免干扰我们的输入,但是左侧的触发机制妨碍了这种操作。为了将其卸下,您必须从板子的前部拆下电位计的三个引脚,然后从PCB上拆下该机构的盖。

接下来,请拆下固定左模拟杆的14个引脚。然后拉开摇杆。

步骤3:将组件固定到位

您将请注意,PCB背面和外壳之间有很大的间隙。

我稍后才意识到,但是这是取消在Arduino上重置按钮的好时机。如果不这样做,则在重新组装时如果拧紧其中一个螺钉,它将压在盒体的背面并使项目停止工作。

我用胶水粘了一块薄卡粘贴到每个PCB的背面以使其绝缘,然后将其粘贴到控制器的PCB上。我不愿使用胶水,但想不出更好的方法。

图像中的位置是我能找到的最佳组合。 Arduino位于左侧,带有复位按钮的边缘与右侧触发机构的塑料片齐平,另一侧位于电线下方,并且拐角尽可能靠近白色连接器。外壳略微隆起,但找不到更好的放置位置。

加速度计在电线的右侧。它应该尽可能平坦和笔直,否则您可能需要稍后编写一些代码来补偿偏移量。请注意,在盒子的背面有一些突出的塑料块,请务必避免。我发现您可以在突出的塑料片上放一些像口红这样的粘性和彩色的东西,然后将后盖放在上面,看看它留下的痕迹。

DAC进入左下角。如果要控制两个轴,这里有足够的空间来堆叠两个DAC,一个堆叠在另一个之上。您无需将它们粘下来。他们将仅通过焊接连接就可以呆在原处。如果要在它们之间粘贴卡,请确保切开卡,以使SCL,SDA,VCC和GND可以访问,因为您将从两侧访问它们。

如果使用两个DAC,请不要忘记切换地址跳线并禁用其中之一的上拉电阻,如下所述:https://learn.sparkfun.com/tutorials/mcp4725-digital-to-analog-converter-hookup-指南

步骤4:焊接导线

现在您已经拥有连接一切。来自所有2/3设备的VCC,GND,SDA和SCL应分别连接到Arduino上的VCC,GND,A4和A5。 DAC是最棘手的部分。如果您有两个,则必须将它们连接在一起,而在某个地方可以将电源和线路连接到加速度计,同时保持OUT线分开。

DAC的OUT引脚应连接到控制器PCB上的引脚,该引脚曾经是模拟摇杆的中间水平电位器引脚。也就是说,在模拟摇杆所在的位置,顶部有三排针。将其连接到中间一个。如果您有另一个DAC,则以相同的方式将其连接到垂直电位计引脚(左侧的行)。更换扳机后,您将无法从背面触到引脚,因此必须将电线连接至电路板的正面。模拟摇杆区域周围有一个圆形的塑料“墙”,但是幸运的是其中有一个方便的间隙,您可以将电线穿过。确保电线不会挡住机箱前部的螺丝柱。

我最初的计划是通过连接到RAW引脚的USB电缆用5V电压为Arduino供电,但是当我尝试时,它没有用。 Arduino没有运行任何东西,几秒钟后Arduino和控制器都关闭了。但是,我发现板子正面靠近黑色外围设备插座的两个引脚有一个稳定的3.3V输出,大概是为外围设备供电。它适用于VCC和RAW,但我选择VCC是因为它已经是正确的电压,并且因为它允许我将其焊接到板底部附近的DAC的VCC线上并节省导线。

请注意,必须从外壳上伸出很多塑料零件,但是如果将电线粘在适当的位置,则只需担心一次。

所有其中很难用文字来描述,所以我提供了图片和粗略的图表。

第5步:对Arduino进行编程

现在您有了对Arduino进行编程。这需要移动控制器上的USB电缆,以便您可以访问Arduino上的串行引脚。我已经包含了我使用的代码。它需要Adafruit MCP4725库,可以在这里找到:https://github.com/adafruit/Adafruit_MCP4725

按原样,该代码使您可以遍历模拟摇杆的整个运动范围通过将控制器向左90度均匀移动,向右90度均匀移动,并通过将其保持平坦状态将其保持在中间。

它通过计算X的反切线来获得控制器的角度轴g力除以Z轴g力。这意味着它可以在控制器垂直,平坦或两者之间有任何角度时使用。 (更多信息,请访问:https://www.digikey.com/en/articles/techzone/2011/may/using-an-accelerometer-for-inclination-sensing)

在我的控制器上有效,但是其他控制器可能需要不同的电压,使其无法对齐。我认为找到电压范围的最佳方法是反复试验。许多游戏都会为您显示模拟摇杆运动的滑块,但是我发现确定运动的最准确方法是在Linux上使用jstest。 (https://wiki.archlinux.org/index.php/Gamepad#Joystick_API)它为您提供-32,767到32,767之间的数字,而不是图形,因此您可以确切地知道操纵杆的位置。将控制器和Arduino USB插入串行适配器,加载jstest并尝试不同的DAC值,直到达到范围的顶部和底部,并记下每个范围。对我来说,它是1,593-382。

第36行是特别令人感兴趣的地方:

dacvalue = (controllerangle + 2.5617859169446084418) / 0.0025942135867793503208 + 0.5;

目前尚不清楚它的作用。简单来说,它获取控制器的角度(以弧度为单位,在?1.57和?-1.57之间测量),并将其转换为DAC的1593至382之间的值。如果您有不同的DAC范围,则需要更改该行。

该行可以写为:

dacvalue = (controllerangle + ) / + 0.5;

使用和是您需要更改的数字。 等于控制器角度(pi)的范围除以DAC值的总范围。 (范围的顶部减去范围的底部)这可以使您尽可能地改变电压,尽管结果将超出所需的范围。这就是为什么您需要的原因。 等于乘以范围的底部再加上控制器运动范围的一半。 (pi/2)将运动范围的一半相加,以确保它不是负数,然后将乘以范围的底部,以确保其与所需的范围同步。

转换时小数点为整数,C ++不舍入。取而代之的是,它会舍去小数,因此9.9变成9。最后加0.5可以确保一半以上的内容都可以到达下一个整数,因此可以四舍五入。

一旦您上传了程序,make

第6步:重新组装控制器

将控制器拆回的方式与您拆开控制器的方式相同(减去左侧)模拟棒。现在应该可以工作了。我发现没有明显的延迟,而且比使用模拟摇杆要好得多。因为它使用加速度计,所以会受到突然运动的影响,但是您必须格外注意它。

步骤7:可能的改进

可以进行一些改进。其中包括:

使用较少的电磁线

将所有内容蚀刻到一个旨在适合控制器外壳的PCB上

重新连接左侧的模拟杆并将支脚连接到Arduino上的模拟输入,以便它们可以用于调整Arduino

获取无线控制器的后壳并将项目放入电池仓(这需要将电池USB电缆孔)
责任编辑:wv

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

    关注

    114

    文章

    17286

    浏览量

    185727
  • 陀螺仪
    +关注

    关注

    44

    文章

    857

    浏览量

    100397
  • Xbox
    +关注

    关注

    0

    文章

    187

    浏览量

    17547
收藏 人收藏
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

    评论

    相关推荐
    热点推荐

    为什么三轴MEMS陀螺仪是无人机飞控系统的核心传感

    在现代无人机技术中,三轴MEMS陀螺仪扮演着至关重要的角色。作为飞行控制系统的核心传感,它通过实时测量飞行的角速度变化,为稳定飞行提供关键数据支持。以ER-3MG-063 MEMS
    的头像 发表于 08-07 17:37 ?329次阅读
    为什么三轴MEMS<b class='flag-5'>陀螺仪</b>是无人机飞控系统的核心传感<b class='flag-5'>器</b>?

    MEMS陀螺仪如何实现高精度寻北?

    MEMS陀螺仪的寻北功能,其核心在于精确测量地球自转角速度的分量。通过解算这些分量,即可确定地理北向。得益于MEMS技术的持续发展,此类陀螺仪在精度与稳定性方面已实现显著跃升。
    的头像 发表于 07-29 18:00 ?211次阅读

    这款经济型MEMS陀螺仪如何驱动智能化浪潮?

    这款经济型MEMS陀螺仪如何驱动智能化浪潮? 在无人机稳定悬停、机器人灵巧作业、自动驾驶车辆精准导航以及工业设备高精度控制的核心,一个关键的感知元件正发挥着不可或缺的作用:MEMS陀螺仪(角速度
    的头像 发表于 07-22 11:32 ?200次阅读

    MEMS陀螺仪有哪些分类?

    你是否好奇,手机里的指南针、无人机稳定的飞行姿态,甚至火箭精准的导航,背后都离不开一个微型“旋转感知”?这就是MEMS陀螺仪!它凭借小巧身材、低廉成本和优异性能,正在取代笨重的传统陀螺仪,深入我们
    的头像 发表于 07-21 15:58 ?209次阅读

    MEMS陀螺仪正在取代光纤陀螺仪

    一、微型科技巨匠:MEMS陀螺仪揭秘 何谓MEMS? MEMS(微机电系统)是融合了微电子与微机械的神奇技术。它能在指甲盖大小的硅芯片上集成复杂的传感、执行和处理电路,实现微观世界的数据感知
    的头像 发表于 07-08 16:45 ?305次阅读

    MEMS陀螺仪如何成为无人机精准飞行的核心引擎?

    MEMS陀螺仪如何成为无人机精准飞行的核心引擎 ? 在无人机技术日新月异的今天,实现卓越的自主飞行能力、完成复杂机动任务以及适应多变环境,其基石在于对飞行姿态的 精确感知 。作为飞行控制系统(飞
    的头像 发表于 07-04 10:37 ?241次阅读

    MEMS 陀螺仪如何塑造精准控制的世界?

    陀螺仪,也被称为角速率传感,它持续感知设备的姿态、转动状态与方位。 ER-MG-056 单轴 MEMS 陀螺仪正是这一领域的创新代表。它采用紧凑的 11x11x2mm 密封陶瓷 LCC 表面贴装封装,在提供战术级性能的同时,
    的头像 发表于 07-03 16:24 ?294次阅读

    振动陀螺仪传感的工作原理

    陀螺仪传感,也称为角速率传感或角速度传感,是一种感测角速度的设备。陀螺仪传感种类繁多,比
    的头像 发表于 06-16 16:29 ?570次阅读
    振动<b class='flag-5'>陀螺仪</b>传感<b class='flag-5'>器</b>的工作原理

    陀螺仪在钻井或测井中有何用途?

    钻井与测井作业对定向和井眼轨迹控制要求较高,传统光纤陀螺仪和磁性测斜体积大、抗干扰能力弱、成本高。MEMS陀螺仪凭借其微型化、高可靠性和环境适应性,成为钻井、测井核心器件。
    的头像 发表于 06-10 17:46 ?485次阅读
    <b class='flag-5'>陀螺仪</b>在钻井或测井中有何用途?

    MEMS陀螺仪的寻北原理是什么?精度如何?

    MEMS陀螺仪的寻北技术核心原理基于地球自转特性,通过测量角速度分量解算出地理北向。随着MEMS技术的不断进步,MEMS陀螺仪性能也在不断提升,已经具备了较高的测量精度和稳定性。
    的头像 发表于 06-04 17:50 ?490次阅读
    MEMS<b class='flag-5'>陀螺仪</b>的寻北原理是什么?精度如何?

    爱普生XV7021BB陀螺仪传感在人机交互中的应用

    在元宇宙、智能穿戴与工业自动化加速融合的今天,人机交互的核心挑战已从“功能实现”转向“体验升维”。爱普生XV7021BB单轴陀螺仪传感凭借±400°/s高精度角速度测量0.0016°/s/°C
    的头像 发表于 04-01 14:13 ?468次阅读
    爱普生XV7021BB<b class='flag-5'>陀螺仪</b>传感<b class='flag-5'>器</b>在人机交互中的应用

    爱普生XV-9300LP汽车陀螺仪传感的特征和用途

    汽车技术的快速发展提升了传感在汽车行业的重要性,陀螺仪作为关键传感,对车辆导航、自动驾驶和安全控制至关重要。爱普生,作为传感制造的全球
    发表于 11-25 16:02 ?0次下载

    爱普生X2A0002710002 XV7011BB陀螺仪传感器用于高精设备行业

    作为传感中的重要一类,陀螺仪传感自然受到了广泛的运用,上至航空航天项目,下至汽车行业,乃至医疗设备,智能手表穿戴设备,都离不开陀螺仪传感
    的头像 发表于 11-04 13:32 ?618次阅读
    爱普生X2A0002710002 XV7011BB<b class='flag-5'>陀螺仪</b>传感器用于高精设备行业

    优可测白光干涉:激光陀螺仪提升良率与精度的关键

    激光陀螺仪广泛应用于航空航天、军事防御、海洋勘探、自动驾驶等领域,其高灵敏度、强抗干扰和可靠性源于精密制造技术。优可测白光干涉助力激光陀螺仪镜片精度提升,提高生产效率和良率。
    的头像 发表于 09-28 08:06 ?1261次阅读
    优可测白光干涉<b class='flag-5'>仪</b>:激光<b class='flag-5'>陀螺仪</b>提升良率与精度的关键

    爱普生(EPSON) 惯性测量单元(IMU)、陀螺仪传感模块应用领域选型介绍

    爱普生(EPSON)惯性测量单元(IMU)、陀螺仪传感模块应用领域选型介绍EPSON传感包括XV7011BB等单轴高精度陀螺仪和M-G
    的头像 发表于 09-02 14:58 ?1700次阅读
    爱普生(EPSON) 惯性测量单元(IMU)、<b class='flag-5'>陀螺仪</b>传感<b class='flag-5'>器</b>等<b class='flag-5'>模块</b>应用领域选型介绍