本帖最后由 f1174562 于 2018-1-13 16:33 编辑
本人自2016年开始学习STM32的应用,在此之前只用过51和AVR,也只会汇编语言。初学时同时面对STM32和C语言两个问题,感觉无从下手。在书店买的书感觉也只是把ST公司网上的内容找人翻译出来而已,指导意义不大,所以只好从网上找资料筛选,与此同时先学习C语言。在首先参考一些STM32硬件设计和产品手册后,先初步领会了硬件设计基础,画了无刷电机的电路图。毕竟以以前对单片机的认识,MCU最重要的工作就是选芯片、连管脚和写寄存器。画好图后C语言也基本初学完成了,又开始学习STM32的C语言设计,在此期间我在网上找到了原子先生的STM32手册,这些手册真起了大用。最初我想学库函数,但是学了几天发现C语言基础太差,几乎看不懂库函数,只好转而学习寄存器版,我发现这还是比较容易理解,我感觉操作寄存器也不麻烦。本人学习过程中逐步由浅入深,每次实现一个小目标,循序渐进。开始先控制亮数码管,再使用AD显示输入电压,然后开始BLDC的控制,现在基本可以使用自如了。
为感谢原子先生,本人在此公布我的BLDC控制器的软硬件设计,希望对初学者有用处。欢迎高手提改进意见。本控制器含有6个MOS、5位数码管、1路CAN总线、9个按键、可测电压电流和IIC器件等内容,可选择HALL和无感控制两种工作方式。
代码在6#。有H-on L-pwm 和H-pwm L-on两种方式,开始我用的是L-on,后来改为H-on,H-on的工作做的更细一些,似乎工作效果也比L-on更好一点,L-on有错误,需要改正,有兴趣的可以试试。
有些朋友向我要电路板,现在已经没有了。
PCB上有两个错误,MCU8、9脚反了,得自己修,还有晶振搞错了,建议用HSI就别用晶振了。
这个电路板只是个原理实验性质的样件,仅供学习参考,请勿用于商业,如果朋友们发现电路板和程序有什么可以改进提高的地方,请告知我。
PCB图和错误描述见http://www.openedv.com/forum.php ... mp;extra=#pid491504。
仿真得到的,我用的PROTEUS
一周热门 更多>