适用于需要反向电压、过压或过流保护的汽车系统

适用于需要反向电压、过压或过流保护的汽车系统

描述

PMP9498 是一套完整的前端保护解决方案,适用于需要反向电压、过压或过流保护的汽车系统。它还实现了负载开关功能,能够以数字方式控制负载与输入电源的连接和断开。该设计可满足汽车应用在关闭期间的低 Iq 要求,并且采用了强大的栅极电流源(典型值 30mA),可驱动大功率 MOSFET,因此适合高电流应用。

特性

快速响应反向电压保护

过压和过流故障保护

关闭期间可实现 90 nA 低 Iq 工作状态

-17V 至 40V 宽泛的最大直流电压范围

30 mA 栅极驱动(典型值)可支持大功率 MOSFET

电路相关文件

电路图文件
原理图.pdf
描述:原理图
源代码
设计文件.rar
描述:设计文件
教程
测试数据.pdf
描述:测试数据
分享到:
收藏 (7)
电子硬件助手小程序 电子硬件助手小程序

电路城电路折扣劵获取途径:

电路城7~10折折扣劵(全场通用):对本电路进行评分获取;

电路城6折折扣劵(限购≤100元电路):申请成为卖家,上传电路,审核成功后获取。

(版权归TI所有)

版权声明:电路城所有电路均源于网友上传或网上搜集,供学习和研究使用,其版权归原作者所有,对可以提供充分证据的侵权信息,本站将在确认后24小时内删除。对本电路进行投诉建议,点击投诉本电路反馈给电路城。

使用说明:直接使用附件资料或需要对资料PCB板进行打样的买家,请先核对资料的完整性,如果出现问题,电路城不承担任何经济损失!

换一批 more>>

大家都在看:

继续阅读

  • Type-c接口的arduino MEGA2560_air

    arduino mega2560开发板 air版本。为学校的比赛特地设计。尺寸缩小,比信用卡还短一点。下载部分改为CH340方案。usb接口改为type-c。数据线插上即可使用。AD格式 pcb和原理图,提供PDF版本原理图。PCB:实物图:文件包括:与以太网模块连接:
    来自:DIY创意产品时间:2019-09-19 diy制作 arduino 开源
  • 树莓派扩展板

    树莓派扩展板,使用stm32f107作为扩展板主控芯片。扩展板和树莓派通信可以通过USB通信和串口TTL通信。扩展板可以单独使用部分功能,树莓派也可以单独使用部分功能。全部功能是需要stm32和树莓派同时连接才能实现。扩展板STM32功能有:16路pwm输出输入;蜂鸣器;RGB LED;RTC时钟;USB通信;USB转TTL通信;12伏供电可以输出5v、3.3v、12V电源;OLED接口;AIP1628数码管驱动,按键功能扩展板树莓派功能:RGB LED;OLED接口;AIP1628数码管驱动;按键;蜂鸣器;风扇;SPI 、IIC扩展接口;40pin扩展接口。
    来自:其他开发板时间:2019-09-12 stm32 开源 raspberry pi 3
  • 机器人模型

    以实物的纯三维图纸Morphex球形变型六足机器人模型3D图纸+Solidworks设计
    来自:机器人时间:2019-09-16 开源
  • 大骆驼瑞芯微RK3288开源硬件主板支持安卓5.1/7.1及ubuntu双系统开发资料内附原理图件/Android源代码/固件

    瑞星微3288处理器是瑞芯微公司2014推出的超强四核处理器,Cortex-A17架构,频率高达1.8GHz,整体性能较上一代RK3188有50%的提升!GPU采用Mali T76X系列GPU,Mali T764核心最大特点是采用第三代Midgard架构,大幅度改变了着色器核心的配置方式;着色器数量高达4个着色器核心,是之前的T654的两倍;2400M/s的像素填充率和300M/s的三角形生成率相对于过去获得了成倍的提升。瑞芯微DLT-RK3288B是业界首款支持4K H.265实时硬件解码的ARM内核芯片,在视频的支持上发挥了其以往的音视频领域的积累优势,真正支持4K视频的输出及播放。百度网盘:https://pan.baidu.com/s/1AlmMVg6E4xohzHs3mmOKyA 提取码:8kac
    来自:其他开发板时间:2019-09-05 硬件主板 瑞芯微rk3288
  • 小米低功耗智能手表项目-基于NRF52832的SX1278完成源码和原理图

    着移动技术的发展,许多传统的电子产品也开始增加移动方面的功能,比如过去只能用来看时间的手表,现今也可以通过智能手机或家庭网络与互联网相连,显示来电信息、微信和天气信息等内容。这种新手表可被称作智能手表。1、 技术:全套开放源码和原理图,适合深度开发,更适合学习研究; 2、 通知中心:与手机通过低功耗蓝牙实时连接,电话、微信不再遗漏,并且可以在手表上轻松查看; 3、 自拍神器:远程控制手机相机,并且可以在手表上查看效果; 4、 超长待机:优秀的电源管理,最长可以待机近一周; 5、 健康助手:运动计步、心律检测等工具让手表成为健康的最好帮手。MCU采用新一代的nRF52832加入了很多新的功能。比如Cortex-M4F的内核,它能够更强大的运算能力以及浮点运算的技术。现在很多的穿戴设备或者工业化设备需要内置非常复杂的算法,所以需要MCU有更快的运行速度。这颗Cortex-M4F的内核运行期64Mhz,比其他厂家的芯片提高了很多。
    来自:可穿戴设备时间:2019-08-28 开源
  • 支持手机APP控制的Arduino机械臂

    在本教程中,我们将学习如何制作一个Arduino机械臂,它可以使用自定构建的Android应用程序进行无线控制和编程。我将向您展示构建它的整个过程,从设计和3D打印机器人部件,连接电子组件和编程Arduino,到开发我们自己的Android应用程序来控制机械臂。 使用应用程序中的滑块,我们可以手动控制机械臂的每个伺服或轴的运动。同样使用“保存”按钮,我们可以记录每个位置或步骤,然后机械臂可以自动运行并重复这些步骤。使用相同的按钮,我们可以暂停自动操作以及重置或删除所有步骤,以便我们可以记录新的步骤。 Arduino Robot Arm 3D模型 首先,我使用Solidworks 3D建模软件设计了机械臂。手臂有5个自由度。 对于前3轴,腰部,肩部和肘部,我使用了MG996R伺服系统,而对于另外2轴,腕部滚动和腕部间距,以及夹具我使用了较小的SG90微型伺服系统。 您可以下载和下面的3D模型。3D打印机械臂 使用我的新3D打印机,Creality CR-10,我3D打印了Arduino机械臂的所有部件。为了完成组装,我们只需使用一些螺栓和支架连接上部和下部框架,然后使用提供的电缆将电子组件与控制箱连接。 在尝试之前,建议检查滚轮是否足够紧,如果没有,可以简单地使用偏心螺母将它们拧紧。就是这样,在调平3D打印床之后,您就可以将3D创作变为现实。 我在几个小时内准备好Arduino Robot Arm的所有部件。组装机械臂 好的,我们准备组装机械臂。我从基座开始,我使用其包装中的螺丝连接了第一台伺服电机。然后在伺服的输出轴上我固定了一个圆角螺栓。在它的顶部,我放置上部并用两个螺丝固定。 这里再次首先进入伺服,然后将圆形喇叭放到下一个部件上,然后使用输出轴上的螺栓将它们固定在一起。 我们在这里可以注意到,在肩轴上最好包括某种弹簧,或者在我的情况下,我使用橡皮筋为伺服提供一些帮助,因为这种伺服也承载了其余部分的整个重量。作为有效载荷。 以类似的方式,我继续组装机械臂的其余部分。至于夹具机构,我使用了大约4毫米的螺栓和螺母来组装它。 最后,我将夹具机构安装到最后一个伺服机构上,完成了Arduino机械臂。Arduino机械臂电路图 下一阶段是连接电子产品。该项目的电路图实际上非常简单。我们只需要一个Arduino板和一个HC-05蓝牙模块与智能手机进行通信。六个伺服电机的控制引脚连接到Arduino板的六个数字引脚。 为了给伺服电机供电,我们需要5V,但这必须来自外部电源,因为Arduino无法处理所有电流都可以吸收的电流量。电源必须能够处理至少2A的电流。因此,一旦我们将所有内容连接在一起,我们就可以继续编写Arduino并制作Android应用程序。Arduino机械臂代码 由于代码有点长,为了更好地理解,我将在每个部分的描述部分发布程序的源代码。在本文的最后,我将发布完整的源代码。 首先,我们需要包含SoftwareSerial库,用于蓝牙模块和伺服库的串行通信。这两个库都包含在Arduino IDE中,因此您无需在外部安装它们。然后我们需要定义六个伺服器,HC-05蓝牙模块和一些用于存储伺服器当前和先前位置的变量,以及用于存储自动模式的位置或步骤的阵列。 #include <SoftwareSerial.h> #include <Servo.h> Servo servo01; Servo servo02; Servo servo03; Servo servo04; Servo servo05; Servo servo06; SoftwareSerial Bluetooth(3, 4); // Arduino(RX, TX) - HC-05 Bluetooth (TX, RX) int servo1Pos, servo2Pos, servo3Pos, servo4Pos, servo5Pos, servo6Pos; // current position int servo1PPos, servo2PPos, servo3PPos, servo4PPos, servo5PPos, servo6PPos; // previous position int servo01SP[50], servo02SP[50], servo03SP[50], servo04SP[50], servo05SP[50], servo06SP[50]; // for storing positions/steps int speedDelay = 20; int index = 0; String dataIn = ""; 在设置部分,我们需要初始化伺服器和蓝牙模块,并将机械臂移动到其初始位置。我们使用write()函数来做到这一点,它只是将伺服器移动到0到180度的任何位置。 void setup() { servo01.attach(5); servo02.attach(6); servo03.attach(7); servo04.attach(8); servo05.attach(9); servo06.attach(10); Bluetooth.begin(38400); // Default baud rate of the Bluetooth module Bluetooth.setTimeout(1); delay(20); // Robot arm initial position servo1PPos = 90; servo01.write(servo1PPos); servo2PPos = 150; servo02.write(servo2PPos); servo3PPos = 35; servo03.write(servo3PPos); servo4PPos = 140; servo04.write(servo4PPos); servo5PPos = 85; servo05.write(servo5PPos); servo6PPos = 80; servo06.write(servo6PPos); } 接下来,在循环部分,使用Bluetooth.available()函数,我们不断检查智能手机是否有任何传入数据。如果为true,则使用readString()函数将数据读取为字符串并将其存储到dataIn变量中。根据到达的数据,我们将告诉机械臂该做什么。 // Check for incoming data if (Bluetooth.available() > 0) { dataIn = Bluetooth.readString(); // Read the data as string Arduino机械臂控制Android应用程序 我们现在来看看Android应用程序,看看它实际发送给Arduino的数据类型。 我使用MIT App Inventor在线应用程序制作了应用程序,以及它的工作原理。在顶部,我们有两个按钮,用于将智能手机连接到HC-05蓝牙模块。然后在左侧我们有一个机械臂的图像,在右侧我们有六个用于控制伺服器的滑块和一个用于速度控制的滑块。 每个滑块都有不同的初始值,最小值和最大值,适合机械臂关节。在应用程序的底部,我们有三个按钮,SAVE,RUN和RESET,通过它我们可以编程机械臂自动运行。下面还有一个标签,显示我们保存的步骤数。然而,有关如何使用MIT App Inventor构建此类应用程序的更多详细信息,您可以查看我的其他详细教程。 好的,现在让我们看看应用程序背后的程序或块。首先,在左侧,我们有用于将智能手机连接到蓝牙模块的模块。 然后我们有用于伺服位置控制的滑块和用于编程机械臂的按钮块。因此,如果我们使用蓝牙功能.SendText更改滑块的位置,我们会向Arduino发送文本。此文本包含一个前缀,指示哪个滑块已更改,以及滑块的当前值。 这是上述MIT App Inventor项目的下载文件,以及准备安装在智能手机上的Android App: 因此,在Arduino中,使用startsWith()函数,我们检查每个传入数据的前缀,因此我们知道接下来要做什么。例如,如果前缀是“s1”,我们知道我们需要移动伺服编号1。使用substring()函数我们得到剩余的文本,或者是位置值,我们将其转换为整数并使用该值将伺服移动到该位置。 // If "Waist" slider has changed value - Move Servo 1 to position if (dataIn.startsWith("s1")) { String dataInS = dataIn.substring(2, dataIn.length()); // Extract only the number. E.g. from "s1120" to "120" servo1Pos = dataInS.toInt(); // Convert the string into integer 在这里我们可以简单地调用write()函数并且伺服将转到该位置,但是以这种方式伺服将以其最大速度运行,这对于机械臂来说太快了。相反,我们需要控制伺服的速度,因此我使用了一些FOR循环,以便通过在每次迭代之间实现延迟时间来逐渐将伺服从前一个位置移动到当前位置。通过更改延迟时间,您可以更改伺服的速度。 // We use for loops so we can control the speed of the servo // If previous position is bigger then current position if (servo1PPos > servo1Pos) { for ( int j = servo1PPos; j >= servo1Pos; j--) { // Run servo down servo01.write(j); delay(20); // defines the speed at which the servo rotates } } // If previous position is smaller then current position if (servo1PPos < servo1Pos) { for ( int j = servo1PPos; j <= servo1Pos; j++) { // Run servo up servo01.write(j); delay(20); } } servo1PPos = servo1Pos; // set current position as previous position } 相同的方法用于驱动机器人臂的每个轴。 在它们下面是SAVE按钮。如果我们按下SAVE按钮,每个伺服电机的位置将存储在一个阵列中。随着每次按压,索引增加,因此阵列逐步填充。 // If button "SAVE" is pressed if (dataIn.startsWith("SAVE")) { servo01SP[index] = servo1PPos; // save position into the array servo02SP[index] = servo2PPos; servo03SP[index] = servo3PPos; servo04SP[index] = servo4PPos; servo05SP[index] = servo5PPos; servo06SP[index] = servo6PPos; index++; // Increase the array index } 然后,如果我们按下RUN按钮,我们调用runservo()自定义函数,该函数运行存储的步骤。我们来看看这个功能。所以这里我们一遍又一遍地运行存储的步骤,直到我们按下RESET按钮。使用FOR循环,我们遍历存储在阵列中的所有位置,同时我们检查是否有来自智能手机的任何传入数据。此数据可以是RUN / PAUSE按钮,用于暂停机器人,如果再次单击则继续自动运动。此外,如果我们改变速度滑块位置,我们将使用该值来改变下面FOR循环中每次迭代之间的延迟时间,这将控制伺服电机的速度。 // Automatic mode custom function - run the saved steps void runservo() { while (dataIn != "RESET") { // Run the steps over and over again until "RESET" button is pressed for (int i = 0; i <= index - 2; i++) { // Run through all steps(index) if (Bluetooth.available() > 0) { // Check for incomding data dataIn = Bluetooth.readString(); if ( dataIn == "PAUSE") { // If button "PAUSE" is pressed while (dataIn != "RUN") { // Wait until "RUN" is pressed again if (Bluetooth.available() > 0) { dataIn = Bluetooth.readString(); if ( dataIn == "RESET") { break; } } } } // If SPEED slider is changed if (dataIn.startsWith("ss")) { String dataInS = dataIn.substring(2, dataIn.length()); speedDelay = dataInS.toInt(); // Change servo speed (delay time) } } // Servo 1 if (servo01SP[i] == servo01SP[i + 1]) { } if (servo01SP[i] > servo01SP[i + 1]) { for ( int j = servo01SP[i]; j >= servo01SP[i + 1]; j--) { servo01.write(j); delay(speedDelay); } } if (servo01SP[i] < servo01SP[i + 1]) { for ( int j = servo01SP[i]; j <= servo01SP[i + 1]; j++) { servo01.write(j); delay(speedDelay); } } 以前面用这些IF语句和FOR循环解释的方式,我们将伺服器移动到下一个位置。最后,如果我们按下RESET按钮,我们将清除阵列中的所有数据为零,并将索引重置为零,这样我们就可以用新的动作重新编程机械臂。 // If button "RESET" is pressed if ( dataIn == "RESET") { memset(servo01SP, 0, sizeof(servo01SP)); // Clear the array data to 0 memset(servo02SP, 0, sizeof(servo02SP)); memset(servo03SP, 0, sizeof(servo03SP)); memset(servo04SP, 0, sizeof(servo04SP)); memset(servo05SP, 0, sizeof(servo05SP)); memset(servo06SP, 0, sizeof(servo06SP)); index = 0; // Index to 0 } 就是这样,现在我们可以享受机械臂带来的乐趣。
    来自:DIY创意产品时间:2019-06-29 diy制作 arduino 开源 蓝牙 app
  • 基于51单片机的RGB三色LED灯点阵(8*8) (原理图+pcb+库文件+源程序+bom表+演示视频)

    题目:基于51单片机的RGB三色LED灯点阵(8*8)要求:1、主控:必须是51单片机 2、RGB三色LED灯: 必须是三色的LED彩灯(即一个灯四个引脚,很重要!!!), 共阴共阳无所谓 3、驱动芯片:驱动三色LED点阵必须用专门的驱动芯片,不用锁存器等,用 TLC5955 (TI 公司生产的) 4、点阵显示:体现出三色LED灯,显示数字等- - ~些简单内容,能体现出灯的颜 色有变化,不是单一的颜色(具体显示内容无要求)。 5、电路要求: 51最小系统、驱动电路、点阵(8*8 的三色LED点阵)、供电电 路(51的供电、驱动芯片的供电、三色LED灯点阵的一个上拉供电) 6、制板要求: PCB制板注:本人上传的所有方案仅供发烧友参考,如若用于商业开发,请联系本人,作进一步的沟通,合作!否则产生的一切后果由购买者自行承担!
  • 基于51单片机扩展实际应用RF905无线模块+音乐播放+广告显示屏+密码锁+计算器+时钟等

    本套开源的多种设计是基于51单片机进行开发的实际中的应用 。详细提供了各部分设计的流程说明和完整源码,给初学了有一定单片机基础的电子爱好者更多的参考和创新,另外基于普中开发板提供了自主设计并测试可行的电路原理图,芯片使用手册等
  • 1.3寸IPS显示屏 240*240分辨率

    1.3寸IPS显示屏 240*240分辨率
  • 基于单片机STM32F103C8T6的爬墙小车设计方案(原理图+源程序+bom表+演示视频)

    基于单片机STM32F103C8T6的爬墙小车设计方案(原理图+源程序+bom表+演示视频)1.项目要求:芯片使用stm32f1使用遥控器无线控制小车实现功能为可平衡在竖直墙面上,并进行移动和转向2.遥控器说明:注:本人上传的所有方案仅供发烧友参考,如若用于商业开发,请联系本人,作进一步的沟通,合作!否则产生的一切后果由购买者自行承担!
销量
82
查看
936
参数名 参数值
发布于 2018 年 11 月 30日
Moore8直播课堂

tracer