纪客老白【每日答疑】关于上拉电阻,在硬件中可以可以节省掉吗?会有什么后果!

纪客老白
学生提问:关于上拉电阻的问题,有一个比较朦胧不太确定的疑问:STM32单片机的IO口,可以在程序中设置为输出上拉或者输出下拉模式,而我在设计IO硬件电路的时候,一般会加一个上拉电阻,程序中也会把IO口设置为输出上拉模式,那么我想问的是,是不是在硬件上,这个上拉电阻可以节省掉啊?这样就节省了一个电阻的价格。如果我节省掉这个上拉电阻,会带来啥样的后果呢?
白老师答:(1)首先我们鼓励同学这样的思考,很多人有疑问但是好像别人从来没有这么做过,或者说前辈也没告诉我,这个时候我就不敢去尝试,不是这样的,大牛的成长之路都是这样一边学习一边质疑一边勇敢的去验证自己的假想。
(2)然后针对于我们这位同学的问题,我可以确切的高速大家,程序中也会把IO口设置为输出上拉模式,硬件上确实是可以省掉这个上拉电阻的。
(3)但是一般我们单片机内部的上拉都是弱上拉即上拉电阻比较大,其驱动动力较弱,所以外边的上拉电阻能不能省则主要取决于具体的应用。
(4)比如说如果我们是按键输入,则没有任何问题,因为我们的按键是不存在驱动能力的问题,所以可以直接省掉,然后内部配置成上拉电阻。
(5)针对于MCU等上下拉电阻的阻值选择原则。
A.从功耗以及灌电流角度考虑,我们希望其功耗小,灌电流小,所以从这角度而言我们应该选择大电阻,因为电阻大则电流小。
B.从驱动能力而言我们希望其电阻小,因为电阻小则电流大则驱动能力强。
C.对于高速电路,我们希望其上拉电阻不要太大,因为会使得边沿信号变缓。
综合考虑以上三点,一般上下拉电阻都是在通常在1k到10k之间!

参考资源链接:[STM32-F1直流电机电流PID控制源代码详解](https://wenku.csdn.net/doc/6y390f5qbk?utm_source=wenku_answer2doc_content) 实现STM32-F1微控制器上的直流电机电流PID单闭环控制是一个综合性的工程任务,涉及到硬件配置、算法实现以及系统调试等多个方面。首先,你需要熟悉STM32-F1的硬件特性,特别是定时器的PWM输出配置、ADC的电流采样等外设功能。随后,使用HAL库函数来初始化这些外设,并且编写相应的断服务程序以获取电流反馈值。 在编程方面,首先需要理解位置式PID算法的工作原理。它是一种根据设定值与反馈值之间的差值(误差)来计算控制输出的算法。在C语言,你需要定义PID控制器的结构体,包括比例、积分、微分三个参数以及一些间变量和极限值。具体的代码实现步骤包括: 1. 初始化PID控制器的参数,包括比例系数P、积分系数I、微分系数D以及采样时间间隔。 2. 在主循环或定时器断服务函数,读取电机的实时电流值(通常是通过ADC采样获得)。 3. 计算设定值与实际电流值之间的误差。 4. 应用位置式PID算法,计算输出值,这里即PWM占空比的调整值。 5. 通过设置PWM占空比来调节电机电流,以达到期望的电机转速或转矩。 在调试过程,应当注意以下要点: - 确保ADC采样精度,避免由于采样噪声引起的控制不稳定。 - 合理初始化PID参数,避免积分饱和和过冲现象。 - 在实际调试时,可以先开启积分环节,观察系统响应,然后逐渐加入微分环节,最终调节比例系数至系统稳定。 - 考虑到系统动态特性,实时调整PID参数以适应不同的工作条件。 为了更好地掌握上述内容,可以参考《STM32-F1直流电机电流PID控制源代码详解》这份资源。该资源不仅提供了代码实现的具体示例,还详细解释了代码的工作原理和调试步骤,使得读者能够深入理解整个控制流程。通过学习这份资料,你将能够掌握如何在STM32-F1微控制器上实现直流电机的电流PID单闭环控制,进一步提升你的嵌入式系统开发能力。 参考资源链接:[STM32-F1直流电机电流PID控制源代码详解](https://wenku.csdn.net/doc/6y390f5qbk?utm_source=wenku_answer2doc_content)
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值