秦源辰 王淑娴
摘 要:电路实验作为一门基础课程,随着学习的不断深入,电路形式更加复杂灵活。这种情况下,若采用传统的电路连接形式耗时耗力,线路多、复杂且不易检查,带来了麻烦。因此,特对传统连接系统进行优化。用独立的电路元器件模块的插拔来实现电路的连接,代替传统连线方式。同时,利用数字温度传感器识别定位,通过在单片机屏幕上显示“NONE”“CORRECT”“WRONG”實现对连接的提示功能。
关键词:模块优化 连接提示 STM32F4单片机 DS18B20数字温度传感器 上位机
中图分类号:P631.222 文献标识码:A 文章编号:1674-098X(2019)06(a)-0097-03
1 项目背景及意义
电路是物理学中一门重要的基础学科,而电路实验作为一门实验学科,是电路知识的基础和依据,是学生探究电路规律、检验电路定理的方法和途径。它具有极强的实践性,考察了学生对知识的理解程度,同时也培养了学生动手操作、独立思考、创新合作的能力,在电路学习过程中有着不可替代的作用。
随着对电路知识学习的不断深入,电路的元器件组成、连接方式更加复杂灵活,电路实现的功能更加全面完备。在这种情况下,以导线为连接媒介的传统电路连接方式的弊端也越发明显:首先,电路图更复杂,线路变多,连接起来费时费力;其二,由于导线多、交叉纵横,而连接的正确与否无法立刻得到反馈,为完成实验带来了不必要的麻烦。
基于以上存在的问题,我们在传统电路实验连接系统的基础上进行了优化,构建了具有提示功能的电路实验辅助设备,以元器件小模块的插拔代替线路连接,以此实现电路连接的优化的功能。
同时我们编写了上位机程序,使单片机与电脑连接,实时监控电路实验进行情况。
2 设备介绍(如图)
本设计由实验设备,单片机和上位机三部分构成。实验设备分为接插板,检测板构成的大模块,元器件和定位模块构成的小模块。单片机和实验设备一起组成了下位机。上位机则由我们的电脑端担任。下位机通过TTL-USB接口向上位机传输数据。
3 工作原理
设备主要由一块检测板、一块连接板以及若干元器件小模块组成。
底板是检测板与单片机相连,上层是所做闪烁灯电路实验的实验连接板,每一个元器件小模块都是由电路和一个定位模块组成,我们利DS18B20用数字温度传感器来进行识别定位。
我们定义了一个二维数组,输入所有的数字温度传感器的ID号,通过不断地读取数字温度传感器的温度,遍历一次,如果可以读到,即该部分有元器件的插入,此时进入下一层判断。以电阻为例,读此时已插入的电阻对应的ID号对应的的数字温度传感器的温度,如果可以读到,则插入正确,反之则错误。将编写好的程序下载到单片机内,通过单片机屏幕上的反馈提示来判断电路连接的状况,以此实现设备连接提示的功能。电路全部连接完成后即可按下开关,观察电路实验的最终现象
下位机以R1为例,以下为程序说明:
void DS18B20_Process_R1(void) //判断元器件状态的函数
{
u8 i,Total_R1=0,Correct_R1=0,Wrong_R1=0;
short Temp;
for(i = 0;i < All_DS18B20;i ++)
{
Temp =
DS18B20_ReadDesignateTemper_R1(ID_Buff[i]);
// 读取全部DS18B20的温度
if(Temp>0)
Total_R1++;
}
Temp =
DS18B20_ReadDesignateTemper_R1(ID_Buff[0]);
//读取R1所对应的DS18B20数字温度传感器的温度
if(Temp>0)
Correct_R1++;
Wrong_R1=Total_R1-Correct_R1;
if(Correct_R1==0&&Wrong_R1==0)
R1_Status=0;
if(Correct_R1==1&&Wrong_R1==0)
R1_Status=2;
if(Correct_R1==0&&Wrong_R1==1)
R1_Status=1;
}
上位机则包含两个界面,一个是电路实验进行的实时情况,另一个为串口设置界面。将串口打开后,电脑将接收单片机传输上来的信息。然后将字符串拆分,判断,在界面上通过不同颜色的矩形框显示电路实验进行的情况。
上位机以命令内容改变事件为例,程序如下:
Private void labelCommandContent_TextChanged(object sender, EventArgs e)
{
char[] plusSpliter = { '+' };
//将收到的指令进行字符串分割
string[] strInformation =
labelCommandContent.Text.Split(plusSpliter, StringSplitOptions.RemoveEmptyEntries);
//指令的第一字段为元器件名称
strComponent = strInformation[0];
//指令的第二字段为元器件名称
strStatus = strInformation[1];
switch (strComponent)//先识别元器件
{
case "R1": ShowPositionAndStatus(195, 90, strStatus); break;//对R1状态进行判断
}
}
4 使用说明
根据电路图,将每一个小模块插入连接板相应的位置。若对应元器件小模块未插入,则单片机屏幕上显示“NONE”;若元器件小模块插入但不是正确的位置,则单片机屏幕上显示“WRONG”;若元器件小模块插入且正确,则单片机屏幕上显示“CORRECT”。将单片机通过USB接口与电脑相连,打开串口后,电脑端上位机系统即可正常工作。上位机软件由C#编写,展示界面如下图:
5 创新点
在电路连接的过程中可以实时检测电路连接的正确性。当提示所有模块均为“CORRECT”时,说明电路连接完成,此时给插接板供电,一定可以正常工作。
将单片机和电脑引入到电路实验教学中,简化电路实验。
模块化实验设备,方便拆卸更换。产品体积小巧,方便实验室内安装放置。
6 总结
此款电路实验辅助系统基于DS18B20数字温度传感器, STM32F4单片机,PCB电路板以及電脑的上位机通力合作,通过改变学生连接电路的方式来帮助学生完成电路实验,加深对电路电子的学习和了解。电脑端的上位机实时显示可以帮助老师查看学生的完成情况,做到高效完成实验课教学任务。
参考文献
[1] 杨义勇,郑凯.机械三维设计实用教程(SolidWorks)[M/CD].北京:清华大学,2013:50-220.
[2] 刘军.STM32F4开发指南-库函数版本_V3.1[M].北京:北京航空航天大学出版社,2015:483-490.
[3] 郑振宇,林超文,徐龙俊.AltiumDesignerPCB画板速成[M].北京:电子工业出版社,2012:14-86.
[4] 杜洋,李苍源.C#串口通信[M].北京:杜洋工作室出版社,2014:5-14.



