首页 > 编程语言 >H7-TOOL的LUA小程序教程第14期:任意波形信号发生器,0-20mA输出和微型数控电源(2024-10-11,已更新)

H7-TOOL的LUA小程序教程第14期:任意波形信号发生器,0-20mA输出和微型数控电源(2024-10-11,已更新)

时间:2024-10-12 16:22:25浏览次数:1  
标签:11 10 函数 dac 输出 DAC write 参数 14

LUA脚本的好处是用户可以根据自己注册的一批API(当前TOOL已经提供了几百个函数供大家使用),实现各种小程序,不再限制Flash里面已经下载的程序,就跟手机安装APP差不多,所以在H7-TOOL里面被广泛使用,支持在线调试运行,支持离线运行。TOOL的LUA教程争取做到大家可以无痛调用各种功能函数,不需要学习成本。



简介

信号发生器,0-20mA输出和微型数控电源,可以在上位机端设置,也可以显示屏端设置

详细使用说明可以看在线或者离线操作说明手册:https://www.armbbs.cn/forum.php?mod=viewthread&tid=95373

建议优先熟悉下,特别是对应的信号发生器和0-20mA输出引脚。

1、上位机端设置

2、显示屏端设置


LUA函数说明:

1、打开和关闭DAC

函数 dac_on()   打开DAC电源

函数dac_off()    关闭DAC电源

这两个函数都是直接调用即可。由于信号发生器和0-40mA输出都是通过DAC实现的,所以调用这两个函数可以实现信号发生器和0-40mA输出开关。

2、写DAC数值

函数dac_write(参数1)

参数1:范围0-4095,用于写DAC值,因为是12bit DAC,所以范围是0-4095

函数dac_volt2dac(参数1)

参数1:单位mV,支持正负10V,对应的数值范围是-10000到10000,即-10000mV到10000mV,用于电压值换算为DAC值

函数dac_curr2dac(参数1) 

参数1:单位uA,支持0-20mA,对应的参数范围是0到20000,即0uA到20000uA,用于电流值换算为DAC值

举例:

这三个函数同样是直接调用即可,这三个函数推荐配合使用, 

比如设置电流输出10mA,  那么我们就可以:
local value

dac_on()
value = dac_curr2dac(10000)
dac_write(value)

又比如设置输出电压5V,那么我们就可以:
local value

dac_on()
value = dac_volt2dac(5000)
dac_write(value)

3、写电压和电流

函数dac_volt(参数1)

参数1:写电压值,单位mV,支持正负10V,对应的数值范围是-10000到10000,即-10000mV到10000mV

函数dac_curr(参数1)

参数1:写电流值,单位uA,支持0-20mA,对应的参数范围是0到20000,即0uA到20000uA

举例1:

函数dac_volt等效于dac_volt2dac + dac_write, 比如设置输出电压5V,那么我们就可以:
local value

dac_on()
dac_volt(5000)

函数dac_curr等效于dac_curr2dac + dac_write,比如设置电流输出10mA,  那么我们就可以:
local value

dac_on()
dac_curr(10000)

使用另外一个TOOL的4-20mA输入采集,实际电流效果:

使用台式万用表测量实际值


4、TVCC微型数控电源

函数write_tvcc_dac(参数1)

参数1:用于设置TVCC的DAC值,范围0 -127

函数write_tvcc_volt(参数1)

参数1:用于设置TVCC的电压,单位mV,范围1.2V - 5.0V,即1200mV - 5000mV

举例:

推荐使用函数write_tvcc_volt设置电压值,比如设置输出3.3V,那么就是write_tvcc_volt(3300)

5、信号发生器输出

函数lua_DacWaveStop()

无形参和返回值,直接调用即可,用于停止信号发生器输出。

函数lua_DacWaveStart(参数1, 参数2, 参数3)

参数1:波形数据缓冲

注意这个缓冲是每两个字节组成一个DAC值,值得范围是0-4095,  并且数值是以字符串形式填写才行,为了方便大家使用,需要使用函数dac_volt2dac做转换即可。

参数2:是输出一个波形数据点的速度

参数3:0表示无限输出,1表示输出一次。

举例:

比如周期性输出8个数值的波形,1123mV,  556mV, 2445mV,  5334mV,  -3334mV,  -5556mV,,  7890mV,  3231mV。

代码实现如下:

-- 定义一个空数组
local Volt = {1123, 556, 2445,  5334, -3334,  -5556,  7890, 3231}
 
-- 定义要赋值的数值
local DacValues = ""
 
-- 使用 for 循环将数值赋值给数组的每个成员
for i = 1, #Volt do
    DacValues = DacValues..dac_volt2dac(Volt[i])
end
 
dac_on()
dac_wave_start(DacValues,10000,0)
print("开始波形输出")

动态效果:

标签:11,10,函数,dac,输出,DAC,write,参数,14
From: https://www.cnblogs.com/armfly/p/18460782

相关文章

  • 2024.10.12 1615版
    起于《海奥华预言》的思考◆地球管理结构和参考持续更新中...... 英文地址:https://github.com/zhuyongzhe/Earth/tags中文地址:https://www.cnblogs.com/zhuyongzhe85作者:朱永哲 ---------------------------------------------------------------------------------......
  • 五上数学10月份月考情况反馈203班
    五上数学10月份月考情况反馈203班本周进行了数学第一单元的综合练习,已经进行了讲评。试卷已经下发,请学生带回家改完错误,家长签字。签字在试卷的左上角,签字示范:家长阅,10月12日,或者再写一些建议与意见都可以。下面分析一下考试情况:10月份月考内容:以第一第二单元为主下面是具体......
  • 2024-2025-1 20241403 《计算机基础与程序设计》第三周学习总结
    学期(2024-2025-1)学号(20241403)《计算机基础与程序设计》第三周学习总结作业信息这个作业属于哪个课程<班级的链接>(如2024-2025-1-计算机基础与程序设计)这个作业要求在哪里<作业要求的链接>(如2024-2025-1计算机基础与程序设计第三周作业)这个作业的目标掌握门和......
  • 2024.10.12 1530版
    起于《海奥华预言》的思考◆地球管理结构和参考持续更新中...... 英文地址:https://github.com/zhuyongzhe/Earth/tags中文地址:https://www.cnblogs.com/zhuyongzhe85作者:朱永哲 ---------------------------------------------------------------------------------......
  • Kimi 探索版发布,搜索量增强 10 倍;北大&快手开源 Pyramid Flow Matching 丨 RTE 开发者
       开发者朋友们大家好: 这里是「RTE开发者日报」,每天和大家一起看新闻、聊八卦。我们的社区编辑团队会整理分享RTE(Real-TimeEngagement)领域内「有话题的新闻」、「有态度的观点」、「有意思的数据」、「有思考的文章」、「有看点的会议」,但内容仅代表编......
  • [DMY]2024 CSP-S 模拟赛 Day 14
    没挂分,没写不完,没超常发挥,平常的有点不平常的一场。AKIG赛时33min26s才过T1,足见比赛难度。赛前听说运动会开幕式很好看,于是我就荣升为本校现读所有学生中为数不多的几个没看过运动会开幕式的人类。比赛开始前20min发现没有比赛,问了以后发现我们被ban了。所以协商好之......
  • 2024.10.12 1438版
    起于《海奥华预言》的思考◆地球管理结构和参考持续更新中...... 英文地址:https://github.com/zhuyongzhe/Earth/tags中文地址:https://www.cnblogs.com/zhuyongzhe85作者:朱永哲 ---------------------------------------------------------------------------------......
  • 2011-2022年各省金融监管水平数据(含原始数据+计算过程+计算代码)
    2011-2022年各省金融监管水平数据(含原始数据+计算过程+计算代码)1、时间:2011-2022年2、来源:国家统计局、统计年鉴3、指标:金融业增加值、金融监管支出、金融监管水平4、计算方法:金融监管水平=金融监管支出/金融业增加值5、指标解释:金融监管水平是指政府及其指定机构通过法......
  • 探索Ultralytics YOLO11在视觉任务上的应用
    前言在人工智能持续发展的当下,有一点是确凿无疑的:模型正变得愈发优秀、快捷和智能。就在人们以为YOLO系列已登峰造极之时,Ultralytics推出了最新升级版——YOLO11。需要注意的是,这里不是YOLOv11,他们简化了命名方式,去掉了“v”。这一改变就如同YOLO既做了形象上的精简,又实现......
  • Newtec MDM2510 REST API
    NewtecMDM2510RESTAPI SatOct1214:37:112024<--L10SatOct1214:37:112024<--A15SatOct1214:37:112024<--W15SatOct1214:37:112024<--S172.0000000.0000000.000000SatOct1214:37:112024......