陶瓷電容是一類以陶瓷材料為介質制作而成的電容器。在電子電路中,電容器的主要作用是儲存電荷,并在需要時釋放,以維持電路的穩定運行。
2024-03-19 11:34:47317 。
5、可靠性好:厚膜電阻器性能穩定,正常使用下功能不易改變,可靠性高于薄膜電阻器。
基于以上優點,厚膜電阻適用于要求輸出功率大、電阻范圍寬、耐高溫、高濕、耐熱的領域,如汽車電子、工業、軍工、航空等。
2024-03-15 07:17:56
一、碳膜系列
由碳膜電阻系列材料制成的電阻一般稱為碳膜電阻,主要是由有機材料分解的膜電阻。遮蓋1Q一lOMQ的阻值范疇,價格低、生產制造非常容易,作為通用性電阻而熱銷(流通量數最多)。反過來,因為
2024-03-13 06:56:09
要區分電阻是薄膜還是厚膜,可以從以下幾個方面進行判斷:
外觀:觀察電阻的外觀,如果看到電阻表面有一層薄膜涂層,則可能為薄膜電阻;如果電阻表面較為粗糙,沒有明顯的涂層,則可能為厚膜電阻。
尺寸:薄膜
2024-03-07 07:49:07
OVP過壓保護芯片:為何電子工程師需要它?功能、作用全解析
2024-03-06 10:27:18279 繼電器模組的作用和優缺點? 繼電器模組是一種常用的電子元件,用于控制高功率電路的開關。它在電子電路中承擔著重要的作用,具有許多優點和一些缺點。 一、繼電器模組的作用: 1. 電路的開關:繼電器模組
2024-03-05 17:06:55254 濾波器在電子領域中起著至關重要的作用,它可以用來選擇特定頻率范圍內的信號,抑制其他頻率的干擾信號。
2024-03-04 12:36:41222 耦合電容(Coupling Capacitors)在電子電路中起到連接不同電路階段的作用。它們被用來傳輸信號,將一個電路的輸出連接到下一個電路的輸入,同時阻隔直流信號。在音頻放大器、射頻放大器和其他
2024-03-01 15:46:12181 三極管作為一種重要的半導體器件,在電子電路中起著至關重要的作用。
2024-02-26 18:26:27742 濾波器在電子領域中起著至關重要的作用,它可以用來選擇特定頻率范圍內的信號,抑制其他頻率的干擾信號。一個濾波器的頻率范圍取決于多個因素,下面小編將為您分析。
2024-02-26 10:22:01139 隨著全球能源結構的轉變和可再生能源的普及,電力電子技術在現代社會中的作用日益凸顯。作為電力電子技術的關鍵元件,功率器件的性能直接影響著能源轉換和使用的效率。近年來,碳化硅(SiC)功率器件因其優異
2024-02-25 10:37:01165 三極管是一種控制電流的半導體器件,并且在在電子電路中起著至關重要的作用。
2024-02-23 18:13:52723 穩壓管(Voltage Regulator),也稱為穩壓二極管、穩壓二極管、穩壓二極管、硅穩壓二極管等,是一種能夠穩定輸出電壓的電子元件。 穩壓管起穩壓作用是利用它的電流-電壓特性。下面是一個深入
2024-02-22 10:09:15197 二極管是一種最簡單的電子器件,它具有許多重要的作用和廣泛的用途。本文將詳細介紹二極管的工作原理、主要功能以及常見的應用領域。 一、二極管的工作原理 PN結 二極管由P型半導體和N型半導體構成的PN
2024-02-14 15:10:00513 電子鎮流器熱保護器:優勢和適用性分析? 電子鎮流器熱保護器是一種應用于電子鎮流器的熱保護裝置,其作用是在電子鎮流器過熱時自動斷開電路,以保護電子鎮流器免受損壞。本文將從優勢和適用性兩個方面對電子
2024-02-01 17:25:19154 X電容和Y電容作用 安規電容X與Y的區別? X電容和Y電容都屬于安規電容,它們在電子產品中起著重要的作用。雖然它們都是電容器,但是它們具有一些區別。本文將詳細討論X電容和Y電容的作用、區別以及它們
2024-01-31 15:45:51461 電子煙一般由主控芯片、電池、按鍵、 LED呼吸燈、氣流傳感、 霧化器組成。升壓芯片FP6277作為電子煙的核心組件之一,主要作用是將輸入的電壓升高至合適的工作電壓,霍爾傳感器MH251控制電子煙的使用狀態,以確保電子煙的正常工作。
2024-01-31 11:43:37409 扼流圈是一種電感器,通常由線圈纏繞在磁芯上構成。它在電子設備和電路中起著重要的作用,能夠阻止高頻交流電流的通過,同時允許低頻率的交變電流和直流電流通過。
2024-01-30 10:35:12611 YYD液位變送控制器是集液位測量,顯示,輸出、控制于一體的智能數顯液位測控產品。該產品為全電子結構,前端采用磁滯伸縮傳感器。電子倉發出一個脈沖波沿測桿方向傳播,遇到浮球的磁性材料脈沖波
2024-01-24 09:21:53
由于石墨烯缺乏本征帶隙,半導體石墨烯在石墨烯納米電子學中起著重要作用。在過去的二十年中,通過量子限域或化學官能團化來改變帶隙的嘗試未能生產出可行的半導體石墨烯。
2024-01-05 10:41:32271 隨著電子工業的迅速發展,大型電子制造領域對高效、可靠的電力傳輸需求日益增加。滑環技術,作為電力傳輸領域的先鋒,正在大型電子制造中發揮著不可替代的作用。本文將深入探討滑環技術在大型電子制造領域的創新應用,揭示其如何助力提升生產效率、實現智能制造,并為未來工業的發展開辟新的可能性。
2024-01-03 15:09:32170 抗干擾磁環的原理與作用是什么呢? 抗干擾磁環是一種應用于電子設備中的磁性材料,它的作用是抑制或屏蔽電子設備中的干擾信號,確保設備的正常工作和性能穩定。本文將詳細介紹抗干擾磁環的原理、作用及其
2023-12-21 16:34:28986 如下圖,當H+接一個1歐姆發熱絲短路時,我程序能識別到短路也能關斷MOS管,但是芯片會低電復位,有沒有什么解決方法嗎?有做過電子煙的這塊的大佬能不能指點一下啊! (pcb已經量產,小白在實習,拿著它學習程序)
2023-12-20 08:58:17
電子元器件是電子電路的基本組成部分,其作用是控制、調節和處理電流和電壓信號。在現代電子技術中,有許多常用的電子元器件,每種元器件都有其獨特的功能和應用場合。本文將介紹常用的電子元器件及其在電路
2023-12-15 11:10:10798 金屬氧化膜電阻器是一種廣泛應用于電子電路中的電阻元件,它的主要作用是限制電流的流動。
2023-12-14 13:42:40523 穩壓器的作用與功效是什么 穩壓器是一種電子設備,用于將輸入電壓經過調節后輸出穩定的電壓。它將不穩定的電源電壓轉換為穩定的電壓輸出,確保電子設備正常工作。穩壓器的作用與功效十分重要,下面將詳細解釋
2023-12-12 14:04:101125 整流二極管是一種常見的半導體器件,它的主要作用是將交流電信號轉換為直流電信號。當交流電信號通過整流二極管時,它只允許一個方向的電流通過,從而實現了電流的單向導通。這種性質使得整流二極管在電子電路中具有以下幾種主要作用。
2023-12-08 09:16:12469 不過根據記者的采訪,相關企業認為市場依然大有可為。華潤微表示,看好碳化硅未來市場需求。碳化硅在電動車輛和混合動力汽車的功率電子系統中起著關鍵作用,可以在更高的電壓和溫度下工作,而且效率更高,散熱更好。
2023-12-04 10:26:48310 -產品詳情-PMT-C薄膜、復合膜穿刺力測試儀產品簡介PMT-C穿刺力測試儀是醫藥包裝系列專業用于膠塞穿刺力檢測的儀器。亦可進行薄膜、復合膜、人造皮膚、組合蓋、口服液蓋的穿刺力測試。參數設置滿足國標
2023-11-28 16:00:58
熱縮管在線纜保護中的作用 熱縮管是一種常用的電纜保護材料,廣泛應用于電力輸配電、汽車制造、通信設備、電子設備等行業中,其主要作用是對電纜進行絕緣和防護,保障電纜的安全運行和延長使用壽命。在熱縮管在線
2023-11-28 14:18:37397 中圖儀器CP系列臺階膜厚儀是一種常用的膜厚測量儀器,它是利用光學干涉原理,通過測量膜層表面的臺階高度來計算出膜層的厚度,具有測量精度高、測量速度快、適用范圍廣等優點。它可以測量各種材料的膜層厚度
2023-11-28 11:31:52
半導體分立器件是電子元器件中的重要組成部分,它們在電子設備中發揮著重要的作用。本文將介紹半導體分立器件的基本概念、分類、應用和發展趨勢。
2023-11-23 10:12:56792 。 第一部分:介紹地的概念和作用 地(通常以GND或地接線表示)是電子設備中的一個重要概念。在電子電路中,地有兩個基本作用:作為電路的基準點和參考點,以及信號的回歸路徑。地的正確連接和使用對電子設備的性能和工作穩定性至關重要。
2023-11-17 12:30:58671 高壓衰減棒是一種用于電子產品中的重要元件。它的作用是對電流進行精確的轉換和調控,以保證電子設備的正常運行。高壓衰減棒在各種領域都得到了廣泛的應用,如家電、通信設備、醫療儀器等。本文將詳細介紹高壓衰減棒的工作原理、分類、應用領域和未來的發展趨勢。
2023-11-14 13:34:38237 (或二種不相混合的界面)下2-3mm,然后再慢慢將鉑金環向上提,環與液面會形成一個膜。膜對鉑金環會有一個向下拉的力,測量整個鉑金環上提過程中膜對環的所作用的最大力值
2023-11-10 16:41:59
直流電源在電子設備中發揮著核心作用,為各種電路提供穩定且符合要求的電源。
2023-11-08 10:24:16423 電阻作為電子電路最基本的元器件,被應用在各個電子電路中。 那為什么電阻可以應用在電子電路的各個地方呢?它的作用到底有哪些?本篇文章將會做一個精講。 根據官方對于電阻的百科是——導體對電流的阻礙作用
2023-11-07 14:54:19509 電阻作為電子電路最基本的元器件,被應用在各個電子電路中。 那為什么電阻可以應用在電子電路的各個地方呢?它的作用到底有哪些?本篇文章將會做一個精講。 根據官方對于電阻的百科是——導體對電流的阻礙作用
2023-11-06 11:43:09477 電子元器件中的散熱器:作用與重要性
在電子元器件的世界里,散熱器扮演著至關重要的角色。作為一種專門用于散發電子元件產生的熱量的裝置,散熱器對于維護電子設備的穩定性和可靠性具有不可替代的作用。本文將詳細介紹散熱器在電子元器件中的定義、分類、作用以及應用,并探討其設計原則和維護方法。
2023-11-01 09:20:06513 電子煙是一種新型煙草制品,由于其健康、環保和口感多樣化的特點,逐漸受到了消費者的青睞。升壓芯片作為電子煙的核心組件之一,主要作用是將輸入的電壓升高至合適的工作電壓,霍爾傳感器控制電子煙的使用狀態
2023-11-01 08:07:24415 電子煙是一種新型煙草制品,由于其健康、環保和口感多樣化的特點,逐漸受到了消費者的青睞。升壓芯片作為電子煙的核心組件之一,主要作用是將輸入的電壓升高至合適的工作電壓,霍爾傳感器控制電子煙的使用狀態,以確保電子煙的正常工作。本文將詳細介紹升壓芯片、霍爾在電子煙中的應用。
2023-10-30 13:48:16258 在食品包裝領域,復合膜因其優良的阻隔性能、機械強度和熱封性能而被廣泛應用。然而,為了確保食品的安全性和保質期,復合膜的熱封性能必須得到嚴格控制。復合膜熱封試驗儀正是在這種情況下發揮作用的設備,用于
2023-10-24 16:40:47
在制造業、材料科學和科研領域,對薄膜厚度的精確測量至關重要。機械接觸式膜厚測量儀作為一種高效、精確的測量工具,在各種應用中都發揮著重要作用。本文將詳細介紹機械接觸式膜厚測量儀的工作原理、特點和用途
2023-10-24 16:31:45
電子元件構成電子信息時代的基礎,而集成電路(IC)的崛起在許多現代電子設備中發揮著關鍵作用,使它們更小、更高效、更功能強大。無論如何,電子元件和集成電路都是電子工程師工具箱中不可或缺的元素,為現代科技的創新和發展提供了堅實的基礎。
2023-10-24 15:09:09872 運放的偏置電流是運放自己產生嗎?怎么給運放提供偏置電流? 運放是一種重要的電子器件,在電子電路中發揮著重要的作用,用于放大信號、比較信號、求和、求差等。一般而言,運放的工作需要一些偏置電流來保證正常
2023-10-23 10:23:55692 塑料薄膜復合膜在包裝、農業、建筑等領域被廣泛應用,其拉伸性能對于產品的質量和安全性具有重要影響。為了準確地檢測塑料薄膜復合膜的拉伸性能,電子拉力試驗機成為了不可或缺的測試設備。塑料薄膜復合膜電子拉力
2023-10-18 16:24:12
光耦合器也稱為光隔離器,通過在輸入和輸出電路之間提供電氣隔離,在電子電路中發揮著關鍵作用。業界常用的兩種光耦合器6N136和6N137。本文深入研究了這些組件的技術方面,重點介紹了它們的主要差異和應用。
2023-10-17 09:57:12964 穩流補償器工作原理 穩流補償器的作用? 穩流補償器是一種用于調整電網中電流質量的裝置,被廣泛應用于移動通信、電子制造、醫療設備等行業,其作用是通過提供波形改善、電源系統穩定、電磁兼容性改善等,以確保
2023-10-13 17:39:45528 電子元器件是電子和電氣系統的基礎,它們起到關鍵的作用,確保電子設備和系統的正常運行和高效性能。以下是電子元器件的五大特點:
2023-09-26 09:17:12763 集成電路(IC)電源芯片在現代電子設備中起到至關重要的作用。它們負責管理和分配電能,以滿足不同組件和子系統的需求。電源芯片有多種不同的類別,每一種都有其特定的應用場景和優點。本文將對常見的幾種集成電路電源芯片進行詳細的介紹。
2023-09-25 09:08:56879 復合膜層間剝離試驗機 復合膜剝離力測試儀是一款專業用于測試復合膜、薄膜等相關材料剝離強度的儀器。該儀器采用先進的電子測量技術,能夠快速、準確地測定復合膜或薄膜材料的剝離力。該設備主要由主機
2023-09-20 15:29:25
pcb覆銅有什么作用? PCB是電子產品中常見的電路板,覆銅則是PCB上的一種覆蓋性金屬,通常是銅。從名字上就可以看出,覆銅的作用就是在PCB的表面疊加一層銅,起到固化電路,使電子元器件間連接,保護
2023-09-14 10:47:201955 陶瓷電容、瓷片電容和貼片電容是電子元器件中常見的三種類型,它們在電子電路中起著非常重要的作用。本文將詳細介紹這三種電容的區別。
2023-09-12 16:44:33946 在電子設備中,DC電源模塊的作用是將市電或其他源的交流電轉換成適合設備使用的直流電,因此,DC電源模塊是電子設備中不可或缺的一個部分。在實際設計和應用中,DC電源模塊的設計和布線顯得尤為重要,下面詳細介紹其重要性。
2023-09-12 10:30:06323 貼片電感作為一種應用廣泛的電感類型,它在很多電子設備都有著非常重要的作用。我們在做貼片電感的選型工作時,會要求一定要明確使用的貼片電感封裝尺寸,因為貼片電感的尺寸不僅僅直接關乎到是否可以正常應用于
2023-09-10 20:40:100 AH8673是一款功能全面、性能出色的開關降壓型DC-DC控制器。它的寬電壓輸入、低功耗、高效率、輸出恒壓恒流以及多項保護功能等特性,使得它在各種工業和消費電子設備中都能發揮重要作用。作為一種*進的電源控制器,AH8673為電子*品的穩定供電提供了可靠的解決方案。
2023-09-08 15:29:58453 數字稱重傳感器是一個廣泛應用于電子秤方案中的關鍵元件。它的作用是測量物體的重量,并將其轉化為電信號輸出,實現數字化稱重。在電子秤領域,數字稱重傳感器扮演著不可或缺的角色,它不僅提高了稱重的準確性,還帶來了更多便利和效率。
2023-09-07 16:01:40429 工字電感線圈是電子電路中非常常見的一種電子元器件,它在電路中在作用主要就是存儲和釋放能量。很多人問工字電感線圈的大小對它的電性能是否有影響?本篇,谷景就跟大家一起來簡單探討一下這個問題。 關于工字
2023-09-07 14:42:18378 企業要做好工業液晶電子看板,需要從硬件選擇、安裝使用、維護保養、軟件更新、人員培訓、管理制度等方面進行全面的考慮和實施。只有這樣,才能夠確保工業液晶電子看板能夠發揮出最大的作用,提高生產效率和管理水平。
2023-09-05 21:32:15219 CLM32L003應用:小家電、充電器、遙控器、電子煙、燃氣報警器、數顯表、溫控器、記錄儀、電機驅動、智能門鎖、迷你手電筒 ,手持電風扇。詳細內容請查看規格書。
2023-09-05 10:38:21
金封管和塑封管哪種音質好? 音頻管是一種非常有用的電子元件,可以在電子設備中起到傳輸和保護信號的作用。在音頻管的世界中,金封管和塑封管是兩種主要的包裝形式。這兩種管子都有各自的優點和缺點,所以在選擇
2023-09-02 11:26:003309 不同
由于材料不同,厚膜電阻一般較為厚重,適用于體積較大的電氣設備,而貼片電阻因其輕薄柔軟的特性,尺寸小巧、容易安裝,常用于小型電子產品。
4、適用場景不同
厚膜電阻的耐溫性、耐濕性、耐腐蝕性和電氣
2023-09-01 17:49:47
鋁箔膜厚度測量儀-簡介PVC輸液袋,雙軟管輸液袋,醫用沖洗袋,營養袋,腹膜透析袋,EVA營養袋,多聯袋,血漿袋,集尿袋,多層共擠膜袋,獸藥袋,鋁箔袋,膏藥袋,潔凈袋,資料袋,自封袋,可書寫袋,膠囊袋
2023-09-01 16:26:19
AH8663芯片是一種重要的電源管理芯片,具有高效、穩定的特點。它在電子設備中發揮著重要的作用,幫助實現電壓的轉換和供電的穩定,為各行各業的技術創新和發展提供了強有力的支持。
2023-08-29 11:07:16312 出于各種原因,電子系統需要實施隔離。它的作用是保護人員和設備不受高電壓的影響,或者僅僅是消除PCB上不需要的接地回路。在各種各樣的應用中,包括工廠和工業自動化、醫療設備、通信和消費類產品,它都是
2023-08-26 08:25:36423 功率放大器是一種電子設備,它主要用于將低功率、小信號的電流或電壓放大為高功率、大信號的電流或電壓,以驅動大功率負載。功率放大器在現代電子技術中具有廣泛的應用,其主要作用可以從以下幾個方面進行介紹
2023-08-10 15:06:161064 但是,并不是所有的金屬都是順磁性的。有些金屬在外加磁場時,會表現出與外場反向的磁化現象,這就是抗磁性。抗磁性的原理是,當外加磁場時,金屬內部的自由電子會受到洛倫茲力的作用,產生一個渦旋電流,這個電流會產生一個與外場反向的磁場,從而使得整個金屬表現出與外場反向的磁化現象。
2023-08-07 16:10:02316 降壓芯片在現代電子設備中起著至關重要的作用。80V降壓芯片、48V降壓5V電源芯片和48V降壓3.3V電源芯片AH7550分別適用于不同的輸入電壓范圍和輸出電壓需求。無論是工業控制、通信設備還是家用電器,這些芯片都能夠提*穩定可靠的電源輸出,為各種電子設備的正常運行提*了有力支持。
2023-08-04 09:18:22949 濾波器電路圖是一種用于電子設備中的重要電路元件。它的作用是濾除信號中的雜波或噪聲,從而提供更清晰和穩定的信號輸出。對于工程師和技術人員來說,了解如何查看濾波器電路圖是至關重要的。
2023-07-27 10:12:07494 總線控制在計算機和電子系統中起著重要的作用,它管理和協調了各個設備和組件之間的數據傳輸和通信,保證了系統的正常運行和效率。通過總線控制,各個設備可以共享總線資源并進行協同操作,實現數據傳輸和協議的正確性和可靠性。
2023-07-24 15:32:345459 驅動輪的“滑轉”還會導致橫向附著系數大幅下降,從而使驅動輪出現橫向滑動,隨之產生汽車在行駛過程中的方向失控現象。為控制驅動輪的滑轉,誕生的ASR
2023-07-18 12:42:16837 射頻芯片封裝是將原始射頻芯片封裝在外殼中,以保護芯片免受外界環境的影響,并提供更好的電磁兼容性、熱管理和機械保護。射頻芯片封裝在現代電子設備中起著至關重要的作用,廣泛應用于通信、無線電、雷達和衛星系統等領域。
2023-07-04 15:49:38959 無源探頭和有源探頭是現代電子領域中使用廣泛的兩種不同類型的探頭。它們在測量、控制和監測電子設備和電路中起著重要的作用。盡管它們都被用于電子設備的測試和分析,但無源探頭和有源探頭之間存在著一些顯著的區別。
2023-07-04 10:33:211336 摘要:隨著集成電路向高密度、高功率和小體積的方向不斷發展,如何快速導出電子元器件產生的熱量已成為研究的熱點。環氧樹脂質輕、絕緣、耐腐蝕且易于加工,在電子封裝領域起著重要作用,但本征極低的熱導率限制
2023-06-29 10:14:46599 這就是大多數傳感器的工作方式。傳感器通常進行深奧的電氣測量(電容、阻抗、電流、電壓)。但是通過一個復雜的系統結構,一個感興趣的物理事件(加速度、壓力、腳步聲、距離)來改變這種測量。了解了系統結構后,我們可以將變化解釋為物理參數,同時假設傳感系統中的其他一切都保持不變或至少得到良好控制。
2023-06-28 11:34:15293 電子在電場E的作用下,在飛向基片過程中與氬原子發生碰撞,使其電離產生出Ar正離子和新的電子;新電子飛向基片,Ar離子在電場作用下加速飛向陰極靶,并以高能量轟擊靶表面,使靶材發生濺射。
2023-06-27 10:08:555833 光電液位傳感器是一種利用光電原理進行液位檢測的傳感器,其優點和應用如下:
優點:
精度高:光電液位傳感器具有高精度的檢測能力,能夠精確測量液體的水平高度,誤差小于0.5%。
反應速度快:光電液位
2023-06-26 13:59:50
BGA返修設備在高端電子產品制造中具有重要作用,這一點毋庸置疑。它們可以幫助電子制造商在短時間內提高產品質量,并減少生產成本。本文將詳細分析BGA返修設備在高端電子產品制造中的重要作用,包括: 1.
2023-06-15 13:50:39247 可靠的液位檢測方案有沒有,大家做過哪種?檢測液位深度和液面位置。
2023-06-15 07:25:52
龍頭的作用,例如通信工程、測控技術、空間科學等比比皆是。而信號發生器在電子技術中發揮著重要的作用。所謂信號發生器就是不需要外部電路輸入信號,自身能夠產生某種信號的電路。許多電子電器中用到了各種形式的信號發
2023-06-13 17:24:390 印刷電路板(Printed Circuit Board,簡稱PCB)和集成電路(Integrated Circuit,簡稱IC)是電子產品中的兩個基本組成部分,它們都在電子設備中發揮著關鍵作用。然而,盡管它們都與電子電路有關,但它們之間存在著顯著的差異。本文將深入探討PCB和IC之間的區別。
2023-06-07 16:25:34909 DC電源模塊是一種電源轉換器件,作用是將輸入電源的直流電壓轉換為穩定的輸出直流電壓,以供電子器件使用。DC電源模塊主要作用是將交流電源轉換為直流電源,為電子設備提供穩定的直流電源。它可以在各種電子設備和電路中,如通信設備、工業控制、計算機硬件等應用。
2023-05-26 10:30:301477 電池供電設備中,AH53XX穩壓芯片能夠有效地將電池輸出的電壓轉換為穩定的3.3V輸出,使其能夠供電給各種芯片或模塊,實現多種功能。例如,通過將該芯片應用于煙-霧傳感器中,可以及時檢測到煙-霧,并發
2023-05-18 16:01:10
等領域。它可以用于電源和過濾電路中,以提供較高的電壓和電流承受能力。此外,在各種電子設備中,如工業自動化控制系統和敏感傳感器等應用場景中也可以使用高壓厚膜貼片電阻。
特性Features
2023-05-16 16:50:29
PPM-T127H平膜壓力變送器采用不銹鋼隔離膜片的壓力芯體,配合高性能智能運算補償電路制作而成。激光焊接技術保證不銹鋼殼體與基座無縫連接,適用于粘稠易堵漿體、固液混合的流體壓力測量,防結垢,防堵塞
2023-05-09 14:29:45
超聲波技術是傳感器技術中的一種重要應用,而超聲波式液位傳感器則是應用最為廣泛的類型之一。超聲波式液位傳感器作為一種可靠的測量儀器,在日常生活和各行各業的應用中發揮著越來越重要的作用。下面將從技術
2023-05-05 15:19:42
線性穩壓器是廣泛應用于電子電路中的一種電源管理器件,其作用主要是將不穩定的直流電源(輸入)轉換為穩定的輸出電壓,并且輸出電壓與負載電流幾乎無關。線性穩壓器能夠提供相對穩定、紋波較小的電源電壓給電路中的各個組件使用,從而保證了電子設備、家用電器、計算機等的正常運行。
2023-04-23 09:13:112026 淺談電子三防漆對PCB板的作用有哪些?
2023-04-14 14:36:27
隨著現代城市化進程的不斷加快,灑水車在城市保潔和園林綠化等方面發揮著不可替代的作用。而灑水車中的水箱液位監測是保證其正常工作的重要因素之一。然而,傳統的機械式液位傳感器存在著精度低、易損壞、不易維護
2023-04-14 14:02:32
在現實世界中,電子電路所處的周圍環境總是變幻莫測的。人體靜電、雷擊浪涌、誤操作等諸多不可預料的因素時刻威脅著電子設備的正常工作。因此保護電路的作用與意義非常重要。經過多年的發展,保護電路從最簡單
2023-04-12 11:17:252428 PCB干膜和濕膜具體指什么?兩者之間的區別在哪里?與正片和負片有什么關系?
2023-04-06 15:58:39
PCB制作中干膜和濕膜可能會帶來哪些品質不良的問題?以及問題如何解決呢?
2023-04-06 15:51:01
21世紀,隨著科技的發展,出現大量電子產品,人們開始過上了有電子產品的生活。電子產品的出現既能幫助我們提高工作效率又能提高生活幸福指數。電子產品由不同的電子元器件組成,每個電子元器件都起到重要作用。電子元器件中有三大被動元件:電感、電阻、電容。
2023-03-31 09:56:01401 大佬們好,分享一下我用魯班貓做ros主控,stm32f407做底層驅動的一個ros小車。
目的是識別煙霧并凈化:凈化是用的負離子發生器(效果如文章頂部視頻,凈化還是很頂的),外加扇葉將其擴散出去。同時也具有環境氣體濃度(質量)檢測的功能。
b站鏈接:
https://www.bilibili.com/video/BV1hh4y1n7Fz/?vd_source=4fa660ff7e4423139e6ebdbd4dece6c7
這是我去年12月底開始做的,入坑魯班貓算是比較早了。在讀大三學生。正奧里給考研中。。。
最底下還塞了一塊vet6和一塊esp32.
板子上加了個風扇,為了散熱快。
魯班貓1s做ROS主控用于ros建圖(gmapping)和導航,同時接入NPU做抽煙監測,模型是yolov5自己訓練的模型轉化成rknn部署在板子上。
功能部分即功能層的stm32與串口屏、esp32通信部分。功能層的主要目的是獲取傳感器數據和通過繼電器控制小車前端的負離子發生器和兩個加快負離子擴散的風扇。這里的stm32相當于一個中轉,用的是rt—thread實時操作系統,版本是4.0.2(寫的比較早,當時的rtt還有小bug,現在已經很好用了。)
開啟三個串口:一個用于讀取傳感器,一個用于接收和發送指令給串口屏,一個用于給esp32傳輸數據,通過esp32將數據發送到巴法云平臺,做接入小程序中轉。
篇幅有限,代碼放在了網盤上。
鏈接:https://pan.baidu.com/s/1ltgypPMq9heezk412r4IKw?pwd=jhzs
提取碼:jhzs
因為用的是rtt,移植性很高,故只寫了應用層的main.c函數。如下:
氣體傳感器如下(所用的是串口協議)
#include <rtthread.h>
/ *串口1用來調試* /
#define DBG_TAG \"main\"
#define DBG_LVL DBG_LOG
#include <rtdbg.h>
#include <string.h>
#include <serial.h>//此處有坑,要改頭文件路徑為rt-thread/components/drivers/include/drivers
#include <stdio.h>
#include \"stdlib.h\"
#defineleft_motor_run{rt_pin_write(6,PIN_LOW );rt_pin_write(7,PIN_HIGH);}
#defineleft_motor_back{rt_pin_write(6,PIN_HIGH );rt_pin_write(7,PIN_LOW);}
#definestoping{rt_pin_write(6,PIN_HIGH );rt_pin_write(7,PIN_HIGH);rt_pin_write(16,PIN_HIGH );rt_pin_write(17,PIN_HIGH);}
#defineright_motor_run{rt_pin_write(16,PIN_LOW );rt_pin_write(17,PIN_HIGH);}
#defineright_motor_back{rt_pin_write(16,PIN_HIGH );rt_pin_write(17,PIN_LOW);}
#define key1_openrt_pin_write(51,PIN_LOW );//d3
#define key1_closert_pin_write(51,PIN_HIGH );
#define key2_openrt_pin_write(52,PIN_LOW );//d4
#define key2_closert_pin_write(52,PIN_HIGH );
#define key3_openrt_pin_write(53,PIN_LOW );//d5
#define key3_closert_pin_write(53,PIN_HIGH );
/*micropython esp32與rtt串口DMA傳輸數據時有坑,
* 需在drv_usart.c找到HAL_UART_RxCpltCallback和HAL_UART_RxHalfCpltCallback將dma_isr(&uart->serial)注釋掉,
* 能降低數據錯誤率*/
/ *串口2的變量 115200* /
struct serial_configureuar2_configs = RT_SERIAL_CONFIG_DEFAULT;
rt_sem_t sem2;
rt_device_t uar2_dev;
rt_thread_t uar_2_th;
rt_thread_t uar_2_deal;
char buffer[128] = {0};
rt_size_t rxlen2 = 0;
/ *串口3的變量 9600* /
struct serial_configureuar3_configs = MY_SERIAL_CONFIG_DEFAULT;
rt_sem_t sem3;
rt_device_t uar3_dev;
rt_thread_t uar_3_th;
uint8_t buffer3[17] = {0};
rt_size_t rxlen3 = 0;
/ *串口4的變量 115200* /
struct serial_configureuar4_configs = RT_SERIAL_CONFIG_DEFAULT;
rt_sem_t sem4;
rt_device_t uar4_dev;
rt_thread_t uar_4_th;
rt_uint8_t buffer4[256] = {0xff};
rt_size_t rxlen4 = 0;
//char deal;
rt_uint8_t deal ;
char wheater[8];
char humidity[4];
char temperature[4];
char wind_speed[4];
char shi[3];
char miao[3];
char fen[3];
char wheater_deal[23]=\"main2.g3.txt=\"\";
char humidity_deal[18]=\"main2.g1.txt=\"\";
char temperature_deal[17]=\"main2.g0.txt=\"\";
char wind_speed_deal[19]=\"main2.g2.txt=\"\";
char shi_deal[15] = \"main.z1.val=\";
char miao_deal[15] = \"main.z0.val=\";
char fen_deal[15] = \"main.z2.val=\";
char end[2]=\"\"\";
char xf_end[3];//串口屏控制幀尾
void uar2_thread_entry(void *parameter)//串口2DMA線程入口
{
rt_size_t len = 0;
/*發送ch2o數據*/
rt_device_write(uar4_dev,0,ch2o_date,sizeof(ch2o_date));
rt_device_write(uar4_dev,0 ,xf_end,sizeof(xf_end));
/*end*/
/*發送tvoc數據*/
rt_device_write(uar4_dev,0 ,tvoc_date,sizeof(tvoc_date));
rt_device_write(uar4_dev,0 ,xf_end,sizeof(xf_end));
/*end*/
/*發送pm2.5數據*/
rt_device_write(uar4_dev,0 ,pm2_5_date,sizeof(pm2_5_date));
rt_device_write(uar4_dev,0 ,xf_end,sizeof(xf_end));
/*end*/
/*發送pm10數據*/
rt_device_write(uar4_dev,0 ,pm10_date,sizeof(pm10_date));
rt_device_write(uar4_dev,0 ,xf_end,sizeof(xf_end));
/*end*/
/*發送temp數據*/rt_device_write(uar4_dev,0,temp_date,sizeof(temp_date));
rt_device_write(uar4_dev,0 ,xf_end,sizeof(xf_end));
/*end*/
/*發送humi數據*/
rt_device_write(uar4_dev,0,humi_date,sizeof(humi_date));
rt_device_write(uar4_dev,0 ,xf_end,sizeof(xf_end));
/*end*/
memset(buffer4, 0, sizeof buffer4);
// }
}
}
rt_err_t uar3_rxback(rt_device_t dev, rt_size_t size)//串口3接收//回調函數9600
{
rxlen3 = size;
rt_sem_release(sem3);
return RT_EOK;
}
void uar4_thread_entry(void *parameter)//串口4DMA線程入口
{
rt_size_t len = 0;
while(1)
{
rt_sem_take(sem4, RT_WAITING_FOREVER);
len = rt_device_read(uar4_dev, 0, buffer4, rxlen4);
buffer4[len] = \'\\\\0\';
rt_kprintf(\"%c\\\\n\",len);
if (buffer4[0] == 0x02) {
deal=0x02;
rt_device_write(uar2_dev,0 ,&deal,16);
rt_kprintf(\"uart4\");
deal=0;
}
if (buffer4[0] == 0x01) {
deal=0x01;
rt_device_write(uar2_dev,0 ,&deal,16);
rt_kprintf(\"uart4\");
deal=0;
}
if (buffer4[0] == 0x03) {
deal=0x03;
//memset(buffer,0,sizeof(buffer));
rt_device_write(uar2_dev,0 ,&deal,16);
rt_kprintf(\"uart4\");
deal=0;
}
switch(buffer4[0])
{
case 0x44: key1_open;break;
case 0x55: key1_close;break;
case 0x66: key2_open;break;
case 0x77: key2_close;break;
case 0x88: key3_open;break;
case 0x99: key3_close;break;
}
}
}
rt_err_t uar4_rxback(rt_device_t dev, rt_size_t size)//串口4接收回調函數
{
rxlen4 = size;
rt_sem_release(sem4);
return RT_EOK;
}
void clearmachine_and_motor_pin_init()
{
rt_pin_mode(6,PIN_MODE_OUTPUT );//a6
rt_pin_mode(7,PIN_MODE_OUTPUT );//a7
rt_pin_mode(16,PIN_MODE_OUTPUT );//b0
rt_pin_mode(17,PIN_MODE_OUTPUT );//b1
rt_pin_mode(28, PIN_MODE_INPUT);//b12 left
rt_pin_mode(29,PIN_MODE_INPUT);//b13right
rt_pin_mode(51,PIN_MODE_OUTPUT );//d3
rt_pin_mode(52,PIN_MODE_OUTPUT );//d4
rt_pin_mode(53,PIN_MODE_OUTPUT );//d5
key1_close;
key2_close;
key3_close;
}
int main(void)
{
clearmachine_and_motor_pin_init();//引腳初始化
/*串口2 DMA初始化*/
uar2_dev = rt_device_find(\"uart2\");
if (uar2_dev == NULL) {
LOG_E(\"rt_device_find[uart2] FAILED...\\\\\\\\\\\\\\\\n\");
return -EINVAL;
}
rt_device_open(uar2_dev, RT_DEVICE_OFLAG_RDWR | RT_DEVICE_FLAG_DMA_RX);
rt_device_control(uar2_dev, RT_DEVICE_CTRL_CONFIG, (void *)&uar2_configs);
rt_device_set_rx_indicate(uar2_dev, uar2_rxback);
uar_2_th = rt_thread_create(\"uar2_rx_thread\", uar2_thread_entry, NULL, 4096, 10, 5);
rt_thread_startup(uar_2_th);
sem2 = rt_sem_create(\"sem2\", 1, RT_IPC_FLAG_FIFO);
if(sem2 == RT_NULL){
LOG_E(\"sem2 rt_sem_create failed...\\\\\\\\\\\\\\\\n\");
return -ENOMEM;
}
LOG_D(\"sem2 rt_sem_create successed...\\\\\\\\\\\\\\\\n\");
/*串口2 DMA初始化結束*/
//uar_2_deal = rt_thread_create(\"uar2_deal\", uar2_deal_entry, NULL, 512, 13, 5);
//rt_thread_startup(uar_2_deal);
/*串口3 DMA初始化9600*/
uar3_dev = rt_device_find(\"uart3\");
if (uar3_dev == NULL) {
LOG_E(\"rt_device_find[uart3] FAILED...\\\\\\\\\\\\\\\\n\");
return -EINVAL;
}
rt_device_open(uar3_dev, RT_DEVICE_OFLAG_RDWR | RT_DEVICE_FLAG_DMA_RX);
rt_device_control(uar3_dev, RT_DEVICE_CTRL_CONFIG, (void *)&uar3_configs);
rt_device_set_rx_indicate(uar3_dev, uar3_rxback);
uar_3_th = rt_thread_create(\"uar3_rx_thread\", uar3_thread_entry, NULL, 4096, 12, 5);
rt_thread_startup(uar_3_th);
sem3 = rt_sem_create(\"sem3\", 1, RT_IPC_FLAG_FIFO);
if(sem3 == RT_NULL){
LOG_E(\"sem3 rt_sem_create failed...\\\\\\\\\\\\\\\\n\");
return -ENOMEM;
}
LOG_D(\"sem3 rt_sem_create successed...\\\\\\\\\\\\\\\\n\");
/*串口3 DMA初始化結束*/
/*串口4 DMA初始化*/
uar4_dev = rt_device_find(\"uart4\");
if (uar4_dev == NULL) {
LOG_E(\"rt_device_find[uart4] FAILED...\\\\\\\\\\\\\\\\n\");
return -EINVAL;
}
rt_device_open(uar4_dev, RT_DEVICE_OFLAG_RDWR | RT_DEVICE_FLAG_DMA_RX);
rt_device_control(uar4_dev, RT_DEVICE_CTRL_CONFIG, (void *)&uar4_configs);
rt_device_set_rx_indicate(uar4_dev, uar4_rxback);
uar_4_th = rt_thread_create(\"uar4_rx_thread\", uar4_thread_entry, NULL, 4096, 11, 5);
rt_thread_startup(uar_4_th);
sem4 = rt_sem_create(\"sem4\", 4, RT_IPC_FLAG_FIFO);
if(sem4 == RT_NULL){
LOG_E(\"sem4 rt_sem_create failed...\\\\\\\\\\\\\\\\n\");
return -ENOMEM;
}
LOG_D(\"sem4 rt_sem_create successed...\\\\\\\\\\\\\\\\n\");
/*串口4 DMA初始化結束*/
return RT_EOK;
}
最后是串口屏顯示,同時數據也能在微信小程序上查看
接下來是魯班貓1s做ros主控的部分。
1、移植輪趣大佬的ros源碼:
根據我現有的硬件:思嵐a1雷達、一個usb rgb攝像頭選擇合適的功能包,然后開始移植。
中途會出現很多錯誤。例如缺少部分功能包,sudo apt install ros-noetic-(包名)【我的ros版本是noetic】。
2、移植完畢后發現大佬們并沒有使用魯班貓上的npu。所以我嘗試了用npu跑yolov5在debain10的環境下用python接口效果如下:
Python與c++接口將圖片監測改成實時攝像頭的代碼:
只需更改cv.Capture()函數的攝像頭設備號即可。
鏈接:https://pan.baidu.com/s/1gauOezF-X8ZuvU4b0I4v4A?pwd=jhzs
提取碼:jhzs
Python接口的yolov7只需更改yolov5代碼的錨點即可
以下只列出主函數部分,完整的在鏈接里。
import urllib
import time
import sys
import numpy as np
import cv2
from rknnlite.api import RKNNLite
#from PIL import Image
RKNN_MODEL = \'mask.rknn\'
IMG_PATH = \'./test.jpg\'
OBJ_THRESH = 0.25
NMS_THRESH = 0.45
IMG_SIZE = 640
......(省略中間部分)
if __name__ == \'__main__\':
# Create RKNN object
rknn = RKNNLite()
# init runtime environment
print(\'--> Load RKNN model\')
ret = rknn.load_rknn(RKNN_MODEL)
#ret = rknn.init_runtime(target=\'rv1126\', device_id=\'256fca8144d3b5af\')
if ret != 0:
print(\'Load RKNN model failed\')
exit(ret)
print(\'done\')
ret = rknn.init_runtime()
if ret != 0:
print(\'Init runtime environment failed!\')
exit(ret)
print(\'done\')
capture = cv2.VideoCapture(9)
ref, frame = capture.read()
if not ref:
raise ValueError(\"error reading\")
fps = 0.0
while(True):
t1 = time.time()
#
ref, frame = capture.read()
if not ref:
break
# BGRtoRGB
frame = cv2.cvtColor(frame,cv2.COLOR_BGR2RGB)
#############
img = frame
img, ratio, (dw, dh) = letterbox(img, new_shape=(IMG_SIZE, IMG_SIZE))
img = cv2.cvtColor(img, cv2.COLOR_BGR2RGB)
# Inference
print(\'--> Running model\')
outputs = rknn.inference(inputs=[img])
input0_data = outputs[0]
input1_data = outputs[1]
input2_data = outputs[2]
input0_data = input0_data.reshape([3, -1]+list(input0_data.shape[-2:]))
input1_data = input1_data.reshape([3, -1]+list(input1_data.shape[-2:]))
input2_data = input2_data.reshape([3, -1]+list(input2_data.shape[-2:]))
input_data = list()
input_data.append(np.transpose(input0_data, (2, 3, 0, 1)))
input_data.append(np.transpose(input1_data, (2, 3, 0, 1)))
input_data.append(np.transpose(input2_data, (2, 3, 0, 1)))
boxes, classes, scores = yolov5_post_process(input_data)
img_1 = cv2.cvtColor(img, cv2.COLOR_RGB2BGR)
#img_1 = img_1[:,:,::-1]
if boxes is not None:
draw(img_1, boxes, scores, classes)
fps= ( fps + (1./(time.time()-t1)) ) / 2
print(\"fps= %.2f\"%(fps))
#img_1 = cv2.putText(frame, \"fps= %.2f\"%(fps), (0, 40), cv2.FONT_HERSHEY_SIMPLEX, 1, (0, 255, 0), 2)
cv2.imshow(\"video\",img_1[:,:,::-1])
c= cv2.waitKey(1) & 0xff
if c==27:
capture.release()
break
print(\"Video Detection Done!\")
capture.release()
cv2.destroyAllWindows()
但這還沒有接到ros中,為此我去翻rknn的github找到了接入ros的方法。
Ros功能包如下:
Launch文件:
Yolov5.launch
<param name=\"model_file\" value=\"yolov5s-640-640.rknn\"/>
<param name=\"display_output\" value=\"$(arg display_output)\"/>
<param name=\"prob_threshold\" value=\"0.35\"/>
<param name=\"chip_type\" value=\"$(arg chip_type)\"/>
<remap from=\"/camera/image_raw\" to=\"$(arg camera_topic)\"/>
Camrea.Launch
<param name=\"video_device\" value=\"/dev/$(arg device)\" />
<param name=\"image_width\" value=\"640\" />
<param name=\"image_height\" value=\"480\" />
<param name=\"framerate\" value=\"30\" />
<param name=\"pixel_format\" value=\"yuyv\" />
<param name=\"camera_frame_id\" value=\"usn_cam\" />
<param name=\"io_method\" value=\"mmap\"/>
<param name=\"camera_name\" value=\"usn_cam\"/>
啟動攝像頭
默認的攝像頭設備號為video0 魯班貓為video9
1、roslaunch rknn_ros camera.launch
2、roslaunch rknn_ros camera.launch device:=video9(可傳參或者改launch)
3、roslaunch rknn_ros yolov5.launch chip_type:=RK3566
鏈接:
鏈接:https://pan.baidu.com/s/1QhfRjDs1sftAB0Q-TS5dBA?pwd=jhzs
提取碼:jhzs
不出意外改好板子型號和對應的video就能用了。
可打開rviz或者rqt_image_view查看。
模型是我自己訓練的,鏈接如下:
鏈接:https://pan.baidu.com/s/1FSJyW6kp4cy3-yakTq_Q4g?pwd=jhzs
提取碼:jhzs
YOLOV5配置和使用:
官方的源碼是不建議的:
用這個:
https://gitcode.net/mirrors/airockchip/yolov5?utm_source=csdn_github_accelerator
這是瑞芯微官方推薦的源碼,但是也需要更改。
yolov5-master\\\\models下的yolo.py
找到
def forward(self, x):
函數,更改為:
def forward(self, x):
z = []# inference output
for i in range(self.nl):
if os.getenv(\'RKNN_model_hack\', \'0\') != \'0\':
z.append(torch.sigmoid(self.m[i](x[i])))
continue
x[i] = self.m[i](x[i])# conv
\'\'\'
bs, _, ny, nx = x[i].shape# x(bs,255,20,20) to x(bs,3,20,20,85)
x[i] = x[i].view(bs, self.na, self.no, ny, nx).permute(0, 1, 3, 4, 2).contiguous()
if not self.training:# inference
if self.onnx_dynamic or self.grid[i].shape[2:4] != x[i].shape[2:4]:
self.grid[i], self.anchor_grid[i] = self._make_grid(nx, ny, i)
y = x[i].sigmoid()
if self.inplace:
y[..., 0:2] = (y[..., 0:2] * 2 + self.grid[i]) * self.stride[i]# xy
y[..., 2:4] = (y[..., 2:4] * 2) ** 2 * self.anchor_grid[i]# wh
else:# for YOLOv5 on AWS Inferentia https://github.com/ultralytics/yolov5/pull/2953
xy, wh, conf = y.split((2, 2, self.nc + 1), 4)# y.tensor_split((2, 4, 5), 4)# torch 1.8.0
xy = (xy * 2 + self.grid[i]) * self.stride[i]# xy
wh = (wh * 2) ** 2 * self.anchor_grid[i]# wh
y = torch.cat((xy, wh, conf), 4)
z.append(y.view(bs, -1, self.no))
if os.getenv(\'RKNN_model_hack\', \'0\') != \'0\':
return z
return x if self.training else (torch.cat(z, 1),) if self.export else (torch.cat(z, 1), x)
\'\'\'
return x[0],x[1],x[2]
這樣就可以在pt權重轉onnx時去掉最后一個Detect層。
pt轉onnx指令
python export.py --weights yolov5s.pt --img 640 --batch 1 --opset 11 --include onnx
紅色字體部分換成要轉換的權重文件例如我的就是:
**python export.py --weights ** **weights/best.pt ** --img 640 --batch 1 --opset 11 --include onnx
opset選擇11。
這樣出來的模型是有三個節點的模型,才是可用的。
可用netron查看:
netron:https://netron.app/(瀏覽器網址)
將模型拖到頁面可查看。
有三個輸出節點。
且要記好三個節點的名字。
在官方要求的ubuntu pc端上進行模型轉換。
我這里有個改好的yolov5源碼(里面是我訓練的抽煙監測模型)
網盤鏈接如下:
鏈接:https://pan.baidu.com/s/1fXKNoXhu4m1SmTr4fc-afg?pwd=jhzs
提取碼:jhzs
Chatgpt部分是b站機器人阿杰github開源項目。
https://www.bilibili.com/video/BV12M4y1R76M/?spm_id_from=333.788
效果如圖:
嗚。。。不要看問得什么
整車的sw模型鏈接:soildwork2020及以上版本可直接打開
鏈接:https://pan.baidu.com/s/1KqB1SOD418dCvyDaZFMgpg?pwd=jhzs
提取碼:jhzs當時還理想化的擼了個履帶,可后來發現打印出來根本用不了,故放棄,換成了輪子。
放鏈接是希望能夠幫到像我一樣步步踩坑的菜鳥級選手。我是老踩坑怪了。
有不當的地方,還望大佬們海涵。
2023-03-24 20:05:14
評論
查看更多