完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
|
高手看一下,下面这程序我想让步进电机正转10-15秒后再反转10-15秒再正转,周而复始。程序需要怎样修改?谢谢!
/@@* 1、本程序用于测试4相步进电机常规驱动 2、需要用跳帽或者杜邦线把信号输出端和对应的步进电机信号输入端连接起来 3、速度不可以调节的过快,不然就没有力矩转动了 可以按照给的原理图接线*/ #include unsigned char code F_Rotation[4]={0x040x080x100x20};//正转表格 unsigned char code B_Rotation[4]={0x200x100x080x04};//反转表格 void Delay(unsigned int i)//延时 { while(--i); } main() { unsigned char i; while(1) { for(i=0;i<4;i++) //4相 { P3=F_Rotation[ i]; //输出对应的相 可以自行换成反转表格 Delay(750*10); //改变这个参数可以调整电机转速 } } } |
|
相关推荐
1个回答
|
|
|
1.需要定义一个正反转标志,在定时器中断中判断到达转到时间后进行翻转,进行正反转标志的切换。
2.主函数中根据正反转标志选择执行的数据即可。 比如 if(正转标志) { for(i=0;i<4;i++) //4相 { P3=F_Rotation[ i]; //输出对应的相 可以自行换成反转表格 Delay(750*10); //改变这个参数可以调整电机转速 } } } else { for(i=0;i<4;i++) //4相 { P3=B_Rotation[ i]; //输出对应的相 可以自行换成反转表格 Delay(750*10); //改变这个参数可以调整电机转速 } } } 要想控制的再准确点,那个延时也用定时器做。 |
|
|
|
|
你正在撰写答案
如果你是对答案或其他答案精选点评或询问,请使用“评论”功能。
528 浏览 0 评论
654 浏览 0 评论
858 浏览 0 评论
837 浏览 0 评论
RT-Thread与英飞凌(infineon)合作得板子PSOC 6 板子学习
770 浏览 0 评论
【youyeetoo X1 windows 开发板体验】少儿AI智能STEAM积木平台
17064 浏览 31 评论
/9
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2025-12-14 23:33 , Processed in 0.986280 second(s), Total 70, Slave 53 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191

淘帖
1908