- 项目要求
使用基于stm32g031的小脚丫电路板,通过编程实现对5种以上元器件特性的测量。比如:电阻、电容、电感、二极管、三极管。能够自动检测,生成显示元器件图形和数值。
- 项目实现情况
实现了:1:采用CubeMX来实现配置STM32G0工程,使用HAL库开发
2.通过模拟IIC方式实现oled显示功能
3.通过按键来切换测试不同元器件
4.对电阻、电容、二极管的测量
5.实现了将测试结果反送给上位机显示
三、测量思路
1.电阻:通过与670欧姆电阻串联,用ADC测串联分压,计算待测电阻。测量误差2%以内,并将测量结果显示在OLED屏幕和上位机上。
2.电容:通过与670欧姆串联形成RC串联电路,用零输入响应放电过程,测量放电至36.8%的时间,通过测量时间t,计算C值,并将测量结果显示在OLED屏幕和上位机上。
3.二极管导通电压:与电阻串联,测量电阻电压,计算导通时压降,并将测量结果显示在OLED屏幕和上位机上。
上位机显示实现图片:
四、遇到的主要问题:
1.用零输入响应方法测电感误差太大,无法采用。
2.使用多通道ADC时出现问题,与ADC2并联的GPIO引脚拉高拉低点位,输出均有电压。推测可能存在端口复用。本人能力不足无法解决。因此未能实现三极管放大倍数测量和元件自动检测功能。
五、建议
1.I2C总线不能用cubemx自动生成,自定义的引脚需要自己配置I2C总线。
2.电路图各模块标注不太清晰,有标错,还有很多无用的标注,需要多图交换看。
3.希望以后能增加JTAG/SWD功能,方便烧录和调试。
六、展望和期待
本次学习时间紧任务重。从Hal库入门stm32,学习较为肤浅,理解不够透。希望.通过进一步学习寄存器和标准库的运用,深入了解stm32。此外,想重点DMA方式下的ADC多通道采样,端口复用的解决。同时通过查阅论文《基于单片机的电感测量系统》,准备返校后去实验室搭建简单的外部电路,实现电感较为精确的测量。
七、项目心得
首先感谢硬禾学堂给予的本次机会这块电路板设计巧妙,用M0内核的stm32芯片实现了不错的功能。我通过自学先入门了单片机,再自学stm32的编程。在学习过程中,有很多意想不到的错误,也熬夜解决了很多问题,感觉整个寒假过的很充实。希望以后继续参加硬禾的活动。
源代码链接:https://pan.baidu.com/s/12XLnHfAWkyQ0aKfQJsH3kg
提取码:uvv3
- 项目要求
使用基于stm32g031的小脚丫电路板,通过编程实现对5种以上元器件特性的测量。比如:电阻、电容、电感、二极管、三极管。能够自动检测,生成显示元器件图形和数值。
- 项目实现情况
实现了:1:采用CubeMX来实现配置STM32G0工程,使用HAL库开发
2.通过模拟IIC方式实现oled显示功能
3.通过按键来切换测试不同元器件
4.对电阻、电容、二极管的测量
5.实现了将测试结果反送给上位机显示
三、测量思路
1.电阻:通过与670欧姆电阻串联,用ADC测串联分压,计算待测电阻。测量误差2%以内,并将测量结果显示在OLED屏幕和上位机上。
2.电容:通过与670欧姆串联形成RC串联电路,用零输入响应放电过程,测量放电至36.8%的时间,通过测量时间t,计算C值,并将测量结果显示在OLED屏幕和上位机上。
3.二极管导通电压:与电阻串联,测量电阻电压,计算导通时压降,并将测量结果显示在OLED屏幕和上位机上。
上位机显示实现图片:
四、遇到的主要问题:
1.用零输入响应方法测电感误差太大,无法采用。
2.使用多通道ADC时出现问题,与ADC2并联的GPIO引脚拉高拉低点位,输出均有电压。推测可能存在端口复用。本人能力不足无法解决。因此未能实现三极管放大倍数测量和元件自动检测功能。
五、建议
1.I2C总线不能用cubemx自动生成,自定义的引脚需要自己配置I2C总线。
2.电路图各模块标注不太清晰,有标错,还有很多无用的标注,需要多图交换看。
3.希望以后能增加JTAG/SWD功能,方便烧录和调试。
六、展望和期待
本次学习时间紧任务重。从Hal库入门stm32,学习较为肤浅,理解不够透。希望.通过进一步学习寄存器和标准库的运用,深入了解stm32。此外,想重点DMA方式下的ADC多通道采样,端口复用的解决。同时通过查阅论文《基于单片机的电感测量系统》,准备返校后去实验室搭建简单的外部电路,实现电感较为精确的测量。
七、项目心得
首先感谢硬禾学堂给予的本次机会这块电路板设计巧妙,用M0内核的stm32芯片实现了不错的功能。我通过自学先入门了单片机,再自学stm32的编程。在学习过程中,有很多意想不到的错误,也熬夜解决了很多问题,感觉整个寒假过的很充实。希望以后继续参加硬禾的活动。
源代码链接:https://pan.baidu.com/s/12XLnHfAWkyQ0aKfQJsH3kg
提取码:uvv3