第1步:清单
首先,您必须找到所需的所有部件:
步进电机:我使用过一个从旧打印机恢复的。您可以在打印机,扫描仪,任何类型的机器人,有时是电器等中找到这些电机。您将识别它们,因为它们有4根或更多根电线。
Arduino :我使用(克隆)纳米版本因为它的尺寸很方便,但每个人都是一样的。
你将还需要一个 DC-DC降压电压调节器来调节12V望远镜电源的电压(或者你可以使用一些电池)来运行电机和Arduino所需的电压。
当然, Nunchuck (a假的也很好)
各种尺寸的齿轮将运动从电机传递到旋钮
1(红色)Led
1电阻( 220欧姆)
1个穿孔板
金属板或一点点巧妙地将设备连接到您的伸缩臂上应对
电线,士兵,(最终)面包板,连接器,工具
当然,特别是第6和第7点取决于你的望远镜,所以我不能真的告诉你如何做这部分项目,但在这里你可以解开你的巧妙!
我做的第一件事就是找路将电机连接到望远镜管上。
我很幸运,因为我从打印机中恢复的电机有一个板(我称之为电机板),内置两个齿轮,所以我只需要在望远镜上挡住那个板。但是,你真的不需要它,你可以直接将电机连接到我将要谈论的L形板上。
我设法切割了我车库里的1mm金属板为了获得一个L形板。
利用固定聚焦旋钮的两个螺丝,我将L板固定在望远镜上,然后将电机板安装到L型,如同图片。通过这种方式,我最终也可以通过旋转L电极上的电机板将电机与聚焦器分开(用于手动调节)。
完成后,问题是:如何转动旋转运动从我在电机板上的齿轮到聚焦旋钮?
我虽然是传动带,但我没有人,它本来很难找到一个合适的长度并找到两个齿轮开车吧。此外,腰带有可能在未来失去弹性;所以我放弃了这个选项。
我认为最好的解决方案是通过齿轮直接将电机连接到旋钮。
现在的问题是:我用什么齿轮必须使用,我在哪里可以找到它们?
如果您足够幸运,您的旋钮已经开槽(作为齿轮),您只需在电机枢轴上插入兼容的齿轮,然后触摸带凹槽的旋钮。
然而,我的旋钮几乎是光滑的,所以我需要在旋钮上安装一个齿轮并与安装在电机上的齿轮进行通信(或者就像我的齿轮系一样)。我选择3D打印那个装备,这样我就能得到我所需要的。结果非常好,我终于能够将动作从电机转移到旋钮。
我还安装了一块加强板(如图所示),以防止主板弯曲旋转电机。
好的,机制准备就绪,让我们现在跳到“复杂”部分!
第3步:电气工程师
现在我们需要控制电机。
注意#1:在附件中你会发现电气方案,arduino引脚方案,降压数据表和l293方案。除此之外,您还可以在面包板上找到电路设置的标签图片。请注意,面包板右侧有两个按钮。只是忽略它们,我们不会使用它们,它们应该没有在那里:)
注意#2:如果你打算使用我的设置(Arduino Nano)你没问题,否则你只需要最终改变一些引脚连接。
要做的第一件事就是建立电子电路。
我上传了这个方案,所以你很容易设置它。
你可以先在面包板上试一下电路,然后(在编写arduino之后(下一步是关于它))将所有东西都焊接在一个穿孔板上,就像我一样。
现在,我想向你解释这个计划,这样你就可以深刻地意识到你在做什么。
所以:
首先,你需要力量。我将整个电路连接到我用于望远镜支架的电源供应商,但您可以按照自己的喜好进行操作。根据您购买的步进电机,您需要一个特定的电压才能运行。在我的情况下它大约是8伏特,所以我需要一个DCDC降压(能够降低连续电流电压的设备)从12V到8V。我选择了MP1584(请参阅附带的文档),这也允许我调节输出电压。
然后我将所有需要电源的电机(电机,l293d,arduino)连接到降压的+输出。
特别是,您可以通过引脚30上的引脚为arduino供电(有关更多信息,请参阅arduino网站)。要为电机和l293d供电,必须在l293d芯片上为引脚1,8,9,16供电。
现在,将l293d上的引脚4,5,12,13和arduino上的引脚4连接到电路共同点(它基本上是电压降低的输出)。
完成后,你必须将电机连接到l293d芯片,以便从arduino控制它。
通常的步进电机由两个线圈组成,一个是垂直线圈,另一个是水平线圈。在它们内部有一个由磁铁构成的转子。交替线圈上的电流,可以在线圈内部产生旋转磁场(View Biot-Savart定律)。磁铁(或转子)受到该旋转磁场的影响,并开始自身旋转,以便与场线对齐。这将导致转子旋转。
这基本上就是步进电机的工作方式(我将在下一步详细解释它)
现在我们要做的是识别哪些电线来自线圈,哪个电线来自另一个。您可以使用数字万用表检查哪些导线相互连接:尝试所有组合,然后您将确定与两个线圈相对应的两对导线。
完成后,连接一根导线从l293d上的一个线圈到引脚3,另一个(从相同的线圈)到l293d上的引脚6。另外,将另外两根线从另一根线圈连接到l293d上的引脚11和14上。
现在你必须将l293d连接到arduino:
按照方案完成。
接下来要做的是将nunchuck连接到arduino,它将收到来自它的数据并控制电机。
首先,除非你有一个用于双节棍特殊销钉的槽,否则切断双节棍线。你现在将有来自双节棍的5条小线。我们将只使用它们中的4个(白色,黄色,绿色和红色)。
为了进行通信,双节棍使用I2C协议,该协议使用由时钟线和数据构成的总线一。黄色线是时钟的黄色线。将其连接到arduino上的模拟A5引脚。双节棍绿线用于数据。将它连接到arduino上的A4引脚。双节棍红线用于3.3V营养。 Arduino具有3.3V输出引脚(引脚17),因此将红线连接到它。将双节棍白线连接到电路公共地。
好的,你差不多完成了。
只需在电路中添加一个LED(红色是夜间观察的最佳选择),这样我们就可以得到一些关于正在发生的事情的反馈。在电路中。
我们想要的效果是当我们向前或向后推动双节棍操纵杆时,让LED更亮。为此,我们需要一个特殊的arduino引脚,一个具有PWM功能的引脚,允许您调制输出脉冲以调节LED亮度。在arduino上使用16针。将其连接到220欧姆电阻器,然后连接到LED的阳极。然后将LED阴极连接到地面。
最后,您必须调节dcdc上的螺丝降压,以便输出正确的电压(见图)。 (你可以通过将dcdc降低电源并使用数字万用表测量输出电压,同时根据电机数据表调节输出电压(注意不要克服通过引脚为arduino供电的最大电压)(它是这里所说的20V:https://store.arduino.cc/arduino-nano)。
哦,做得好!
现在,在焊接一切之前,让我们告诉arduino它是什么必须这样做!
第4步:软件工程师
注意:我已经附加了我在此项目中使用的.ino版本和.txt版本的代码
在这里,我们将对arduino进行编程并告诉它它与从nunchuck接收的数据有什么关系。
在做任何事情之前,断开arduino引脚30和4与前一个电路的连接,从现在开始我们将通过usb将arduino连接到我们的电脑,它将从USB连接接收所需的电源。
完成后,使用micro usb电缆将arduino连接到您的电脑。比启动arduino应用程序(你可以从这里下载:https://www.arduino.cc/en/Main/Software?)并从[工具 - 》端口]中选择你已连接到arduino的usb串口。现在创建一个新项目。我们已准备好开始。
我们可以将目标划分为两个子目标:
从双节棍获取数据
使用这些数据控制电机(和LED)
让我们继续订购:
从nunchuck收集数据的最简单方法是使用专用库(它被称为ArduinoNunchuck,您可以从这里下载:http://www.marcopucci.it/wp-content/uploads/2013/。..)
下载并将其导入arduino软件。
由于这个库,arduino会将来自双节棍的数据存储在某些特定的数字变量中。我们只需要一个与操纵杆垂直运动相对应的一个,它叫做nunchuk.analogX。我们需要知道的是当操纵杆处于静止状态时nunchuk.analogX的价值是多少。为了做到这一点,从arduino应用程序转到[files-》 examples-》 arduino nunchuck-》 arduino nunchuck demo]并运行它。打开串行监视器,您将看到一个数字列表。 (与附图中的相似)在第一列中显示了与nunchuk.analogX对应的不同时刻的数字。尝试垂直移动操纵杆,您将看到它们发生变化。你要做的就是记住当操纵杆处于静止状态时以及处于两个极端时所获得的数字(我的是:其余为124,极端向上为255,极端向下为0)。
稍后您将需要这些数字。
现在让我们转到任务编号2:我们如何控制步进电机?
实际上,有几个这样做的库,比如Stepper或者AccelStepper,但我更喜欢编写自己的代码来控制电机。该想法是,如在前一步骤中所解释的,对于步进电机旋转,它需要旋转磁场,其中连接到枢轴的转子(即磁体)可以旋转。在你的电机中有两个线圈,相互垂直,两个都垂直于电机枢轴(见附图)。通过这种设置,您可以通过这种方式获得旋转磁场:
如果线圈A中的电流向上并且线圈B中的电流为零,由于物理学,我们知道线圈A内部会有是一个向下的磁场,所以转子北极将是下行。
我们将A中的电流变为零,让B中的电流向右流动,因此磁场将向左,转子向北杆将左侧
然后我们让A中的电流向下流动,我们将B中的电流设置为零,因此磁场向上,转子北极向上
最后我们将A中的电流设置为零,让B中的电流向左流动。磁场现在向右,转子北极是右侧
EtVoilà,磁场顺时针旋转一圈,因此转子也是如此,因此电机的枢轴也是如此。
交换步骤2和4我们得到一个逆时针旋转。
我们可以通过改变每一步之间的时间延迟来改变电机速度:延迟越小,电机就越快。
正如您将在附带的代码中看到的那样,在实现arduino代码完成一次完整转换所需的前4个步骤中没有任何困难。
然后我们让arduino在循环中执行这4个步骤
现在,我们都知道如何从双节棍中获取数据以及如何控制电机。
我们要做的就是使用数据从nunchuck到控制电机。
我们可以通过在nunchuk.analogX中使用数字arduino存储来实现,因为我们垂直移动操纵杆。
我们将创建一些范围的nunchuk.analogX变量的值,并为每个范围分配电机旋转步骤之间的延迟时间值。
这样做,在垂直移动操纵杆的同时,根据我们“落入”的范围,我们将获得不同的电机转速。
另外,我们将告诉arduino如果nunchuk.analogX大于我们为操纵杆静止位置获得的值,则电机必须顺时针移动。如果nunchuk.analogX小于静止值,则电机必须逆时针移动。
这样,根据我们推动操纵杆的方向,电机将以不同的速度顺时针移动,并且如果我们向后推动操纵杆,则相反。
无论如何,代码被评论得足以让你很难迷失它。
最后要做的事情是控制LED。
我们可以通过使用函数analogWrite(LED,亮度)来调节LED亮度,取决于操纵杆位置,其中“led”代表引脚(在我们的例子中为16)附着,并且“亮度”是量化LED亮度的数字。该数字必须与nunchuk.analogX给出的值成比例。经过一些试验,我发现“亮度”的最佳表达方式是:亮度= 6 ^ abs(nunchuk.analogX - 124)
这样,当操纵杆位于时,LED会亮一点静止位置(意味着电路开启),如果我们向上或向下移动操纵杆,它将增加亮度。
好的,一切都应该很好,现在可以焊接了!
第5步:设计师
注意:在附图中你可以找到一些照片烙铁在作用和焊接的各个阶段。除此之外,我重新安装了电气方案,以便在焊接前仔细检查连接是否有用。
现在一切正常,我们必须重新排列所有内容。更好的方式。
首先,我们必须焊接我们已经放置在面包板上的所有组件(步骤2)。
我(显然)使用了烙铁和支撑底座PerfBoard。我使用从绞线上切割的电线制作了所有连接。我还决定不直接焊接arduino和l293d芯片。相反,我焊接了两个插槽,我插入了两个组件。
我选择使用USB连接器将Nunchuck连接到电路板(因为它只有4根电线)。所以我将USB引脚连接到双节线(如图中所示)和USB插槽连接到PerfBoard(确保在完成所有这些连接器的连接时遵守电气方案)。
然后,我选择白色6针连接器(虽然正如我在介绍中所说的那样(当然你只需要4)将电机连接到电路板上。 (我选择这个连接器只是因为它已经安装在我的电机线上)。对于电源连接,我选择了一个普通的圆柱形插孔,然后我连接到(正如我所说的,如图所示)我用于望远镜支架的12V电源。在任何情况下,您都可以使用您喜欢的每个连接器(只需确保它有足够的引脚作为您必须连接的电线)。
焊接完所有东西之后,我连接了所有电线,我给了电源和。..
结果令人惊讶。即使在300倍视距目镜下,我也可以在焦距上进行最小的校正而不会在我的视野中进行最小的移动。
与手动调焦器调整相比,它只是白天和白天。
我做的最后一件事是3D打印一个专门为我的电路板设计的盒子,然后我把它挂在我的望远镜上,用一根绳子和一个钩子,如下图所示。
第6步:快乐的天文学家!
我给你留下了一个关于行动中的恶魔装置的短片和一些终极Nunchuck&Arduino Controlled Focuser的照片。
-
聚焦
+关注
关注
0文章
10浏览量
8708 -
望远镜
+关注
关注
0文章
129浏览量
15813
发布评论请先 登录
相关推荐
评论