你的浏览器版本过低,可能导致网站不能正常访问!
为了你能正常使用网站功能,请使用这些浏览器。

No.5 电机套件实验任务3&旋钮控制转速  

[复制链接]
子曰好人 发布时间:2018-9-2 19:17
阅读主题, 点击返回1楼
1 收藏 2 评论118 发布时间:2018-9-2 19:17
118个回答
passby328 回答时间:2018-11-1 21:06:11
有点搞不明白为什么要用 R3_1_F30X_ExecRegularConv 函数去获得ADC值?
子曰好人 回答时间:2018-11-1 22:43:25
passby328 发表于 2018-11-1 21:06
有点搞不明白为什么要用 R3_1_F30X_ExecRegularConv 函数去获得ADC值?

所以朋友有何指教?还请明示。我这只是最简单粗暴的方式获取ADC的采样值
passby328 回答时间:2018-11-1 23:06:37
本帖最后由 passby328 于 2018-11-1 23:10 编辑
子曰好人 发表于 2018-11-1 22:43
所以朋友有何指教?还请明示。我这只是最简单粗暴的方式获取ADC的采样值 ...

不知道如果通过HAL库操作ADC执行用户AD通道是否可行,例如:
HAL_ADC_ConfigChannel(&adc1, &sConfig);
HAL_ADC_Start(&adc1);
HAL_ADC_PollForConversion(&adc1,1000);
SpeedAD = HAL_ADC_GetValue(&adc1);
子曰好人 回答时间:2018-11-2 09:12:46
passby328 发表于 2018-11-1 23:06
不知道如果通过HAL库操作ADC执行用户AD通道是否可行,例如:
HAL_ADC_ConfigChannel(&adc1, &sConfig);
HA ...

感谢指正,HAL库用得不太熟
passby328 回答时间:2018-11-3 09:26:59
子曰好人 发表于 2018-11-2 09:12
感谢指正,HAL库用得不太熟

我后面研究了下,其实在电机库中调用用户ADC需要通过 regular_conversion_manager.c  里面的函数来实现的。
子曰好人 回答时间:2018-11-6 09:35:37
passby328 发表于 2018-11-3 09:26
我后面研究了下,其实在电机库中调用用户ADC需要通过 regular_conversion_manager.c  里面的函数来实现的 ...

SDK5.1.3生成的代码里面没有regular_conversion_manager.c这个文件,5.2.0新增了。获取ADC值的代码是几乎相同的
passby328 回答时间:2018-11-6 11:04:29
子曰好人 发表于 2018-11-6 09:35
SDK5.1.3生成的代码里面没有regular_conversion_manager.c这个文件,5.2.0新增了。获取ADC值的代码是几乎 ...

1.我之前参考您的函数,如果一直不断在执行转换,会影响电机库的控制时序导致无法开机,后来改为500ms一次,就没有问题。后来检查regular_conversion_manager.c中的内容,发现用户ADC的转换应该是电机库的状态机在调度的,如果连续不断转换或者没有走相应的接口估计会有问题。
2.电机Workbench里面有设置OCP参数,看了原理图应该是通过体验板上面的L6230的内置比较器以及SMT32片内的ADC实现的,但是实际中的程序并没有提供类似的功能。后来查看了代码,OCP保护是通过L6230产生的FO信号进行处理的,不知道我说的是否有偏差,还请指教。
子曰好人 回答时间:2018-11-6 11:32:42
passby328 发表于 2018-11-6 11:04
1.我之前参考您的函数,如果一直不断在执行转换,会影响电机库的控制时序导致无法开机,后来改为500ms一 ...

首先,感谢回复。
作为实验,第一点我确实没有考虑周到,ADC的转换需要在确定的时间转换且不应该被打断或者影响更高优先级的FOC控制程序运行。第二点OCP参数确实没地方设置,OCP功能是通过DIAG这个引脚输出信号的,你可以看看扩展板的用户手册
passby328 回答时间:2018-11-6 16:18:15
子曰好人 发表于 2018-11-6 11:32
首先,感谢回复。
作为实验,第一点我确实没有考虑周到,ADC的转换需要在确定的时间转换且不应该被打断或 ...

我只是再确认下硬件理解的是否有问题,其实L6230其实就是一个低压的IPM~
我现在想尽量在触发L6230过流保护前能够执行保护停机或者禁升频率,我想通过API调用检测的相电流的方式应该是可行的吧~
子曰好人 回答时间:2018-11-6 17:13:06
passby328 发表于 2018-11-6 16:18
我只是再确认下硬件理解的是否有问题,其实L6230其实就是一个低压的IPM~
我现在想尽量在触发L6230过流保 ...

可以的,每个载波周期都会更新相电流采样值,可以根据相电流来做软件过流保护,IPM这个算是硬件过流保护了
dacheng12 回答时间:2018-11-14 14:57:52
你好:
       我用NUCLEO-F030R8替换NUCLEO-F302R8在P-NUCLEO-IHM002上驱动配套电机不能工作这是为什么呢
子曰好人 回答时间:2018-11-14 16:05:56
dacheng12 发表于 2018-11-14 14:57
你好:
       我用NUCLEO-F030R8替换NUCLEO-F302R8在P-NUCLEO-IHM002上驱动配套电机不能工作这是为什么呢
...

你是遇到什么问题了?电机跑不起来的原因太多了
dacheng12 回答时间:2018-11-15 09:13:10
背景:上次ST安超老师培训说NUCLEO系列的板子都是通用的,也说P-NUCLEO-IHM002中(NUCLEO-F302R8)和(NUCLEO-F030R8)
条件:用的是workbench 5.2.0.1850
过程:在P-NUCLEO-IHM002(NUCLEO-F302R8)正常工作的前提下,我将(NUCLEO-F302R8)换为(NUCLEO-F030R8),以NUCLEO-F030R8为control,并用workbench 5.2.0.1850自带的工程进行配置。


结果就是出现报错。报错代码为Software error。
我查了一下NUCLEO-F030R8的芯片引脚配置:

和(NUCLEO-F302R8)的引脚配置有很大的不同:

怀疑是引脚配置问题,但是不能确定,也不知道如何解决。希望能得到你的帮助,谢谢。
子曰好人 回答时间:2018-11-15 10:18:57
dacheng12 发表于 2018-11-15 09:13
背景:上次ST安超老师培训说NUCLEO系列的板子都是通用的,也说P-NUCLEO-IHM002中(NUCLEO-F302R8)和(NUCL ...

软件错误一般是配置没对咯,你用workbench5.2.0新建030的工程应该不会出现问题,302和030引脚配置有区别是正常的,但是差别不会太大
dacheng12 回答时间:2018-11-16 09:50:22
您有什么建议吗,我的QQ号是593612092 福音战士,如果方便加我,我给你截图说明。
谢谢

所属标签

关于
我们是谁
投资者关系
意法半导体可持续发展举措
创新与技术
意法半导体官网
联系我们
联系ST分支机构
寻找销售人员和分销渠道
社区
媒体中心
活动与培训
隐私策略
隐私策略
Cookies管理
行使您的权利
官方最新发布
STM32N6 AI生态系统
STM32MCU,MPU高性能GUI
ST ACEPACK电源模块
意法半导体生物传感器
STM32Cube扩展软件包
关注我们
st-img 微信公众号
st-img 手机版