QQ登录

只需一步,快速开始

登录 | 注册 | 找回密码

三维网

 找回密码
 注册

QQ登录

只需一步,快速开始

展开

通知     

查看: 2418|回复: 8
收起左侧

[讨论结束] 实现“计算机控制四个电机联动”,我想用C++来编程,如何处置?

 关闭 [复制链接]
发表于 2008-5-26 17:44:01 | 显示全部楼层 |阅读模式 来自: 中国黑龙江哈尔滨

马上注册,结识高手,享用更多资源,轻松玩转三维网社区。

您需要 登录 才可以下载或查看,没有帐号?注册

x
我目前是要实现计算机控制四个电机联动
1 |3 v3 D# p6 k; o8 z计算机通过RS232和主电机驱动器相连,四个驱动器通过CAN口连接。
; O4 E1 h+ D' c3 H: e  l( z如何通过编程实现电机联动啊?我想用C++编
. o: Y- n& Z9 o  \  Y" u& y请老师们赐教~# f- A+ }) h' F. ]+ j
说明书全是英文,虽能看懂大概,但没做过相关的编程控制,还是一头雾水,没法下手,请老师们给予指点!
/ c( @  D0 H1 N" \) |
$ o; S0 j! |" N6 y# S, o+ d[ 本帖最后由 zhous_ch 于 2008-5-26 21:20 编辑 ]
发表于 2008-5-26 17:53:32 | 显示全部楼层 来自: 中国广东深圳
呵呵,不知道你用的什么牌子电机驱动器.1 V/ B' L/ A/ @0 w
要是用KINCO的伺服驱动器和PLC控制是比较简单,程序可以通过PLC来控制连动
9 T7 \  i+ }. C2 f+ o( m0 V. G你可以试加PLC进行控制,要比较简单吧
发表于 2008-5-26 19:36:17 | 显示全部楼层 来自: 中国江苏盐城
我也想呀!但是想来想去感觉程序太难了!所以只好放弃了!
 楼主| 发表于 2008-5-26 20:56:37 | 显示全部楼层 来自: 中国黑龙江哈尔滨
我们是使用maxon电机 用EPOS驱动器
7 }4 J$ c, H1 x, T# D0 W不让用PLC啊
5 h2 |7 @7 Z* Z. a) b8 A% J  s编程时可以直接调用说明书提供的函数
' R; q1 `  t& w; @9 F但我不知道程序的流程应该是怎样(先干什么 再干什么)
$ w: h' H5 k5 X- _" x请老师们帮帮忙~
发表于 2008-7-25 11:16:01 | 显示全部楼层 来自: 中国浙江杭州
用哪种语言有区别么?
发表于 2008-7-25 14:38:39 | 显示全部楼层 来自: 中国河南郑州
我觉得这是个比较简单的事情。而且还有现成的库函数。只是操作串口而已。
发表于 2008-7-25 15:38:00 | 显示全部楼层 来自: 中国山东潍坊
你这不叫“四个电机联动”,至少我不这么认为,只不过是控制四台电机同时动作而已。8 ~! r$ c/ ~. R# ]
接口函数都告诉你了,调用起来也不是很麻烦吗,用C++做个界面,用c写控制程序。所谓程序不过是初始化接口,传送数据,而已,把他们提供的程序好好看看。
发表于 2008-8-10 20:19:52 | 显示全部楼层 来自: 中国上海
找一块 驱动卡 如楼上那样处理就可以了
发表于 2008-9-2 22:20:47 | 显示全部楼层 来自: 中国河北石家庄
使用C8051F040高速SOC单片机、L298N直流电机驱动芯片,软件编程可在Siliocn Labortories集成开发环境(DIE)下通过JATG接口进行编程,不需要专用编程器或适配器;还可以通过用户软件对FALSH进行编程,允许现场更新固件为产品的软件升级提供了极大的方便。/ s/ q4 Z% j, p
本设计中的应用程序是在Keil C51的开发环境下编译后用EC-3仿真器下载到芯片中运行的。主要程序代码如下:
4 f0 L! n) P" d' g; f' j! D//交叉开关配置,将6路PWM输出配置到P0端口: E# J! l8 L7 d+ b  n
void config(void)
1 ~5 N9 E* A8 z% `{
( k0 Z) g2 d' [5 @XBR0=0x30;//将6路PWM输出配置到P0.0-P0.5端口6 b2 t2 o! C$ `0 k3 V4 S( [
XBR1=0x00;
) p5 R, J) j. lXBR2=0xc0;//开启交叉开关,全局上拉开启. K# V% }+ t: [1 u; X& H: s
XBR3=0x00;4 w( l" C- X/ v( x& X; s$ x; `& h1 b
}! T6 Q" Z( Q- b# j
//配置T0定时器,定时时间1毫秒,系统时钟24MHz8 Y2 ^/ b) ~1 f
Void Timer_cfg(void)7 b7 ^  c3 j, `# [8 y8 E2 k
{7 w* ~- u0 c! S0 L6 ]5 c8 \7 n; |
TMOD=0x01;//采用定时器0的方式1# |# q) Z' g* q9 A+ f$ e$ x
TH0=0xf8;
4 ^$ q8 s3 d" G* M  n( z: nTL0=0x2f;) ?" `) u5 H' k  }
TR0=1;
6 @- v0 N6 g" o" g7 A2 o" v}1 k, R5 N6 k9 _* z$ c
//配置PCA定时器
- k0 Q& _) F8 O5 ]4 BVoid pcainit(void)9 L8 M8 ^& m7 i0 N: T% `- B
{. D! [1 e0 w& ?* Z9 x
SFRPAGE=0x00;
; {# p% ~" D& Q$ X* u7 R9 APCA0CMP0=0x42;
* ^0 p) K* ^6 [' A6 z5 z3 O7 fPCA0MD=0x04;//PCA采用T0溢出时钟,且PCA溢出中断禁止
/ z1 j4 k' g3 |- L$ X# lPCA0CN=0x40;//启动PCA计数器
2 G& y8 v! c# N4 [9 [  E& R4 R}+ h. ^8 n' b7 k% i
//占空比设置,设置为255时,可使电机停止转动" P  c6 |3 O/ L! q: v+ u
Void PWM_SET(uchar channel,uchar low)
7 s  m1 Z6 X1 B8 H2 |6 \/ F; {0 D. s{
. I( U" c% z5 ^SFRPAGE=0x00;: ]7 G# E5 i  c' l- c, U. m+ V
Switch(channel)3 V, X* a! l2 Z0 {
{
1 ~3 X' K$ L/ A: e4 z& ?Case 0:PCA0CPH0=low;break;" N4 A! M3 c/ n& E
Case 1:PCA0CPH1=low;break
9 N5 q" n, X: t5 bCase 2:PCA0CPH2=low;break# ~6 |( p8 u1 V0 x
Case 3:PCA0CPH3=low;break
; ~* ]: ^* G) ]" i* W  bCase 4:PCA0CPH4=low;break
: I% s$ j" j& C  |Case 5:PCA0CPH5=low;break
: }& t  C: i* F% E6 l, c; L! eDefault:break;
/ [, P5 J# J" b& M; @9 a}6 A) D, I8 K: x& b2 U4 U
}& ^) @  U) K3 _& v6 K* f- u$ i
//运动方向设置5 N6 Q# I& ?1 Z& z6 M/ }
Void Direct_set(uchar channel,bit dir)$ T2 v: W8 }( q( C/ }* s; Q
{8 H9 E+ |2 O4 o! |3 F6 q
Switch(channel)0 N) f" l, N9 @* y
{
1 ^2 r3 Y" S* q) _& P: qCase 0:P4.0=dir;break;( r6 i1 V" B# G
Case 1:P4.1=dir;break
) B8 y# X, V/ F9 C8 x% CCase 2:P4.2=dir;break$ S" @& i) }" r9 n8 g
Case 3:P4.3=dir;break
- u6 t" a6 S" F! W+ L1 L" RCase 4:P4.4=dir;break2 R+ I( D1 z7 ~8 a6 i7 _
Case 5:P4.5=dir;break2 [$ X- `$ M# Z/ J3 x' g8 V
Default:break;
7 D4 q5 Y; B+ X, |0 \}
) ]4 ^& F( v+ X8 z0 I}
" m2 L2 A, e5 x' q6 o& _  B' N在电机起动时,先输出高占空比的PWM信号,让电机获得较大的起动力矩,然后再过渡到设定的PWM脉宽。另外结合片内的A/D转换器检测Rsa上的电压,可得到电机的工作电流,以此为依据对电机的运行状态进行检测,保证电机的运行安全。
发表回复
您需要登录后才可以回帖 登录 | 注册

本版积分规则

Licensed Copyright © 2016-2020 http://www.3dportal.cn/ All Rights Reserved 京 ICP备13008828号

小黑屋|手机版|Archiver|三维网 ( 京ICP备2023026364号-1 )

快速回复 返回顶部 返回列表