所有关于电路
项目

用PICAXE和红外传感器控制伺服系统

2016年12月29日经过Charles R. Hampton.

可以使用Picaxe 08M2读取落在光电晶体管上的IR(红外)光量并通过将伺服移动到预定位置来响应。

了解如何将Picaxe,IR传感器和伺服电机组合以创建响应移动刺激的设备。扰流板:我把它挂在一个手指的眼球上。

相关信息

PICAXE是什么?

PICAXEs是PIC微控制器,预先加载了引导代码,允许用BASIC语言编程。所有关于电路提供了一系列的文章,作为选择和使用PICAXE家族的任何芯片的指南。这篇文章将提供一个很好的起点,并引导您阅读本系列的其他文章。

项目概述

这个项目包括建立一个电路,使用普通的红外(红外)led来产生红外辐射,以及一个红外光电晶体管来检测反射的红外光。光电晶体管的电压随接收到的红外光的强度而变化。一个特殊编程的PICAXE微控制器将这个模拟电压转换成数字格式,并将其存储起来,以便与其他红外光电晶体管的输出进行比较。

根据红外线的相对电平,PICAXE向伺服电机发出信号,使其旋转到预定的位置。因此,反射的红外光可以用来控制物理运动。

伺服系统是什么?

伺服或更具体地伺服电机是机电装置,该机电装置由(1)电动机包括可接近的输​​出轴,(2)确定输出轴的旋转位置的机构,以及(3)电子电路以接收控制信号并相应地定位输出轴。

小型伺服最常见的用途之一是移动油门和控制表面的无线电控制飞机。伺服系统有各种各样的尺寸、形状和功能。适合这个项目使用的伺服是Tower-Pro MG996R,如下图所示。

MG996R伺服工作在4.8V到7.2V,并可以从500毫安到几乎全安培取决于其负载。输出轴覆盖范围120度(中心每边60度)。要获得更完整的描述,请下载并阅读数据表。一个小小的在线研究将产生所有你可以想象的关于伺服电机的信息。

MG996R_Tower-Pro.pdf

IR伺服控制器电路

IR伺服控制器的电路示意图如下所示。

点击扩大

注意有三个相同的红外光产生和检测子电路:第一个由LED1、LED2、R3、R4和Q1(红外敏感光电晶体管)组成;第二个由LED3、LED4、R5、R6和Q2组成;第三个由LED5、LED6、R7、R8和Q3组成。在三个子电路中的每一个,led产生红外辐射,光电晶体管检测到它并在发射极节点产生电压。如你所见,光电晶体管的基部没有物理连接;集电极到发射极的电流由接收到的光控制。因此,电压输出的振幅随照射在光电晶体管上的红外光的强度而变化。

三个输出电压分别通过限流电阻显示到一个U1输入端(PICAXE 08M2微控制器),在U1输入端将模拟值转换为数字值并存储起来。可变电阻VR1到VR3用于平衡电压和补偿落在每个光电晶体管上的不相等的环境光;减小电位器的电阻就会减小发射极和地之间的等效电阻,从而导致施加在微控制器输入引脚上的较低电压。

PinC.0(在分支7上)的U1是伺服系统控制信号的输出。R12是一个电流限制电阻,保护连接到伺服系统信号的微控制器引脚。PICAXE引脚的电流不应超过20mA,当5V逻辑高信号短路到地时,330 ω电阻限制电流为15mA。

J1, R1, R2组成U1的编程电路。

零件列表

除了配套的电线,焊料,perfboard,和良好调节的5VDC, 500mA电力供应,您需要以下部分:

部分参考。 描述 项目编号
LED1,LED2,LED3 发光二极管,940nm, t13 /4 Digi-key. 160 - 1062
Q1、Q2、Q3 光电晶体管,IR,NPN,935nm,T1 Digi-key. 365-1066-nd.
R1. 电阻,1/4W,22kΩ Digi-key. 22 kqbk-nd
R2,R4,R6,R8 电阻,1/4W,10kΩ Digi-key. 10 kqbk-nd
R3, R5, R7 电阻器、1/4Q 27Ω Digi-key. 27 qbk-nd
R9,R10,R11 电阻器1/4W 1 kΩ Digi-key. 1.0 kqbk-nd
R12 电阻器,1/4W 330Ω Digi-key. 330年qbk-nd
C1. 电容器,陶瓷,.1µF, 50V Digi-key. 399 - 9797
j - 1 杰克,3.5毫米,3-Conductor Digi-key. cp1 - 3533 - ng - nd
VR1、VR2 VR3 电位计1/2W 10 kΩ Digi-key. 3362 p - 1 - 103 -低频
U1. 单片机,PICAXE 08年m2 + Phanderson.com. Picaxe 08m2 +
N/A 面包板,无焊,400个触点 Digi-key. 377-2094-ND
N/A 伺服,塔pro MG996R或同等产品 Adafruit 1142.

IR伺服控制器组件

IR伺服控制器的完成组件如下图所示。

点击放大文中讨论了电路板电源PCB这篇文章

电路的红外部分(在原理图中的红色矩形内)建于照片底部的Perfboard上。该电路的剩余部分基于400针无焊接面包板内置。请注意,照片中的组件编号和电线颜色同意原理图中的颜色。您是您选择是否完全按照上面所示构建组件或设计您自己的布局。

当组装的无焊点电路板部分留给混乱的空间,红外部分的perfboard可能需要一些额外的信息。首先,下面的照片显示了使用的红外LED和红外光电晶体管,并被提供来帮助识别LED的阴极引线和光电晶体管的集电极引线;两者都在照片的顶部,毗邻设备外壳的平面部分。如果您需要更多的信息,请查看每个设备的数据表(可从供应商获得)。

一个额外的细节要求是在三个光电晶体管的每一个上使用一小段热收缩管,以防止红外光进入除圆尖端以外的任何地方。管应该刚好足够长,以覆盖光电晶体管外壳的侧面,并应开放,以暴露圆形尖端,如下图所示。

的代码

代码如下所示,并且注释良好。如果您不清楚程序的任何部分,特别是伺服和servopos命令,请参阅PICAXE基本手册。Picaxe编程文章在所有关于何处的电路这一个也是很好的资源。此外,Picaxe论坛拥有非常有知识和乐于助人的成员,他们愿意并能够协助解决问题。

您可以使用下面的按钮下载代码。

IR_Servo_Controller_Code.zip

操作

正如您可能已经从原理图和代码中了解到的,项目的操作相当简单。所有6个发光二极管都连续辐射出红外光,其中一部分光被3个红外光光电晶体管接收。由于光电晶体管的两侧覆盖着热收缩管,大部分的红外光必须通过发光二极管和光电晶体管上方的某些表面反射,通过每个光电晶体管的圆形末端进入。这个表面可以是你的手、你的脸或其他东西,比如一张纸,直接在反射表面下的光电晶体管将接收到最多的反射光。

如果一个相对较小的物体(例如您的指尖)在Perfboard组件上方来回移动,则落在每个光电晶体管上的反射光的量将随手指的位置而变化。直接在手指下方的光电晶体管将接收比其他两个光电晶体管更反射的IR光。

当来自右光扫描器的电压最高时,代码使伺服移动到右侧位置,当来自中心光电晶体管的电压最高时,到中心位置,并且当来自左光刻晶体管的电压时,左侧位置最高。因此,附接到伺服的臂将在三个方向之一中指向,并且当适当调整时,将在穿透组件上方移动时,将跟随您的手指。

机械工程师:不要看!

虽然可以找到这个项目中提出的原则的实际应用,但一个非常不切实际的应用可能会更有趣。下面的视频展示了这样一个有趣的,不实用的用法。

下面的照片显示了在视频中使用的伺服控制眼球的细节。

正如你将注意到的,一个不同的伺服被使用从一个在零件清单;任何类似的伺服系统都可以替代。同样明显的是,这个组件是由木头碎片、回形针和热胶组成的。所有MEs无疑会畏缩和/或咯咯的施工技术,但装配只是为了乐趣;每个人都可以按照自己的标准和/或喜好来建造。所使用的眼球是在eBay上可以买到的22毫米的丙烯酸工艺部件。

现在怎么办呢?

读者中越有趣的乐趣可能决定将这个项目融入脸上的绘画,眼睛似乎追随有人在绘画前移动。更严重的读者可能更愿意修改代码以执行更复杂的操作,或者重新设计电路以包括更多传感器和更大的Picaxe。。。或者将传感器的数量减少到一个,并将其用作更好的捕鼠器的触发器。无论您如何想象,电子产品可能会帮助您实现它。

自己尝试一下这个项目吧!BOM。

4评论
  • m
    魔术师 2017年1月06日

    嗨,我有两个评论和一个问题:
    1.如果要使用较少的电流,您可以通过100 OHM Poti将电流调整为每个IR二极管串以平衡光学传感器系统。或者您将3个ADC值乘以3个校准值以平衡。必须在传感器前面的白纸上找到校准值。
    2.我将使用的程序结构如下:
    一个循环,首先读取所有3个传感器,然后一个IF命令和两个ELSE设置伺服值。

    但现在我的问题:
    我可以得到一个PIC控制器的代码来使用它作为pic斧部分吗?我有一些PIC18F45K22,我想使用它们与PICAXE快速编程。

    喜欢的。 回复
    • Charles R. Hampton. 2017年1月06日
      谢谢你的建议。关于将PICS转变为PICAXES的源代码,PICAXES的制造商(革命教育)不发布它。beplay网页版本因为他们放弃了IDE,他们想在Picaxe筹码上赚一点钱。
      喜欢的。 回复
  • P.
    pellumbb 2017年8月1日

    你能解释这个“J1,R1和R2来构成U1的编程电路。”如果您不能从哪里来源的编程电缆?

    喜欢的。 回复