完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
扫一扫,分享给好友
两相步进电机,步距角1.8度,每次旋转120度,停10s,转速60rad/min,步进电机驱动器SH2034D,单片机控制,程序怎么写,求大神指点。。。。
|
|
相关推荐
19个回答
|
|
|
|
|
|
你思路都有了 应该知道怎么写了
|
|
|
|
细分呢
|
|
|
|
|
|
|
|
|
|
|
|
不是,整步的话,200个脉冲,你1.8°的电机转一圈,2细分的话,就要400个脉冲。你需要60rad/min,可以算出你需要给的频率是200*n, n就是细分数,然后转120度的话,需要给的个数就是200*n/3.然后定时延迟10s
|
|
|
|
jiciwi 发表于 2016-9-27 16:44 #include #define uchar unsigned char #define uint unsigned int ***it FREE=P2^1; ***it CP=P2^2; ***it DIR=P2^3; ***it key=P1^0; uchar i,j,z; void delay() { uint y; for(y=114;y>0;y--) {} } void main() { if(key==0) { CP=0; FREE=1; for(i=0;i<400;i++) { CP=1; delay(); CP=0; delay(); } if(i==400) { CP=0; FREE=1; } for(j=10000;j>0;j--) for(z=110;z>0;z--); } } 这个程序怎么停不下来,用的6细分,120度脉冲不是400个吗?求指点 |
|
|
|
|
|
|
|
|
|
|
|
我的意思是你的单片机是几位的?如果是8位就有问题,如果是32位就没问题。然后,你的程序应该在重复在转吧,中间有停一段时间么 |
|
|
|
谢谢分享
|
|
|
|
8位的单片机,所以改过了,,,中间有个for(i=0;i<400;i++)循环,目的不就是到400次结束循环吗,应该转过的是120度吧(细分6,,400个脉冲转120度),这儿停不下来。 |
|
|
|
问题是8位的单片机,你计数能到400?8位最大就255.明白了哇。你试试把400改到200,还有下面那个10000 |
|
|
|
明白了,谢大神。。。。 |
|
|
|
没懂啊!!都是大神啊。能不能详细一点啊
|
|
|
|
如果没有细分,那么步进电机每接受一个脉冲,就会转动一个步距角。.当我们不细分的时候,假如步进电机是1.8度的话,那就是二百个脉冲每转360度,二个细分就是四百个,总之就是再次细分的意思,精度更高, |
|
|
|
大神程序,求分享上面的程序,我急需要这个,急急急
|
|
|
|
所发生的方法法师法师法发顺丰
|
|
|
|
|
|
|
|
你正在撰写答案
如果你是对答案或其他答案精选点评或询问,请使用“评论”功能。
2111 浏览 0 评论
7377 浏览 1 评论
1759 浏览 0 评论
4639 浏览 1 评论
【⌈嵌入式机电一体化系统设计与实现⌋阅读体验】+磁力输送机系统设计的创新与挑战
1829 浏览 0 评论
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2025-1-31 21:01 , Processed in 0.914122 second(s), Total 113, Slave 95 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191 工商网监 湘ICP备2023018690号