vb串口控制伺服电机
想用vb通过串口+rs232接到 伺服单元(变频器),来控制伺服电机。就是想在vb窗口里输入一个数字,电机就得到一个转速。。。不过我完全不懂vb。。。想到这求各位指点一下。。。 vb 串口 伺服电机 --------------------编程问答-------------------- 这个需要与单片机通讯,而非直接与电机通讯。具体的做法是由单片机接收通讯管道命令(如串口、并口、USB...等等等等),然后分析命令,再根据命令参数控制驱动电路驱动电机按照你指定的方式运转。
所以整个通讯控制过程主要是单片机的通讯协议上,上位机再根据单片机的通讯控制协议编写相应的程序发送相关控制命令给下位机。所以,你必须先去弄单片机部分,然后再弄上位机部分。 --------------------编程问答-------------------- 建议楼主:
1、搞清楚伺服电机的硬件结构,接线定义。
2、弄明白通信协议
只有这两点搞清楚了,才有资格说编程控制 --------------------编程问答-------------------- vb和变频器之间可以进行通信吧。变频器那一块基本接线接好了,现在可以考虑vb编程那些了吗。 --------------------编程问答--------------------
vb和变频器之间可以进行通信吧。变频器那一块基本接线接好了,现在可以考虑vb编程那些了吗。 --------------------编程问答--------------------
接线基本接了。。。你说的通信协议在这里是指串口通信协议吧,看了下百度百科的介绍,稍微了解了一点。 --------------------编程问答--------------------
仔细阅读变频器说明书,搞懂通信协议和指令格式,用MsComm控件实现与变频器通信。 --------------------编程问答--------------------
在编程的时候有什么框架,总体思路什么的吧 --------------------编程问答--------------------
在编程的时候有什么框架,总体思路什么的吧
总体思路就是变频器说明书关于通信协议和指令格式要求,按此编写VB代码。 --------------------编程问答--------------------
vb和变频器之间可以进行通信吧。变频器那一块基本接线接好了,现在可以考虑vb编程那些了吗。
这不好说,有些设备不是靠命令控制,而是靠脉冲信号控制的。这就要看你设备的具体使用说明了。如果设备本身是用命令控制,那你就可以根据设备的说明发送相应的数据给设备,当然,VB是可以做这种事情的。如果你的设备是靠脉冲控制,那还需要自己弄个单片机来控制脉冲信号和做你的命令处理。总而言是这种东西没有标准的应用,要根据你实际的情况来做。因为你的现实情况没说清楚,我也就只能给你点意见,希望对你有帮助。 --------------------编程问答-------------------- 关于电机的控制,如果你是做设备,建议你还是采用PLC,价格不贵(一个小型的PLC也就不到2000),但稳定性和易于开发性都比单片机等强很多,尤其是稳定性。此外,从买设备人的心理出发,PLC也更有档次些。 --------------------编程问答-------------------- 另外,还有很多的IO点位和少数几个模拟量输入输出,其实如果你的控制量比较多,PLC是最佳选择。 --------------------编程问答--------------------
vb和变频器之间可以进行通信吧。变频器那一块基本接线接好了,现在可以考虑vb编程那些了吗。
这不好说,有些设备不是靠命令控制,而是靠脉冲信号控制的。这就要看你设备的具体使用说明了。如果设备本身是用命令控制,那你就可以根据设备的说明发送相应的数据给设备,当然,VB是可以做这种事情的。如果你的设备是靠脉冲控制,那还需要自己弄个单片机来控制脉冲信号和做你的命令处理。总而言是这种东西没有标准的应用,要根据你实际的情况来做。因为你的现实情况没说清楚,我也就只能给你点意见,希望对你有帮助。
我这个变频器是通过控制输入电压来控制变频器的,这样算是命令控制还是脉冲控制呢。。。 --------------------编程问答--------------------
我这个变频器是通过控制输入电压来控制变频器的,这样算是命令控制还是脉冲控制呢。。。
输入电压控制的我还没用过,不过这在单片机开发当中也很容易解决,无非就是个A/D转换的输出问题,也可以理解成为影响上功放,就是一个电压控制喇叭的过程,估计你的设备如果是用电压控制,也不会涉及到太高的电压和电流,毕竟只是控制信号而已,所以应该用一些基本的D/A芯片就可以解决。这种模式控制起来和脉冲控制差不多,设备提供的是电子方面的开发接口(脉冲或电压),那么只要用相应的中转设备来与其接口,同时这个设备需要有与电脑的设备接口,如串口、USB信息控制接口等。通常这种设备都是自己开发的,可以用单片机、也可以用一些现成的工控机(可编程控制器)。单片机方面可选择的东西很多,如51单片机、PLC、AVR等都可以,当然你上嵌入式的ARM也可以,这就是成本问题,相对来说,51单片机比较便宜,也容易开发,随便到网上买个51单片机的开发板,通常都有关于D/A转换的例子(包括软件和硬件方面的,至于脉冲式控制,其实就是用一个I/O口接一个可控硅或场效应管就可以实现这样的脉冲信号控制,在软件上就涉及点串口通讯和中断控制等技术)。当然,如果你用PLC,甚至可以直接用I/O口直接来做这种脉冲信号控制,外接器件都不用,因为PLC的I/O口耐压和过流能力要比单片机大很多,所以很多东西可以直接用I/O口来驱动,不用外接器件来驱动。
总之,无论你的设备是通过电压或脉冲控制的,你要想电脑去控制他,就必须有个中间控制设备,而这个设备你可以自己开发,也可以用现成的可编程控制器(比较贵,硬件中的软件部分还是要自己写,只不过不是专业的开发语言而已。注:“流程图什么的方式,当然也有基本的脚本或汇编可用”),其实本应该这种设备是一体的,但你用的只是个驱动控制设备,就像我上面说的驱动电路的一部分,所以要与电脑通讯还必须多一个这种东西。 --------------------编程问答-------------------- 小心“空回误差” --------------------编程问答--------------------
小心“空回误差”
pc和变频器要联系上,一般的步骤是什么样的。。。 --------------------编程问答-------------------- 一般的变频器有两种控制方式:
1、通信控制(实际上也是电压控制,内建一个DC10V的电压,通信设定电压值)
2、手动或面板调速开关控制,这个就是通过旋钮设置电压值
3、外部提供控制电压,这需要模拟量控制了。
以上只是说了变频器的频率设定,其实变频器还有很多参数的,比如启动方式?运行状态的指示?等等。
就我个人的经验,变频器控制中有一个很需要注意的问题,那就是低频干扰,如果你没有做好处理,严重的情况下它会让你的控制系统紊乱 --------------------编程问答-------------------- 我这个变频器是通过控制输入电压来控制的,这样算是命令控制还是脉冲控制呢。。。
==================================================================
都不是。
脉冲控制主要用于步进电机。用并口也许能控制。串口嘛,麻烦一些,通过波特率粗调,加上采用不同的字节值可以调节倍率。
命令控制的一般从机有控制芯片,将命令通过 DAC 转换为不同直流电压,或通过输出口发送出不同频率的脉冲。
而你这个,就是需要你用支持串口(板子上要有 RS232 信号电平转换)和 DAC 的芯片做一个控制电路,将你发回的数字信号转成模拟信号。 --------------------编程问答--------------------
我这个变频器是通过控制输入电压来控制的,这样算是命令控制还是脉冲控制呢。。。
==================================================================
都不是。
脉冲控制主要用于步进电机。用并口也许能控制。串口嘛,麻烦一些,通过波特率粗调,加上采用不同的字节值可以调节倍率。
命令控制的一般从机有控制芯片,将命令通过 DAC 转换为不同直流电压,或通过输出口发送出不同频率的脉冲。
而你这个,就是需要你用支持串口(板子上要有 RS232 信号电平转换)和 DAC 的芯片做一个控制电路,将你发回的数字信号转成模拟信号。
并口是不能控制电机的,一般的能驱动电机的脉冲都是晶体管的,并口无法实现 --------------------编程问答-------------------- 编程者完全可以借助并口的某一输出信号进行一些信号控制,当然要借助一些能够穿越到底层的 DLL。我做过一些类似的应用,例如将并口信号用作 GPIO 来控制某些协议的通讯,实际上就是在几路信号上发送脉冲和采样外来信号。
当然,控制电机的我没有做过。但控制原理应该没有太大差别。另外,驱动段如何做,是信号控制以外的话题。比如一些大功率的电机,可能更需要一些特殊的器件。 --------------------编程问答-------------------- 关于并口的控制,我到是研究过,用其来进行DI、DO控制,有一些人经过电路改造用其来进行模拟量控制或采集,大分辨率不高(8位),从我自己的感觉来说,并口用来进行DI检测还行,如果要用来进行DO输出,其驱动能力不足,必须要进行必要的电路配置。 --------------------编程问答-------------------- 控制电机要很高的频率的,这频率发生器是需要专门的电路的,并口显然不能胜任 --------------------编程问答-------------------- 哦?
我看到的资料是:“步进电机应用于低速场合---每分钟转速不超过1000转,(0.9度时6666PPS),最好在1000-3000PPS(0.9度)间使用,可通过减速装置使其在此间工作,此时电机工作效率高,噪音低……”
用单片机控制步进电机的应用也非常普遍。“……用单片机控制步进电动机,需要在输入输出接口上用3条I/0线对步进电动机进行控制,这时,单片机用I/O口的RA0、RAI、RA2控制步进电动机的三相。”
驱动的问题要另外解决,这已经说过了。有可能需要直流隔离(防止损坏弱电系统)。但这些都与信息控制无关了。 --------------------编程问答--------------------
不想深入探讨了,我外行。
补充:VB , COM/DCOM/COM+