主页 > 互联网 > 内容页

在C/C++中实现基于MAX1385的控制环路

2023-02-17 15:59:15 来源:ADI

Maxim的MAX1385评估板(EV kit)软件包括Windows®图形用户界面(GUI)程序;但是,更新此显示的时间成本会干扰控制环路。本应用笔记展示了使用控制台菜单系统而不是GUI的更优化的控制回路程序。

当与MAX1385EVKIT+演示板配合使用时,控制环路可实现±2%的调节精度。该精度受栅极驱动器输出步长和FET跨导的限制。漏极电流调节步长由MAX1385的栅极电压增量乘以FET的有效跨导决定。由于MAX1385评估板使用IRFZ44N MOSFET闭环进行演示,因此调节可能与LDMOS FET不同。


(资料图片)

所需硬件

美信MAX1385评估板+

Maxim CMAXQUSB+ (包括 USB A-B 电缆)

带 USB 端口的 Windows 2000/XP PC

5VDC在 100mA 电源

10VDC 在 1000mA 电源

用于测量漏极电流的 DMM

用于测量漏极电压的 DMM

用于测量 PGAOUT 放大电流检测电压的 DMM

可选:用于监控 GATE1 电压和 PGAOUT1 漏极电流的示波器

设置

下载并解压缩必要的可执行文件和源代码文件(ZIP,736kB)。

按照图 1组装硬件。

将CMAXQUSB接头P3插入MAX1385评估板连接器J1。

将MAX1385评估板的漏极1和漏极2引脚连接到电流表(-)。

将电流表 (+) 连接到电源 (+)。

将MAX1385评估板的源极1和源极2引脚连接至电源(-)。

将电压表(+)连接到MAX1385评估板的DRAIN1引脚。

将电压表(-)连接至MAX1385评估板的SOURCE1引脚。

将MAX1385评估板的AVDD引脚连接至DVDD引脚(或可选连接外部5V DC电源)。

图 1.MAX1385评估板硬件配置

程序

将CMAXQUSB的VDD选择跳线设置为5V位置。

将 CMAXQUSB 连接到 PC 的 USB 端口。如果这是 CMAXQUSB 首次连接到 PC,则会出现即插即用向导。将 GUI 引导至设备驱动程序的安装位置(以 MAX1385_Appnote_src.zipsrcUSB_driver为单位)。

启动 DEMO1385.EXE 程序。屏幕上将出现一个控制台。在控制台输入以下一系列命令:

命令行动
C连接到 CMAXQUSB 模块。验证软件是否报告: 板已连接。Got board banner: Maxim CMAXQUSB V01.04.32 > Searching for MAX1385... Found MAX1385 at 0x4e Note: when using MAX1385EVKIT with CMAXQUSB, connect 5V DVDD supply to AVDD.
T V P测试菜单/验证上电值
T S O FCT1 0300测试菜单/伺服模式/输出寄存器/FineCalThru1寄存器,初始值0x0300
T S I FF测试菜单/伺服模式/输入寄存器/先进先出寄存器
T S A 2测试菜单/伺服模式/ADC命令/触发通道 2(当前 CS1)
T S T 0020测试菜单/伺服模式/目标值0x0020
T S C 1测试菜单/伺服模式/收敛步长正 1
T S H 1测试菜单/伺服模式/迟滞一步
T S M 60000测试菜单/伺服模式/最大循环持续时间设置为 60 秒
T S R测试菜单/伺服模式/运行
T W FCT1 0300测试菜单/写入寄存器/FineCalThru1寄存器,值0x0300

通过观察数字万用表来监控法规。

PGAOUT1上的电压调节在20.8mV和21.7mV之间,在平均0.45mV附近变化2.21mV (25%)。

源代码演练

源代码是用免费的dev-cpp IDE开发的,它使用GNU gcc-3.4.2 C++编译器。

清单 1显示了在调节环路中执行的C++代码的简化版本。为清楚起见,已删除输出语句和错误处理。

清单 1.简化C++代码。

菜单系统

完整的源代码实现了清单 2 中所示的控制台菜单系统,它连接到 CMAXQUSB 模块。

清单 2.控制台菜单系统。

============================================================CmodComm test programmain menu when not connected A) adjust timing parametersL) CmodLog... functions C) connect D) Debug Messages X) exit---------------------------------------------CBoard connected.Got board banner: Maxim CMAXQUSB V01.04.32 >Searching for MAX1385...Found MAX1385 at 0x4e       Note: when using MAX1385EVKIT with CMAXQUSB,             connect 5V DVDD supply to AVDD.============================================================CmodComm test program main menu after successful connect T) Test the device 8) CmodP8Bus... functions A) adjust timing parameters L) CmodLog... functions P) CmodPin... functions S) CmodSpi... functions M) CmodSMBus... functions $) CmodCommStringWrite list of hex codes R) CmodBoardReset D) Disconnect============================================================T Test menuT ?                     Hunt for active devicesT R                     Read registerT W                     Write registerT S                     Servo loopT VP                    Verify Power-On Register ValuesT VM reg mask           Verify Register Memory Persistence, All Combinations ...T VW reg mask           Verify Register Memory Persistence, Walking-One"s test ...============================================================Write register:T W AD                  Write ADCCONT W AH                  Write ALMHCFGT W AS                  Write ALMSCFGT W FI1                 Write FINE1T W FI2                 Write FINE2T W FC1                 Write FINECAL1T W FC2                 Write FINECAL2T W FCT1                Write FINECALTHRU1T W FCT2                Write FINECALTHRU2T W FT1                 Write FINETHRU1T W FT2                 Write FINETHRU2T W HC                  Write HCFGT W HT1                 Write THRUHI1T W HT2                 Write THRUHI2T W HW1                 Write HIWIPE1T W HW2                 Write HIWIPE2T W IH1                 Write IH1T W IH2                 Write IH2T W IL1                 Write IL1T W IL2                 Write IL2T W LD                  Write LDACT W LT1                 Write THRULO1T W LT2                 Write THRULO2T W LW1                 Write LOWIPE1T W LW2                 Write LOWIPE2T W P                   Write PGACALT W SC                  Write SCLRT W SS                  Write SSHUTT W TH1                 Write TH1T W TH2                 Write TH2T W TL1                 Write TL1T W TL2                 Write TL2T W X /hexRegAddr/      Write any register by its hexadecimal address============================================================Read register:T R AH                  Read ALMHCFGT R AS                  Read ALMSCFGT R FF                  Read FIFOT R FI1                 Read FINE1T R FI2                 Read FINE2T R FL                  Read FLAGT R HC                  Read HCFGT R HW1                 Read HIWIPE1T R HW2                 Read HIWIPE2T R IH1                 Read IH1T R IH2                 Read IH2T R IL1                         Read IL1T R IL2                         Read IL2T R LW1                 Read LOWIPE1T R LW2                 Read LOWIPE2T R TH1                 Read TH1T R TH2                 Read TH2T R TL1                 Read TL1T R TL2                 Read TL2T R X /hexRegAddr/      Read any register by its hexadecimal address============================================================T S Test Servo menuT S O FCT1 0300 output register [wr_FINECALTHRU1, initial value 0x0300]T S I FF        input register [rd_FIFO]T S A 2         ADC input channel [ bit 2 = 0x0004 = ADCCON_CURRENT_CS1 ]T S T 0020      target value [0x0020]T S C 1         ConvergeStep [1]T S H 1         hysteresis [1]T S M 60000     max_loop_duration_msec [60000]T S R           servo loop run============================================================sh
审核编辑:郭婷

标签: 漏极电流 控制回路 安装位置

上一篇:
下一篇: