不管你是要用霍尔元件还是光电开关(或是更便宜的极限开关也可以)
目的都只有一个
让马达转子带着一个凸出物转动,然后把传感元件固定在某个位置
凸出物的目的是当马达旋转时会触发你选择的感知器
这样就可以知道马达到达某个特定的角度
传感器要接回你的控制器的DI
程式上的写法,归零时先让马达往固定方向旋转,
一边旋转一边监控DI,一旦监控到DI触发,就停止转动
这时DI有两个可能
Active : 表示触发物停在传感器的传感范围内
Inactive : 表示触发物过头离开传感器范围
不管哪一种,下一个动作是缓慢的让马达逆转,步进可以每下一步命令就扫瞄一次DI
一直到DI重新Inactive 的同时,视为归零完成
当下的位置为参考点。你可以自定义这个参考点为任何位置(最简单就定义为0)
然后就可以重新使用你的程式去观测转动一定步数后,是否会停在正确的位置
另外提醒你一点
你这种写法,如果马达转速慢还无仿
但如果设定的频率太快,等于没有给马达加减速时间
你如果把你的命令画成V-t图,就会发现你给的是一个矩形命令
加、减速 = 无穷大
加减速能力是看马达的转矩,因为马达转矩不可能无穷大
所以实际的加减速曲线会偏向梯形曲线
因此可以肯定你下的命令跟实际马达的表现肯定不匹配
只是差多少的问题
这种不管加减速直接丢目标速度频率的作法,是不能要求马达的追随性的
等于是不介意起步、煞车过程的条件。可以用在速度控制的场合
或是有外部传感器的PTP位置控制
但就是不能单纯的用命令丢的步数去预测马达应该要转多少度
※ 引述《kennykobe (凤山下智久)》之铭言:
: 目前参考了这个网站,想采用第2种方式
: http://www.555motor.com/news/821.php
: 想请问各位大大有没有做过呢? 需要准备什么东西呢?
: 还是有网站或教学影片呢? Thanks!!