本次设计是对制氧机进行优化,主要是在电路控制方面,用STM8S003F3P6芯片和STM1639芯片对整个优化设计进行控制。以STM8S003F3P6芯片为核心,借助接收信号调理和实际电源控制电路,能够控制压缩机和电磁阀,并且处理操作命令;STM1639芯片则用作驱动数码管来显示人机交互系统。其实物图如下所示:
image.png image.png
1、系统总体设计主要硬件框图如下图所示:
image.png
对于这次单片机的中央处理系统的方案设计,为了满足我们的任务需求,可以采用STM8S003F3P6单片机来承担此次设计的中央处理器。这次基于单片机的制氧机电控系统优化的设计,能够设计成上下位机的模式,上位机是由STM8S003F3P6单片机承担核心,对压缩机和电磁阀的控制让A、B缸的充气时间得到控制,还有处理指令。另外下位机就选用芯片TM1639,用独立按键来控制驱动用作人机对话的数码管(人机交互界面)。
(1) STM8S003F3P6介绍
STM8S003F3P6芯片是ST公司设计生产的一款8位芯片,提供8 KB的闪存程序存储器。具有高性能、稳定性好、价格便宜成本低的特性。该芯片采用了哈佛结构,还集成了多种总线接口的模块,内置了复位电路和晶振电路16MHz和128KHz。此芯片功能强大包括16个外部中断引脚、5个A/D转化通道、单线调试接口SWIM和DM、捕获/比较和PWM功能,具有独立时钟源的独立看门狗。强大的性能以及便宜的价格就注定该芯片无论是学习开发还是工业生产都能有很好的发挥空间。在中小型家电、工业产品、医疗器具等领域都很适合该芯片的运用。其STM8S003F3P6引脚图如下所示:
image.png
(2)TM1639芯片介绍
TM1639芯片是一款带有键盘扫描接口的芯片,主要用于驱动LED显示器。其内部集成了LED驱动,键盘扫描等电路。相比较于传统的依靠加外围电路或用键盘动态扫描的办法可以减少成本以及防止对程序运行速度产生影响。市面上的多数LED驱动控制电路芯片都是价格比较偏高,不利于小型设备的开发,但是TM1639价格便宜,产品大规模去生产时成本也能得到很好的控制。因此,该芯片在用作于一些中小型的设备中会有很好的性价比,例如:电视机、电磁炉、智能冰箱、智能门锁、智能空调等等需要使用数码管显示的设备,如下所示:
image.png
(3)继电器SRD-12VDC-SL-C
SRD-12VDC-SL-C继电器是一个国产继电器,是由松乐公司设计研发的,拥有着体积小,工作环境能满足+85℃/+105℃,多种负载可选择的特性。继电器SRD-12VDC-SL-C的实物图如下所示:
image.png
(4)总电路
image.png
2、软件设计与实现
本次基于单片机制氧机电路控优化设计的运行程序主要使用C语言编写程序,设计成多个模块的方式,程序由主程序、按键控制、信号调理和功率驱动电路等子程序模块组成,在keil5环境里执行程序。通过主函数调用子函数的方式来进行对多个子模块的运用。基于单片机制氧机电路控控系统优化设计的程序主要构件框图如下图所示
image.png
(1)按键控制数码
1)锁存器:
锁存器是一种逻辑元器件,另外它拥有恢复上一次状态的能力。锁存的意思是将信号短暂性的存放起来,然后借此来保持一个电平状态,然后就能够记载二进制的数字信号0和1。进行输入一个锁存信号,在另外的信号到来之前,状态会一直不变。正常状态下只有两个值,分别是0和1
2)独立按键:
对于按键,不管独立按键工作与否,一号脚和二号脚在任何情况下都是接通的,另外两个引脚是相通的。使用按键,其中两个引脚一号和二号会接通另外的三号和四号脚会进行接通,在一直按着不放时各个引脚会一直维持在接通的情况。
抖动:对于独立按键,在接通的情况之后任何时间,都会产生矩形波形,不过,物理触点会有弹性存在,在独立按键按下的时候,电路并不能够立刻就能安稳接上,在这个时候就会产生大量抖动。
按键消抖:抖动将会让单片机误判,有可能只是按了一次按键,但因为抖动的存在让单片机误判为按下了按键好几次,因此要针对这种情况对抖动进行去除的处理,正常情况下对抖动的消除会分为两类,分别是:硬件消抖,软件消抖。本次设计主要用在从程序层面上对抖动进行去除,按键接通后,采用while循环写延时的程序让程序产生出10ms左右的延时。可以在这短短的时间里等抖动自行消失,在抖动自行消失后,再判断独立按键是不是在接通的状态下。在放开按键的时候也是一样,同样对它施加延时的程序。综上所述,我们在使用独立按键参与设计时,要运用程序,先让按键进行去除抖动,保证对设计本体不会产生误差影响,消抖程序和数码管显示程序如下图所示:
image.png
(2)控制压缩机及电磁阀工作时长
制氧机的制氧功能主要是通过压缩机和电磁阀实现的,产生的氧气会由两个气缸进行存放。我们通过对压缩机和电磁阀的工作时间去进行设置控制就能够对制氧机的制氧功能的开启、关闭以及工作时长进行控制。另外因为气缸的容积有限,以及制氧机的长时间工作会导致发热严重等原因,我们应当对压缩机和电磁阀的工作时间进行一个合适的设置。我们通过定时器延迟程序,就可以让压缩机的工作时间得到人为的控制。另外为了解决刚刚提到的解决容积和发热的问题,我们可以使用独立按键去设置压缩机及电磁阀的工作时间的范围上限,然后通过设置蜂鸣器用作报警,当达到上限的时候触发报警,提示用户进行合理设置。控制工作时长的部分程序如下图所示:
image.png
(3)控制A,B气缸的充气时间
因为制氧机是拥有两个独立的气缸来用作存放气体的,而我们需要在其中一个气体被充满氧气之后进行切换,使另外一个气缸接力继续收集氧气,以防气体一直被充进一个气缸里导致气缸爆裂,元件损伤等。这时我们需要设计一个定时器延迟程序来设定气缸的充气时间,通过定时器延迟程序,让制氧机气缸的充气时间能够得到控制。通过独立按键可以设定充气时间,并且设定上限值,当设定值达到上限时,启动蜂鸣器进行报警,警示操作人员。定时器程序如下图所示:
image.png
(4)蜂鸣器警报
无论在控制压缩机和电磁阀的工作时长还是在控制A、B气缸的充气时间时都需要用一个蜂鸣器来起到提醒作用,来警示使用人员设置值已达到最大值,让使用人员注意对设定值的合理调节,以防对制氧机元气部件产生损坏。以及在充气时间达到原本设定的充气时间时报警提示人员充气时间已到达,注意泄气工作是否正常进行和充气工作是否停止,以防止气缸气体过多对气缸和制氧机造成损坏。也可以用作于查看泄气工作是否充足,假设泄气时间过短导致气缸的气体还是过多,气压过大,也可以设置为报警提醒人员合理设定工作时间的数值。蜂鸣器程序如下图所示:
image.png
     3、实机调试部分
      下图是左侧数码管显示的是对模式的调节,可以通过独立按键对工作模式进行选择。其中不同的工作模式可以通过软件部分的程序提前设定好。中间的数码管是用作显示气缸的泄气时间。右侧数码管是用作显示充气时间。A、B气缸的泄气和充气时间设定可以通过独立按键来进行设定各自的时间。经过实验,对于A、B气缸充气时间调节到6.5秒,泄气时间调节至0.1秒能对制氧效果起到帮助。
image.png