hhh402 发表于 2022-1-4 12:16 感谢,经过一天的调试我发现了问题所在。 旋钮的电阻20K太大了,因为我看别人都是两个10K串联 我直接用了一个20k 导致出现各种各样的问题,我现在改成10K就好了 但是令我不解的是为什么改成20K会出现这样的问题 大佬能否替我解答一下,因为我想做低功耗,如果电阻调成10K,旋钮这的功耗就大了一倍 |
一夜暴富 发表于 2022-1-4 09:38 因为静电的原因,IO口设置为高阻并悬空时检测到任何电压都是正常的,悬空的IO口是不可以设置成高阻点。 |
npn 发表于 2022-1-3 19:34 谢谢,我先把这个问题解决掉再看看其它问题 |
名字不是重点 发表于 2022-1-3 16:34 好的,谢谢。我先把这个问题解决掉 |
grb7906 发表于 2022-1-3 16:57 就是我怀疑和外围电路没关系~ 直接就裸着一个单片机,监控单片机引脚P34的高低电平 然后我发现我不停转动旋钮(P33,P32)时 单片机引脚P34也会出现高低电平突然变化一下的情况 |
一夜暴富 发表于 2022-1-3 15:21 记住这个原则:单片机IO口电压不能大于VCC+0.3V。 你应该优先解决这个。供电不能保证正常,啥奇怪问题都可能出现。 你的低压检测是开漏输出,又没有上拉电阻,所以只有配置成准双向口才能检测到,配置成其它方式不行。 stc8复位后所有io自动配置为纯输入,你又没有上拉电阻,所以此时为低电平。我估计是由于某种原因(例如看门狗、供电低)造成mcu复位造成的。又绕回优先解决上面提到的原则了。 你5V是不是由bat升压提供的,如是,由于IO口电压大于VCC+0.3V,使霍尔器件消耗了巨大电流,造成bat波动。又绕回优先解决上面提到的原则了。 |
名字不是重点 发表于 2022-1-3 16:34 如果IO口还配置了特殊功能(比如外部中断、硬件SPI等)。 还有可能烧坏内部寄存器导致失灵,出现问题都找不到北。 |
一夜暴富 发表于 2022-1-3 14:13 楼上已经有人说明了,IO输入电压不能超过这个单片机的最大输入,不管是不是这个原因,都得先把这个问题解决了再说其它的 至于低电压检测,我已经说了,没有必要用LDO,没有必要外加低电压检测,也没有必要用一个IO来进行ADC 数据手册中有说明的,怎样利用15通道的ADC来计算VCC,锂电池供电最常用的低电压就是用这个方法的 |
一夜暴富 发表于 2022-1-3 15:21 不明白,既然是低压检测口,为什么又有输出,输入口改为高阻输入试试,外部上拉... |
一夜暴富 发表于 2022-1-3 13:44 不安全,极端条件下会烧IO/毁MCU |
grb7906 发表于 2022-1-3 15:12 感谢,我刚才看了下单片机手册,在霍尔的输出口加一个二极管就可以让他输出单片机的工作电压了 低压检测的话,我直接用单片机的准双向口似乎也能检测到。 还有一个小问题是哪怕我不接低压检测芯片,只是单纯监控单片机这个引脚的高地电平,在我未对该引脚在代码上进行高低电平的定义时,他的输出有时会从1变成0这样子(大概8us左右) |
一夜暴富 发表于 2022-1-3 13:48 很好理解啊,首先,低压检测你说已经是开漏,单图上没见你有上拉,当然如果是单片机内部上拉也行,其次,HALL,你接的是5v电源,MCU供电是5v么?不是,你就要把hall输出的信号,电阻分压到MCU规格限制内... |
Y_G_G 发表于 2022-1-3 13:50 ![]() 没有霍尔开关(输入至P35)时,无论怎么转动旋钮(P32,P33),检测低电压的芯片的输出(P34)都不会出现误输出低电压的情况 但是接上霍尔开关后,转动旋钮低电压芯片输出就会出现异常 |
锂电池供电,可以直接使用电池给单片机供电,低电压检测可以通过内部参考电压来进行计算 STC8H1K28内置一个已经校正过内部参考电压,完全可以使它来进行ADC参考和电池低电压显示,不需要LDO的 其它的,虽然你写了那么多,都不知道你描述的是什么......................... |
wulin 发表于 2022-1-3 11:28 谢谢回复 但我有些不明白的是如果我没接ME2808,等于是只有单片机IO口单独存在,没有接任何外设,此时我转动旋钮,也是会出现P34这个单片机IO短暂的低电平出现 这是为什么呢。 似乎和外设已经没有关系了 |
grb7906 发表于 2022-1-3 10:44 感谢回复,但是并没有很理解。能再详细说一下嘛 低压检测好像本身VOUT端就是开漏输出了。 霍尔做下分压再接入单片机是指在霍尔的输出接LDO吗还是 |
npn 发表于 2022-1-3 11:38 因为我的低压检测是3.3V,stc里的似乎不是这个电压值……? 谢谢大佬,我再研究看看 |
名字不是重点 发表于 2022-1-3 10:42 会有什么不好的影响吗,如果只是单纯的电压变化倒是可以接受 |
datouyuan 发表于 2022-1-3 10:20 感谢回复,那如果传感器有5V的话,该怎么控制输入的电压呢。 这个该怎么取舍呢 |
你这个低电压检测电路是检测什么的 ? STC自带低压检测寄存器、中断。 |
楼主表述的不清晰。图也不完整,很难理解是什么状态。ME2808的VOUT端是开漏型,其高电平电压是由外接电路确定的。至于VOUT出现短暂低电平无外乎是VOUT外接电路出现短暂低电平或VIN端短暂失压所致。 |
应该就是单片机,低压侦测.hall电平不一致导致,低压侦测建议用OC输出的,上拉用单片机VCC霍尔做下分压了再接入单片机,这样应该是没问题了... |
IO口的电压5V反灌到CPU的电源端了,所以你的电路出现高于3.3V是合乎逻辑的。。 电压检测就是输入高于标称电压时,输出为高,反之则为低,也是正常的。 |
记住这个原则:单片机IO口电压不能大于VCC+0.3V。 当霍尔开关输出5V时,违反了上述原则。低电压检测的输出端是开楼输出,输出4.2V不奇怪。 其它异常估计也是违反上述原则造成的。 |
一夜暴富 发表于 2022-1-4 14:36 你之前描述的奇怪现象和这没关系。 R17和C8、R18和C1,构成了2个阻容延时,用于对旋钮信号消抖。时间常数越大,消抖效果越好,但高速旋转时会丢步。时间常数越小,高速旋转检测更好,但消抖效果差。需要根据实际需求精心选择。 如你电阻10K电容0.1u是最佳效果,那么电阻20K电容0.047u、电阻30K电容0.033u的时间常数是一样的,也是最佳效果。 |