資料介紹
描述
盾牌到底是怎么回事?
這個(gè) Arduino 擴(kuò)展板帶有 4 個(gè)高側(cè)開(kāi)關(guān)BTS7002-1EPP (每個(gè)輸出的標(biāo)稱(chēng)電流為 21A)。為了演示繼電器和保險(xiǎn)絲的更換,該屏蔽可用于控制和保護(hù) 12V 電源的輸出、打開(kāi)/關(guān)閉負(fù)載(例如燈泡、加熱電阻器、電機(jī)驅(qū)動(dòng)器)、測(cè)量負(fù)載電流和檢測(cè)空載條件。PROFET? +2 12V 系列針對(duì)大電流汽車(chē)應(yīng)用(例如 ECU 電源、輔助電源插座、加熱器)。
解剖盾牌
引腳定義和功能
Push button digital
: Push button digital (optional).
IN4
: Input PROFET?+2 device U4.
LED1
: Indicator LED 1.
LED2
: Indicator LED 2.
DEN 1+3
: Diagnosis enable PROFET?+2 device U1+U3.
OLOFF
: Option for Open Load in OFF detection.
DEN 2+4
: Diagnosis enable PROFET?+2 device U2+U4.
IN1
: Input PROFET?+2 device U1.
IN2
: Input PROFET?+2 device U2.
IN3
: Input PROFET?+2 device U3.
LED3
: Indicator LED 3.
LED4
: Indicator LED 4.
VIN
: Supply voltage.
Push button analog
: Push button analog (optional).
VBAT
: Measuring of VBAT via voltage divider.
IS 1+2
: Current sense of PROFET?+2 device U1+U2.
IS 3+4
: Current sense of PROFET?+2 device U3+U4.
軟件端
將插入屏蔽板的 Arduino 連接到您的計(jì)算機(jī)后,啟動(dòng) Arduino IDE 并安裝高端開(kāi)關(guān) ino 庫(kù)。為此,請(qǐng)單擊 Sketch,然后將鼠標(biāo)懸停在 Include Library 上,然后單擊 Manage Libraries... 在搜索欄中:鍵入 high side switch ino,然后您將找到安裝庫(kù)的選項(xiàng)。
現(xiàn)在該庫(kù)已正確安裝,您可以選擇探索各種預(yù)先編寫(xiě)的代碼示例。為此:只需單擊文件,然后將鼠標(biāo)懸停在示例和高端開(kāi)關(guān)上,然后選擇您想要的任何示例代碼片段。
該庫(kù)實(shí)質(zhì)上為您省去了手動(dòng)尋址代碼中的每個(gè)引腳和控制屏蔽的麻煩,包括用于通道控制的模擬輸出信號(hào)、用于啟用診斷功能的數(shù)字輸出以及用于使用英飛凌電流感應(yīng)診斷功能的模擬輸入。
設(shè)置代碼
我們首先包含我們的庫(kù),然后使用 hss 命名空間
#include
using namespace hss;
因此,我們用我們想要的任何名稱(chēng)來(lái)實(shí)例化一個(gè)屏蔽對(duì)象(在我們當(dāng)前擁有的代碼片段的情況下:它是 HSS)。此外,我們還實(shí)例化了一個(gè)錯(cuò)誤變量,其中設(shè)置了一個(gè)名為 OK 的定義的值(您將在下面知道原因)。
Bts700xShieldIno HSS = Bts700xShieldIno(&BTS7002);
Error_t err = OK;
進(jìn)入我們的設(shè)置函數(shù):我們所要做的就是初始化我們剛剛使用 init() 函數(shù)實(shí)例化的 HSS 對(duì)象。此函數(shù)返回一個(gè)錯(cuò)誤代碼,我們將與我們最初分配給錯(cuò)誤變量的值(OK 定義)進(jìn)行比較。為確保一切正常,您可以檢查控制器告訴我們初始化是否成功的串行監(jiān)視器。如果您遵循所有這些,您的代碼現(xiàn)在應(yīng)該如下所示:
#include
using namespace hss;
Bts700xShieldIno HSS = Bts700xShieldIno(&BTS7002);
Error_t err = OK;
void setup()
{
Serial.begin(9600);
Serial.println("Serial initialized");
err = HSS.init();
if(OK!=err)
{
Serial.println("Initialization failed!");
}
else
Serial.println("Initialization successful!");
}
可能返回的錯(cuò)誤代碼有:
OK
:
No error
INTF_ERROR
: Interface error
CONF_ERROR
: Configuration error
READ_ERROR
: Read error
WRITE_ERROR
: Write error
NULLPTR_ERROR
: Null pointer error
INVALID_CH_ERROR
: Invalid channel error
UNSUPPORTED_OP_ERROR
: Invalid channel error
INIT_ERROR
: Not initialized
活動(dòng)軟件組件
現(xiàn)在設(shè)置已完全完成,我們可以選擇實(shí)際控制開(kāi)關(guān)通道并檢查通道的診斷。對(duì)于我們的高端開(kāi)關(guān)通道控制,我們有兩個(gè)主要功能,即switchesHxOn(bool out1= false, bool out2= false, bool out3= false, bool out4= false)
和switchesHxOff(bool out1= false, bool out2= false, bool out3= false, bool out4= false)
。
這兩個(gè)函數(shù)采用 4 個(gè)值(0s 或 1s / true 或 false)表示它們的目標(biāo)操作通道。switchHxOff()
您還可以使用或函數(shù)一次打開(kāi)/關(guān)閉單個(gè)通道switchHxOn()
,其中兩者都采用目標(biāo)輸出通道號(hào)。
以下代碼片段將所有屏蔽通道打開(kāi)三秒鐘,然后將它們?cè)俅侮P(guān)閉連續(xù)三秒鐘。
void loop(){
HSS.switchesHxOn(1,1,1,1);
delay(3000);
HSS.switchesHxOff(1,1,1,1);
delay(3000);
}
診斷:
我們用于診斷的庫(kù)的 MVP 函數(shù)是 readDiagx(uint8_t x) 函數(shù)。此函數(shù)返回 DiagStatus_t 類(lèi)型值。它接受一個(gè)從 1 到 4 的數(shù)字,代表輸出通道號(hào)。
返回的診斷狀態(tài)可能是:
DIAG_READ_ERROR:
Read Error
NOT_ENABLED:
Diagnosis not enabled
NORMAL
Switch works correctly
FAULT
: Switch is in fault condition (Is_fault at IS pin), which can mean “Short to GND”, “Overtemperature” or “Overload”
FAULT_OL_IC:
Switch is either in Open Load (whit enable channel) or inverse current is flowing
SHORT_TO_GND_OR_OT:
Short to the ground or Overtemperature detected
SHORT_TO_VSS:
Short to the supply voltage
OPEN_LOAD:
Open load detected
另一個(gè)診斷功能是英飛凌的電流感應(yīng)功能,它使我們能夠找出流過(guò)負(fù)載的電流值。負(fù)責(zé)讀取電流的功能是readIsx()
。該readIsx()
函數(shù)以浮點(diǎn)數(shù)的形式返回電流值,單位為安培。
為了增加交易,該readVss()
函數(shù)讀取 vBAT 引腳上的電壓(檢查上圖)并以浮點(diǎn)形式以伏特為單位返回。
以下代碼片段取自庫(kù)中的 BTS700x-hss-advanced 代碼示例片段。自定義函數(shù) getSwitchParams() 具有三個(gè)內(nèi)置自定義函數(shù),每個(gè)函數(shù)都使用本節(jié)中提到的函數(shù)提供診斷信息:
void getSwitchParams(int switch_no)
{
Serial.println("Reading the current, battery voltage and diagnosis status of switch ...");
/** Read current value */
readCurrent(switch_no);
/** Get diagnosis result */
readDiagnosis(switch_no);
/** Read battery voltage */
readBatteryVoltage();
}
/**
* @brief Read current flowing through the switch
* @param switch_no Switch number
*/
void readCurrent(int switch_no)
{
float readAmps = 0.0;
readAmps = HSS.readIsx(switch_no);
Serial.print("Current flowing through the switch: ");
Serial.print(readAmps);
Serial.println(" A");
return;
}
/**
* @brief Read diagnosis status of the switch
* @param switch_no Switch number
*/
void readDiagnosis(int switch_no)
{
DiagStatus_t switchStatus;
for(int i = 0; i<10; i++){
switchStatus = HSS.readDiagx(switch_no); // Read the diagnosis function more than once to make sure the IS value is correct (internal exponential filter)
}
if(switchStatus == OPEN_LOAD)
{
Serial.println("Openload detected!");
}
if(switchStatus == FAULT)
{
Serial.println("Short circuit to ground detected, Overtemperature or Overload detected!");
}
if(switchStatus == FAULT_OL_IC)
{
Serial.println("Open load with active switch or inverse current detected!");
}
if(switchStatus == SHORT_TO_VSS)
{
Serial.println("Short circuit to Vss detected!");
}
if(switchStatus == NORMAL)
{
Serial.println("Normal operation!");
}
return;
}
/**
* @brief Reads the current battery voltage
*/
void readBatteryVoltage()
{
float batteryVoltage = 0.0;
for(int i = 0; i<10; i++){
batteryVoltage = HSS.readVss(); // Measure more than once to make use of the internal exponential filter
}
Serial.print("Current battery voltage : ");
Serial.print(batteryVoltage);
Serial.println(" V");
return;
}
使用盾牌的按鈕功能
還提供在占位符 S1 處焊接 SMD 按鈕的選項(xiàng)。此外,還需要一個(gè)電阻器 (RS1= 82 kOhm) 和一個(gè)電容器 (CS1 = 100 nF) 來(lái)對(duì)開(kāi)關(guān)進(jìn)行去抖動(dòng)處理。此外,根據(jù)跳線 J2/J3 的設(shè)置,按鈕可用于數(shù)字輸入 D2 (P1.4) 或模擬輸入 A0 (P2.6)。
哪里使用數(shù)字輸入焊接跳線J3,而使用模擬輸入焊接跳線J2
您實(shí)際上可以同時(shí)焊接跳線 J2 和 J3,這將允許您同時(shí)使用analogReadButton()
和digitalReadButton()
功能
下面的代碼片段演示了analogReadButton()和digitalReadbutton()函數(shù)的使用,如果按鈕被按下,Arduino板串行打印“按下”,如果不是,則打印“未按下”:
void loop(){
if (HSS.digitalReadButton()){
Serial.println("digital: pressed");
}
else {
Serial.println("digital: not pressed");
}
if (HSS.analogReadButton()){
Serial.println("analog: pressed");
}
else {
Serial.println("analog: not pressed");
}
delay(1000);
}
LED控制
屏蔽層的 LED 在操作各自的輸出通道號(hào)時(shí)亮起(當(dāng)您使用 HxSwitchesOn/HxSwitchOn 功能時(shí)),但是,如果只是通過(guò)向其引腳發(fā)送 PWM 信號(hào)來(lái)操作開(kāi)關(guān),它們不會(huì)亮起。要手動(dòng)控制 LED:只需將數(shù)字高邏輯信號(hào)發(fā)送到四個(gè) LED 引腳中的任何一個(gè)。
以下代碼片段通過(guò)手動(dòng)操作輸出 3 的開(kāi)關(guān)并同時(shí)打開(kāi) LED 1、2 和 4 來(lái)手動(dòng)演示這一點(diǎn)。
//-------------PIN DEFINITIONS------------------------------
const int IN4 = 3;
const int LED1 = 4;
const int LED2 = 5;
const int DEN1_DEN3 = 6;
const int OLOFF = 7;
const int DEN2_DEN4 = 8;
const int IN1 = 9;
const int IN2 = 10;
const int IN3 = 11;
const int LED3 = 12;
const int LED4 = 13;
const int Button = A0;
const int IS_U1U2 = A2;
const int IS_U3U4 = A3;
//-------------END OF PIN DEFINITIONS------------------------
void setup() {
//------------- PIN MODE SETUP-------------------------------
pinMode(IN1,OUTPUT);
pinMode(IN2,OUTPUT);
pinMode(IN3,OUTPUT);
pinMode(IN4,OUTPUT);
pinMode(Button,INPUT);
pinMode(IS_U1U2,INPUT);
pinMode(IS_U3U4,INPUT);
pinMode(DEN1_DEN3,OUTPUT);
pinMode(DEN2_DEN4,OUTPUT);
pinMode(OLOFF,OUTPUT);
pinMode(LED1,OUTPUT);
pinMode(LED2,OUTPUT);
pinMode(LED3,OUTPUT);
pinMode(LED4,OUTPUT);
//-----------------END OF PIN MODE SETUP--------------------
}
void loop(){
analogWrite(IN3,255);
digitalWrite(LED1,HIGH);
digitalWrite(LED2,HIGH);
digitalWrite(LED4,HIGH);
}
?
- 高邊開(kāi)關(guān)主板評(píng)估模塊
- 使用智能高邊開(kāi)關(guān)優(yōu)化數(shù)字I/O模塊的電源
- NodeMCU32屏蔽開(kāi)源分享
- 一文看懂:BTS5210G 智能高側(cè)電源開(kāi)關(guān)
- 4.5*4.5邊三腳觸控開(kāi)關(guān)原理圖 14次下載
- 6*6邊三腳觸控開(kāi)關(guān)原理圖 15次下載
- BTS 4141D智能高壓側(cè)電源開(kāi)關(guān)產(chǎn)品資料 30次下載
- 基于BTS425L1_Typical ApplicationPower Switch的參考設(shè)計(jì)
- 高精度原邊反饋開(kāi)關(guān)電源芯片SP5719數(shù)據(jù)手冊(cè) 22次下載
- 精密高邊電流讀出放大器
- LTC6104:高壓、高邊、雙向電流檢測(cè)放大器數(shù)據(jù)表
- LTC6115:高壓高邊電流和電壓檢測(cè)
- 如何構(gòu)建高邊電流檢測(cè)的理想選擇
- 大電流驅(qū)動(dòng)芯片bts7960芯片手冊(cè)pdf下載 22次下載
- DK912 12V1A原邊反激式AC-DC開(kāi)關(guān)電源控制芯片方案 107次下載
- 高邊電流采樣與低變電流采樣區(qū)別 1839次閱讀
- 穩(wěn)先微WSD7040AF雙通道高邊智能開(kāi)關(guān)的功能特性 434次閱讀
- 穩(wěn)先微WS7020AF高邊智能開(kāi)關(guān)產(chǎn)品特點(diǎn)和關(guān)鍵功能 463次閱讀
- 低邊開(kāi)關(guān)所需的最小開(kāi)關(guān)電流容量探討 378次閱讀
- H橋中的高邊低邊是什么意思?有什么區(qū)別? 3012次閱讀
- 構(gòu)建超低功耗精密高邊電流檢測(cè)電路,你的選擇是? 1072次閱讀
- 構(gòu)建完整的超低功耗精密高邊電流檢測(cè)電路的理想選擇! 1190次閱讀
- 國(guó)內(nèi)首款單晶技術(shù)的雙通道30mΩ級(jí)別智能高邊開(kāi)關(guān)發(fā)布 1594次閱讀
- MAX14915八通道、工業(yè)、高邊開(kāi)關(guān)CRC編程指南 1277次閱讀
- 如何對(duì)MAX14915/16進(jìn)行編程 - 8通道高邊開(kāi)關(guān) 1889次閱讀
- 運(yùn)算放大器為高邊開(kāi)關(guān)增加了短路保護(hù) 1436次閱讀
- 精確的高邊電流檢測(cè)放大器監(jiān)視PWM負(fù)載電流 2944次閱讀
- 高邊正電流傳感器監(jiān)控負(fù)電源 818次閱讀
- 高邊電流放大器構(gòu)成28V斷路器 1273次閱讀
- 基于LTC2063零漂移放大器的精密高邊電流檢測(cè)電路 2459次閱讀
下載排行
本周
- 1山景DSP芯片AP8248A2數(shù)據(jù)手冊(cè)
- 1.06 MB | 532次下載 | 免費(fèi)
- 2RK3399完整板原理圖(支持平板,盒子VR)
- 3.28 MB | 339次下載 | 免費(fèi)
- 3TC358743XBG評(píng)估板參考手冊(cè)
- 1.36 MB | 330次下載 | 免費(fèi)
- 4DFM軟件使用教程
- 0.84 MB | 295次下載 | 免費(fèi)
- 5元宇宙深度解析—未來(lái)的未來(lái)-風(fēng)口還是泡沫
- 6.40 MB | 227次下載 | 免費(fèi)
- 6迪文DGUS開(kāi)發(fā)指南
- 31.67 MB | 194次下載 | 免費(fèi)
- 7元宇宙底層硬件系列報(bào)告
- 13.42 MB | 182次下載 | 免費(fèi)
- 8FP5207XR-G1中文應(yīng)用手冊(cè)
- 1.09 MB | 178次下載 | 免費(fèi)
本月
- 1OrCAD10.5下載OrCAD10.5中文版軟件
- 0.00 MB | 234315次下載 | 免費(fèi)
- 2555集成電路應(yīng)用800例(新編版)
- 0.00 MB | 33566次下載 | 免費(fèi)
- 3接口電路圖大全
- 未知 | 30323次下載 | 免費(fèi)
- 4開(kāi)關(guān)電源設(shè)計(jì)實(shí)例指南
- 未知 | 21549次下載 | 免費(fèi)
- 5電氣工程師手冊(cè)免費(fèi)下載(新編第二版pdf電子書(shū))
- 0.00 MB | 15349次下載 | 免費(fèi)
- 6數(shù)字電路基礎(chǔ)pdf(下載)
- 未知 | 13750次下載 | 免費(fèi)
- 7電子制作實(shí)例集錦 下載
- 未知 | 8113次下載 | 免費(fèi)
- 8《LED驅(qū)動(dòng)電路設(shè)計(jì)》 溫德?tīng)栔?/a>
- 0.00 MB | 6656次下載 | 免費(fèi)
總榜
- 1matlab軟件下載入口
- 未知 | 935054次下載 | 免費(fèi)
- 2protel99se軟件下載(可英文版轉(zhuǎn)中文版)
- 78.1 MB | 537798次下載 | 免費(fèi)
- 3MATLAB 7.1 下載 (含軟件介紹)
- 未知 | 420027次下載 | 免費(fèi)
- 4OrCAD10.5下載OrCAD10.5中文版軟件
- 0.00 MB | 234315次下載 | 免費(fèi)
- 5Altium DXP2002下載入口
- 未知 | 233046次下載 | 免費(fèi)
- 6電路仿真軟件multisim 10.0免費(fèi)下載
- 340992 | 191187次下載 | 免費(fèi)
- 7十天學(xué)會(huì)AVR單片機(jī)與C語(yǔ)言視頻教程 下載
- 158M | 183279次下載 | 免費(fèi)
- 8proe5.0野火版下載(中文版免費(fèi)下載)
- 未知 | 138040次下載 | 免費(fèi)
評(píng)論
查看更多