硬件环境搭建和首次上电
1. 硬件环境搭建经过前章中对硬件
威廉希尔官方网站
的分析,我发现,单凭STSPIN32F0601 demo板本身很难对一台电动机完成闭环驱动控制过程。
原因是:
Demo板上虽然设计了U、V两相电流和干路电流的采样回路,但是目前ST的电机库还不支持2电阻电流取样方式,而干路电流取样仅仅用于电机驱动回路过载保护使用,也就是说,依据目前配置方式,希望采用电流回路进行相关控制是不太好完成的;
Demo板上并没有设计反电动势取样回路,希望通过反电动势的方式完成电机控制过程也是不可能的;
Demo板上也没有设计霍尔输入回路,所以霍尔输入也不可能;
解决方法:
通过前面的分析,Demo板上有个测试接口,提供了
电源接口和6路io端口,兼容AD采样通道,通过这个接口我们可以扩展反电动势取样或霍尔输入。针对我目前选用的电机,已经集成了霍尔
元件,所以,我的第一测试方案准备采用霍尔元件方式来解决。
霍尔输入回路的基本原理:
具体实现:
采用面包板,根据威廉希尔官方网站
原理设计了霍尔输入的采集回路。同时还在面包板上增加了一个预充电回路,后面再细说。
Demo板威廉希尔官方网站
设计的时候应该是不打算采用霍尔元件进行位置检测的,所以,对外提供的测试威廉希尔官方网站
中没有将
tiM2对应的霍尔输入通道A0,A1和A2暴露出来,而且这3个输入通道分别安排了母线电压采样和两个桥臂电流采样。无奈,只好将三路霍尔输入安排到PA4、PA5、PA6三个引脚上。
2. 首次上电为了保证上电过程顺利,我先采用一个24直流电源在输入回路测试了一下,实际测试结果证明整个回路没有短路和短路的情况,但是整个demo板也没有正常工作起来,因为提供的电源电压太低了。
通过一个AC220变AC105V在变压器提供输入电压,这里为了保证首次上电不出现大的冲击电流,首次上电的时候,我设计了一个简单的预充电威廉希尔官方网站
,一个2W60欧姆的功率电阻串入回路中,在电阻两端并联一个手动开关,当预充电完成后,通过这个开关短路掉电阻,进行功率驱动。
实践证明,上电过程顺利,没有出现不想看到的情况。
3. 第一个点灯程序通过
STM32CubeMX生成一个简单的代码,由于STSPIN32F0601的内核是STM32F031C6Tx,所以直接按照控制器形式创建工程就可以了。配置PC13为推挽输出模式,目标编译器选择为MDK–ARM V5,生成代码。
编译器时候会提示L6236E的错误,是因为工程中缺少启动汇编代码,将Startup_stm32f031x6.s增加到工程中,问题解决。
基本程序代码非常简单
- count = HAL_GetTick();
- if((count % 1000)== 0)
- {
- HAL_GPIO_TogglePin(RUN_LED_GPIO_Port,RUN_LED_Pin);
- }
编译下载到系统中,可以观察到系统正确完成了1s一次的闪烁。
4. 总结最复杂和艰难的步骤基本完成,接下来进行几个关键环节的测试后,希望可以让电机转起来。