智能车制作

 找回密码
 注册

扫一扫,访问微社区

查看: 3285|回复: 9
打印 上一主题 下一主题

困惑!各位路过的大虾帮帮忙,多谢多谢```````

[复制链接]

0

主题

17

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
419
威望
301
贡献
94
兑换币
72
注册时间
2008-6-21
在线时间
12 小时
跳转到指定楼层
1#
发表于 2008-7-4 17:22:58 | 只看该作者 回帖奖励 |正序浏览 |阅读模式
为什么我的PWM信号输出占空比是先变大后变小,一直循环,而拿来控制舵机的时候却只是正转呢?

0

主题

17

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
419
威望
301
贡献
94
兑换币
72
注册时间
2008-6-21
在线时间
12 小时
10#
 楼主| 发表于 2008-7-7 04:13:02 | 只看该作者

Re:困惑!各位路过的大虾帮帮忙,多谢多谢```````

哈哈,我搞定了,是程序设置没调好。现在好了,多谢各位`````
回复 支持 反对

使用道具 举报

0

主题

17

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
419
威望
301
贡献
94
兑换币
72
注册时间
2008-6-21
在线时间
12 小时
9#
 楼主| 发表于 2008-7-7 03:38:12 | 只看该作者

Re:困惑!各位路过的大虾帮帮忙,多谢多谢```````

<>好像是共地的问题,我是把P1的引脚5与直流稳压电源的负接了起来(直流稳压是供舵机的)。现在又只是反转了,有点正转的意思,但好象是转了很小的角度,总体看来是反转的,与原来刚好相反,应该是程序不恰当吧。哪位高手帮我改下,多谢多谢````程序就在上面,劳驾......</P>
回复 支持 反对

使用道具 举报

14

主题

929

帖子

1

精华

功勋会员

WJ

Rank: 10Rank: 10Rank: 10

积分
6304

特殊贡献奖章

威望
1456
贡献
4674
兑换币
17
注册时间
2008-4-6
在线时间
87 小时
8#
发表于 2008-7-7 02:57:46 | 只看该作者

Re:困惑!各位路过的大虾帮帮忙,多谢多谢```````

<>检查一下接线,包括共地,信号输入正确,再看频率和占空比.</P>
回复 支持 反对

使用道具 举报

0

主题

32

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
244
威望
220
贡献
22
兑换币
0
注册时间
2008-4-4
在线时间
1 小时
7#
发表于 2008-7-7 00:39:45 | 只看该作者

Re:困惑!各位路过的大虾帮帮忙,多谢多谢```````

<>接地正确吗</P>
回复 支持 反对

使用道具 举报

0

主题

17

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
419
威望
301
贡献
94
兑换币
72
注册时间
2008-6-21
在线时间
12 小时
6#
 楼主| 发表于 2008-7-5 16:57:01 | 只看该作者

Re:困惑!各位路过的大虾帮帮忙,多谢多谢```````

<>这是我的程序,请哪个大虾帮忙修改一下,多谢多谢~`````````</P><P>#include &lt;hidef.h&gt;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; /* common defines and macros */<BR>#include &lt;mc9s12dg128.h&gt;&nbsp;&nbsp;&nbsp;&nbsp; /* derivative information */<BR>#pragma LINK_INFO DERIVATIVE "mc9s12dg128b"<BR>void pwminitial()<BR>{<BR>PWME=0x22;//通道01,45使能&nbsp; <BR>PWMPOL=0x22;//通道01,45输出波形开始极性为1 <BR>PWMCAE=0x00;&nbsp;&nbsp;&nbsp; //左对齐输出模式<BR>PWMCTL=0x50;//通道01,45级联&nbsp;&nbsp; <BR>PWMCLK=0x02;//通道01选择SA为时钟源&nbsp;&nbsp; <BR>PWMSCLA=0X04;//通道01时钟SA为3MHz(24/(2*4))<BR>PWMPER01=60000;//设定通道01输出频率(50Hz)&nbsp;&nbsp;&nbsp;&nbsp;<BR>}</P><P>void main()<BR>{<BR>&nbsp; pwminitial();<BR>&nbsp; DDRP=0XFF;<BR>&nbsp; PWMDTY01=2000;&nbsp;<BR>&nbsp; while(1)<BR>{<BR>&nbsp; int i;<BR>&nbsp; int k;<BR>&nbsp;/* for(i=0;i&lt;30000;i++)<BR>&nbsp;{if(PTP_PTP0==0)&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; //PTP0口作为输出引脚<BR>&nbsp;&nbsp;&nbsp;PORTB=0X00;<BR>&nbsp;&nbsp;else<BR>&nbsp;&nbsp;&nbsp;PORTB=0XFF;<BR>&nbsp;_asm "nop";<BR>&nbsp;_asm "nop";<BR>&nbsp;_asm "nop";<BR>&nbsp;} */&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </P><P>&nbsp;&nbsp; if(PWMDTY01&lt;55000)<BR>&nbsp;&nbsp; PWMDTY01+=1000;<BR>&nbsp;&nbsp; <BR>&nbsp;&nbsp; else {<BR>&nbsp;&nbsp;&nbsp;&nbsp; for (k=0;k&lt;30;k++) {<BR>&nbsp;&nbsp;&nbsp;&nbsp; <BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; PWMDTY01-=1000; <BR>&nbsp;&nbsp;&nbsp; /*&nbsp;&nbsp; for(i=0;i&lt;30000;i++)<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;{if(PTP_PTP0==0)&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; //PTP0口作为输出引脚<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;PORTB=0X00;<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;else<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; PORTB=0XFF;<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;_asm "nop";<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;_asm "nop";<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;_asm "nop";<BR>&nbsp;} */&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<BR>&nbsp;&nbsp;&nbsp;&nbsp; }<BR>&nbsp;&nbsp; }&nbsp;&nbsp; <BR>}<BR>&nbsp; EnableInterrupts;</P><P>&nbsp; for(;;) {} /* wait forever */<BR>&nbsp; /* please make sure that you never leave this function */</P><P>}</P>
回复 支持 反对

使用道具 举报

0

主题

17

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
419
威望
301
贡献
94
兑换币
72
注册时间
2008-6-21
在线时间
12 小时
5#
 楼主| 发表于 2008-7-5 16:39:12 | 只看该作者

Re:困惑!各位路过的大虾帮帮忙,多谢多谢```````

我的程序占空比是从2000/60000——40000/60000应该满足的吧,看波形也是先增大后减小,如此循环。可舵机就只是正转。
回复 支持 反对

使用道具 举报

9

主题

247

帖子

1

精华

常驻嘉宾

Rank: 8Rank: 8

积分
4389

论坛元老奖章

威望
2215
贡献
1830
兑换币
24
注册时间
2008-3-24
在线时间
172 小时
4#
发表于 2008-7-4 21:18:37 | 只看该作者

Re:困惑!各位路过的大虾帮帮忙,多谢多谢```````

舵机占空比是从2.5%到12.5%之间变化的。用示波器检查下波形。
回复 支持 反对

使用道具 举报

0

主题

17

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
419
威望
301
贡献
94
兑换币
72
注册时间
2008-6-21
在线时间
12 小时
3#
 楼主| 发表于 2008-7-4 18:20:55 | 只看该作者

Re:困惑!各位路过的大虾帮帮忙,多谢多谢```````

<>这样设占空比有没有问题</P><P>周期:PWMPER01=60000;</P><P>初始值:PWMDTY01=2000;</P><P>if(PWMDTY01&lt;40000)<BR>&nbsp;&nbsp; PWMDTY01+=1000;</P><P>&nbsp;else {<BR>&nbsp;&nbsp;&nbsp;&nbsp; for (k=0;k&lt;32;k++) {<BR>&nbsp;&nbsp;&nbsp;&nbsp; <BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; PWMDTY01-=1000; </P><P>&nbsp;</P>
回复 支持 反对

使用道具 举报

0

主题

32

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
244
威望
220
贡献
22
兑换币
0
注册时间
2008-4-4
在线时间
1 小时
2#
发表于 2008-7-4 17:55:22 | 只看该作者

Re:困惑!各位路过的大虾帮帮忙,多谢多谢```````

是不是占空比太高了?
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

关于我们|联系我们|小黑屋|智能车制作 ( 黑ICP备2022002344号

GMT+8, 2024-12-26 16:14 , Processed in 0.283611 second(s), 31 queries , Gzip On.

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表