2011年电赛G题简易电阻测试仪

题目要求

PY21zvTg0vOgmwsDkhhVFfHdfu8J0sIBammGTbi7.png

3OMNTqWSPgYOxfFWY8z66VKtbgQh1OiOYwrGeNx5.png

题目分析

根据题目可知,电路主要设计换挡部分和电阻测量部分,换挡部分我采用了四个继电器,四个挡位使被测电阻分别与100Ω、1KΩ、10KΩ、1MΩ进行分压,再通过单片机ADC采集被测电阻两端电压,即可换算出被测电阻的阻值,设被测电阻和基准电阻上的电压分别为Vx、Vo,根据分压关系可得被测电阻的阻值为:Rx=(Vx/Vo)/R。由于手头上没有M以上的电阻所以基础部分就搞了一堆电阻随机来测。

发挥部分(1)通过一个矩阵键盘输入阻值跟被被测电阻进行对比。

发挥部分(2)通过L298电机驱动控制电机带动电位器旋转,再通过单片机ADC采集被测电位器和基准电阻上的电压,通过实时采集到的数据在OLED打点画出电位器变化波形。
 

oF5i0q6WAHaQU1PjFVoP5Wpzv2TkXTw2bHxzoqwk.png

原理图设计说明

换挡电路

ZJiQ3jyunQ2yv6fi71acLv7u6gzYHivQrt7IMtns.png

PCB设计说明

电源线、地线及印制导线在PCB上的排列要恰当,尽量做到短而直,以减小信号线与回线之间所形成的环路面积。电源线走大一些。

软件说明

软件部分主要是ADC采集

void ADC_Configuration(uint8_t ch)
{   
  __RCC_ADC_CLK_ENABLE(); 
    __RCC_GPIOA_CLK_ENABLE();
    ADC_SingleChTypeDef ADC_SingleInitStruct;
    if(ch == 0)
    {
        PA00_ANALOG_ENABLE();
        ADC_SingleInitStruct.ADC_Chmux = ADC_ExInputCH0; 
    }
    else if(ch == 1)
    {
        PA01_ANALOG_ENABLE();
        ADC_SingleInitStruct.ADC_Chmux = ADC_ExInputCH1; 
    }
  ADC_SingleInitStruct.ADC_DiscardEn = ADC_DiscardNull;
  ADC_SingleInitStruct.ADC_InitStruct.ADC_AccEn = ADC_AccDisable;
  ADC_SingleInitStruct.ADC_InitStruct.ADC_Align = ADC_AlignRight;   
  ADC_SingleInitStruct.ADC_InitStruct.ADC_ClkDiv = ADC_Clk_Div16;   
  ADC_SingleInitStruct.ADC_InitStruct.ADC_DMAEn = ADC_DmaDisable;  
  ADC_SingleInitStruct.ADC_InitStruct.ADC_InBufEn = ADC_BufEnable; 
  ADC_SingleInitStruct.ADC_InitStruct.ADC_OpMode = ADC_SingleChOneMode;   
  ADC_SingleInitStruct.ADC_InitStruct.ADC_SampleTime = ADC_SampTime10Clk; 
  ADC_SingleInitStruct.ADC_InitStruct.ADC_TsEn = ADC_TsDisable;   
  ADC_SingleInitStruct.ADC_InitStruct.ADC_VrefSel = ADC_Vref_VDDA;
  ADC_SingleInitStruct.ADC_WdtStruct.ADC_WdtAll = ADC_WdtDisable;    
  ADC_SingleChOneModeCfg(&ADC_SingleInitStruct);
  ADC_Enable();    
    ADC_SoftwareStartConvCmd(ENABLE);
}
float Get_ADC() 
{
    uint16_t temp_dat_adc = 0;
    ADC_SoftwareStartConvCmd(ENABLE);
    while(ADC_GetITStatus(ADC_IT_EOC))
    {
        ADC_ClearITPendingBit(ADC_IT_EOC);      
        temp_dat_adc=ADC_GetConversionValue();            
    }
    return     (float)temp_dat_adc;
}


实物展示

8GBvKnHXQ8KHUAMmuU4DWl673MtF6LnSlna7v91F.jpeg

注意事项

CW32引脚驱动能力比较强,刚开始我控制换挡的三极管基极没有上拉,导致四个继电器都处于打开状态,后面通过一个20K上拉到5V,继电器才能通过单片机正常开关。

原理图

PCB

 CW开发板申请流程如下:

开源链接:2011年电赛G题简易电阻测试仪 - 嘉立创EDA开源硬件平台 (oshwhub.com)

  • 0
    点赞
  • 16
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值