在28035平台上采用CLA实现无刷电机控制(可以运行的CODE),有不明白的可以帮忙解答。
2021-08-14 17:44:12 1.47MB dsp28035 CLA Sensorless
1
侧重于磁路的基本概念 SVPWM控制 电机控制学习的基础 从最简单的概念入手 到坐标变换 再到数学模型的建立
2021-08-13 19:12:24 1.61MB 基础概念 电机控制 学习笔记
1
基于kithara实现的伺服电机控制代码-VisualStudio-ethercat 基于kithara实现的伺服电机控制代码-VisualStudio-ethercat
2021-08-13 10:38:11 8.07MB kithara ethercat VS 电机控制
1
提出一种基于FPGA的永磁同步电机控制器的设计方案,该设计可应用于具有高动态性能要求的永磁同步电机伺服控制系统。为提高伺服控制系统的实时性,简化电路及节省成本,该系统设计采用Ahera公司生产的CycloneIII EP3C25Q240C8型FPGA器件实现电机控制器。嵌入NiosⅡCPU软核配合片内硬件乘法器及可编程逻辑门阵列,实现软硬件协同工作。通过QuartusⅡ软件自带的SignalTaplI嵌入式逻辑分析仪进行板上调试验证,得到带有死区输出的PWM波形。该PWM波形可用于电机驱动。
2021-08-12 20:24:16 372KB SoPC
1
电机控制算法说明,描述了电机控制的FOC矢量控制算法和DTC直接扭矩控制算法。
2021-08-12 16:01:35 2.62MB 电机控制
1
电机的位置检测在电机控制中是十分重要的,特别是需要根据精确转子位置控制电机运动状态的应用场合,如位置伺服系统。电机控制系统中的位置检测通常有:微电机解算元件,光电元件,磁敏元件,电磁感应元件等。这些位置检测传感器或者与电机的非负载端同轴连接,或者直接安装在电机的特定的部位。其中光电元件的测量精度较高,能够准确的反应电机的转子的机械位置,从而间接的反映出与电机连接的机械负载的准确的机械位置,从而达到精确控制电机位置的目的。在本文中我将主要介绍高精度的光电编码器的内部结构、工作原理与位置检测的方法。
2021-08-12 13:46:39 184KB 传感技术
1
PID精讲--PID调节控制做电机速度控制 1 模拟PID控制 1.1 模拟PID控制原理 2 数字PID控制 2.1 位置式PID算法 2.2 增量式PID算法 2.3 控制器参数整定 2.3.1 凑试法 2.3.2 临界比例法 2.3.3 经验法 2.3.4 采样周期的选择 2.4 参数调整规则的探索 2.5 自校正PID控制器 3 软件说明 3.1 软件说明 3.2 档案构成 3.3 DMC界面 3.4 子程序说明 4 程序范例 4.1 DEMO程序 4.2 程序流程与说明 4.3 中断子流程与说明 5 MCU使用资源 5.1 MCU硬件使用资源说明 6 实验测试 6.1 响应曲线 7 参考文献
2021-08-12 09:44:26 461KB PID 电机 控制 算法
1
Aurix电机控制软件介绍;iLLD Service软件-电机&逆变器软件库技术介绍,包含架构,库安装/使用方法等要点介绍,英文资料
2021-08-10 15:14:33 1.33MB 英飞凌芯片相关资料
1
行业分类-作业装置-一种可拆卸的无刷电机控制器冷却风扇.zip
FPGA(EP4CE6)控制步进电机实验Verilog逻辑源码Quartus工程文件+文档资料, module STEP_MOTO_V1_0 ( //input input sys_clk , input [3:0] key , output reg mot_out_a , output reg mot_out_b , output reg mot_out_c , output reg mot_out_d ); //reg define reg [8-1:0] counter ; reg [8-1:0] count ; reg [25:0] clk_cnt ; reg [ 2:0] step_cnt ; //wire wire step_en ; //wire define //parameter define assign sys_rst_n = 1'b1 ; // gen a time counter , 5500000 * 20ns always @(posedge sys_clk or negedge sys_rst_n) begin if (sys_rst_n ==1'b0) clk_cnt <= 26'b0; else if ( clk_cnt == 26'd500000 ) clk_cnt <= 26'b0; else clk_cnt <= clk_cnt + 26'b1; end // step enable is active 5500000 * 20ns assign step_en = ( clk_cnt == 26'b0 ) ? 1:0 ; always @(posedge step_en or negedge sys_rst_n) begin if (sys_rst_n ==1'b0) step_cnt <= 3'b0; else step_cnt <= step_cnt + 3'b1; end always @(posedge step_en or negedge sys_rst_n) begin if (sys_rst_n ==1'b0) begin mot_out_a <= 1'b0; mot_out_b <= 1'b0; mot_out_c <= 1'b0; mot_out_d <= 1'b0; end else if ( step_cnt == 0 ) begin mot_out_a <= 1'b0; // 6 mot_out_b <= 1'b0; mot_out_c <= 1'b0; mot_out_d <= 1'b1; end else if ( step_cnt == 1 ) begin mot_out_a <= 1'b0; mot_out_b <= 1'b0; mot_out_c <= 1'b1; mot_out_d <= 1'b1; end else if ( step_cnt == 2 ) begin mot_out_a <= 1'b0;