PCM开发板模块实验指导--有刷直流马达速度位置控制实验

模块推荐:https://item.taobao.com/item.htm?ft=t&id=671629736762

        44---有刷直流马达速度位置控制实验:

                硬件需求:PC机,PCM模块一个,microUSB线,L298N_电机驱动模块,12V/1A直流

                 电源,有刷直流电机1个,导线若干;

                软件需求:PCM编译软件,app软件NeTorch TCP & UDP;

                供电方式:12V电源供电给电机驱动模块,电机驱动模块输出的5V给PCM模块供 电;

                连接电路:如图67

        图67         有刷直流马达速度位置控制实验电路

        图68         正交旋转编码器波形图

                        PCM模块有4个有刷直流马达控制通道,分别为马达1(A0,B0),马达2(A1,

                B1),马达3(A2,B2),马达4(A3,B3). L298N_电机驱动模块可以同时驱动2个

                马达。本实验使用A0,B0控制1个马达。

                        本实验使用的是一个小型直流减速马达,减速比为1:20.41。马达接了一个正交旋转

                编码器,11线,即旋转一圈有11个脉冲输出,所以马达输出轴转一周就是

                11*20.41=224.51个脉冲。

                        编码器有AB相输出,输出波形如图68所示。AB波形都是50%占空比的脉冲波形,2

                个波形相位相差90度。利用这个特性,我们这样来判断正反向:当A相波形在上升沿

                时,判断B相波形电平,如果为低电平,表示正转;如果为高电平,表示反转。

                        根据正交旋转编码器的这个特性,电路上,我们把A相接模块SIG0引脚,B相接模

                块CTR0引脚。使用脉冲计数指令的运行模式4,如下表2:当SIG0出现上升沿,且CTR0

                为低电平时,脉冲计数加1;当SIG0出现上升沿,且CTR0为高电平时,脉冲计数减1;

                所以计数值就代表了马达当前的位置。

运行模式

ctr=0

ctr=1

上升沿

下降沿

上升沿

下降沿

4

+

N

-

N

        表2         脉冲计数运行模式4

                        编程思路:

                        设置脉冲计数的最大值中断,值为30000个脉冲,即脉冲正方向计数达到30000个

                脉冲时会执行中断程序;设置脉冲计数的最小值中断,值为-30000个脉冲,即脉冲反方

                向计数达到30000个脉冲时会执行中断程序;在中断程序中判断是最大值中断还是最小

                值中断,并使用一个寄存器作为累加计数。

                        设置马达的PWM频率为10Khz.设置好PID的Kp,Ki,Kd值,此值要根据实际情况调

                试。

                        使用一个定时器,设置为周期性定时,定时周期为0.001秒。在定时中断程序中读

                取脉冲计数值,用此值减去上一个周期读取的脉冲值,差值就是一个周期马达移动的位

                置,然后再除以周期值0.001秒,就是马达运行的速度。马达的运行位置及速度都有了,

                使用2个pid指令,分别控制位置及速度就可以实现马达的位置及速度的闭环控制。

                        图69为手机端APP网络调试助手截图,采用HEX模式发送数据,数据的发送方式

                是:速度,位置,速度,位置。。。;图示发送的是01 14 02 00 03 28 04 00共8个字

                节,第一个字节01表示速度是1圈每秒,第二个字节14表示马达要转到第20圈,第3个字

                节02表示速度是2圈每秒,第4个字节00表示马达要转到原点位置,第5个字节03表示速

                度是3圈每秒,第6个字节28表示马达要转到第40圈位置,第7个字节04表示速度是4圈每

                秒,第8个字节00表示马达又转回到原点位置,

                        实验程序如下:

                1 intpro int1 //定时器中断程序,定时周期0.001秒

                2         pcntread

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值