电赛中常用的模块电路设计

关注v-x-公-众-号:【嵌入式基地
后-台-回-复:【电赛】 即可获资料
回复【编程】即可获取
包括有:C、C++、C#、JAVA、Python、JavaScript、PHP、数据库、微信小程序、人工智能、嵌入式、Linux、Unix、QT、物联网、算法导论、大数据等资料

在这里插入图片描述
原文链接 点击查看

5个G的计算机,电子专业书籍分享。
链接:https://pan.baidu.com/s/1y8BnUlGmiJMujLlTyrhznA
提取码:j9na

波形发生器

方波发生电路

在这里插入图片描述

该电路用于产生占空比为1/3,频率为38KHZ的方波。
该电路将555定时器的2脚与6脚接在一起,构成施密特触发器。施密特触发器的电压传输特性是反相的。电阻R4和电容C2构成一个RC积分电路,其输入端接施密特触发器的输出端,其输出端接施密特触发器的输入端。这样就构成了一个多谐振荡器,其中R3调节占空比,R4调节方波频率。

三角波发生电路

在这里插入图片描述

采用满幅输出运放TLC4502及高速精密电压比较器LM311来实现。TLC4502不仅具有较宽的频带,而且可以在较低的电压下满幅输出,既保证能产生线性良好的三角波,而且可以达到在低电压下正常工作的要求。

正弦波发生电路

在这里插入图片描述

RC串并联电路构成正负反馈支路,同时兼做选频网络,R15、R17、R11构成负反馈和稳幅环节。调节电位器R11,可以改变负反馈深度,以满足振荡的振幅条件并改善波形。为了稳定输出电压的幅值,常在R11 支路串接两个反向并联二极管,利用其正向电阻的非线性特性来实现稳幅。

基于自然采样法的SPWM 波硬件产生电路

在这里插入图片描述

三角波和正弦波输入到比较器LM311进行比较,在输入到比较器LM311的前端加有隔直电容,这里主要是为了使前端输入的任意偏置的信号经隔直后中心线相等,然后再同时偏置2.5V的电压。以确保进入到比较器LM311的两路信号中心线齐平。

恒幅移相电路

在这里插入图片描述

一般的RC 移相电路都会对幅值有一定的衰减,这个电路就可以等幅输出移相后的波形。通过选取电阻、电容的参数可以实现0°~180°滞后的移相范围。

程控滤波器电路

在这里插入图片描述

程控滤波器由两片TLC7528及两片双运放集成芯片LF353构成。电路如图所示。第一片TLC7528控制滤波器的Q值和增益,第二片TLC7528控制滤波器的截止频率。

AD9851电路

在这里插入图片描述

选用DDS集成芯片AD9851来实现。AD9851内置32位频率累加器、10bit高速DAC、高速比较器和可软件选通的时钟6倍频电路。外接参考频率源时,AD9851可以产生频谱纯净、频率和相位都可控且稳定度非常高的正弦波。控制字通过W-CLK引脚接入的控制字写时钟来触发写入的。当控制字写完后,在FQ-UD信号的上升沿的作用下,控制字被写入频率相位数据寄存器,更新DDS的输出频率和相位。电路设计时,注意电源和地线的连接,可有效地减小干扰,提高输出信号的质量。

基本物理量检测电路

测频测相电路

在这里插入图片描述

对于工频范围的相位测量我们采用LM311先滞回后过零比较的方式,将正弦波整形成方波,然后送后级测量电路检测。采用滞回比较的方式能在一定程度上消除由于波形噪声干扰而引起的抖动。但是它的去干扰能力是有限的,如果前级信号噪声过大,或是地线上引入了较大的干扰,那么测量出来的相位差还是会存在较大的误差的。

电流采样电路

在这里插入图片描述

INA128为精密仪表放大器,其增益可调,差分输入方式能对小信号进行处理,这里我们选用0.1欧的康铜丝对电流进行采样后经INA128放大再送后级测量电路或是控制电路处理。由于INA128 的输入共模电压有限,因此康铜丝一般是在低侧采样电流后给INA128检测。

电流采样电路

在这里插入图片描述

INA168是专用的高侧电流监视器,其输入共模电压可以高达60V,当康铜丝选取为0.1欧时,可以测量0~5A以内的电流,它的输出方式为电流,我们只需接一个采样电阻就可以转换为电压。因此可以用它对高侧电流进行检测。

PGA202、PGA203 级联程控放大电路

在这里插入图片描述

在一个很宽广的测量范围内,放大倍数选为固定值时测量精度不高。PGA202和PGA203 程控仪表放大器在某种程度上解决了这个问题。PGA202增益可选为1、10、100、1000,PGA203 增益可选为1、2、4、8,两者级联可以产生1、2、4、8、10、20、40、80、100、200、400、800、1000、2000、4000、8000共16种增益。前级通过峰值检测电路测量出信号的大致幅值以决定程控放大倍数,这样就可以提高测量精度。

AD637真有效值检测电路

在这里插入图片描述

对于有效值的检测,我们选用AD637来实现。AD637是真有效值测量芯片。其有效值计算公式为 V r m s = [ A v g ∗ V i n 2 / V r m s ] Vrms = [Avg * Vin^2/Vrms] Vrms=[AvgVin2/Vrms]应用时只需在芯片的外围添加适当的电阻、电容即可实现任意波形交变信号的有效值的测量。其中平均电容C1可用来设定平均时间常数,并决定低频准确度,输出纹波大小和稳定时间。R1、R2、C1、C2及运放OPA277构成二阶低通滤波滤除检波后的纹波。

TLC7528 程控衰减电路

在这里插入图片描述

TLC7528是双八位D/A转换器,转换速度快,精度高,内部集成权电阻网络,通过程序控制输入的8位数据即可改变电阻比例来达到程控衰减的目的。

霍尔电压、电流传感器隔离采样电路

在这里插入图片描述

TA0913为交流电流传感器,绝缘电阻常态时大于1000MΩ;抗电强度可承受工频6000V50Hz/1 分钟。工作范围:20Hz~20kHz。用它来检测交流电流可以起到很好的隔离效果。HV03-10/25mA-P 为电流型电压传感器,用于测试直流、交流、脉动电流;利用霍尔效应及磁补偿原理,被测回路与测试回路绝缘度高;工作频率范围为0-150kHz。额定输入电流IIN 10mA;额定输入电压VPN 10~500V。可以用它来对交直流电压进行隔离检测。

差分检测电路

在这里插入图片描述

高输入电压差分放大器,可获取逆变输出的电压波形。该电路将逆变后的双端浮动信号变成单端对地的信号,同时也对逆变的电压进行了衰减,以便后级的信号处理。

LM311峰值检测电路

在这里插入图片描述

对于精度要求不是很高的低频正弦波的峰值检测,我们可以采用LM311峰值检测电路,这里电容的选取很重要,它决定了输出波形的平滑度和对峰值的响应速度,因此要有一个折中的选择。

双运放峰值检波电路

在这里插入图片描述

峰值检波电路是由二极管电路和电压跟随器组成,其工作原理为:当输入电压正半周通过时,检波管U2导通,对电容C1、C2充电,直到到达其峰值。三极管的基极由单片机或FPGA控制,产生10us的高电平使电容放电,以减少前一频率测量对后一频率测量的影响,提高幅值测量精度。其中U1为常导通,用以补偿U2上造成的压降。电容C1、C2的取值需根据被测信号的频率合适的选取,此电路中的二极管使用高频二极管,可大大提高测量范围的频率上限。

ADS8344 电压采样电路

在这里插入图片描述

DAC8811 数模转换电路

在这里插入图片描述

正负可调基准源电路

在这里插入图片描述

基准源输出一路接一个可调电阻作为正的基准源,另一路经反相放大得到负的基准源。

光敏三极管3DU33 检测电路

在这里插入图片描述

光敏三级管不仅对光照的灵敏度高,而且其本身就具备电流放大作用,3DU33采集到光信号后,使整个电路导通,通过三极管将微弱的电流信号放大,图中的R1为偏置电阻,可以调节工作点及稳定电路。3DU33 在正常室内光照下,电流为微安级,故需选择合适的偏置电阻,放大后再送至A/D采样。

首先,INA260的ID号存储在其内部寄存器,我们需要通过I2C通信协议从INA260读取这个寄存器的值。然后,我们可以使用STM32的GPIO模拟IO口读取这个ID号。 以下是一个简单的代码示例,假设使用的是STM32F4系列芯片和HAL库: ```c #include "stm32f4xx_hal.h" #include "stdbool.h" #define I2C_ADDRESS 0x40 // INA260的I2C地址 #define ID_REG_ADDR 0xFE // ID寄存器的地址 I2C_HandleTypeDef hi2c1; void SystemClock_Config(void); int main(void) { HAL_Init(); SystemClock_Config(); __HAL_RCC_GPIOA_CLK_ENABLE(); // 使能GPIOA时钟 GPIO_InitTypeDef gpio_init; gpio_init.Pin = GPIO_PIN_0; // 使用PA0模拟IO口 gpio_init.Mode = GPIO_MODE_INPUT; // 输入模式 gpio_init.Pull = GPIO_NOPULL; // 不使用上下拉电阻 HAL_GPIO_Init(GPIOA, &gpio_init); uint8_t id = 0; while (1) { HAL_I2C_Mem_Read(&hi2c1, I2C_ADDRESS, ID_REG_ADDR, I2C_MEMADD_SIZE_8BIT, &id, 1, 1000); // 从INA260读取ID号 bool bit_value = ((id >> 3) & 0x01); // 获取ID号的第4位 HAL_GPIO_WritePin(GPIOA, GPIO_PIN_0, bit_value ? GPIO_PIN_SET : GPIO_PIN_RESET); // 将ID号的第4位写入PA0模拟IO口 HAL_Delay(1000); // 延时1秒钟 } } void SystemClock_Config(void) { RCC_OscInitTypeDef RCC_OscInitStruct = {0}; RCC_ClkInitTypeDef RCC_ClkInitStruct = {0}; /** Configure the main internal regulator output voltage */ __HAL_RCC_PWR_CLK_ENABLE(); __HAL_PWR_VOLTAGESCALING_CONFIG(PWR_REGULATOR_VOLTAGE_SCALE1); /** Initializes the CPU, AHB and APB busses clocks */ RCC_OscInitStruct.OscillatorType = RCC_OSCILLATORTYPE_HSI; RCC_OscInitStruct.HSIState = RCC_HSI_ON; RCC_OscInitStruct.HSICalibrationValue = RCC_HSICALIBRATION_DEFAULT; RCC_OscInitStruct.PLL.PLLState = RCC_PLL_ON; RCC_OscInitStruct.PLL.PLLSource = RCC_PLLSOURCE_HSI; RCC_OscInitStruct.PLL.PLLM = 8; RCC_OscInitStruct.PLL.PLLN = 168; RCC_OscInitStruct.PLL.PLLP = RCC_PLLP_DIV2; RCC_OscInitStruct.PLL.PLLQ = 4; if (HAL_RCC_OscConfig(&RCC_OscInitStruct) != HAL_OK) { Error_Handler(); } /** Initializes the CPU, AHB and APB busses clocks */ RCC_ClkInitStruct.ClockType = RCC_CLOCKTYPE_HCLK|RCC_CLOCKTYPE_SYSCLK |RCC_CLOCKTYPE_PCLK1|RCC_CLOCKTYPE_PCLK2; RCC_ClkInitStruct.SYSCLKSource = RCC_SYSCLKSOURCE_PLLCLK; RCC_ClkInitStruct.AHBCLKDivider = RCC_SYSCLK_DIV1; RCC_ClkInitStruct.APB1CLKDivider = RCC_HCLK_DIV4; RCC_ClkInitStruct.APB2CLKDivider = RCC_HCLK_DIV2; if (HAL_RCC_ClockConfig(&RCC_ClkInitStruct, FLASH_LATENCY_5) != HAL_OK) { Error_Handler(); } } ``` 上述代码,我们使用PA0模拟IO口读取了INA260的ID号的第4位,并将这个值写入PA0模拟IO口。你可以根据自己的需要修改代码来读取完整的ID号,并进行其他操作。
评论 21
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

嵌入式基地

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值