你的浏览器版本过低,可能导致网站不能正常访问!为了你能正常使用网站功能,请使用这些浏览器。
passby328 发表于 2018-11-1 21:06 1 T2 J. ?0 U+ t' O+ t/ f! x; Z有点搞不明白为什么要用 R3_1_F30X_ExecRegularConv 函数去获得ADC值?
子曰好人 发表于 2018-11-1 22:43 / S" d. w) X1 }所以朋友有何指教?还请明示。我这只是最简单粗暴的方式获取ADC的采样值 ...
passby328 发表于 2018-11-1 23:06 8 }8 q( O8 m1 I6 u2 Q1 b% ^7 A不知道如果通过HAL库操作ADC执行用户AD通道是否可行,例如: ) N5 q/ p g! p& x0 MHAL_ADC_ConfigChannel(&adc1, &sConfig);2 z; S' q ~* p. u" b HA ...
子曰好人 发表于 2018-11-2 09:12# ^# L+ V+ k4 c& I Y9 l! t5 ^ 感谢指正,HAL库用得不太熟
passby328 发表于 2018-11-3 09:26( E# r. s( N% x, y/ L 我后面研究了下,其实在电机库中调用用户ADC需要通过 regular_conversion_manager.c 里面的函数来实现的 ...
子曰好人 发表于 2018-11-6 09:35 ' q/ c0 J6 O; T7 f: E9 \7 C7 FSDK5.1.3生成的代码里面没有regular_conversion_manager.c这个文件,5.2.0新增了。获取ADC值的代码是几乎 ...
passby328 发表于 2018-11-6 11:04% Y9 x, a2 W' |7 ?, Q 1.我之前参考您的函数,如果一直不断在执行转换,会影响电机库的控制时序导致无法开机,后来改为500ms一 ...
子曰好人 发表于 2018-11-6 11:32 $ p2 N! b) U/ s& q首先,感谢回复。 7 P! r r$ ?9 y+ ]! M+ v作为实验,第一点我确实没有考虑周到,ADC的转换需要在确定的时间转换且不应该被打断或 ...
passby328 发表于 2018-11-6 16:18 ' v/ R; H/ _* ?& u+ K' R我只是再确认下硬件理解的是否有问题,其实L6230其实就是一个低压的IPM~! D6 H2 }, ?" b, [+ n0 h$ ] 我现在想尽量在触发L6230过流保 ...
dacheng12 发表于 2018-11-14 14:57 - M) @' f/ M; I8 x$ h你好: : d5 z/ |& k6 n1 d- v 我用NUCLEO-F030R8替换NUCLEO-F302R8在P-NUCLEO-IHM002上驱动配套电机不能工作这是为什么呢; J+ n4 }0 }) I$ T) P/ G3 c9 X ...
dacheng12 发表于 2018-11-15 09:13 ' S+ p% I5 J/ u4 P背景:上次ST安超老师培训说NUCLEO系列的板子都是通用的,也说P-NUCLEO-IHM002中(NUCLEO-F302R8)和(NUCL ...
所以朋友有何指教?还请明示。我这只是最简单粗暴的方式获取ADC的采样值
不知道如果通过HAL库操作ADC执行用户AD通道是否可行,例如:+ j: o4 H% Y: T( R2 D- F
HAL_ADC_ConfigChannel(&adc1, &sConfig);0 t' e- j6 D1 k
HAL_ADC_Start(&adc1);
HAL_ADC_PollForConversion(&adc1,1000);4 p+ s# o& d. t F1 ]; i0 P
SpeedAD = HAL_ADC_GetValue(&adc1);
感谢指正,HAL库用得不太熟
我后面研究了下,其实在电机库中调用用户ADC需要通过 regular_conversion_manager.c 里面的函数来实现的。
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信号进行处理的,不知道我说的是否有偏差,还请指教。
首先,感谢回复。9 m( z& I& U! P' @- Q
作为实验,第一点我确实没有考虑周到,ADC的转换需要在确定的时间转换且不应该被打断或者影响更高优先级的FOC控制程序运行。第二点OCP参数确实没地方设置,OCP功能是通过DIAG这个引脚输出信号的,你可以看看扩展板的用户手册
我只是再确认下硬件理解的是否有问题,其实L6230其实就是一个低压的IPM~
我现在想尽量在触发L6230过流保护前能够执行保护停机或者禁升频率,我想通过API调用检测的相电流的方式应该是可行的吧~
可以的,每个载波周期都会更新相电流采样值,可以根据相电流来做软件过流保护,IPM这个算是硬件过流保护了
我用NUCLEO-F030R8替换NUCLEO-F302R8在P-NUCLEO-IHM002上驱动配套电机不能工作这是为什么呢2 [- F$ z& C; Z
你是遇到什么问题了?电机跑不起来的原因太多了
条件:用的是workbench 5.2.0.1850 Q) e5 m" S7 _" w" Y
过程:在P-NUCLEO-IHM002(NUCLEO-F302R8)正常工作的前提下,我将(NUCLEO-F302R8)换为(NUCLEO-F030R8),以NUCLEO-F030R8为control,并用workbench 5.2.0.1850自带的工程进行配置。0 {2 W" r; b+ r8 d
0 C/ p' ?+ P( s+ |
结果就是出现报错。报错代码为Software error。
我查了一下NUCLEO-F030R8的芯片引脚配置:$ W+ |2 }' g' c# u8 ]
. _! ~# b, R% r2 ?4 Y' i
和(NUCLEO-F302R8)的引脚配置有很大的不同:
8 [( J! k/ c+ r, I: Z8 {8 B F
怀疑是引脚配置问题,但是不能确定,也不知道如何解决。希望能得到你的帮助,谢谢。+ C& B1 `* H. d" l, n; ^ T* n
软件错误一般是配置没对咯,你用workbench5.2.0新建030的工程应该不会出现问题,302和030引脚配置有区别是正常的,但是差别不会太大
谢谢