硬币检测电路设计

2024-06-02 07:20
文章标签 检测 电路设计 硬币

本文主要是介绍硬币检测电路设计,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

一、来源:凡亿教育

第一场:硬币检测装置原理分析、电路设计以及器件选型_哔哩哔哩_bilibiliicon-default.png?t=N7T8https://www.bilibili.com/video/BV1Zh4y1V7Px/?p=1&vd_source=43eb1cb50ad3175d7f3b9385905cd88f

二、开发软件:KEIL MDK

三、主控芯片:STM32F103C8T6

四、电路原理图设计、PCB绘制:立创EDA

五、涉及成品模块:0.96 inch OLED , STM32F103C8T6最小系统板

六、实物测试视频:

硬币检测电路测试视频

电路上有三个按键,第一个是进入校正模式(进入后功能变为切换要校正的硬币),第二个为更新硬币电压值(更新时需要将硬币放到线圈上),第三个按键为跳出校正(掉电不保护)

七、程序开源地址:

硬币检测电路/程序 · lovefoolnotme/开源项目 - 码云 - 开源中国 (gitee.com)icon-default.png?t=N7T8https://gitee.com/lovefoolnotme/open-source-projects/tree/master/%E7%A1%AC%E5%B8%81%E6%A3%80%E6%B5%8B%E7%94%B5%E8%B7%AF/%E7%A8%8B%E5%BA%8F

#include "sys.h"
#include "usart.h"	
#include "delay.h"
#include "oled.h"
#include "bmp.h"
#include "ADC.h"
#include "key.h"
#include "IR2104.h"extern uint8_t DMAEndFlag;		//0:DMA结束
extern uint8_t MeasUpdateFlag;		//测量更新标志,大约1s更新一次
extern uint16_t voltage;					//电压值,3位小数uint8_t    key_value=0;
uint8_t    jiaozheng=0;
//1角,5角,1元
uint16_t nomoney =1190  ;
uint16_t yj      =1044 ;
uint16_t wj      =936 ;
uint16_t yy      =577 ;
//uint16_t wj_yy   =650 ;
//uint16_t wj_yj   =886 ;
//uint16_t yj_yy   =677 ;
uint16_t gap     =50   ;
int main(void)
{	NVIC_PriorityGroupConfig(NVIC_PriorityGroup_2);	 //设置NVIC中断分组2:2位抢占优先级,2位响应优先级delay_init();	                //延时函数初始化  Key_Configuration();ADC_Config();IR2104_Config();//加这个延时是等待OLED屏幕启动delay_ms(100);   OLED_Init();OLED_ColorTurn(0);//0正常显示,1 反色显示OLED_DisplayTurn(0);//0正常显示 1 屏幕翻转显示OLED_Clear();OLED_Refresh();ADC_SoftwareStartConvCmd(ADC1, ENABLE);while(1){
//判断ADC的DMA传输是否完成ADC_DMA_End_Detection();		if(!DMAEndFlag) VI_Seperation();if(!MeasUpdateFlag){
//计算电压,单位mv			VI_Calc();
//显示电压,单位mv			OLED_ShowNum(88,10,voltage,5,8,1);}//扫描按键
key_value=Key_Scan();		/*******************************************************校正开始*******************************************************/
//校正电压值
if(key_value==1)
{while(Key_Scan()==1);   //等待松开按键key_value=0;//开始校正电压值OLED_Clear();		 while(1){key_value=Key_Scan();while(Key_Scan()!=0);		  //等待松开按键 ADC_DMA_End_Detection();		if(!DMAEndFlag) VI_Seperation();if(!MeasUpdateFlag){			VI_Calc();}//校正yijiao if(jiaozheng==0){ OLED_ShowString(0,0,"jiaozheng!",8,1);OLED_ShowString(0,30,"yijiao:",8,1);OLED_ShowNum(80,30,yj,4,8,1);OLED_ShowString(0,50,"voltage:",8,1);OLED_ShowNum(80,50,voltage,4,8,1);OLED_Refresh();}//校正wujiaoelse if(jiaozheng==1){OLED_ShowString(0,0,"jiaozheng!",8,1);OLED_ShowString(0,30,"wujiao:",8,1);OLED_ShowNum(80,30,wj,4,8,1);OLED_ShowString(0,50,"voltage:",8,1);OLED_ShowNum(80,50,voltage,4,8,1);OLED_Refresh();}//校正yiyuanelse if(jiaozheng==2){OLED_ShowString(0,0,"jiaozheng!",8,1);OLED_ShowString(0,30,"yiyuan:",8,1);OLED_ShowNum(80,30,yy,4,8,1);OLED_ShowString(0,50,"voltage:",8,1);OLED_ShowNum(80,50,voltage,4,8,1);OLED_Refresh();}switch(key_value){case 0: break;//进入下一校正前清除屏幕case 1: jiaozheng++;if(jiaozheng>2) jiaozheng=0; OLED_Clear();break;//校正值保存case 2: {if(jiaozheng==0) yj=voltage;else if(jiaozheng==1) wj=voltage;else if(jiaozheng==2) yy=voltage;					else ;};break;case 3: break;default:break;				}//退出if(key_value==3){jiaozheng=0;key_value=0;OLED_Clear();break;}}	}
/*******************************************************校正结束*******************************************************///1.  1角硬币放在线圈上if(((yj-gap)<voltage)&&(voltage<(yj+gap)))OLED_ShowPicture(0,0,64,64,yijiao,1);
//2.  5角硬币放在线圈上else if(((wj-gap)<voltage)&&(voltage<(wj+gap)))OLED_ShowPicture(0,0,64,64,wujiao,1);
//3.  1元硬币放在线圈上else if(((yy-gap)<voltage)&&(voltage<(yy+gap)))OLED_ShowPicture(0,0,64,64,yiyuan,1);		
//4.  没有硬币放在线圈上elseOLED_ShowPicture(0,0,64,64,college_logo,1);//刷新屏幕		OLED_Refresh();}
}

八、原理图、PCB开源地址:

硬币检测电路/原理图、PCB · lovefoolnotme/开源项目 - 码云 - 开源中国 (gitee.com)icon-default.png?t=N7T8https://gitee.com/lovefoolnotme/open-source-projects/tree/master/%E7%A1%AC%E5%B8%81%E6%A3%80%E6%B5%8B%E7%94%B5%E8%B7%AF/%E5%8E%9F%E7%90%86%E5%9B%BE%E3%80%81PCB

九、部分踩坑:购买的LDO,AMS1117 12V-5V存在质量问题,输入12V直接损坏,后面发现是质量问题后使用10V输入电路也可正常工作。

十、原理图设计讲解与经验(凡亿教育):

10.1 检测的原理:涡流效应

在图中,可以看到,线圈中加入交变电流时,可以产生涡流效应,类似于变压器,硬币类似于负载,当硬币加入时相当于负载接入,电流会增大,这个时候后边的电流增大前边的电流也会变大,检测前边电路的电压即可知道是否有负载接入,主要是看电压值,所以其实这个电路不仅可以检测硬币,还可以检测其他金属物品,但是需要自己指定。我们将1角、5角、1元硬币分别放上线圈查看前边电路的电压检测值即可知道不同硬币在电路中对应的电压值,并且修改程序来判别电压达到判别硬币的功能。

10.2 检测电路的设计

先从后面开始看,并联的C1、C2合计为2UF,然后我们会在线圈接口接一个14UH的线圈(相当于电感),此时C1、C2和线圈构成一个LC并联,R1焊接1R电阻,C3电容是用来隔离直流(到C3的型号是一个交流和直流叠加的型号),C5焊接470NF电容,L3焊接68UH电感,C5和L3构成一个LC串联,R23焊接75R3W的金属膜电阻。为什么这么设计:

(1)为了节能。(LC并联)当LC并联谐振时,电感(线圈)中的电流和电容(C1、C2)中电流几乎相等,其他部分的阻抗变化几乎对能量消耗没有影响。

谐振频率计算公式(并联和串联都是这样):

(2)提高灵敏度。(LC串联电路)

LC串联谐振时等效电阻最小,LC并联谐振时等效电阻最大。

我们输入的交变信号频率是取LC串联电路的谐振频率,当硬币接入时,后边电路前边电路电流增大,电感L减小,在上面的公式可以看出谐振频率会增大(下图为LC并联的f与r的关系图),相当于放入硬币前我们的等效电阻与频率曲线为红色曲线,放入硬币之后为绿色曲线。我们输入的频率没有变,而谐振频率后移,等效电阻减小了,我们要检测的就是LC并联处TP5测试点的电压,这里的等效电阻减小,则电压会减小。这是第一处灵敏度增加。电流增大,则TP4处的电压减小(功率守恒),TP4的电压为R1电阻和后面LC并联的电压之和,电流增大,R1上的电压增大,而TP4点的电压减小,只能在LC并联上减少更多的电压来形成整体电压下降。这是第二处灵敏度增加。

这篇关于硬币检测电路设计的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/1023306

相关文章

SpringBoot使用Apache Tika检测敏感信息

《SpringBoot使用ApacheTika检测敏感信息》ApacheTika是一个功能强大的内容分析工具,它能够从多种文件格式中提取文本、元数据以及其他结构化信息,下面我们来看看如何使用Ap... 目录Tika 主要特性1. 多格式支持2. 自动文件类型检测3. 文本和元数据提取4. 支持 OCR(光学

综合安防管理平台LntonAIServer视频监控汇聚抖动检测算法优势

LntonAIServer视频质量诊断功能中的抖动检测是一个专门针对视频稳定性进行分析的功能。抖动通常是指视频帧之间的不必要运动,这种运动可能是由于摄像机的移动、传输中的错误或编解码问题导致的。抖动检测对于确保视频内容的平滑性和观看体验至关重要。 优势 1. 提高图像质量 - 清晰度提升:减少抖动,提高图像的清晰度和细节表现力,使得监控画面更加真实可信。 - 细节增强:在低光条件下,抖

烟火目标检测数据集 7800张 烟火检测 带标注 voc yolo

一个包含7800张带标注图像的数据集,专门用于烟火目标检测,是一个非常有价值的资源,尤其对于那些致力于公共安全、事件管理和烟花表演监控等领域的人士而言。下面是对此数据集的一个详细介绍: 数据集名称:烟火目标检测数据集 数据集规模: 图片数量:7800张类别:主要包含烟火类目标,可能还包括其他相关类别,如烟火发射装置、背景等。格式:图像文件通常为JPEG或PNG格式;标注文件可能为X

XTU 1233 n个硬币连续m个正面个数(dp)

题面: Coins Problem Description: Duoxida buys a bottle of MaiDong from a vending machine and the machine give her n coins back. She places them in a line randomly showing head face or tail face o

基于 YOLOv5 的积水检测系统:打造高效智能的智慧城市应用

在城市发展中,积水问题日益严重,特别是在大雨过后,积水往往会影响交通甚至威胁人们的安全。通过现代计算机视觉技术,我们能够智能化地检测和识别积水区域,减少潜在危险。本文将介绍如何使用 YOLOv5 和 PyQt5 搭建一个积水检测系统,结合深度学习和直观的图形界面,为用户提供高效的解决方案。 源码地址: PyQt5+YoloV5 实现积水检测系统 预览: 项目背景

JavaFX应用更新检测功能(在线自动更新方案)

JavaFX开发的桌面应用属于C端,一般来说需要版本检测和自动更新功能,这里记录一下一种版本检测和自动更新的方法。 1. 整体方案 JavaFX.应用版本检测、自动更新主要涉及一下步骤: 读取本地应用版本拉取远程版本并比较两个版本如果需要升级,那么拉取更新历史弹出升级控制窗口用户选择升级时,拉取升级包解压,重启应用用户选择忽略时,本地版本标志为忽略版本用户选择取消时,隐藏升级控制窗口 2.

[数据集][目标检测]血细胞检测数据集VOC+YOLO格式2757张4类别

数据集格式:Pascal VOC格式+YOLO格式(不包含分割路径的txt文件,仅仅包含jpg图片以及对应的VOC格式xml文件和yolo格式txt文件) 图片数量(jpg文件个数):2757 标注数量(xml文件个数):2757 标注数量(txt文件个数):2757 标注类别数:4 标注类别名称:["Platelets","RBC","WBC","sickle cell"] 每个类别标注的框数:

Temu官方宣导务必将所有的点位材料进行检测-RSL资质检测

关于饰品类产品合规问题宣导: 产品法规RSL要求 RSL测试是根据REACH法规及附录17的要求进行测试。REACH法规是欧洲一项重要的法规,其中包含许多对化学物质进行限制的规定和高度关注物质。 为了确保珠宝首饰的安全性,欧盟REACH法规规定,珠宝首饰上架各大电商平台前必须进行RSLReport(欧盟禁限用化学物质检测报告)资质认证,以确保产品不含对人体有害的化学物质。 RSL-铅,

YOLOv8/v10+DeepSORT多目标车辆跟踪(车辆检测/跟踪/车辆计数/测速/禁停区域/绘制进出线/绘制禁停区域/车道车辆统计)

01:YOLOv8 + DeepSort 车辆跟踪 该项目利用YOLOv8作为目标检测模型,DeepSort用于多目标跟踪。YOLOv8负责从视频帧中检测出车辆的位置,而DeepSort则负责关联这些检测结果,从而实现车辆的持续跟踪。这种组合使得系统能够在视频流中准确地识别并跟随特定车辆。 02:YOLOv8 + DeepSort 车辆跟踪 + 任意绘制进出线 在此基础上增加了用户

独立按键单击检测(延时消抖+定时器扫描)

目录 独立按键简介 按键抖动 模块接线 延时消抖 Key.h Key.c 定时器扫描按键代码 Key.h Key.c main.c 思考  MultiButton按键驱动 独立按键简介 ​ 轻触按键相当于一种电子开关,按下时开关接通,松开时开关断开,实现原理是通过轻触按键内部的金属弹片受力弹动来实现接通与断开。  ​ 按键抖动 由于按键内部使用的是机