发表于:2006-03-29 16:00:00
楼主
请高手帮帮忙!谢谢!
我做的实验是用单片机发脉冲控制伺服电机位置控制。我用的的单片机是intel80c51bh,伺服电机的富士伺服系统,对脉冲控制有三种方式,命令脉冲/命令符号;正转脉冲/反转脉冲;90度相位差2路信号。富士伺服系统电机旋转一周分辨率是17位:131072脉冲/转。可以设置命令脉冲补偿来设置每转脉冲数,公式:
(伺服电机旋转1周时的机械系统移动量) 命令脉冲补偿α
[u] [/u] × [u] [/u] ﹦(单位量)
131072脉冲/转 命令脉冲补偿β
我的思路是:伺服放大器α=8192,β=625,即10000个脉冲转一圈,设定电机一圈机械位移量为10mm,单位量为0.001。单片机用6MHZ晶振,用单片机的30管角 ALE恒定输出1MHZ,与P2.6管角经与非门再由而分频器分为500khz输出到伺服放大器上,这样一秒可以转50圈,即是位移0.5米,位置和时间形成关系s=2t,这样就可以控制我所要达到的位置了。P2.6是用来控制时间的,我在电脑里用VB搭建界面经232将要达到的位置输入到单片机,单片机接受到,经过读取数据发送脉冲此时P2.6置1,到时间后P2.6置0,这样脉冲就输不进去伺服放大器了,电机就可以停了,接着就可以重新输入数据。
我的问题是:
1.富士系统要求脉冲输入端CA、*CA之间的电压振幅是2.8v-3.7v之间,我的单片机都是接的+5v电源,这样脉冲可以被接受吗?
2.我的这个思路可行吗?如果不行,请问哪儿有问题
3.如果可行请问伺服放大器应该用那种位置控制方式?(命令脉冲/命令符号;正转脉冲/反转脉冲;90度相位差2路信号)
我的想法是用命令脉冲/命令符号,但是富士伺服电机有4根脉冲输入端CA、*CA、CB、*CB,采用这种方式,从单片机发出的脉冲可以直接接到CA,是不是直接接一个反相器就可以接到*CA了,另外CB、*CB是不是用单片机的其他口如P2.5等发出信号来控制?
刘岩利老师一定帮帮忙解决一下