-
三选一,10A电源开关,求大家帮忙给个方案
本帖最后由tyw于2024-4-2213:49编辑我想做一个板子,用来切换我的3路input电源,电压值是5V;但是电流很大,达到了15A;我本想用继电器,但是想着继电器能过15A电流吗?求大神帮忙指导一下,如果用继电器,能不能给个型号;如果用IC芯片,能不能也同样给个型号;感谢;tyw注
2024-04-22 18 -
单片机ADC检测电压怎样校准(电压标定)
请问下,各位老大,单片机用ADC去检测电压,由于精度问题,怎样做电压校准。比如,检测一个锂电池的电压满电是12V电量4个LED,11.75V点亮3个LED,11.35V点亮2个LED,10.65V点亮1个LED,9.6V判断为低电压自动关断。检测精度为+/-0.01V。怎样去校准这几个电压点,以51单片机为例。谢谢!!!
2022-02-16 15 -
stmf4采样100KHz信号
stm32f4如何能够采样100Khz的信号
2022-02-14 2 -
3.3V方波信号(300KHz)转为1.0-1.2V方波信号方法有哪些
1、请教各位大佬,把FPGA输出的3.3V方波信号(300KHz)转为1.0-1.2V(要求高电平可调)方波信号有哪些方法?目前尝试了下按照如下一种方案去做,但是在U19的Num#2管脚TX_A信号测试得到的波形有过冲,这个输出加个电容是否可以滤掉?2、其它转换方法我看有电平转换芯片,但都是固定电平的转换,1.2V,1.8V,3.3V,5V等,有没有其它的方法,可以探讨下。
2022-02-13 12 -
STM32F4 pwm TIM4 CH3 配置没有波形输出
voidTIM4_PWM_Init(u32arr,u32psc){GPIO_InitTypeDefGPIO_InitStructure;TIM_TimeBaseInitTypeDefTIM_TimeBaseStructure;TIM_OCInitTypeDefTIM_OCInitStructure;RCC_APB1PeriphClockCmd(RCC_AHB1Periph_GPIOB,ENABLE);//IO口使能设置RCC_APB1PeriphClockCmd(RCC_APB1Periph_TIM4,ENABLE);//配置时钟GPIO_InitStructure.GPIO_Pin=GPIO_Pin_8;//TIM3的CH3连接PB8管脚GPIO_InitStructure.GPIO_Mode=GPIO_Mode_AF;//复用推挽输出GPIO_InitStructure.GPIO_Speed=GPIO_Speed_50MHz;GPIO_Init(GPIOB,&GPIO_InitStructure);TIM_TimeBaseStructure.TIM_Period=arr;//10000;//1sTIM_TimeBaseStructure.TIM_Prescaler=psc;//7199;//720分频TIM_TimeBaseStructure.TIM_ClockDivision=0;TIM_TimeBaseStructure.TIM_CounterMode=TIM_CounterMode_Up;//向上计数TIM_TimeBaseInit(TIM4,&TIM_TimeBaseStructure);TIM_OCInitStructure.TIM_OCMode=TIM_OCMode_PWM1;//PWM1模式1TIM_OCInitStructure.TIM_OutputState=TIM_OutputState_Enable;//比较输出使能TIM_OCInitStructure.TIM_Pulse=2500;//设置占空比TIM_OCInitStructure.TIM_OCPolarity=TIM_OCPolarity_High;//输出比较极性高TIM_OC3Init(TIM4,&TIM_OCInitStructure);//初始化TIM4的CH3通道TIM_OC3PreloadConfig(TIM4,TIM_OCPreload_Enable);//使能TIM4在CH3通道CCR3上的预装载寄存器TIM_ARRPreloadConfig(TIM4,ENABLE);//使能TIM4在CH3通道ARR3上的预装载寄存器TIM_Cmd(TIM4,ENABLE);//使能定时器4
2022-02-10 1 -
MCU驱动TFT彩屏 刷屏数据40ms左右传完 但刷屏用了300ms
MCU使用SPI驱动TFT彩屏系统时钟33.1776MHzSPI频率FOSC/2刷屏数据40ms左右传完了但屏幕实际刷新时间用了300ms以上40ms是在刷屏程序里拉低引脚再拉高引脚然后用逻辑分析仪测出来的,刷屏时间的300ms是录屏后数帧数数出来的请问下这个是哪里的问题,是TFT的初始化有问题吗以下代码#include#include"TFT.h"#include"weather.h"sbitBLK=P5^3;//背光控制sbitRS=P0^5;//数据命令切换线sbitRST=P0^6;//复位线sbitCS=P0^7;//片选sbitSCLK=P1^5;//SPI时钟线sbitMOSI=P1^3;//SPI数据线sbitLED=P5^0;unsignedinttime_i=0;voidTimer0Init(void);voidUartInit(void);bitLcd_Clean=0;bitLcd_color=1;voidmain(){Timer0Init();UartInit();LED=1;ET0=1;EA=1;Lcd_Init();while(1){if(Lcd_Clean){Lcd_Clean=0;if(Lcd_color){Lcd_clear(0x8080);Lcd_color=0;}else{Lcd_clear(0xFFFF);Lcd_color=1;}}}}voidTM0_Isr()interrupt1{time_i++;if(time_i==1000){time_i=0;Lcd_Clean=1;}}voidTimer0Init(void)//1毫秒@33.1776MHz{AUXR|=0x80;//定时器时钟1T模式TMOD&=0xF0;//设置定时器模式TL0=0x66;//设置定时初始值TH0=0x7E;//设置定时初始值TF0=0;//清除TF0标志TR0=1;//定时器0开始计时}voidUartInit(void)//115200bps@33.1776MHz{SCON=0x50;//8位数据,可变波特率AUXR|=0x40;//定时器时钟1T模式AUXR&=0xFE;//串口1选择定时器1为波特率发生器TMOD&=0x0F;//设置定时器模式TL1=0xB8;//设置定时初始值TH1=0xFF;//设置定时初始值ET1=0;//禁止定时器%d中断TR1=1;//定时器1开始计时}voidDelay500ms()//@12.000MHz{unsignedchari,j,k;_nop_();_nop_();i=23;j=205;k=120;do{do{while(--k);}while(--j);}while(--i);}voidSPI_Init()//初始化SPISPI频率为FOSC/2{SPDAT=0;SPSTAT=0xC0;SPCTL=0xDF;}voidLcd_Write_cmd(unsignedcharcmd)//向TFT写入一个命令{CS=0;RS=0;SPDAT=cmd;while(!(SPSTAT&0x80));SPSTAT=0xC0;CS=1;}voidLcd_Write_data(unsignedchardat)//
2022-02-09 7 -
D2PAK封装的MOSFET在不加散热器场景下允许的最大安全损耗
有个项目使用D2PAK(TO-263)封装的MOSFTE,工作环境温度-20℃至+60℃,用于普通的电子开关(代替继电器);1、目前使用两只MOS管最大过电流30A(长时间工作小于25A,回路里面有个30A熔丝),MOSFET的内阻是1.8mΩ(两个管子跑30A时,总的损耗也就是0.81W);2、目前使用四只MOS管最大过电流60A(长时间工作小于55A),MOSFET的内阻是1.8mΩ(四个管子跑60A时,总的损耗也就是1.62W);请问各位有经验的前辈,不加散热器不用铝基板裸奔长时间运行安全吗?
2022-01-17 2 -
GD32F103C8T6 CAN没有输出
GD32F103C8T6CAN没有输出回环模式,可以读取回数据,但是我重映射的PB8,PB9没有信号出来,外接的TJA1050,请问有遇到类似问题的吗?代码如下can_trasnmit_message_structtransmit_message;can_receive_message_structreceive_message;uint8_tCAN_Tx_Buf[8];uint8_tCAN_Rx_Buf[8];/*!\briefinitializeCANandfilter\paramcan_parameter\argcan_parameter_struct\paramcan_filter\argcan_filter_parameter_struct\param[out]none\retvalnone*/voidBSP_CANInit(void){can_parameter_structcan_parameter;can_filter_parameter_structcan_filter;/*configureCAN0NVIC*/nvic_irq_enable(USBD_LP_CAN0_RX0_IRQn,1,2);/*enableCANclock*/rcu_periph_clock_enable(RCU_CAN0);rcu_periph_clock_enable(RCU_GPIOB);rcu_periph_clock_enable(RCU_AF);/*configureCAN0GPIO*/gpio_pin_remap_config(GPIO_CAN_FULL_REMAP,ENABLE);gpio_init(GPIOB,GPIO_MODE_IPU,GPIO_OSPEED_50MHZ,GPIO_PIN_8);gpio_init(GPIOB,GPIO_MODE_AF_PP,GPIO_OSPEED_50MHZ,GPIO_PIN_9);/*initializeCANandfilter*/can_struct_para_init(CAN_INIT_STRUCT,&can_parameter);can_struct_para_init(CAN_FILTER_STRUCT,&can_filter);/*initializeCANregister*/can_deinit(CAN0);/*initializeCANparameters*/can_parameter.time_triggered=DISABLE;//TTC时间触发通信0:禁用时间触发通信1:使能时间触发通信can_parameter.auto_bus_off_recovery=DISABLE;//ABOR自动离线恢复0:通过软件手动地从离线状态恢复1:通过硬件自动的从离线状态恢复can_parameter.auto_wake_up=DISABLE;//AWK自动唤醒0:通过软件手动的从睡眠工作模式唤醒1:通过硬件自动的从睡眠工作模式唤醒can_parameter.no_auto_retrans=ENABLE;//DISABLE;//ARD自动重发禁止0:使能自动重发1:禁用自动重发can_parameter.rec_fifo_overwrite=DISABLE;//RFOD禁用接收FIFO满时覆盖0:使能接收FIFO满时覆盖1:禁用接收FIF
2022-01-15 1 -
关于单片机的问题
最近在学单片机,用的AT89C51的芯片做了一个普通的流水灯电路(共阴接法),在为其供电5V电压时,灯并不能按照写好的程序去运行,但是全亮,只有将电压调低一点时才按照程序去运行。请问各位大神这是什么问题?
2022-01-02 4 -
用HC32F460的I2S连接WM8978音频IC
I2S为主模式,MCK允许,EXCK禁止,配置了I2S,允许TXEN,配置DMA,触发为TX输出中断,中断配置了回调函数,当允许DMA通道后,没有进入发送中断。不知错在那,搜索复制另外问一上,I2S在不接外部的WM8978模块时,是不是也有数据输出。
2022-01-01 1 -
TVS动作时对前级的影响
用一个程控电源给负载供电。中间串入了一个继电器。将程控电源先设置到额定电压,然后再打开继电器会导致负载端出现几十微秒的过冲电压,这个电压会高出负载的额定电压很多。会导致负载被烧坏。现在准备加TVS来保护后级负载。但是有两个问题不清楚,希望有老师能够为我解惑。1,为什么通过继电器控制通断会产生过冲电压?查到的资料还是不能令我完全明白。过冲的产生和上电方式有着很大的关系。输入端电压平滑上升时,输出端不会存在过冲;热插拔上电或者输入端接触不良时,会造成输入端电压从零突然阶跃上升或者输入端电压有较大跌落时再阶跃上升,这两种情况下,若输入端电压变化速率超出系统环路响应速度,会导致输出端电压短暂出现高于设定值现象,即输出过冲。2,如果加了TVS,那么TVS动作后到底是短路还是钳位。如果tvs动作了。会导致前面的程控电源检测到吗?
2021-12-06 13 -
ads1232称重,长时间断电上电后ad值突然减小
ads1232做称重检测用电池供电,长时间断电后刚开始采集的ad值是正常,运行几分钟后ad值突然减小一部分,导致重量减小几g。重复实验这个减小的重量值基本不变。
2021-11-19 6 -
关于阻容减压电路设计的问题?
本帖最后由自定义LqT于2021-8-1916:30编辑对开关电源方面不太懂,在网上查阅的资料,自己做了个阻容降压电路,能实现AC220到DC3.3V输出,遇到问题,1,似乎刚上电时电压有点不稳,想请教资深工程师们,这电路有什么需要改进的地方吗?
2021-08-19 10