伺服CAN总线设计(电工Demo)
1 硬件接线:
这种是一般PLC上CAN的9芯插头引脚定义。 5接屏蔽线
2 HL线电压:
40米: 1 Mbps ( iso 11898_3)
逻辑1: H L 电压差 低于0.05V(隐性 1)
逻辑0: H L 电压差 高于1.5V(显性 0)
电阻: H L 负载电阻 (85Ω ~ 130Ω) / 2 一般120Ω /2
实际 H L 负载电阻值:60Ω标准帧id使用11bit(0x7FF)
扩展帧id使用29bit(0x1FFFFFFF)(11bit+18bit)
帧id=0x00;优先级最高
这图上说的是:隐性1的时候,H和L线都是2.5V,线压差是0v。
显性0的时候,H线3.5v,L线1.5v,线压差是2v(满足显性最低条件 >1.5v)。
可以理解为,没数据的时候,大家都是2.5v。
电压条件:
H和L是负电压或<1.5v时 :逻辑1(隐性电平)
H和L之间正电压,且大于1.5v:逻辑0(显性电平)总线是或逻辑: 甲(隐性电平)乙(显性电平)总线结果是(显性电平)
子站都能读取总线状态。显性电平能覆盖总线电平(强制为显性电平)
所以从站id=0x00权限最高。下来是帧id = 0x01;
11bit地址先出现1的设备,先出局。
上图,空闲的时候:H是+1.46vL是+1.46v (我把L线电压下降 1V 是为了方便观看,实际波形是完全重叠的)所以 H线和L线之间没有电压差,是逻辑1(隐性电平)
这个是截取工作状态的波形。H线和L线出现电压差大于1.5v(实测2.8v),表示逻辑0 (显性电平)这就相当于,没有数据的时候一直逻辑1(H线电压就是L线电压)。有数据0的时候会(出现电压差2.8v)
工作流程:
所有设备都并联 CAN总线,终端两边各并联120Ω电阻(万用表量HL电阻60Ω),大家都没发报文时,HL线没有电压差,当主站发报文时,HL出现电压差。如果大家全在发报文,HL电压差占空比越大,接近于一直保持2.8v压差。虽然手册说隐性状态下HL应该同时保持在2.5v(实际1.46v),电压差0v,理论和实际总会有点差距。
开始测试:
只需要2根线:GND线可不用,gnd用于检修。
H和L线,终端各并联120Ω电阻。(断电,用万用表测 60Ω)
21拨码都朝下
RES位置是内置120Ω电阻;拨码开关朝下是接通内置电阻。2个开关对应2个120Ω电阻
3 硬件设备:
CAN总线: 一般用在汽车上,伺服驱动器,步进驱动器,舵机,分布式io等设备上。有以太网转CAN和4G网转CAN。(注意每秒帧数1M≈9259帧)十的六次方除以 108bit当然得到数据后,可以往RS485等上面传。
4 CAN 数据帧:
上图数值代表bit数量。
数据段:0~64表示 最大64bit(8字节)
标准数据帧,单帧最大108bit
1M是1000000bit(9259帧秒)
甲方出隐性,乙方出显性,总线结果是显性。(ack位置,甲方出隐性,从站出显性,甲方:确认已发送成功。)
最后保持7个bit隐性电平表示一帧结束。高速FD设备:
除了数据段位置,其他都一样,在进入数据段后,波特率立即变成5MHz,同样的8字节时间长度,数据变成64字节。
CAN-FD 数据段:速度是5M或8M,最大64字节(64byte)
和普通can不一样。普通CAN的单帧数据段只能最大64bit(8byte)
设备ip我改的是77,默认ip是192.168.0.7
硬件:有人 CANET200 (断链保存最后200帧)
电源 DC5~36v
默认网络 192.168.0.7
密码 admin
can1 20001(端口)用客户端模式去连
rs485 20003
can2 20005
设备支持:心跳,过滤id,中继,标准帧,扩展帧,CAN转485
单帧:固定13字节去覆盖标准帧(108bit)或扩展帧。
现在要记住 148字节的样式,一会要用。它不能像串口那样单独发一个字节。
20001端口是 Can1
20005端口是 Can2(端口和ip都是可以修改的,在网页192.168.0.7密码admin)
1 4 8 样式的字节,
总共13个字节。 由于我设备是以太网转CAN,所以每帧固定发13字节。
★1 表示帧头信息:占1字节(bit7,bit6,bit3~0)
7 6 54 3210
0 标准 0 数据帧 00 1000
1 扩展 1 远程 0~8有效字节数调试结果:CAN2发,CAN1监视08h 标准,数据帧, 8字节(id不能大于0x7FF)11bit
48h 标准,远程 , 0字节(监视48h帧)应该类似于呼叫,11bit
88h 扩展,数据帧, 8字节(id不能大于0x1FFFFFFF),29bit
C8h 扩展,远程 , 0字节(监视C8h帧),29bit远程帧:8字节数据全是00h
本人测试,雷赛伺服CAN只支持08帧(标准数据帧)。CANopen把11bit切割成(4bit功能码 + 7bit从站地址)
48h和C8h应该类似于呼叫设备。所以数据段不使用
★4表示帧id信息:占4字节(COB_ID)//11bit(4bit+7bit)
新手:这部分只需要记住是占4个字节就行了。比如 12 34 56 78,不用考虑意义,再加上后
面8字节,CAN就能发送出去。
标准帧:这部分使用11bit,值不能大于0x7FF;CANopen把11bit切割成(4bit功能码 + 7bit从站地址)
扩展帧:这部分使用29bit,所以id不能大于0x1FFFFFFF//=======老司机=================
这个4字节的内容会影响后面8字节的定义。
这个4字节也可以理解为:功能码+从站id地址
标准帧:(id帧只使用里面的11bit,功能码4bit + 从站地址7bit)//id值不能大于0x7FF
扩展帧:4字节内使用29bit// id值不能大于0x1FFFFFFF;
优先级:id帧首次出现隐性电平的帧,优先级低。(COB_ID 00000000最高)int cobid = 功能码<<7;cobid |= 从站id地址;
return cobid;//标准帧:这个11bit具体定义要看手册,硬件上只定义id值不能大于0x7FF(11bit)//======标准帧============================
COB_ID:(11bit)// 标准数据帧功能码(4bit)+ 从站地址(7bit)从站最大 0x7F 是 0~127站
雷赛手册定义:0站是广播站,指所有从站。COB_ID值(11bit)(4bit功能码 + 7bit从站地址)
NMT 网络管理 0000 0x00
同步对象 0001 0x80
紧急 0001 0x80+从站地址
Time 0010 0x100TXPDO1(发送) 0011 0x180+地址
RXPDO1(接收) 0100 0x200+地址TXPDO2(发送) 0101 0x280+地址
RXPDO2(接收) 0110 0x300+地址
TXPDO3(发送) 0111 0x380+地址
RXPDO3(接收) 1000 0x400+地址
TXPDO4(发送) 1001 0x480+地址
RXPDO4(接收) 1010 0x500+地址//=====SDO操作===========
TSDO(服务器发送)1011 0x580+地址(get回帧)40读寄存器
4f(8bit)
4b(16bit)有效bit长度
47(24bit)
43(32bit)RSDO(客户发送) 1100 0x600+地址(set到驱动器)60成功80失败
2f(8bit)
2b(16bit)操作bit数
27(24bit)
23(32bit)
//关闭心跳1017h+00寄存器赋值零 08 0000 0601 2b 1710 00 0000 0000
// 08标准数据帧,601set从站1RSDO操作,2b覆盖16bit,
// 1710寄存器0x1017,00子索引0,0000 0000值0x00;//伺服保存 08 0000 0601 23 1010 01 7361 7665
//伺服恢复出厂 08 0000 0601 23 1110 01 6c6f 6164NMT 从站网络回帧 1110 0x700+地址//======参考==============
cobid(4字节的11bit) b0 b1
00h 网络管理 01启用远程伺服节点 从站地址00广播(所有伺服)02停止远程伺服节点80预操作81节点复位 01从站82通讯复位
//======参考==============
cobid(4字节的11bit) 无b0
80h 同步报文 空//======参考================
cobid(4字节的11bit) b0
700h + 从站地址(回帧 NMT) 00 Boot_up 心跳信号(寄存器 0x1017单位ms)04 停止05 操作7F 预操作注:因为是标准帧所以只使用11bit,又因为我的硬件是以太网转CAN,所以是固定的4字节里只使用11bit
如果是扩展数据帧,那4字节里就使用29bit//伺服恢复出厂 08 0000 0601 23 1110 04 6c6f 6164
1011这个寄存器是32bit的,必须用23操作码。
详细解释如下:
08 标准数据帧,数据长度8字节
601是 id帧(11bit)4bit功能码+7bit从站地址,RSDO操作1号从站
23 是写32bit数值
1110是: 0x1011寄存器
04是:子索引 第4个(1和4功能一样)
6c6f 6164 是: 数值 0x64616f6c
★8表示帧数据字节:占8字节 就算没数据,也得发8个0x00
下面我发送:84 12345678 11 22 33 44 55 66 77 88
84 12345678 11 22 33 44 55 66 77 88
接收
[2022-11-27 12:41:50.229] 84 12 34 56 78 11 22 33 44 00 00 00 00
看出区别了吗? 在第一字节是 控制byte, 4表示帧数据(在8个字节里只有4个字节有效。)
再来看下:
发: 88 12345678 11 22 33 44 55 66 77 88
收: 88 12 34 56 78 11 22 33 44 55 66 77 88
这个案例,必须熟记。C#写业务的时候要用。
//==========================================================
到这里,发送的数据帧就学完了。下面开始上硬菜。
需要 EDS 对象字典 http://www.leisai.com/
参见《CANopen 技术指导手册》
从驱动器发送出来的 PDO 即为 TPDO
DM-CAN 系列系列驱动器目前最多可以支持 4 组 TPDO(驱动器TX) 和 4 组 RPDO(驱动器RX) 。
SDO 的传输效率要低于 PDO。
SDO做初始化参数用。
PDO类似于快捷键,配置好参数后,就可以直接操作这个快捷键。SDO相当于去黄焖鸡单个点吃的,子索引相当于这道菜的基础上加辣?加香菇?加百叶?
PDO相当于点套餐,后面的值是套餐的编号。这样可以省去一个个点菜的麻烦。(一个套餐要是有200多道菜,你用SDO一个个点,很浪费时间)
伺服寄存器的bit长度需要使用对应的bit长度操作码。如 23
get寄存器的bit长度
4f(8bit)
4b(16bit)
47(24bit)
43(32bit)set寄存器的bit长度 // 0x600+从站地址(set到驱动器)60成功80失败
2f(8bit)
2b(16bit)
27(24bit)
23(32bit)
DM-CAN 系列驱动器的 CAN 地址总共有 7 位,最大地址 127。
站点地址不可设置为 0
驱动器地址=高 2 位地址+低 5 位地址;
其中低 5 位地址由拨码开关 SW1~SW5 设定(off表示1)
,高 2 位地址通过对象字典 0x2150寄存器 来设置,2150 默认值为 0,范围是 0~3。
2150=1,表示增加地址32;
2150=2,表示增加地址 64。
2151 使用默认值0;0:地址来自拨码器,1地址来自2150寄存器
保存 1010+04 = 0x65766173; // 保存,重启生效(08 0000 0601 23 1010 04 7361 7665)
恢复出厂 1011+04 = 0x64616f6c; //驱动器恢复出厂设置 8字节数据
(08 0000 0601 23 11 10 04 6c 6f 61 64)驱动器控制字(对象字典 6040h) 的 bit0-bit3、 bit7 位来控制(PV速度,HM回原点,PP位置)状态字(对象 6041h) 的 bit0~bit3、 bit5、 bit6 显示硬件当前状态
我也有考虑用can舵机,袖带方便,无奈价格吓退我,我花了80块买了这个步进驱动器。学习过程中,试错成本太高,猴年马月能回本????生活压力大。
449元,广州那边发常州,东西还在路上。。
下次更新
驱动器接好后,会收到个心跳包。
7 6 54 32100 标准 0 数据帧 00 0001
1 扩展 1 远程 0~8有效字节数回帧是 01h
标准,数据帧,长度1字节
分析: 标准,数据帧,1字节,COB_帧id:0x0000 0707 ,数据 0x7f // 07是驱动器地址
光看心跳包01,大概知道,通讯用的是 标准 数据帧 0000 0001
还得做测试,之前驱动器地址是0x07,我现在改成0x03地址,看看是什么心跳包。
注意:驱动器OFF位置拨码表示1
那148里 4的最后7bit是驱动器地址了(实际是 功能码4bit + 从站地址7bit)。
00 00 07 03这里03是驱动器地址,07还不知道是什么意思,继续看手册。
帧id:占4字节( COB_ID )功能码4bit + 从站地址7bit
SDO收 580h+(get伺服)
SDO发 600h+(set伺服)700h+(从站状态)0x00+(总线命令)1字节 4字节 COB_ID 8字节
00 0000 0000 00 00 00 00 00 00 00 0000 0000 0080 空 同步从站00(所有从站)02 0000 0000 81 01 同步从站01
02 0000 0000 01 00 启动远程控制,从站00广播
01 0000 0701 00 回帧,心跳
08 0000 0601 23 00 14 01 00 00 00 80 SDO,写32bit0x1400子01=0x8000 0000;
08 0000 0581 60 00 14 01 00 00 00 00 回帧SDO 60成功,0x1400子01
08 601 2F 00 16 00 00 00 00 00 SDO写8bit,0x1600子00,=0x00581 60 00 16 00 回帧SDO,60成功0x1600子00
08 601 2F 00 14 02 01 SDO写8bit,0x1400子02=0x01;581 60 00 14 02 回帧SDO,60成功1400子02
08 601 2B 00 14 03 90 01 SDO写16bit,1400子03=0x0190;40.0ms581 60 00 14 02 回帧SDO,60成功1400子02
帧头:占1字节:8bit
7 6 54 3210
0 标准 0 数据帧 00 1000
1 扩展 1 远程 0~8有效字节数调试结果:CAN2发,CAN1监视08h 标准,数据帧, 8字节(id不能大于0x7FF)
40h 标准,远程 , 0字节(监视40h帧)应该类似于呼叫
88h 扩展,数据帧, 8字节(id不能大于0x1FFFFFFF)
C0h 扩展,远程 , 0字节(监视C0h帧)远程帧:8字节数据无意义,全是00h
本人测试,雷赛伺服CAN支持08帧(标准数据帧)。
COB_ID :占4字节:只用低11bit(功能码4bit + 从站地址7bit)
帧id的功能码:00h+ 80h+ 180h+ 200h+ 。。。。。
这个00h是can总线命令。
COB_ID的值,直接影响后面数据8字节的功能。
C#设计的时候,COB_ID: 功能码 << 7 ,然后或上从站地址
int cobid = 功能码<<7;cobid |= 从站地址;
return cobid;//标准帧(11bit)不能大于0x7FF;
//==================================
COB_ID:(11bit)功能码(4bit)+ 从站地址(7bit)从站最大0x7F 是 0~127
NMT 网络管理 0000
同步对象 0001 0x80+地址0
紧急 0010 0x80+地址TXPDO1(发送) 0011 0x180+地址
RXPDO1(接收) 0100 0x200+地址TXPDO2(发送) 0101 0x280+地址
RXPDO2(接收) 0110 0x300+地址
TXPDO3(发送) 0111 0x380+地址
RXPDO3(接收) 1000 0x400+地址
TXPDO4(发送) 1001 0x480+地址
RXPDO4(接收) 1010 0x500+地址TSDO(服务器发送)1011 0x580+地址(get回帧)
RSDO(客户发送) 1100 0x600+地址(set到驱动器)NMT 错误控制 1110 0x700+地址(get回帧,从站状态)
NMT 网络管理: 02 00000000 0101 0000 0000 0000
COBID(11bit) B0 B100000000h 01启动远程 01从站地址02停止远程 00广播80预操作81节点复位82通讯复位
SDO操作:写/读
580h+ TSD0 (get回帧)
600h+ RSD0 (set到驱动器)GOB_ID B0 B1B2 B3 B4B5B6B7
601(600h+从站地址)2F写 8bit 1032寄存器(0x3210) 10子索引 10 (0x10)设定值2B写 16bit 1032寄存器(0x3210) 10子索引 10 32 (0x3210)27写 24bit 1032寄存器(0x3210) 10子索引 10 32 54(0x543210)23写 32bit 1032寄存器(0x3210) 10子索引 10 32 54 76 (0x76543210)40读寄存器 1032寄存器(0x3210) 10子索引 空1032寄存器地址(0x3210)10子索引(0x10是16,一般是0~3)数值10 32 54 76(0x76543210)
SDO结果: 驱动器回帧 580h+
580h+ TSD0 (get回帧)
600h+ RSD0 (set到驱动器)GOB_ID B0 B1B2 B3 B4B5B6B7
581(580+从站地址)60写入成功80写入异常4F一字节(回帧有效字节)4B二字节47三字节43四字节1032寄存器(0x3210)10子索引(0x10是16,一般是0~3)数值10 32 54 76(0x76543210)
报文8字节:跟COB_ID配合使用
8字节报文详解:维修电工祁成B0 B1B2 B3 B4B5B6B7
0功能码1寄存器地址 10 32 低字节在前 ( 0x3210 )3子索引 01 ( 0x01 )一般是0x004数据值 10 32 54 76 低字节在前(0x76543210)B0功能码:
4f(8bit)// 回帧有效bit长度
4b(16bit)
47(24bit)
43(32bit)RSDO(客户发送) 1100 0x600+地址(set到驱动器)60成功80失败
2f(8bit)//写寄存器bit长度
2b(16bit)
27(24bit)
23(32bit)读:
40读寄存器 0132(寄存器0x3210) 10子索引(0x10 是16,一般子索引用0x00)
//样例: 08 0000 0601 40 10 32 00 //SDO到驱动器1从站40读寄存器 0x3210,子索引0
// 40 03 30 00 // 40读寄存器,寄存器0x3003子索引0
4B二字节寄存器结果
// 4B 03 30 00 5A 5A 00 00 //报文应该是:08 0000 0581 4B 03 30 00 5A 5A 00 00
6000H~~~9FFFH 标准DSP CiA 402
案例:运动模式 6060+00 = 3 //速度模式
运动模式(0x6060)= 1 位置3 速度4 转矩6 回零模式1 4 8
08 0000 0601 2f 6060 00 03 000000 // 2F写8bit,寄存器0x6060,子索引00,数值03
案例2:保存设置 0x1010子索引1 = 0x65766173;
1 4 808 0601 23 10 10 01 73 61 76 65
注:
23 写32bit
1010 寄存器0x1010
01 子索引 0x01
73 61 76 65 寄存器数值 0x65766173;数据帧:"08 0000 0601 23 1010 01 7361 7665"08 0000 0601 23 10 10 01 73 61 76 65
标准数据帧:8字节长度
帧id: 0x0601(SDO操作600h + 01h从站)
写32bit: 23h
寄存器: 10 10 (低字节在前)
子索引: 01h
数据8字节: 73 61 76 65 (0x65766173)
案例3:电机放向 2051+ 00 = 0; // 0不变,1反方向
1 4 808 0000 0601 23 51 20 00 00 00 00 00
注:
23 写32bit
51 20 寄存器0x2051
00 子索引 0x00
00 00 00 00 寄存器数值 0x00000000;数据帧:08 0000 0601 23 51 20 00 00 00 00 00
寄存器 子索引 长度 说明
1000h 00h 32bit 驱动器机种码 0x00040192
1001 00 错误缓存器(bit4通讯错误bit3温度bit2电压bit1电流bit0一般)
1003 预定义错误区
1005 SYNC同步码 0x80
1006 通讯周期us SNYC间隔
1007 PDO时间窗口
1008 00 设备名称
1009 00 硬件版本
100A 00 软件版本
1010 01 32bit 伺服保存 0x65766173
1011 01 32bit 恢复出厂值 0x64616f6c
1014 紧急事件(bit31 o开)
1017 生产者心跳周期ms
1018 01 厂家id
1018 02 产品代码
1018 03 修改版本
1018 04 序列号
1200 01 SDO参数 上→下 0x600+02 上←下 0x580+1400 01 PDO1参数(bit31 o开)(bit10~0 0x200+)02 响应延迟03 禁止时间0405 应答延迟
1401 PDO2参数
1402 PDO3参数(bit31 o开)(bit10~0 0x400+)
1403 PDO4参数1600 01~08 RxPDO1对象绑定(不能超过64bit)
1601 01~08 RxPDO2对象绑定
1602 01~08 RxPDO3对象绑定
1603 01~08 RxPDO4对象绑定1800 TxPDO1参数1A00 01~08 TxPDO1对象绑定
1A01 01~08 TxPDO2对象绑定1C00 01 邮箱输出类型:1
1C00 02 邮箱输入类型:2
1C00 03 过程输出类型:3
1C00 04 过程输入类型:4
1C12 00 PxPDO分配:0x1600
1C13 00 TxPDO分配:0x1A000x1000-设备类型UINT32 RO NO
0x1001-错误寄存器UINT8 RO YES
0x1002-制造状态寄存器UINT32 RO是
0x1003 8预定义错误字段ARRAY--
0x1005-COB-ID SYNC消息UINT32 RW NO
0x1006-通信周期UINT32 RW NO
0x1007-同步窗口长度UINT32 RW NO
0x1008-制造商设备名称STRING RO NO
0x1009-制造商硬件版本STRING RO NO
0x100A-制造商软件版本STRING RO NO
0x1010 2存储参数ARRAY RO NO
0x1011 2恢复默认参数ARRAY RO NO
0x1014-COB-ID EMCY UINT32 RO编号
0x1017-生产者心跳时间UINT16 RW NO
0x1018 4标识对象阵列--
0x1019-同步计数器溢出值UINT8 RW NO
0x1029 6错误行为对象ARRAY--
0x1200 2 SDO服务器参数ARRAY--
0x1400 2 RPDO通信参数1 ARRAY--
0x1401 2 RPDO通信参数2 ARRAY--
0x1402 2 RPDO通信参数3 ARRAY--
0x1403 2 RPDO通信参数4 ARRAY--
0x1600 8 RPDO映射参数1 ARRAY--
0x1601 8 RPDO映射参数2 ARRAY--
0x1602 8 RPDO映射参数3 ARRAY--
0x1603 8 RPDO映射参数4 ARRAY--
0x1800 6 TPDO通信参数1阵列--
0x1801 6 TPDO通信参数2 ARRAY--
0x1802 6 TPDO通信参数3阵列--
0x1803 6 TPDO通信参数4 ARRAY--
0x1A00 8 TPDO映射参数1 ARRAY--
0x1A01 8 TPDO映射参数2 ARRAY--
0x1A02 8 TPDO映射参数3 ARRAY--
0x1A03 8 TPDO映射参数4 ARRAY
寄存器 子索引 长度 说明
2000h 00h 32bit 最大电流ma
2001 00 电机一圈脉冲
2002 00 待机时间ms
2003 00 待机电流百分比 50%
2005 01 输出1功能
2005 02 输出2功能
2007 00 电机刹车
2008 输出引脚逻辑 0正逻辑 1反
2009 fir滤波使能
2010 01 fir滤波时间
2012 软启动us
2013 电流环使能
2020 电机电阻
2021 电机电感
2028 输出极性
2039 外部位置H
2040 外部位置L
2043 当前转速
2048 母线电压
2051 电机方向 1反转
2056 故障检测
2057 清除报警 1清除
2058 软启动 1使能
2073 上电自动走位 1先正转30度再反转15度
2093 清除故障记录
2150 从站地址
2151 从站地址来源
2152 01 DI1功能02 DI2功能03 DI3功能0405 DI5功能
2153 DI1滤波时间 us
2154 DI极性
2155 00 DI1状态01 DI2状态
用 C# 写上位机,控制伺服电机,看我写的下篇。
伺服CAN总线设计(电工Demo)相关推荐
- 【Computer Organization笔记26】总线 bus :多个部件之间进行数据传送的共享通道,总线设计 - 总线仲裁、数据传输模式、提高总线性能
本次笔记内容: P51 计算机组成原理(51) P52 计算机组成原理(52) 我的计组笔记汇总:计算机组原理成笔记 视频地址:计算机组成原理 清华大学刘卫东 全58讲 国家精品课程 1080P 更完 ...
- Android事件总线设计(一)- EventBus初步学习
Android事件总线设计(一) 我们通常在进行安卓设计的时候,不同的Activity,Fragment,Service等之间通讯一直是个不小的问题,用Intent以及Handler都觉得有一点麻烦, ...
- 电机控制器,FPGA 硬件电流环 基于FPGA的永磁同步伺服控制系统的设计
电机控制器,FPGA 硬件电流环 基于FPGA的永磁同步伺服控制系统的设计,在FPGA实现了伺服电机的矢量控制. 有坐标变换,电流环,速度环,位置环,电机反馈接口,SVPWM. Verilog ID: ...
- 最新linux伺服控制,基于ARM Linux的三轴伺服控制系统人机界面设计 毕设
基于ARM Linux的三轴伺服控制系统人机界面设计 毕设 洛阳理工学院毕业设计(论文) 基于ARM+Linux的三轴伺服控制系统人机界面设计 摘要 现代计算机技术的产业革命,将世界经济从资本经济带入 ...
- 基于FPGA的永磁同步伺服控制系统的设计,在FPGA实现了伺服电机的矢量控制
基于FPGA的永磁同步伺服控制系统的设计,在FPGA实现了伺服电机的矢量控制, 坐标变换,电流环,速度环,位置环,电机反馈接口,SVPWM. . . 都是通过Verilog 语言来实现的,具有很高的研 ...
- 基于FPGA的永磁同步伺服控制系统的设计,在FPGA实现了伺服电机的矢量控制, 坐标变换,电流环,速度环,位置环,电机反馈接口,SVPWM 都是通过Verilog 语言来实现的
基于FPGA的永磁同步伺服控制系统的设计,在FPGA实现了伺服电机的矢量控制, 坐标变换,电流环,速度环,位置环,电机反馈接口,SVPWM. . . 都是通过Verilog 语言来实现的,具有很高的研 ...
- 基于FPGA的永磁同步伺服控制系统的设计,在FPGA实现了伺服电机的矢量控制, 坐标变换,电流环,速度环
基于FPGA的永磁同步伺服控制系统的设计,在FPGA实现了伺服电机的矢量控制, 坐标变换,电流环,速度环,位置环,电机反馈接口,SVPWM 都是通过Verilog 语言来实现的 FPGA 硬件电流环 ...
- FPGA 硬件电流环 基于FPGA的永磁同步伺服控制系统的设计
FPGA 硬件电流环 基于FPGA的永磁同步伺服控制系统的设计,在FPGA实现了伺服电机的矢量控制. 有坐标变换,电流环,速度环,位置环,电机反馈接口,SVPWM. Verilog 编号:841000 ...
- 通过Verilog 语言来实现基于FPGA的永磁同步伺服控制系统的设计,在FPGA实现了伺服电机的矢量控制
基于FPGA的永磁同步伺服控制系统的设计,在FPGA实现了伺服电机的矢量控制, 坐标变换,电流环,速度环,位置环,电机反馈接口,SVPWM... 都是通过Verilog 语言来实现的,具有很高的研究价 ...
最新文章
- 信号与系统期末考试2020春季学期试题准备
- 《SpringBoot揭秘:快速构建微服务体系》—第2章2.4节本章小结*
- 微软面试题目(一) 计算两个日期之间的天数
- 【python笔记】python模块 datatime模块
- 数论 —— 毕达哥拉斯三元组
- python绘制拟合回归散点图_Python之简单线性回归
- php5.3.3php5.4如何支持zend,php5.3不支持ZendOptimizer的解决办法(Zend Guard Loader)
- Aptana Studio 3 如何汉化,实现简体中文版
- SDUT 1149 勾股定理第一弹 勾股数
- UVa 11636 - Hello World!
- Servlet 3.0对上传的支持
- 分享OUTLOOK的定时发送功能
- pgm图像修改java_PGM图片格式与代码
- 人类面部表情数据集(12万张表情照片)
- 操作系统-IO与零拷贝【万字文,比较详细的解析】
- ADC模块的相关介绍
- [庆国庆]来生情缘-温情女儿国
- 反驳《3G门户的危机将来临》中的观点
- Unity游戏开发官方入门教程:飞机大战(六)——创建子弹
- 非正常情况下的移动加权平均算法