注:1.這篇文章斷斷續續寫了很久,畫圖技術也不精,難免錯漏,大家湊合看.有問題可以留言. 2.論壇排版把我的代碼縮進全弄沒了,大家將代碼粘貼到arduino編譯器,然后按ctrl+T重新格式化代碼格式即可看的舒服. 一、什么是PWM PWM 即Pulse Wavelength Modulation 脈寬調制波,通過調整輸出信號占空比,從而達到改 變輸出平均電壓的目的。相信Arduino 的PWM 大家都不陌生,在Arduino Duemilanove 2009 中,有6 個8 位精度PWM 引腳,分別是3, 5, 6, 9, 10, 11 腳。我們可以使用analogWrite()控 制PWM 腳輸出頻率大概在500Hz 的左右的PWM 調制波。分辨率8 位即2 的8 次方等于 256 級精度。但是有時候我們會覺得6 個PWM 引腳不夠用。比如我們做一個10 路燈調光, 就需要有10 個PWM 腳。Arduino Duemilanove 2009 有13 個數字輸出腳,如果它們都可以 PWM 的話,就能滿足條件了。于是本文介紹用軟件模擬PWM。 二、Arduino 軟件模擬PWM Arduino PWM 調壓原理:PWM 有好幾種方法。而Arduino 因為電源和實現難度限制,一般 使用周期恒定,占空比變化的單極性PWM。 通過調整一個周期里面輸出腳高/低電平的時間比(即是占空比)去獲得給一個用電器不同 的平均功率。 如圖所示,假設PWM 波形周期1ms(即1kHz),分辨率1000 級。那么需要一個信號時間 精度1ms/1000=1us 的信號源,即1MHz。所以說,PWM 的實現難點在于需要使用很高頻的 信號源,才能獲得快速與高精度。下面先由一個簡單的PWM 程序開始: const int PWMPin = 13; int bright = 0; void setup() { pinMode(PWMPin, OUTPUT); } void loop() { if((bright++) == 255) bright = 0; for(int i = 0; i < 255; i++) { if(i < bright) { digitalWrite(PWMPin, HIGH); delayMicroseconds(30); } else { digitalWrite(PWMPin, LOW); delayMicroseconds(30); } } } 這是一個軟件PWM 控制Arduino D13 引腳的例子。只需要一塊Arduino 即可測試此代碼。 程序解析:由for 循環可以看出,完成一個PWM 周期,共循環255 次。 假設bright=100 時候,在第0~100 次循環中,i 等于1 到99 均小于bright,于是輸出PWMPin 高電平; 然后第100 到255 次循環里面,i 等于100~255 大于bright,于是輸出PWMPin 低電平。無 論輸出高低電平都保持30us。 那么說,如果bright=100 的話,就有100 次循環是高電平,155 次循環是低電平。 如果忽略指令執行時間的話,這次的PWM 波形占空比為100/255,如果調整bright 的值, 就能改變接在D13 的LED 的亮度。 這里設置了每次for 循環之后,將bright 加一,并且當bright 加到255 時歸0。所以,我們 看到的最終效果就是LED 慢慢變亮,到頂之后然后突然暗回去重新變亮。 這是最基本的PWM 方法,也應該是大家想的比較多的想法。 然后介紹一個簡單一點的。思維風格完全不同。不過對于驅動一個LED 來說,效果與上面 的程序一樣。 const int PWMPin = 13; int bright = 0; void setup() { pinMode(PWMPin, OUTPUT); } void loop() { digitalWrite(PWMPin, HIGH); delayMicroseconds(bright*30); digitalWrite(PWMPin, LOW); delayMicroseconds((255 - bright)*30); if((bright++) == 255) bright = 0; } 可以看出,這段代碼少了一個For 循環。它先輸出一個高電平,然后維持(bright*30)us。然 后輸出一個低電平,維持時間((255-bright)*30)us。這樣兩次高低就能完成一個PWM 周期。 分辨率也是255。 三、多引腳PWM Arduino 本身已有PWM 引腳并且運行起來不占CPU 時間,所以軟件模擬一個引腳的PWM 完全沒有實用意義。我們軟件模擬的價值在于:他能將任意的數字IO 口變成PWM 引腳。 當一片Arduino 要同時控制多個PWM,并且沒有其他重任務的時候,就要用軟件PWM 了。 多引腳PWM 有一種下面的方式: int brights[14] = {0}; //定義14個引腳的初始亮度,可以隨意設置 int StartPWMPin = 0, EndPWMPin = 13; //設置D0~D13為PWM 引腳 int PWMResolution = 255; //設置PWM 占空比分辨率 void setup() { //定義所有IO 端輸出 for(int i = StartPWMPin; i <= EndPWMPin; i++) { pinMode(i, OUTPUT); //隨便定義個初始亮度,便于觀察 brights[ i ] = random(0, 255); } } void loop() { //這for 循環是為14盞燈做漸亮的。每次Arduino loop()循環, //brights 自增一次。直到brights=255時候,將brights 置零重新計數。 for(int i = StartPWMPin; i <= EndPWMPin; i++) { if((brights[i]++) == PWMResolution) brights[i] = 0; } for(int i = 0; i <= PWMResolution; i++) //i 是計數一個PWM 周期 { for(int j = StartPWMPin; j <= EndPWMPin; j++) //每個PWM 周期均遍歷所有引腳 { if(i < brights[j])\ 所以我們要更改PWM 周期的話,我們將精度(代碼里面的變量:PWMResolution)降低就行,比如一般調整LED 亮度的話,我們用64 級精度就行。這樣速度就是2x32x64=4ms。就不會閃了。
上傳時間: 2013-10-08
上傳用戶:dingdingcandy
j
上傳時間: 2014-12-31
上傳用戶:趙一霞a
附件是一款PCB阻抗匹配計算工具,點擊CITS25.exe直接打開使用,無需安裝。附件還帶有PCB連板的一些計算方法,連板的排法和PCB聯板的設計驗驗。 PCB設計的經驗建議: 1.一般連板長寬比率為1:1~2.5:1,同時注意For FuJi Machine:a.最大進板尺寸為:450*350mm, 2.針對有金手指的部分,板邊處需作掏空處理,建議不作為連板的部位. 3.連板方向以同一方向為優先,考量對稱防呆,特殊情況另作處理. 4.連板掏空長度超過板長度的1/2時,需加補強邊. 5.陰陽板的設計需作特殊考量. 6.工藝邊需根據實際需要作設計調整,軌道邊一般不少於6mm,實際中需考量板邊零件的排布,軌道設備正常卡壓距離為不少於3mm,及符合實際要求下的連板經濟性. 7.FIDUCIAL MARK或稱光學定位點,一般設計在對角處,為2個或4個,同時MARK點面需平整,無氧化,脫落現象;定位孔設計在板邊,為對稱設計,一般為4個,直徑為3mm,公差為±0.01inch. 8.V-cut深度需根據連板大小及基板板厚考量,角度建議為不少於45°. 9.連板設計的同時,需基於基板的分板方式考量<人工(治具)還是使用分板設備>. 10.使用針孔(郵票孔)聯接:需請考慮斷裂后的毛刺,及是否影響COB工序的Bonding機上的夾具穩定工作,還應考慮是否有無影響插件過軌道,及是否影響裝配組裝.
上傳時間: 2013-10-15
上傳用戶:3294322651
j
上傳時間: 2013-11-24
上傳用戶:牧羊人8920
本文提出j以通用陣列邏輯器件GAL 和只讀存貯器EPROM 為核心器件.設計測量 顯示控制裝置的方法。配以數字式傳感器及用 最小二乘法編制的曲線自動分段椒合程序生成 的EPROM 中的數據.可用于力、溫度、光強等 非電量的測量顯示和控制。該裝置與采用微處 理器的電路相比.有相同的洲量精度,電路簡 單.而且保密性好
上傳時間: 2013-11-10
上傳用戶:langliuer
PCB 被動組件的隱藏特性解析 傳統上,EMC一直被視為「黑色魔術(black magic)」。其實,EMC是可以藉由數學公式來理解的。不過,縱使有數學分析方法可以利用,但那些數學方程式對實際的EMC電路設計而言,仍然太過復雜了。幸運的是,在大多數的實務工作中,工程師并不需要完全理解那些復雜的數學公式和存在于EMC規范中的學理依據,只要藉由簡單的數學模型,就能夠明白要如何達到EMC的要求。本文藉由簡單的數學公式和電磁理論,來說明在印刷電路板(PCB)上被動組件(passivecomponent)的隱藏行為和特性,這些都是工程師想讓所設計的電子產品通過EMC標準時,事先所必須具備的基本知識。導線和PCB走線導線(wire)、走線(trace)、固定架……等看似不起眼的組件,卻經常成為射頻能量的最佳發射器(亦即,EMI的來源)。每一種組件都具有電感,這包含硅芯片的焊線(bond wire)、以及電阻、電容、電感的接腳。每根導線或走線都包含有隱藏的寄生電容和電感。這些寄生性組件會影響導線的阻抗大小,而且對頻率很敏感。依據LC 的值(決定自共振頻率)和PCB走線的長度,在某組件和PCB走線之間,可以產生自共振(self-resonance),因此,形成一根有效率的輻射天線。在低頻時,導線大致上只具有電阻的特性。但在高頻時,導線就具有電感的特性。因為變成高頻后,會造成阻抗大小的變化,進而改變導線或PCB 走線與接地之間的EMC 設計,這時必需使用接地面(ground plane)和接地網格(ground grid)。導線和PCB 走線的最主要差別只在于,導線是圓形的,走線是長方形的。導線或走線的阻抗包含電阻R和感抗XL = 2πfL,在高頻時,此阻抗定義為Z = R + j XL j2πfL,沒有容抗Xc = 1/2πfC存在。頻率高于100 kHz以上時,感抗大于電阻,此時導線或走線不再是低電阻的連接線,而是電感。一般而言,在音頻以上工作的導線或走線應該視為電感,不能再看成電阻,而且可以是射頻天線。
上傳時間: 2013-11-16
上傳用戶:極客
PCB LAYOUT 術語解釋(TERMS)1. COMPONENT SIDE(零件面、正面)︰大多數零件放置之面。2. SOLDER SIDE(焊錫面、反面)。3. SOLDER MASK(止焊膜面)︰通常指Solder Mask Open 之意。4. TOP PAD︰在零件面上所設計之零件腳PAD,不管是否鑽孔、電鍍。5. BOTTOM PAD:在銲錫面上所設計之零件腳PAD,不管是否鑽孔、電鍍。6. POSITIVE LAYER:單、雙層板之各層線路;多層板之上、下兩層線路及內層走線皆屬之。7. NEGATIVE LAYER:通常指多層板之電源層。8. INNER PAD:多層板之POSITIVE LAYER 內層PAD。9. ANTI-PAD:多層板之NEGATIVE LAYER 上所使用之絕緣範圍,不與零件腳相接。10. THERMAL PAD:多層板內NEGATIVE LAYER 上必須零件腳時所使用之PAD,一般稱為散熱孔或導通孔。11. PAD (銲墊):除了SMD PAD 外,其他PAD 之TOP PAD、BOTTOM PAD 及INNER PAD 之形狀大小皆應相同。12. Moat : 不同信號的 Power& GND plane 之間的分隔線13. Grid : 佈線時的走線格點2. Test Point : ATE 測試點供工廠ICT 測試治具使用ICT 測試點 LAYOUT 注意事項:PCB 的每條TRACE 都要有一個作為測試用之TEST PAD(測試點),其原則如下:1. 一般測試點大小均為30-35mil,元件分布較密時,測試點最小可至30mil.測試點與元件PAD 的距離最小為40mil。2. 測試點與測試點間的間距最小為50-75mil,一般使用75mil。密度高時可使用50mil,3. 測試點必須均勻分佈於PCB 上,避免測試時造成板面受力不均。4. 多層板必須透過貫穿孔(VIA)將測試點留於錫爐著錫面上(Solder Side)。5. 測試點必需放至於Bottom Layer6. 輸出test point report(.asc 檔案powerpcb v3.5)供廠商分析可測率7. 測試點設置處:Setuppadsstacks
上傳時間: 2013-11-17
上傳用戶:cjf0304
LAYOUT REPORT .............. 1 目錄.................. 1 1. PCB LAYOUT 術語解釋(TERMS)......... 2 2. Test Point : ATE 測試點供工廠ICT 測試治具使用............ 2 3. 基準點 (光學點) -for SMD:........... 4 4. 標記 (LABEL ING)......... 5 5. VIA HOLE PAD................. 5 6. PCB Layer 排列方式...... 5 7.零件佈置注意事項 (PLACEMENT NOTES)............... 5 8. PCB LAYOUT 設計............ 6 9. Transmission Line ( 傳輸線 )..... 8 10.General Guidelines – 跨Plane.. 8 11. General Guidelines – 繞線....... 9 12. General Guidelines – Damping Resistor. 10 13. General Guidelines - RJ45 to Transformer................. 10 14. Clock Routing Guideline........... 12 15. OSC & CRYSTAL Guideline........... 12 16. CPU
上傳時間: 2013-10-29
上傳用戶:1234xhb
半導體的產品很多,應用的場合非常廣泛,圖一是常見的幾種半導體元件外型。半導體元件一般是以接腳形式或外型來劃分類別,圖一中不同類別的英文縮寫名稱原文為 PDID:Plastic Dual Inline Package SOP:Small Outline Package SOJ:Small Outline J-Lead Package PLCC:Plastic Leaded Chip Carrier QFP:Quad Flat Package PGA:Pin Grid Array BGA:Ball Grid Array 雖然半導體元件的外型種類很多,在電路板上常用的組裝方式有二種,一種是插入電路板的銲孔或腳座,如PDIP、PGA,另一種是貼附在電路板表面的銲墊上,如SOP、SOJ、PLCC、QFP、BGA。 從半導體元件的外觀,只看到從包覆的膠體或陶瓷中伸出的接腳,而半導體元件真正的的核心,是包覆在膠體或陶瓷內一片非常小的晶片,透過伸出的接腳與外部做資訊傳輸。圖二是一片EPROM元件,從上方的玻璃窗可看到內部的晶片,圖三是以顯微鏡將內部的晶片放大,可以看到晶片以多條銲線連接四周的接腳,這些接腳向外延伸並穿出膠體,成為晶片與外界通訊的道路。請注意圖三中有一條銲線從中斷裂,那是使用不當引發過電流而燒毀,致使晶片失去功能,這也是一般晶片遭到損毀而失效的原因之一。 圖四是常見的LED,也就是發光二極體,其內部也是一顆晶片,圖五是以顯微鏡正視LED的頂端,可從透明的膠體中隱約的看到一片方型的晶片及一條金色的銲線,若以LED二支接腳的極性來做分別,晶片是貼附在負極的腳上,經由銲線連接正極的腳。當LED通過正向電流時,晶片會發光而使LED發亮,如圖六所示。 半導體元件的製作分成兩段的製造程序,前一段是先製造元件的核心─晶片,稱為晶圓製造;後一段是將晶中片加以封裝成最後產品,稱為IC封裝製程,又可細分成晶圓切割、黏晶、銲線、封膠、印字、剪切成型等加工步驟,在本章節中將簡介這兩段的製造程序。
上傳時間: 2013-11-04
上傳用戶:372825274
微電腦型RS-485顯示電表(24*48mm/48*96mm) 特點: 5位數RS-485顯示電表 顯示范圍-19999-99999位數 通訊協議Modbus RTU模式 寬范圍交直流兩用電源設計 尺寸小,穩定性高 主要規格: 顯示范圍:-19999~99999 digit RS-485傳輸速度: 19200/9600/4800/2400 selective RS-485通訊位址: "01"-"FF" RS-485通訊協議: Modbus RTU mode 顯示幕: Red high efficiency LEDs high 10.16 mm (0.4") (MMX-RS-11X) Red high efficiency LEDs high 20.32 mm (0.8") (MMX-RS-12X) Red high efficiency LEDs high 10.16 mm (0.4")x2 (MMX-RS-22X) 參數設定方式: Touch switches 記憶方式: Non-volatile E²PROM memory 絕緣耐壓能力: 2KVac/1 min. (input/power) 使用環境條件: 0-50℃(20 to 90% RH non-condensed) 存放環境條件: 0-70℃(20 to 90% RH non-condensed) CE認證: EN 55022:1998/A1:2000 Class A EN 61000-3-2:2000 EN 61000-3-3:1995/A1:2001 EN 55024:1998/A1:2001
上傳時間: 2015-01-03
上傳用戶:feitian920