完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
电子发烧友论坛|
去年比赛培训的时候做的一个小东西,现在整理了出来和大家分享。
本设计采用STC12C5A60S2单片机作为主控芯片实现了PID电机调速控制器。传感器采用欧姆龙的200线编码器。电机驱动模块采用L298N,使用LM2596来对电机供电。设计中的重点是电机转速的获取和基于PID的电机控制算法的实现。 [C] 纯文本查看 复制代码 //******************频率测量函数*****************void hight_frequency(){h_count=0; //脉冲计数初值为0EX0=1; //INT0中断允许,开始计数TR1=1; //启动定时器1while(EX0); //等待外部中断0关闭TR1=0; //关T1中断h_count=(h_count-1)*50; //得到实际频率,因为定时器计数的是20ms的个数所以此处乘50,即为1sSpeed=h_count/200; //获取电机转速,此处采用200线编码器if((Speed>300)||(Speed<0))Speed=0;SpeedTable[0]=0x30+(Speed/100); SpeedTable[1]=0x30+(Speed%100/10); SpeedTable[2]=0x30+(Speed%10); SpeedTable[3]=0x20; }[C] 纯文本查看 复制代码 /*****INT0中断函数***/ void Int0_Routine(void) interrupt 0 {h_count++; //高频计数脉冲加1} [C] 纯文本查看 复制代码 //**************内部定时器T1中断******void Timer1_Routine() interrupt 3{TH1=0xb1;TL1=0xe0; //重装初值EX0=0; //20ms定时结束,停止计数}[C] 纯文本查看 复制代码 //**********PID算法******long int PID(int setpoint,int achieved){long int result,TempResult;en=setpoint-achieved;ErrorNum=p*en-i*(en-en1)+d*(en1-en2);TempResult=(long int)(ErrorNum/20);result=TempResult;en2=en1;en1=en;return result;} STC12C5A60S2主控板 焊接完成后的主控板 传感器和电机连接部分,直接上胶枪,简单粗暴! 运行中的12864显示结果 PID测速.zip (113.09 KB ) |
|
相关推荐
1 条评论
51个回答
|
|
|
学习学习。。。。
|
|
|
|
|
|
那个测速的传感器是接单片机的那个端口?
|
|
|
|
|
|
外部中断引脚
|
|
|
|
|
|
是p3.0和p3.1么?
|
|
|
|
|
|
应该是的吧,51好久不玩了
|
|
|
|
|
|
这个欧姆龙的200线编码器是几相的?
|
|
|
|
|
|
2相的
|
|
|
|
|
|
谢谢分享
|
|
|
|
|
|
12864是串行驱动?
|
|
|
|
|
|
嗯,是的
|
|
|
|
|
|
不然IO口可能不够用。
|
|
|
|
|
|
对头,再说STC12的速度够快,串口毫无任何问题的
|
|
|
|
|
|
为什么我的电机都不能转,求解答啊
|
|
|
|
|
|
没有啊,楼主
|
|
|
|
|
|
这个电机应该还是会转的吧,L298N驱动写好了么
|
|
|
|
|
|
楼主有米有主控板的电路,原理图给下
|
|
|
|
|
|
这个找不到了,sorry。。
|
|
|
|
|
|
E6A2-CS3C是这个型号的吗?
|
|
|
|
|
|
感谢楼主,我的可以了,故障排除了,我加入了按键声音,另外我修改了在进行设置的时候电机不转,设置完了又可以转,再次感谢楼主,好人一生平安
|
|
|
|
|
|
大神,能不能分享下你的原理图,是根据楼主的吗?程序是楼主的吗?
|
|
|
|
|
只有小组成员才能发言,加入小组>>
1654 浏览 0 评论
imx6ull 和 lan8742 工作起来不正常, ping 老是丢包
4742 浏览 0 评论
4232 浏览 9 评论
3824 浏览 16 评论
4400 浏览 1 评论
4214浏览 3评论
2381浏览 0评论
3397浏览 0评论
1159浏览 0评论
2844浏览 0评论
/9
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2025-12-3 03:50 , Processed in 2.022617 second(s), Total 126, Slave 102 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191

淘帖
2513