QQ登录

只需一步,快速开始

登录 | 注册 | 找回密码

三维网

 找回密码
 注册

QQ登录

只需一步,快速开始

展开

通知     

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

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

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

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

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

x
我目前是要实现计算机控制四个电机联动
! s* w! R" w- I计算机通过RS232和主电机驱动器相连,四个驱动器通过CAN口连接。" C/ O/ Z# n% ]7 i; p/ t9 R" m. H8 ^% b! V
如何通过编程实现电机联动啊?我想用C++编4 j7 S% v% X6 \- B% F- f8 p
请老师们赐教~3 j% V. i# a( D) u; h
说明书全是英文,虽能看懂大概,但没做过相关的编程控制,还是一头雾水,没法下手,请老师们给予指点!$ f1 ?; B9 m* f0 m1 [
' r' m4 O. Q# y" ?, e( Z" m4 _
[ 本帖最后由 zhous_ch 于 2008-5-26 21:20 编辑 ]
发表于 2008-5-26 17:53:32 | 显示全部楼层 来自: 中国广东深圳
呵呵,不知道你用的什么牌子电机驱动器.
4 P8 h  n* f) ]! }0 K! _; [要是用KINCO的伺服驱动器和PLC控制是比较简单,程序可以通过PLC来控制连动
: O* l" d3 h. ^你可以试加PLC进行控制,要比较简单吧
发表于 2008-5-26 19:36:17 | 显示全部楼层 来自: 中国江苏盐城
我也想呀!但是想来想去感觉程序太难了!所以只好放弃了!
 楼主| 发表于 2008-5-26 20:56:37 | 显示全部楼层 来自: 中国黑龙江哈尔滨
我们是使用maxon电机 用EPOS驱动器
! G# ~# B' S8 Q0 p不让用PLC啊( m5 N) [& P* ~) h
编程时可以直接调用说明书提供的函数
% w; t7 @: I: q; ?但我不知道程序的流程应该是怎样(先干什么 再干什么) 2 Q! O- s  d  p- P6 x
请老师们帮帮忙~
发表于 2008-7-25 11:16:01 | 显示全部楼层 来自: 中国浙江杭州
用哪种语言有区别么?
发表于 2008-7-25 14:38:39 | 显示全部楼层 来自: 中国河南郑州
我觉得这是个比较简单的事情。而且还有现成的库函数。只是操作串口而已。
发表于 2008-7-25 15:38:00 | 显示全部楼层 来自: 中国山东潍坊
你这不叫“四个电机联动”,至少我不这么认为,只不过是控制四台电机同时动作而已。
  p* i) `- S/ H& `, d接口函数都告诉你了,调用起来也不是很麻烦吗,用C++做个界面,用c写控制程序。所谓程序不过是初始化接口,传送数据,而已,把他们提供的程序好好看看。
发表于 2008-8-10 20:19:52 | 显示全部楼层 来自: 中国上海
找一块 驱动卡 如楼上那样处理就可以了
发表于 2008-9-2 22:20:47 | 显示全部楼层 来自: 中国河北石家庄
使用C8051F040高速SOC单片机、L298N直流电机驱动芯片,软件编程可在Siliocn Labortories集成开发环境(DIE)下通过JATG接口进行编程,不需要专用编程器或适配器;还可以通过用户软件对FALSH进行编程,允许现场更新固件为产品的软件升级提供了极大的方便。9 H; `* @6 \9 E( U6 y$ s6 r( V
本设计中的应用程序是在Keil C51的开发环境下编译后用EC-3仿真器下载到芯片中运行的。主要程序代码如下:
% k" r, \4 I1 Q5 o' D//交叉开关配置,将6路PWM输出配置到P0端口
) ~2 @8 j8 Y; \4 @void config(void)# x7 z9 V. d4 l8 L" v' H9 Z3 E) g
{& ~% ?* I  v# B( k
XBR0=0x30;//将6路PWM输出配置到P0.0-P0.5端口
, h6 l+ C4 W* T, h& PXBR1=0x00;
8 \  L3 W3 N, S1 z/ P; HXBR2=0xc0;//开启交叉开关,全局上拉开启
  o9 ?9 a5 q7 V" m+ e. l  eXBR3=0x00;
+ J8 G$ N9 t: @6 p! G4 T}
: E' d8 M% `  |1 h3 [/ M7 F//配置T0定时器,定时时间1毫秒,系统时钟24MHz
( f, L+ G0 N) W1 w2 J$ ]+ sVoid Timer_cfg(void)
$ m6 V8 T4 r, P, s; X+ ?& g. G{! V# L! N2 h' J2 I' G! |/ B2 Q7 P
TMOD=0x01;//采用定时器0的方式18 Q9 Q, D% p% Z$ B
TH0=0xf8;6 u# `/ b* V( A2 q0 C7 R; k) z4 o
TL0=0x2f;, M6 M5 Y' B$ X1 W. c( w
TR0=1;% q! k' y+ [9 P: v2 U9 c: S
}: b4 P: Z4 D0 V4 [- z' `6 r
//配置PCA定时器& N% [0 `, {+ j0 t; ]
Void pcainit(void)* v9 ~- A8 E/ e7 T" g4 r4 c
{" X8 r6 D! q% P' [4 Z" c
SFRPAGE=0x00;
3 n1 h! q' m' F" B3 CPCA0CMP0=0x42;9 U$ A' N$ u3 G( ]
PCA0MD=0x04;//PCA采用T0溢出时钟,且PCA溢出中断禁止1 v( @, t8 j0 R- S- [5 Z. y, i7 M
PCA0CN=0x40;//启动PCA计数器
( V0 H2 m1 i8 u: G}3 g; k4 m5 f! l. f+ g! y: m
//占空比设置,设置为255时,可使电机停止转动% V: |7 ~$ k! b! \' I9 ^/ u+ D
Void PWM_SET(uchar channel,uchar low)3 X  z* {! w' t# t# `
{9 I7 c. g' u/ E$ w1 ?  S
SFRPAGE=0x00;5 g7 G# `" J! v3 G' p5 x8 J; d
Switch(channel)
0 M" g9 @2 ?- A6 e1 X1 h/ b8 P/ a{* l+ l% l; B* m. D
Case 0:PCA0CPH0=low;break;
# n8 W; @, S# P7 i& T6 ACase 1:PCA0CPH1=low;break
; E/ Z) i% h0 m. o6 S7 v1 `Case 2:PCA0CPH2=low;break
* u0 L: t, E- V; GCase 3:PCA0CPH3=low;break, d9 n- i6 I8 M' E
Case 4:PCA0CPH4=low;break
- Q  U* z/ G, sCase 5:PCA0CPH5=low;break! o! j- Y' s: k7 \5 K4 A  s
Default:break;
. @5 l! w- o& P: Z6 d# I4 o0 h}/ ?' b; }8 e2 K8 `7 Y, r
}
3 M% D* x. |) `* r3 ^& Q//运动方向设置/ `4 t& F5 L, m5 K  u
Void Direct_set(uchar channel,bit dir)1 S) H$ V# N5 |: V' i7 H' K8 S
{3 U! N. R' o8 Y) b. Q: J1 y# y) d
Switch(channel)  v( h5 Q+ @/ j1 d7 F! ~
{. \2 f. I/ b# c- V8 O
Case 0:P4.0=dir;break;: C% a9 T2 G4 _% s! D
Case 1:P4.1=dir;break
! N2 A6 l& N  JCase 2:P4.2=dir;break. A, I1 H  w( C0 C( f- D6 `
Case 3:P4.3=dir;break
" K) B) U5 A; u9 j5 T0 z" PCase 4:P4.4=dir;break* h% L, I3 f$ h' {0 s6 ?! q
Case 5:P4.5=dir;break
  r/ J( V5 |: \( o* ]Default:break;/ V3 F: t, e" \1 \
}
4 O/ P9 ?+ a5 q* E}
" M: k4 v! h7 Q. e* m; [( q在电机起动时,先输出高占空比的PWM信号,让电机获得较大的起动力矩,然后再过渡到设定的PWM脉宽。另外结合片内的A/D转换器检测Rsa上的电压,可得到电机的工作电流,以此为依据对电机的运行状态进行检测,保证电机的运行安全。
发表回复
您需要登录后才可以回帖 登录 | 注册

本版积分规则


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

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

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