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

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

3天内不再提示

如何使用Arduino驱动的步进电机来驱动时间推移轨道

454398 来源:wv 2019-08-28 10:00 次阅读

步骤1:工作原理

如何使用Arduino驱动的步进电机来驱动时间推移轨道

对于时间推移摄影,我使用由Gunther Wegner设计的名为 LRTimelapse Pro-Timer 的间隔计。这是一款高品质的开源间隔计,适用于您可以自行构建的时间流逝,宏观和天文摄影师。 Gunther,非常感谢您为时间推移社区提供的这个神奇工具。 (有关更多信息,请参阅lrtimelapse-pro-timer-free)

我刚添加了一些代码来控制步进电机

工作原理:时间Lapse Rail适用于 从属模式 。这种方法非常可靠。这意味着我正在使用LRTimelapse Pro-Timer Intervalometer设置拍摄张数和拍摄间隔。间隔计向相机发送信号以发射快门。拍摄照片后,相机会向运动控制器发送信号,以便在移动/拍摄/移动序列上移动导轨的滑块。启动序列的信号来自相机的闪光灯热靴。相机的闪光灯设置为后帘同步,因此当相机的帘幕关闭时,信号将被发送回运动控制器。这意味着滑块仅在快门关闭时才会移动,因此无论曝光长度如何都可以使用。

材料:从运动控制器到相机需要两根电缆(相机)特定型号)1) 相机快门释放电缆 ,带2.5 mm插孔和2) 热靴适配器 使用插头到公头闪存PC 同步电缆线 和一个3.5毫米插孔。

步骤2:运动控制器板

硬件:滑块的移动是通过连接到 NEMA 17步进电机的螺钉进行的。步进电机由 Arduino UNO 控制的 EasyDriver 驱动。为了使用具有不同电源组(从9v到30v)的控制器,我添加了 LM2596 DC-DC Arduino兼容电源模块来调整电压。请参阅附带的 “Arduino Wiring.PDF” 。

使用2.5 mm插孔将相机快门释放电缆插入控制器。根据附件“ 快门释放.PDF ”中的原理图连接插孔。 Hot Shoe Adapter的电缆使用3.5 mm插孔插入控制器。有两种不同的尺寸可以避免将电缆插入错误的端口

步骤3:Arduino代码

在编码之前区分各种操作很重要你想实现。 Arduino允许使用所谓的 void 。 void是程序的一部分(代码行),可以在必要时随时调用。因此,将每个操作放在单独的空白上可以使代码保持井井有条并简化编码。

Sketch Logics.pdf 附件显示了我想要实现的操作及其背后的逻辑。

第4步:Arduino代码1 - 铁路起始位置

第一个空白用于在启动控制器时将导轨发送到起始位置。

控制器有一个方向切换开关。在启动时,滑块沿切换器选择的方向移动,直到它碰到导轨末端的限位开关;然后它向后移动一个用户定义的距离(这是0或对应于导轨另一端的值)。现在这是滑块的起始位置。

使用附件中的代码 BB_Stepper_Rail_ini.txt

步骤5:Arduino代码2 - 双功能按钮

第二个空白用于手动移动滑块即可。在开始延时序列之前设置摄像机时,这非常有用。

控制器有一个按钮,有两个功能:1) 短按 (不到一秒钟)按用户定义的数量移动滑块。 2) 长按 (超过一秒)将滑块移动到导轨的中间或末端。两个函数都按照切换开关选择的方向发送滑块。

使用附件中的代码 BB_Dual-function-push-button.txt 《测试此void。/em》

步骤6:Arduino代码3 - 从属模式

第三个空白用于每次拍摄后将滑块移动一定量 。相机闪光需要设置为“后帘”。在镜头结束时,闪光信号从闪光灯热靴发送到控制器。这将启动序列并将滑块移动一定量。每次移动的距离通过将轨道长度除以 LRTimelapse Pro-Timer 中选择的镜头数来计算。但是,可以定义最大距离以避免在拍摄次数较少时快速移动。

使用附件中名为 Slave mode.txt的代码测试此空白。 的

第7步:Arduino Code 4 - Quad Ramping

第四个空白是一个渐变选项,可以更顺畅地进出。这意味着每次移动的距离将逐渐增加到设定值,并且在轨道的末端将以相同的方式减小。因此,当观察最终的延时序列时,摄像机的运动在轨道的开始处加速并且在轨道的末端处减速。典型的Quad加速度曲线显示在附图中(缓入和缩小)。可以定义斜坡的距离。

我在Excel中测试了算法,并根据附图设置了加速和减速曲线。使用附件中的代码测试此void,该文件名为 BB_Stepper_Quad-Ramping-calculation.txt

注意:此四边形渐变是不要与曝光长度变化的灯泡渐变或者拍摄间隔改变的间隔渐变混淆。

步骤8:Arduino代码5 - 与LRTimelapse Pro-集成计时器

LRTimelapse Pro-Timer 是一款免费的开源DIY间隔计,适用于由Gunther Wegner为延时摄影师社区提供的延时,微距和天文摄影师。在为我的相机建造一个单元后,我发现它非常好,以至于我开始考虑如何使用它来驱动我的轨道。随附的 LRTimelapse Pro-Timer 091_Logics.pdf 是一个简短的手册,展示了如何导航程序。

附件 BB_Timelapse_Arduino-code.pdf 显示LRTimelapse Pro-Timer Free 0.91的结构,绿色表示我为操作滑块添加的代码行。

BB_LRTimelapse_091_VIS.zip 包含Arduino代码,如果你想要去。

附件 BB_LRTimer_Modif-Only.txt 文档列出了我对Pro-Timer的补充。当Gunther使它们可用时,它可以更容易地将它们集成到新版本的Pro-Timer。

步骤9:Arduino代码6 - 变量和设置值

螺钉的螺距可能不同,或者如果使用皮带,皮带的螺距和皮带轮上的齿数也可能不同。此外,步进电机每转的步数和导轨的长度可能不同。因此,跨越轨道长度的步数从一个轨道变为另一个轨道。

为了使控制器适应不同的轨道,可以在程序中调整一些变量:

计算与限位开关之间的导轨长度相对应的步数。在变量中输入值: long endPos (即,使用此instructable中显示的螺钉驱动的导轨,此值为126000)

在开始时查看框架组成当使用跨越效果时,我使用长按选项和按钮。在变量中输入与导轨中间相对应的步数: long midPos (即,使用此指示中显示的螺钉驱动的导轨,此值为63000)

在LRTimelapse Pro-Timer中,您必须输入要拍摄的照片数量。程序将轨道长度除以此数字。如果您拍摄400张照片并且您的导轨为1米,则每个滑块移动将为1000:400 = 2.5 mm。对于100张图片,该值为10毫米。这对于一个动作来说太过分了。所以你可能决定不使用你的全长。输入变量中允许的最大移动: const int maxLength (即,使用此instructable中显示的螺钉驱动的导轨,此值为500)

按下按钮时比一秒钟它将滑块移动一定距离,该距离可以在变量中设置: int inchMoveval (即,使用此指示中显示的螺钉驱动的导轨,此值为400)

Quad Ramping可以平滑进出。您可以决定斜坡在轨道开始和结束处的持续距离。该值以变量的轨道长度的百分比形式输入:浮动比率(即0.2 =轨道长度的20%)

第10步:关于铁路的几句话

铁路是一米长。它由重载线性轴承滑块制成,用螺栓固定在开槽铝挤压杆上。我从RS.com购买了挤压杆和配件(见图片 rs items.jpg 附件)。导轨有四条腿,但也可以用标准螺钉安装在三脚架上。

跨越:三脚架的球头(根据 图片附件 )安装在滑块上。一个小臂将头部连接到螺钉上。如果您将螺钉从一侧的导轨上移开,则螺钉和导轨之间会形成一个角度。当滑块沿着轨道移动时,它产生球头的旋转。如果您不想跨越,请保持螺钉与导轨平行。

控制器安装在滑块上。我选择了这个选项 - 而不是轨道一端的控制器 - 以避免多根电缆沿着轨道运行。我在移动电源和控制器之间只有一根电缆。所有其他电缆,步进电机,限位开关,相机快门电缆和相机的同步电缆都随控制器一起移动。

螺钉与皮带:对于延时摄影,两种设计都运作良好。与螺丝相比,皮带允许更快的移动,如果您想将导轨转换为视频滑块,这可能是一个优势。螺钉设计的一个优点是当您将导轨垂直或以一定角度放置时,如果停电,滑块将保持静止且不会下降。我强烈建议您在使用皮带驱动导轨做同样的事情时要小心,如果停电或者电量耗尽,摄像机将滑到导轨底部,风险自负!

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

    关注

    149

    文章

    2929

    浏览量

    146041
  • Arduino
    +关注

    关注

    184

    文章

    6426

    浏览量

    184795
收藏 人收藏

    评论

    相关推荐

    步进电机驱动器参数设置 步进电机驱动器常见故障维修

    步进电机驱动器是一种常见的电动驱动装置,广泛应用于各种自动化设备中。在使用步进电机
    的头像 发表于 01-24 11:30 1658次阅读

    步进电机驱动电路原理 步进电机驱动器可以通用吗

    步进电机驱动电路原理是指通过特定的电信号驱动步进电机工作的原理。而
    的头像 发表于 01-24 10:46 862次阅读

    步进电机驱动电路是直流稳压电源电路吗

    步进电机驱动电路并非直流稳压电源电路。步进电机驱动电路是一种用来
    的头像 发表于 01-24 10:13 405次阅读

    步进电机驱动器拨码开关怎么调

    步进电机驱动器是一种常见的电机驱动装置,可用于控制步进电机
    的头像 发表于 01-15 13:56 1260次阅读

    arduino如何驱动步进电机

    ,还能轻松驱动步进电机。本文将详细介绍Arduino驱动步进
    的头像 发表于 01-14 16:37 1110次阅读

    步进电机驱动器参数设置

    辨率、加减速时间设置等。 首先,步进电机驱动器的电流设置是非常重要的。电流设置直接影响步进电机
    的头像 发表于 01-11 16:55 937次阅读

    什么是步进电机?简单的步进电机驱动调试

    收拾东西发现一个步进电机(应该是之前从摄像头拆下来的,42步进电机),驱动一下试试。简单记录一下,内容比较简单,欢迎大家指正。
    的头像 发表于 11-27 18:19 973次阅读
    什么是<b class='flag-5'>步进</b><b class='flag-5'>电机</b>?简单的<b class='flag-5'>步进</b><b class='flag-5'>电机</b><b class='flag-5'>驱动</b>调试

    步进电机驱动器的主要驱动方式有哪些?

    步进电机驱动器是一种将电脉冲转化为角位移的执行机构。当步进驱动器接收到一个脉冲信号,它就驱动
    的头像 发表于 11-14 08:07 1161次阅读
    <b class='flag-5'>步进</b><b class='flag-5'>电机</b><b class='flag-5'>驱动</b>器的主要<b class='flag-5'>驱动</b>方式有哪些?

    使用ULN2003A的步进电机驱动例程

    今天要讲的是步进电机驱动例程,硬件电路中采用的是ULN2003A来进行步进电机驱动。下面就来
    的头像 发表于 11-09 09:58 1986次阅读
    使用ULN2003A的<b class='flag-5'>步进</b><b class='flag-5'>电机</b><b class='flag-5'>驱动</b>例程

    步进电机的半步驱动是由驱动设置的吗?

    步进电机的半步驱动是由驱动设置的吗
    发表于 10-11 06:52

    步进电机闭环系统的组成和优缺点 闭环步进电机驱动的9大优势

    步进电机基本上以开环电路驱动,用于位置控制 。换句话说,步进电机以外的电机尤其是高精度的
    发表于 09-22 10:37 849次阅读
    <b class='flag-5'>步进</b><b class='flag-5'>电机</b>闭环系统的组成和优缺点 闭环<b class='flag-5'>步进</b><b class='flag-5'>电机</b><b class='flag-5'>驱动</b>的9大优势

    步进电机驱动电压、角度、代码举例

    步进电机驱动电压、角度、代码举例
    的头像 发表于 09-18 11:28 2117次阅读

    步进驱动器+步进电机+西门子PLC控制案例

    步进系统=步进驱动器+步进电机步进电机
    发表于 08-25 11:15 782次阅读
    <b class='flag-5'>步进</b><b class='flag-5'>驱动</b>器+<b class='flag-5'>步进</b><b class='flag-5'>电机</b>+西门子PLC控制案例

    ch32v003驱动步进电机方案

    ch32v003驱动步进电机方案 步进电机在工业、农业、医疗、文化、家庭等方面都得到了广泛的应用,它的主要特点是转子可以像齿轮一样一步一步地
    的头像 发表于 08-22 16:05 1077次阅读

    用51单片机驱动步进电机

    在这里介绍一下用51单片机驱动步进电机的方法。 这款步进电机驱动电压12V,
    发表于 05-16 14:52 2次下载
    用51单片机<b class='flag-5'>驱动</b><b class='flag-5'>步进</b><b class='flag-5'>电机</b>