当前位置: 首页 > news >正文

记录一次PWM信号异常问题

问题

我使用单片机输出PWM控制机械臂,但是控制过程中,机械臂总是会出现莫名的抽动。利用示波器测试PWM信号,发现信号正常。

过程

(1)在反复的测试过程中,队友提出,将示波器的地线放在左侧的GND波形就很正常,而放在右侧的GND波形会有很严重的干扰。(注意,我将单片机的地线放在了左侧GND,因为单片机需要3.3v供电。而舵机的地线是连接的右侧GND,因为舵机需要5V供电
(2)此时我怀疑是因为焊接存在问题,焊接的粗细不一,所以重新焊接了一次。发现波形正常了。过了十几分钟,机械臂又开始出现故障,以至于险些烧坏舵机。
(3)在我查看了电压转换板的连接之后,突然想到,可能是因为地线与信号线中间存在两个DCDC芯片干扰,导致波形出现异常
(4)询问技术交流群后得知,DCDC芯片是肯定会有噪声干扰的,只是因为DCDC芯片质量不太,产生的噪声影响也不同。而且,方波(PWM)极易收到干扰,所以最终导致PWM输出存在异常。

总结

(1)最后我是将单片机的地线连接到右侧的GND,然后PWM输出就正常了。至于单片机需要3.3V供电,只需要将单片机的VCC连接左侧的3.3V即可,地线是左侧还是右侧不影响(对于单片机而言)
(2)这一次问题,其实就是一次模拟信号与数字信号关于抗干扰的问题。数字信号抗干扰能力强,在他眼里5.3V和4.8V都是一样的,也就是1(TTL电平举例)。但是对于模拟信号不同,5.3V和4.8V是天差地别的。
如果电压在5.3V和4.8V之间波动,数字信号一直都是1,输出结果没有问题。但是对于模拟信号来说,在这么大的电压之间波动,信号已经就异常了。
(3)所以说,为了保证信号的准确性,模拟地和数字地是有存在的意义的。模拟地部分要尽可能的去除干扰部分,而存在一定信号干扰的器件放在数字地。如果连数字信号都能干扰的器件,可以考虑放弃。
http://www.lryc.cn/news/28439.html

相关文章:

  • 简单了解---性能测试
  • 1.机器学习笔记第一周
  • 若依学习(前后端分离版)——启动时发生了啥?(@PostConstruct)(mybatis log free)
  • 每日十问9c++-内存模型和名称空间
  • 【python】JSON数据类型与Python数据类型之间的转化
  • Spring——什么是事务?传播行为?事务隔离级别有哪些?
  • 【项目实战】使用Feign服务间相互调用,其实OpenFeign也没有想象中那么难嘛
  • tun驱动之ioctl
  • [acwing周赛复盘] 第 93 场周赛20230304
  • NOIP2022 T4 比赛
  • 计算机组成原理
  • 1. 命名规范
  • 论文投稿指南——中文核心期刊推荐(新闻事业)
  • 【Linux】工具(4)——make/Makefile
  • 【企业服务器LNMP环境搭建】nginx安装
  • Linux 配置规范 操作系统 _S3A3G3
  • 基于信息间隙决策理论的碳捕集电厂调度(Matlab代码实现)
  • 【C语言进阶:指针的进阶】回调函数
  • C++模板的使用
  • 三天Golang快速入门—面向对象
  • 开发手册——一、编程规约_6.并发处理
  • ACM---大一第三周周赛(Floyd算法+并查集算法学习周)
  • spring整合mybatis和Junit
  • Spring Boot 3.0系列【7】核心特性篇之JSON
  • 【数据结构初阶】二叉树顺序结构:堆的实现
  • C/C++:动态内存管理
  • 黑猫带你学eMMC协议第28篇:eMMC的开漏和推挽模式(push-pull open drain)
  • simulink PID控制
  • 如何在for循环内执行异步操作
  • 性能测试——LoadRunner: Controller的使用