Paderboy 发表于 2016-2-1 14:34:15

【说出你的故事】从对STM32白痴到入门+STM32F030R8 Boost MPPT

哈哈,先祝论坛的各位坛友和辛苦的管理员们+版主,新年快乐。。。。2016,,666大顺。。。。
那就先从学习西门子的PLC开始!


最早接触编程是在国外留学,选择的专业是电子专业。。里面包含自动化控制课程,这就是对编程的慢慢喜欢的开始。一开始,看到编程就头大。因为语言问题,很多对于他们本国人的已经算难懂的专业词汇让我更加的头疼,一边要解决语言问题,一边要解决成绩问题,就这样似懂非懂的把自己混毕业了,然后找了个不相干的行业工作了。


因为个人原因回国发展,回国后个人的时间多了一些,偶然的一次机会遇到了Arduino UNO,开始被Arduino简易的编程方式吸引了,就去X宝淘了一块开发板套件,各种传感器(温度,按键,1602 LCD,红外遥控器和接收头。。等等)。把所有的例程都玩了个遍,确实信心爆满足啊。。但是想要玩新的器件,如果在Arduino下没找到配套的库,就抓瞎了。。。不知道如何是好,所以决定要从底层,慢慢学习。。就这样。。。。把目光转移到了近几年最火的STM32系列单片机的身上了。。到网络上查询各种教程系列非常的丰富。。


从这就开始了我的STM32之旅,直接上X宝买了套件:






然后跟着套件里的视频+例程。。一边又一边的看视频,看C语言,看各种相关的Blog和教程。。。几乎把所有业余的时间都用到了学习STM32上了。几乎快忘记了Arduino的存在了。。
业余时间里一天天的随着代码错与对,被来回重复的擦写。。。但是基础薄弱的我,还是很多东西不懂和难以理解,可能因为很久没有碰编程的原因,学习起来还是很吃力。。。不过还是硬着头皮,慢慢的一边又一边的重复同样的事情。一次有一次的被一个又一个的Bug弄的崩溃了。。。时间也随着乏味的找错过程,慢慢的逝去了。。


偶然的一次机会,在查找问题时找到了与非网,然后就一直没有离开过。。加了STM32 QQ3群里,结识很多大师,学习了很多有用的知识。。。。也在论坛抢开发板的活动中,得到几块NUCLEO开发板(F303 和F030)。。在这要再次感谢论坛,希望越办越好哈哈,当然是发板子的活动多多益善啊。。。。。。。。。。。。
那来点干货吧!!!


使用NUCLEO- STM32F030R8作为主控-控制MPPT以CVT方式控制输出电压。


1.      这个项目使用CubeMx4.11 建的工程,因为4.12 BUG的问题(ADC Cube设置后,生成的代码不全,只有一个通道。。。。)调试过程中出现很多问题,所以尝试用4.11 通过了所有的功能测试。。。。希望ST官方可以尽快修复BUG啊。。。。。。

好了先从CUBE配置外设开始。选择外部晶振。。


SPI配置:
LCD控制引脚配置:

串口DAM配置:

ADC DMA 多通道配置:


定时器3配置:
BOOST 计数工具。。。

2.      好了接下来介绍下功能:

可以直接应用于光伏发电项目的离网充电系统:
电压工作范围:光伏发电板输入空载DC21v-60v输出范围DC24v-120v充电电流:0-30A的输入电流最大输出功率:300w散热条件好的情况下可以达到500wLCD:显示电压控制器工作温度保护功能:夜间防止流,过压保护,低压保护,过温保护可以通过串口设置或者APP(可添加按键设置)


3.      STM32F030R8主控使用外设配置:

配置TIMER3: 2个通道作为PWM输出频率50Khz:通道1和通道2


配置SPI2:LCD显示功能:PB13PB14 PB15 PC4 PF4 PF5


配置ADC:DMA方式获取PA0 PA1PA4和内部Vrefint

配置 UART:使用DMA IDLE中断空闲接收数据
使用内部Flash存储数据必须通过验证才能保存到flash指定的地址里。固化到程序里

4.      功率部分使用主要器件:

LM2576HVS 支持最高63v的DC电压降压可调设置IR2110s MOS管驱动IC30A 100uH的电感150v 60a的MOS管和200v的肖基特二极管
电容,电感,电阻不等。。。。


程序函数部分截图:
宏定义部分:函数部分:
内部FLASH擦写函数:
数据验证和固化部分:
串口调试截图:


先上LCD测试图片:


后续继续更新:(因为天气原因,一直下雨,没有太阳不能实际测试。。后续会继续更新。。)
先把测试通过的bin和hex文件分享下:



今天太阳不错,早起把缺陷的测试图片和视频都一起上传上来。。






https://v.youku.com/v_show/id_XMTQ2NzYyNjQ0MA==.html
测试视频的太阳能板功率太小。。目前还有个小问题就是电压浮动比较大。。。。有时间继续修改下。。。

loop{printf("祝大家:新年快乐。。。。。。。猴年,“猴”有钱。。。。");}

沐紫 发表于 2016-2-1 14:46:42

帖子很棒!:)

Paderboy 发表于 2016-2-1 14:48:17

沐紫 发表于 2016-2-1 14:46
帖子很棒!

:loveliness:献丑了。。。。。

creep 发表于 2016-2-1 14:49:30

楼主自学能力好强,感谢分享!:)

Paderboy 发表于 2016-2-1 14:53:59

creep 发表于 2016-2-1 14:49
楼主自学能力好强,感谢分享!

:loveliness:谢谢“橙子哥”,还要继续努力。。。

netlhx 发表于 2016-2-1 17:44:58

不错,顶一个

Paderboy 发表于 2016-2-1 18:25:32

netlhx 发表于 2016-2-1 17:44
不错,顶一个

:loveliness:谢谢N神。。

lising 发表于 2016-2-1 22:54:55

喜欢这种贴子,赞一个!

风子 发表于 2016-2-2 00:46:18

干货很好,值得好好研究

Paderboy 发表于 2016-2-2 10:17:11

风子 发表于 2016-2-2 00:46
干货很好,值得好好研究

:loveliness:
页: [1] 2 3 4
查看完整版本: 【说出你的故事】从对STM32白痴到入门+STM32F030R8 Boost MPPT