智能车制作
标题:
谁能给我讲下光电组控制电机和舵机的问题
[打印本页]
作者:
zhouzuodong
时间:
2012-11-12 14:54
标题:
谁能给我讲下光电组控制电机和舵机的问题
我采集用的是平均值法,找出收集到黑线数据的那个灯,所以总共有9种情况,(中间状态和十字交叉线先不考虑)0 1 2 3 4 5 6 7 8
代表1-8展灯位置的传回~~
0代中间位置,无灯检测到黑线。
舵机用的是20MS,per=25000
电机用的5KHZ, per=250
请高手指教如何进行舵机电机调控下一步?????把电机和舵机分成几个档位呢???
能给点实例程序吗???~~
作者:
黑龙
时间:
2012-11-12 20:27
作者:
小生有你
时间:
2012-11-13 12:31
单片机系统实现对舵机输出转角的控制,必须首先完成两个任务:首先是产生基本的PWM周期信号,本设计是产生20ms的周期信号;其次是脉宽的调整,即单片机模拟PWM信号的输出,并且调整占空比。
当系统中只需要实现一个舵机的控制,采用的控制方式是改变单片机的一个定时器中断的初值,将20ms分为两次中断执行,一次短定时中断和一次长定时中断。这样既节省了硬件电路,也减少了软件开销,控制系统工作效率和控制精度都很高。
具体的设计过程:例如想让舵机转向左极限的角度,它的正脉冲为2ms,则负脉冲为20ms-2ms=18ms,所以开始时在控制口发送高电平,然后设置定时器在2ms后发生中断,中断发生后,在中断程序里将控制口改为低电平,并将中断时间改为18ms,再过18ms进入下一次定时中断,再将控制口改为高电平,并将定时器初值改为2ms,等待下次中断到来,如此往复实现PWM信号输出到舵机。用修改定时器中断初值的方法巧妙形成了脉冲信号,调整时间段的宽度便可使伺服机灵活运动。
为保证软件在定时中断里采集其他信号,并且使发生PWM信号的程序不影响中断程序的运行(如果这些程序所占用时间过长,有可能会发生中断程序还未结束,下次中断又到来的后果),所以需要将采集信号的函数放在长定时中断过程中执行,也就是说每经过两次中断执行一次这些程序,执行的周期还是20ms。
欢迎光临 智能车制作 (http://dns.znczz.com/)
Powered by Discuz! X3.2