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

电机驱动开发之驱动板

目录

  • 1.主要器件选型
  • 2.原理图设计
  • 3.PCB绘制
    • 电源调理
    • 驱动电路
    • 电流反馈
    • 位置反馈
  • 4.PCB绘制
  • 5.打板验证
  • 6.总结

1.主要器件选型

器件参数封装理由
LDOLM317DCYR (24V-12V 12V-5V)SOT-223小电流应用 LDO比DCDC噪声小响应快更为稳定
预驱FD6288TTssop-20常见无刷电机预驱
NMOSNCE3080kTo-252常见
运放LMV358IDRSoic-8常见

以上器件选型皆为便于焊接利于排查问题的封装,小体积应用可选择QFN封装的器件

2.原理图设计

3.PCB绘制

电源调理

电源架构如下
在这里插入图片描述

  • LM317
    在这里插入图片描述
    以上为LM317 IC典型应用框图,其中Vref = 1.25V,Cadj推荐选择10uf电容,输入输出负载电容分别为Ci 0.1uf、Co 1uf;Vo计算公式为Vo = Vref(1 +R2/R1)+(Iadj R2)。Iadj常规为50uA,若R2为1K,IadjR2 = 50mV,对于输出结果影响不是很大可忽略不计;则计算公式可简化为Vo = Vref(1 +R2/R1);
    在实际设计中往往一致Vin、Vo,固定R1为240R则只需要确定R2得值即可获得期望输出电压:
    R2 = ((Vo - Vref)*R1)/Vref

原理图设计如下:
在这里插入图片描述

  • 防反接电路
    在这里插入图片描述
    其工作原理为,当外部24V输入时,PMOS管体二极管导通,进而使得原本没有电压的24V_Inside出现24V电平。此时,Vs > Vg,则满足PMOS导通条件,MOS管正常开启;当电源反接时,PMOS管体二极管截止,则无法满足PMOS管导通条件实现防反接功能。

驱动电路

驱动电路由三相逆变电路与预驱芯片组成可用于驱动无刷电机,三相逆变电路如果只使用其中的两相即可转变为双极性H桥驱动电路即可驱动有刷电机
以下为原理图设计:
在这里插入图片描述
其中,中间部分电路为电荷泵自举电路,驱动方案为全NMOS驱动,因为市面上常见的NMOS同等价位下比PMOS能够通过更大的电流,R16、R17、R18为采样电阻。

  • 迪克森电荷泵工作原理:
    电荷泵是如何升压的?原理非常简单,一看就会!
  • 自举电路的作用
    由于采用的驱动方案为全NMOS驱动方案,NMOS导通条件需要G极电压高于S极电压;
    以Q2为例,初始上电后,G极5V电平,NMOS正常导通,但导通以后S极电压变为24V,则NMOS瞬间关闭,而我们期望是希望NMOS能够保持导通状态,则需要一种方法将G极电压抬升至24V以上,这样才能维持NMOS的导通条件;
    有了电荷泵自举电路后,初始上电,5V电源将会给C24充电至5V,当NMOS第一次导通时,24V电源与电容上的5V出现串联关系因此电容上电压叠至29V,这个电压将会输入至预驱用为维持G极输出电压为29V,尽管实际上的过程并未一个PWM周期就完成,最终G极电压能够维持至29V以保持NMOS上管导通。
    自举电路
    自举电路原理

电流反馈

电流反馈采用差分放大电路,初版没有采集反向电流的需求,因此不设置电压跟随器设置放大电路的偏置电压。
原理图设计如下
在这里插入图片描述

根据虚短虚断原理:
(虚短) U+ = U- =Up*R21/(R21+R19)
(虚断) (U- - Un )/R20 = (Uo1 - U- )/R22
Uo1 = (R21/(R21+R19)) ((R22+R20)/R20)Up - (R22/R20)Un
在实际应用中,往往会设置R21 = R22 ,R19 = R20,所以
Uo1 =(R22/R20)
(Up - Un)
其中Uo1为运放输出端电压未经过限流电阻,实际设计中限流电阻与R22差值较大分压可忽略
故放大倍数为A = Uo1/(Up - Un)= R22/R20 =10倍

当采样电阻上出现1A的电流时,则会产生1A*10mR = 10mV
经过放大后可得100mV,即0.1V
由于ADC的残阳范围为0-3.3V则最大采样电流可达3.3V/0.1V = 33,即33A

具体原理可参考以下链接: 运算放大器(三):差分放大

位置反馈

电机内置正交编码器,这类编码器在实际项目中应用较多,价格低廉,无通讯延迟。

4.PCB绘制

在这里插入图片描述
在这里插入图片描述

5.打板验证

6.总结

本文为博主个人学习总结记录,如有不正,欢迎指正

相关文章:

电机驱动开发之驱动板

目录 1.主要器件选型2.原理图设计3.PCB绘制电源调理驱动电路电流反馈位置反馈 4.PCB绘制5.打板验证6.总结 1.主要器件选型 器件参数封装理由LDOLM317DCYR (24V-12V 12V-5V)SOT-223小电流应用 LDO比DCDC噪声小响应快更为稳定预驱FD6288TTssop-20常见无刷…...

STM32F1 HAL库笔记2_HAL 系统驱动程序

1、HAL 固件驱动程序 API 1.1、如何使用此驱动程序 通用 HAL 驱动程序包含一组通用的 API,PPP 外设驱动程序可以使用这些 API 来开始使用 HAL。HAL 包含两个 API 类别: • 常见的 HAL API • 服务 HAL API 1.2、初始化和去初始化函数 本节提供的功能&a…...

el-table实现当内容过多时,el-table显示滚动条,页面不显示滚动条

估计有不少小伙伴在开发公司的ERP使用el-table都会遇到这么一个问题,就是产品经理提出,页面不出现滚动条,因为不美观。但是当el-table内容过多,超过页面的宽度时候,页面就会有滚动条。那应该如何解决呢?能不能让滚动条…...

Java面试篇基础部分-Java中的异常以及异常处理

导语   在实际的开发过程中,往往会遇到各种各样的编程异常,如何处理这些异常,直接会影响到整个程序和系统的稳定性,如果不能在合适的地方抛出合适的异常或者是对异常进行捕获。那么就会影响到整个程序的运行。所以如何处理异常,是作为每个开发者来说必不可少的开发技能。…...

win11 MySQL的坑

最近升级了系统,导致以前的安装的两个版本MySQL服务无法启动,只能在mysql的bin目录,执行mysqld --console才能启动,mysqld都无法启动, 所幸进行了数据库初始化,这次在MySQL的bin目录执行 mysqld或者mysqld …...

stm32单片机个人学习笔记1(简单介绍)

前言 本篇文章属于stm32单片机(以下简称单片机)的学习笔记,来源于B站教学视频。下面是这位up主的视频链接。本文为个人学习笔记,只能做参考,细节方面建议观看视频,肯定受益匪浅。 STM32入门教程-2023版 细…...

python中@staticmethod、@classmethod用法

1、类的基础介绍 类对象:定义的类就是类对象 类属性:定义在__init__ 外部的变量 类方法:定义在类中,且被classmethod 装饰的方法 实例对象:类对象实例化后就是实例对象 实例属性:定义在__init__内部带…...

Harmony Next 文件命令操作(发送、读取、媒体文件查询)

查询文件位置 hdc shell mediatool query IMG_20240902_204224.jpg 输出示例 拉取文件 hdc file recv /storage/cloud/100/files/Photo/4/IMG_1725281044_036.jpg aa.jpg 发送文件 hdc file send aa.jpg /storage/media/100/local/files/Docs/Download/ab.jpg 下载目录位置…...

Go语言中的链表与双向链表实现

链表基础 链表是一种由有限元素组成的数据结构,其中每个元素至少使用两个内存空间:一个存储实际数据,另一个存储指向下一个元素的指针,从而形成一个元素序列构成链表。链表的第一个元素称为头结点,而最后一个元素通常…...

开始一个WPF项目时的记忆重载入

目前在工业软件的UI开发方案选择中,WPF仍然是一个重要的选项。 但是其固有的复杂性,对于像我这样,并不是一直在从事界面开发的人来说,每次重启,都需要一两天的适应的时间。所以这里稍微写一个笔记。 还是老办法&…...

用go语言实现树和哈希表算法

算法复杂度 判断一个算法的效率通常基于其计算复杂度,这主要与算法访问输入数据的次数有关。计算机科学中常用大O表示法来描述算法的复杂度。例如,O(n)的算法只需访问一次输入数据,因此优于O(n)的算法,后者则优于O(n)的算法&…...

基于SpringBoot+Vue+MySQL的校园健康驿站管理系统

系统展示 用户前台界面 管理员后台界面 系统背景 本文设计并实现了一个基于SpringBoot后端、Vue前端与MySQL数据库的校园健康驿站管理系统。该系统旨在通过数字化手段,全面管理学生的健康信息,包括体温监测、疫苗接种记录、健康状况申报等,为…...

深入理解MATLAB中的事件处理机制

在MATLAB中,事件处理机制是一种强大的工具,它允许对象之间的交互和通信。这种机制基于观察者设计模式,其中一个对象(观察者)监听另一个对象(发布者)的状态变化。当发布者的状态发生变化时&#…...

线程--线程同步

这里写目录标题 同步概念线程同步概念数据混乱原因 互斥量原理锁的注意事项1、cpu时间轮片2、建议锁总结 使用锁来管理线程同步问题产生主要函数init、destorylock、unlock代码注意事项(锁的粒度) try锁死锁出现原因图解 读写锁特性图解函数总览init、de…...

【QT】Qt窗口

欢迎来到Cefler的博客😁 🕌博客主页:折纸花满衣 🏠个人专栏:QT 目录 👉🏻菜单栏设置👉🏻QToolBar练习 👉🏻QStausBar👉🏻Q…...

场外个股期权怎么给股票加杠杆?

今天期权懂带你了解场外个股期权怎么给股票加杠杆?场外期权交易通过向证券公司支付一定额度的股票期权费,然后买入大额的股票持仓,从而实现的杠杆交易。 买入看涨期权 操作:支付权利金购买看涨期权。 杠杆作用: 期…...

【Docker部署ELK】(7.15)

1、拉取镜像 docker pull docker.elastic.co/elasticsearch/elasticsearch:7.15.0 docker pull docker.elastic.co/kibana/kibana:7.15.0 docker pull docker.elastic.co/logstash/logstash:7.15.02、配置文件(解压资源到D盘DOCKER目录下) 2.1 配置文件…...

UE4_后期处理_后期处理材质及后期处理体积一

后期处理效果 在渲染之前应用于整个渲染场景的效果。 后期处理效果(Post-processing effect)使美术师和设计师能够对影响颜色、色调映射、光照的属性和功能进行组合选择,从而定义场景的整体外观。要访问这些功能,可以将一种称为…...

【PyQt6 应用程序】基于QtDesigner做一个用户登录页面

在当今的软件开发领域,用户界面(UI)设计和后端编程是创建现代、互动应用程序的两大重要组成部分。尤其是在开发具有用户登录功能的应用程序时,不仅要注重外观和用户体验的设计,还要确保后端逻辑的安全性和可靠性。 本文将介绍如何使用PyQt6框架结合UI设计,实现一个简单而…...

Ollama—87.4k star 的开源大模型服务框架!!

这一年来,AI 发展的越来越快,大模型使用的门槛也越来越低,每个人都可以在自己的本地运行大模型。今天再给大家介绍一个最厉害的开源大模型服务框架——ollama。 项目介绍 Ollama 是一个开源的大语言模型(LLM)服务工具…...

XML Group端口详解

在XML数据映射过程中,经常需要对数据进行分组聚合操作。例如,当处理包含多个物料明细的XML文件时,可能需要将相同物料号的明细归为一组,或对相同物料号的数量进行求和计算。传统实现方式通常需要编写脚本代码,增加了开…...

vscode里如何用git

打开vs终端执行如下: 1 初始化 Git 仓库(如果尚未初始化) git init 2 添加文件到 Git 仓库 git add . 3 使用 git commit 命令来提交你的更改。确保在提交时加上一个有用的消息。 git commit -m "备注信息" 4 …...

Java 语言特性(面试系列1)

一、面向对象编程 1. 封装(Encapsulation) 定义:将数据(属性)和操作数据的方法绑定在一起,通过访问控制符(private、protected、public)隐藏内部实现细节。示例: public …...

Psychopy音频的使用

Psychopy音频的使用 本文主要解决以下问题: 指定音频引擎与设备;播放音频文件 本文所使用的环境: Python3.10 numpy2.2.6 psychopy2025.1.1 psychtoolbox3.0.19.14 一、音频配置 Psychopy文档链接为Sound - for audio playback — Psy…...

vue3 定时器-定义全局方法 vue+ts

1.创建ts文件 路径&#xff1a;src/utils/timer.ts 完整代码&#xff1a; import { onUnmounted } from vuetype TimerCallback (...args: any[]) > voidexport function useGlobalTimer() {const timers: Map<number, NodeJS.Timeout> new Map()// 创建定时器con…...

令牌桶 滑动窗口->限流 分布式信号量->限并发的原理 lua脚本分析介绍

文章目录 前言限流限制并发的实际理解限流令牌桶代码实现结果分析令牌桶lua的模拟实现原理总结&#xff1a; 滑动窗口代码实现结果分析lua脚本原理解析 限并发分布式信号量代码实现结果分析lua脚本实现原理 双注解去实现限流 并发结果分析&#xff1a; 实际业务去理解体会统一注…...

04-初识css

一、css样式引入 1.1.内部样式 <div style"width: 100px;"></div>1.2.外部样式 1.2.1.外部样式1 <style>.aa {width: 100px;} </style> <div class"aa"></div>1.2.2.外部样式2 <!-- rel内表面引入的是style样…...

NLP学习路线图(二十三):长短期记忆网络(LSTM)

在自然语言处理(NLP)领域,我们时刻面临着处理序列数据的核心挑战。无论是理解句子的结构、分析文本的情感,还是实现语言的翻译,都需要模型能够捕捉词语之间依时序产生的复杂依赖关系。传统的神经网络结构在处理这种序列依赖时显得力不从心,而循环神经网络(RNN) 曾被视为…...

Caliper 配置文件解析:config.yaml

Caliper 是一个区块链性能基准测试工具,用于评估不同区块链平台的性能。下面我将详细解释你提供的 fisco-bcos.json 文件结构,并说明它与 config.yaml 文件的关系。 fisco-bcos.json 文件解析 这个文件是针对 FISCO-BCOS 区块链网络的 Caliper 配置文件,主要包含以下几个部…...

人工智能(大型语言模型 LLMs)对不同学科的影响以及由此产生的新学习方式

今天是关于AI如何在教学中增强学生的学习体验&#xff0c;我把重要信息标红了。人文学科的价值被低估了 ⬇️ 转型与必要性 人工智能正在深刻地改变教育&#xff0c;这并非炒作&#xff0c;而是已经发生的巨大变革。教育机构和教育者不能忽视它&#xff0c;试图简单地禁止学生使…...