从零开始学习C++6.0之并口控制
第四课 直流电机启动
这一课我们来做普通直流电机(2芯的)控制试验。先找个玩具电机(1.5V的最合适),因为如果在没有接口板电源补充的情况下,并口本身高电平输出的电压不足2V,电流很小,电机是转不动的,但玩具电机应该没问题的。因我自己用的是接口板和驱动板,比较方便,5V至40V的电机都可以驱动。
一、直流电机启动、反转和停止控制
接下来直接复制工程Portcon1或工程Portcon2目录,粘贴后改成工程Portcon3,因为这里只是实验测试一个电机的控制代码,所以我是直接从工程Portcon1拷贝过来的。容易理解,当你接两三个电机时必须用工程Portcon2的代码了。否则就不知道控制哪个电机了。
这次用到两个输出针口,程序中用的是P2和P3
普通直流电机的工作原理最简单,其中一端输出高电平,一端输出低电平就可以马上转动了,反过来输出高低电平值又变成反转,停止输出(就是都输出低电平)电机就停止了。
打开工程Portcon3后,修改一下标题和相关属性,并添加一个按钮IDC_P3_1,做反转键,如图所示:
双击按钮进入代码模式简单修改一下代码:
很简单吧。如果接多一个小电机,如用P4、P5来控制另一个电机,那就得用第三课讲的自由输出代码了,确保互不影响的工作。再把4位控制端口(引脚是Pin1、Pin14、Pin16和Pin17)一起用上,总共可以有12个输出控制端口,可以接上6个小电机,如果都不需要反转,带12个电机都行,其中一引脚全部接公共地GND就行了。
二、简单说一下步进电机
因为从下一课开始做步进电机的控制,这里就先介绍一下。
关于步进电机的知识在网上很多,自己百度一下,深入学习就可以了。
1、首先步进电机是需要CLK脉冲信号来启动的,直接接上正负电源是启动不了的。刚开始我也干过这蠢事,呵呵!
2、步进电机对电压和启动电流都有要求,如果有兴趣深入学习,购买接口板和驱动板是必要的(淘宝上很多,我的淘宝店也很快就开张,可方便大家购买),当然如果你是电子元器件的高手也可以自己DIY。
3、步进电机接口有四线、五线、六线很多各类,都不管它,找到其中两组关键的线圈接口就行了,就是A--A+,B--B+两个绕组。我这里接触的都是两相步进电机,其他的有什么需要请继续百度。
4、我用的步进电机全是拆针式打印机的字车步进电机和进纸步进电机,相关型号和接线方式我会另详细说明。废旧的针式打印机多数当废品卖,一台当年几千元卖掉称不了几元钱,里面的两个步进电机多数完好,我们是好好利用它的残余价值,用来进行学习实验。软驱古董里面的小电机也是步进电机,还有其他旧设备上的,大家根据自己的情况来做实验。
5、实验用到的电源,也是就地取材,我用的就是破旧电脑拆下的P3、P4电源(没有的话在旧电脑城5元、10元就能买到),功率足够大,有完美的5V、12V输出(红线是5V,黄线是12V),绝对比新买的上百元的电源要稳定(当年可是供电给上万元一套的电脑用的啊)。大家可能有个疑问,没有电脑开关怎么用电脑电源?其实很简单,只要把排线上那根蓝色线(有些可能是绿色线)和任何一根黑色线连接就行了,它就是启动电源用的,自己测试就能找出来。电源上最好带有开关,比较方便,就不用老拔插头。
6、CLK脉冲信号的生成我们要用到Windows提供的定时器来实现,这里就涉及到SetTimer()函数和Windows消息处理器机制。留到下一课再讲吧,大家从书本或网上可以先对这两个知识点自学一下。