電子發(fā)燒友App

硬聲App

0
  • 聊天消息
  • 系統(tǒng)消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會員中心
創(chuàng)作中心

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內不再提示
創(chuàng)作
電子發(fā)燒友網>電子資料下載>電子資料>PID電池充電器控制器開源硬件

PID電池充電器控制器開源硬件

2023-02-01 | zip | 0.92 MB | 次下載 | 2積分

資料介紹

描述

介紹

可再生能源是滿足我們電力需求的實用且負擔得起的解決方案。通過增加可再生能源,我們可以減少空氣污染,減少全球變暖排放,創(chuàng)造新的就業(yè)機會和產業(yè),使我們的電力供應多樣化,減少對煤炭和其他化石燃料的依賴,并使世界走向更清潔、更健康的能源未來。我們打算創(chuàng)建一個照明控制系統(tǒng),使我們能夠節(jié)省能源。照明控制系統(tǒng)廣泛應用于商業(yè)、工業(yè)和住宅空間的室內和室外照明。照明控制系統(tǒng)用于在需要的時間和地點提供適量的光。

?
lighting_control_CcQV3oYurI.jpg?auto=compress%2Cformat&w=740&h=555&fit=max
照明控制系統(tǒng)示例
?

作為主要目標,我想到了三件事:

  • 從正弦函數生成控制 PWM 信號
  • PID 控制器生成控制 PWM 信號。
  • 添加夜燈控制。

應用:我們家中、公司甚至公共道路上的“夜燈控制”或“路燈控制”。也可用于給3V、5V、12V電池充電。

STM32F407G-DISC1配置

?
cover_uxCi0f5Tyb.PNG?auto=compress%2Cformat&w=740&h=555&fit=max
STM32F407VG板
?
  • STM32F407VGT6 微控制器采用 LQFP100 封裝,具有 32 位 ARM? Cortex?-M4 和 FPU 內核、1 MB 閃存、192 KB RAM
  • STM32F4DISCOVERY 上的板載 ST-LINK/V2 或 STM32F407G-DISC1 上的 ST-LINK/V2-A
  • 具有重新枚舉功能和三個不同接口的 USB ST-LINK:調試端口、虛擬 Com 端口和大容量存儲。
  • 電路板供電:通過USB總線或來自外部5 V電源電壓
  • 外部應用電源:3 V和5 V
  • LIS302DL 或 LIS3DSH ST MEMS 三軸加速度計
  • MP45DT02 ST-MEMS音頻傳感器全向數字麥克風
  • 具有集成 D 類揚聲器驅動器的 CS43L22 音頻 DAC
  • 八個 LED
  • 兩個按鈕(用戶和重置)
?
schematic_diagram_clMyDF8dG4.jpg?auto=compress%2Cformat&w=740&h=555&fit=max
完整示意圖
?

正如我們在示意圖中看到的,這個系統(tǒng)主要執(zhí)行兩個功能:首先它專門為電池充電,一旦充滿電,然后通過 LDR 光傳感器打開或關閉燈,如果它是晚上打開燈,如果是白天,則將其關閉。為了更好地描述這個項目,我把它分為以下幾個部分:

1.- 軟件安裝

2.- 電源

3.- 充電控制

4.- 負載控制

5.- 夜燈控制

6.- 從正弦函數生成控制 PWM 信號

7.- 從 PID 控制器生成控制 PWM 信號

8.- 電路板設計

9.- 組裝

10.- 測試

11.結論

?
electric_diagram_final_SCZKzy1WPI.jpg?auto=compress%2Cformat&w=740&h=555&fit=max
?

?

?

1.- 軟件安裝

?

(Timing: 6 hrs)

我使用的是32位的Windows 10操作系統(tǒng),軟件安裝如下:

a)我已經安裝了“GNAT Programming Studio”,我們可以從以下鏈接下載它:https ://www.adacore.com/download/more

在此鏈接中,我下載并安裝了以下兩個程序:

?
gps_2_dJrf1VOYqz.PNG?auto=compress%2Cformat&w=740&h=555&fit=max
全球定位系統(tǒng)標志
?

b)我們要安裝STM32F407VG板的USB驅動,鏈接如下:https://www.st.com/en/development-tools/stsw-link009.html#getsoftware-scroll。我們在此站點上下載以下文件:“en.stsw-link009.zip”。連接設備后,我們會在“設備管理器”中驗證它是否已連接。

?
usb_driver1_vUnQpUYOf0.PNG?auto=compress%2Cformat&w=740&h=555&fit=max
驗證 USB 驅動程序的安裝
?

c)為了開發(fā)這個項目,我們使用“Ada Drivers Library”,我們可以從以下鏈接下載它:https ://github.com/AdaCore/Ada_Drivers_Library

為了設計我的項目,我使用了以下示例:“demo_timer_pwm”、“demo_adc_polling”和“demo_gpio_direct_leds”。您可以在此處找到的文件夾: https ://github.com/AdaCore/Ada_Drivers_Library/tree/master/arch/ARM/STM32/driver_demos

d) CircuitMaker是針對業(yè)余愛好者、黑客創(chuàng)客社區(qū)的印刷電路板設計電子設計自動化軟件。您可以在以下位置下載安裝軟件:https ://circuitmaker.com/

?
circuit_maker_b_IufNzD6n3B.JPG?auto=compress%2Cformat&w=740&h=555&fit=max
設計原理圖和PCB
?

e) Lowell Cady 的 PID示例是 PID(比例、積分、微分)控制的工作示例,您可以在此處下載:https ://www.codeproject.com/Articles/36459/PID-process-control-a -巡航控制示例

?
pid_example_zytEY6WnGW.png?auto=compress%2Cformat&w=740&h=555&fit=max
測試和繪制 PID 系統(tǒng)的程序
?

?

?

?

2.- 電源

?

?

(Timing: 2 hrs)

?

它是如何工作的?

a)開關電源提供 12 伏特直流、5 安培的穩(wěn)定電壓和 330 瓦的最大功率。使用此設備,我們會發(fā)現(xiàn)系統(tǒng)具有良好的穩(wěn)定性,我們必須調整我們想要為電池充電的電壓負載并使用電位器 (R10)。我們可以在這里查閱國際標準:https ://standards.ieee.org/standard/765-2012.html

b)集成電路 LM317 用于通過電位器 R10 產生 3 至 12 伏的電壓調節(jié)。這個集成的技術規(guī)格說它不能產生低于 3 伏的電壓。在這個例子中,我調整了 5.6 伏。計算是:

在 LM317 的技術表中,我們找到以下公式:

Vout =Vref [1+(R2/R1)] +(iADJ)(R2)

例如,LM317 可以工作的最大電壓是 37 伏,如果在我們的圖表中我們將 R9 取為 240 歐姆,那么我們對 R10 進行計算。

Vout =Vref [1+(R10/R9)] +(iADJ)(R10)

我們考慮一個非常小的 iADJ 值,如果我們計算 R10,我們將有:

R10 = (R9/Vref) (Vout -Vref)

R10 = (R9/1, 2) (Vout - 1, 2)

R10 =(240/1, 2)(37-1, 2) = 7, 160 歐姆

對于實際用途,我們使用 10k 電位器。

c)齊納二極管 DZ 用作電壓調節(jié)器,在它的輸出端我獲得了 10.8 伏的最大值,這是我用電壓表測量的。

d)使用的保護裝置如下:保險絲 F1、電容器 C1 和二極管 D1。這些元件對于保護系統(tǒng)免受短路、放電、消除反向直流電流和過濾不需要的信號非常重要。

?
img_20140130_122336_TVZk2oBCX9.jpg?auto=compress%2Cformat&w=740&h=555&fit=max
小心 LM317T 穩(wěn)壓器和齊納二極管的連接
?

?

3.- 充電控制

?

(Timing: 3hrs)

?
02b_LgGAboBTlK.png?auto=compress%2Cformat&w=740&h=555&fit=max
充電控制電路圖
?

它是如何工作的?

a)在該電路中以 Vcc 為單位測量的電壓,電壓表指示為 5、45 伏。在這個例子中,我使用了一個由四個 1、5 伏可充電電池組成的模塊。最大負載電壓為 5.6 伏。我用的是鎳氫電池,我們可以在這里找到國際標準:https ://www.mpoweruk.com/standards.htm

b) STM32F407VG 板生成的 PWM 信號將用于調節(jié)充電電池的負載。為了生成此 PWM 信號,我們采用“Ada 驅動程序庫”中的示例“demo_timer_pwm”并對其進行修改以獲得所需的 PWM 信號。例如,如果電池完全放電,則 PWM 信號具有較大的占空比。

c)晶體管 T1 用于物理分離 STM32F407VG 板和 M1 Mosfet如果它們直接連接,那么這個設備就會損壞,因為 Mosfet 工作在非常高的負載下。電阻 R1 (1k) 必須取一個較低的值,以提高 PWM 信號的開關速度。

d)但是,在晶體管 T1 的輸出端,我們有一個 180 度的異相信號,為了調整這種情況,我們使用晶體管 T2,現(xiàn)在 PWM 信號是同相的。

e)為了將截止區(qū)和飽和區(qū)驅動到我們的 T1 和 T2 晶體管,我們做出以下考慮:

?
transistor-bjtb_NtK7URPvHm.jpg?auto=compress%2Cformat&w=740&h=555&fit=max
共發(fā)射極
?

為了確定飽和電流,我們認為輸出柵極的發(fā)射極集電極電壓等于零。因此:

VCC=IC*RC+VCE | VCC=IC*RC+0

我C=VCC/RC

為了確定截止點,我們認為基極電流等于零,因此集電極電流等于零:

VCC=IC*RC+VCE | VCC=0*RC+VCE

VCE=VCC

?
current-voltageb_5852rJgFZp.png?auto=compress%2Cformat&w=740&h=555&fit=max
共發(fā)射極放大器的截止區(qū)和飽和區(qū)圖
?

f)使用的保護裝置如下:電容器 C1 和二極管 D2。二極管用于消除電池充滿電時的反向直流電流。如果這個二極管不存在,那么電池就會在晶體管 T1 和 T2 中感應出電壓。

?
img_20140130_122345_vd9sCBb4gc.jpg?auto=compress%2Cformat&w=740&h=555&fit=max
我們通過 P 溝道 MOSFET 和兩個晶體管控制充電電池的充電
?

?

?

4.- 負載控制

?

(Timing: 3 hrs)

?
03_LdqY6f8BYT.png?auto=compress%2Cformat&w=740&h=555&fit=max
負載控制電路
?

它是如何工作的?

a) 10K 的電阻 R4 和 8K 的 R5 用作分壓器,用于使用我們的 STM32F407VG 板測量可充電電池的電量。8K 電阻是通過兩個串聯(lián)電阻實現(xiàn)的:4k7 + 3k3。VR5的值我們通過分壓器的計算得到它,這就是:VR5=(R5/(R4+R5))*VBattery)

b)當STM32F407VG板的PD12引腳up時,三極管T3驅動,異相180度。晶體管 T4 校正晶體管 T3 并使原始信號與 PD12 引腳同相。

c)為了將截止區(qū)和飽和區(qū)驅動到我們的 T3 和 T4 晶體管,我們做出以下考慮:

為了確定飽和電流,我們認為輸出柵極的發(fā)射極集電極電壓等于零。因此:IC=VCC/RC

為確定截止點,我們認為基極電流為零,因此集電極電流為零:VCE=VCC

d)當脈沖到達 IPT60R028G7 Mosfet 的“Gate”引腳時,“Source”和“Drain”之間的電路閉合,5 瓦燈點亮。當漏極和源極之間的電壓 (VDS) 超過稱為飽和電壓 (Vds sat) 的固定值時,該 MOSFET 晶體管進入飽和區(qū)。也就是說; 在以下情況下,MOSFET 將位于該區(qū)域:

VGS > VtVDS > (VGS – Vt)。

在 IPT60R028GT 的技術表中我們看到:

柵極閾值電壓

V(GS)th 最小值 = 3

V(GS)th 典型 = 3.5

V(GS)th 最大值 = 4 V

因此,我們需要 3 到 4 伏的“柵極”電壓才能將 Mosfet IPT60R028GT 置于飽和區(qū)。

e)使用的保護裝置如下:電容器 C2 和保險絲 F2。

?
img_20140130_122405_Z1eEEaOVk2.jpg?auto=compress%2Cformat&w=740&h=555&fit=max
我們通過一個 N 溝道 MOSFET 和兩個晶體管來控制燈的負載
?

?

?

5.- 夜燈控制

?

(Timing: 3 hrs)

?
04f_M9A7JtQTs1.png?auto=compress%2Cformat&w=740&h=555&fit=max
小夜燈控制電路圖
?

它是如何工作的?

a)這個“夜燈控制”為我們服務,知道是白天還是晚上并激活燈。該電路由 STM32F407VG 板的 5 伏供電??。

b)為了控制照明,我們使用光敏電阻或 LDR 傳感器。光敏電阻由高電阻半導體制成。在黑暗中,光敏電阻的阻值可高達數兆歐 (MΩ),而在光照下,它的阻值可低至數百歐姆。https://en.wikipedia.org/wiki/光敏電阻

c)當完全黑暗時,LDR 傳感器具有最大電阻(兆歐),T5 晶體管被極化并且在它的輸出端我們有最小電壓,在逆變器電路 (IC40106) 的輸出端我們有 5 伏。IC40106是觸發(fā)器施密特反相器電路。在下圖中我們可以了解到一個非反相電路是如何工作的,這有助于我們理解反相電路40106是如何工作的。當您想用非數字信號控制數字電路時,這些電路很有用。

?
1_HjD6JY5TYc.jpg?auto=compress%2Cformat&w=740&h=555&fit=max
光敏電阻和非逆變器電路的信號
?

40106 的 VT 和 VT- 值(所有值均以伏特為單位)

?
trigger_scmitt_15RmaSNLWc.JPG?auto=compress%2Cformat&w=740&h=555&fit=max
觸發(fā)器施密特的典型值
?

d)我們通過電路中所示的肖特基二極管將這個 5 伏特轉換為 3 伏特,并將該電壓施加到我們的 STM32F407VG 板的 PA0 引腳。

e)當光照最大時,則相反。LDR 傳感器具有最小電阻,T5 晶體管沒有極化,在它的輸出端我們有 5 伏的 Vcc,它通過 IC40106 逆變器電路的引腳 9 進入。最后我們有 0 伏,它被施加到 STM32F407VG 板的 PA0 引腳

f)為了將截止區(qū)和飽和區(qū)驅動到我們的 T5 晶體管,我們做出以下考慮:

為了確定飽和電流,我們認為輸出柵極的發(fā)射極集電極電壓等于零。因此:IC=VCC/RC

為確定截止點,我們認為基極電流為零,因此集電極電流為零:VCE=VCC

g)在 STM32F407VG 板的 PA0 引腳上,當電壓為零時,紅色 LED 亮起,燈熄滅。當我們有 5 伏特時,綠色 LED 亮起,電燈亮起。

?
img_20140130_122512_v6M4WGaHYQ.jpg?auto=compress%2Cformat&w=740&h=555&fit=max
您必須確保光敏電阻沒有障礙物才能檢測到光
?

?

?

?

6.- 從正弦函數生成控制 PWM 信號

?

(Timing: 1day)

在這個板上,我們將生成 PWM 控制信號,激活負載,并監(jiān)控電池電壓和“夜燈控制”的狀態(tài)。我們還將使用它的 4 個 LED 作為我系統(tǒng)狀態(tài)的指示器。您可以在代碼部分找到該程序。項目庫:“帶夜燈控制的電池充電器”

?
05b_jlEBu5B6JF.png?auto=compress%2Cformat&w=740&h=555&fit=max
主板和連接
?

它是如何工作的?

a)我們監(jiān)控 PA1 模擬端口上的電池電壓,其中我們的值從 0 到 4095 ADC。

b) PWM信號是在STM32F407VG板上通過Timer4的中斷和30kHz正弦函數的產生而產生的。在我們的代碼中,我們使用以下說明指示它:

Arg := Long_Float((Raw*5)/4095); -- 5 is an experimental value
Value := Percentage (50.0 * (1.0 +Sine (Arg))); -- duty cycle value
Power_Control.Set_Duty_Cycle (Value);-- PWM signal
?
pwm_b_7Q59bHTDHS.jpg?auto=compress%2Cformat&w=740&h=555&fit=max
代碼自動生成這三個占空比
?

我們將根據正弦函數逐漸調整占空比。

?
sineb_VSormkFvar.jpg?auto=compress%2Cformat&w=740&h=555&fit=max
正弦函數示例
?

正弦函數使用以下代碼計算:

  function Sine (Input : Long_Float) return Long_Float;
  --  In this demonstration we roll our own approximation to the sine function
  --  so that it doesn't matter which runtime library is used.
  function Sine (Input : Long_Float) return Long_Float is
     Pi : constant Long_Float := 3.14159_26535_89793_23846;
     X  : constant Long_Float := Long_Float'Remainder (Input, Pi * 2.0);
     B  : constant Long_Float := 4.0 / Pi;
     C  : constant Long_Float := (-4.0) / (Pi * Pi);
     Y  : constant Long_Float := B * X + C * X * abs (X);
     P  : constant Long_Float := 0.225;
  begin
     return P * (Y * abs (Y) - Y) + Y;
  end Sine;

https://visualgdb.com/tutorials/arm/stm32/fpu/

此代碼生成我的項目所需的以下三個占空比,如下所示:

?
tabla_8DiaWQLqCY.PNG?auto=compress%2Cformat&w=740&h=555&fit=max
該方法僅生成三個占空比,這三個占空比取決于測得的模擬電壓
?

占空比是信號或系統(tǒng)處于活動狀態(tài)的一個周期的一部分。占空比通常表示為百分比或比率。周期是信號完成一個開關周期所花費的時間。作為一個公式,占空比 (%) 可以表示為:D= (PW/T)x100%

其中 D 是占空比,PW 是脈沖寬度,T 是信號的總周期。https://en.wikipedia.org/wiki/Duty_cycle

c) VR5的值我們通過分壓器的計算得到,即:VR5=(R5/(R4+R5))*VBattery)

d)如果電池電壓低于大約 4 伏,則紅色 LED 亮起,綠色和橙色 LED 熄滅。在本例中,我們的值小于 2457 ADC。

e)如果電池電壓超過約 5.4 伏,則橙色 LED 亮起,紅色 LED 熄滅。在此示例中,我們的值大于 3276 ADC。

f)如果 STM32F407VG 從 PA0 端口接收到脈沖,則綠色 LED 點亮表示現(xiàn)在是晚上,燈通過 PD12 引腳點亮。

g)如果電池電壓大約在 4 到 5.4 伏之間,橙色和紅色 LED 會亮起。在這個例子中,我們有從 2475 到 3275 ADC 的值。

         if Raw < 2457 then -- if the battery < 4 volts aprox
           Red_LED.Set; -- Red LED os ON
           Green_LED.Clear; -- Green LED is OFF
           Orange_LED.Clear; -- Orange LED is OFF
           delay until Clock + Milliseconds (2000); -- slow it down to ease reading
        elsif Raw >= 3276 then -- If the battery > 5,4 volts aprox
           Red_LED.Clear; -- Red LED is OFF
           Orange_LED.Set; -- Orange LED is OFF
        elsif STM32.User_Button.Has_Been_Pressed then -- If PA0 is ON
           Green_LED.Set; -- Green LED is ON
        else -- If battery is between: 4 to 5,4 volts aprox
           Orange_LED.Set; -- Orange LED is ON
           Red_LED.Set; -- Red LED is ON
        end if;

?

7.- 從 PID 控制器生成控制 PWM 信號

?

(Timing: 2days)

在此測試中,我們將使用不同的程序。您可以在代碼部分找到該程序。項目庫:“帶夜燈控制的 PID 電池充電器”

它是如何工作的?

a)如果我們想控制一個系統(tǒng),最好的解決辦法是利用PID控制。PID 是一種控制回路反饋機制,廣泛用于工業(yè)控制系統(tǒng)和各種其他需要連續(xù)調制控制的應用。PID 控制器連續(xù)計算誤差值作為所需設定點 (SP) 和測量過程變量 (PV) 之間的差異,并根據比例、積分和微分項(分別表示為 P、I 和 D)應用校正,由此得名。

?
pid_en_svg_Ym2ha6InTy.png?auto=compress%2Cformat&w=740&h=555&fit=max
PID控制器
?

在我的例子中,STM32F507 板生成一個 30 kHz 的 PWM 信號,控制數據為:dt = 0.0005,Kp = 0.025 和 Ki =0.025。您可能會注意到微分項非常小或為零。我的 PID 控制器的仿真如下:

?
pid_test_ZON81zalQo.JPG?auto=compress%2Cformat&w=740&h=555&fit=max
使用 Lowell Cady 程序來測試我的 PID 控制器。
?

https://en.wikipedia.org/wiki/PID_controller

b)決定何時應用 PWM 控制信號的工作留給了 STM32F407 板。在我的示例中,該板執(zhí)行計算并生成 PWM 控制信號。使用我的 PICkit2 設備,我得到了以下 PWM 信號。

?
pwm_pid_2_6pdvGaVJv7.jpg?auto=compress%2Cformat&w=740&h=555&fit=max
PID 控制器產生許多占空比,這些占空比取決于反饋。
?

c)分壓器 VR5 向我們的端口 PA1 提供模擬值,并將其與“設定值”進行比較。“設定點”由代碼編程,我們進行了一個設定點測試:VBattery = 4.95 伏/VR5 = 2、2 伏/ADC = 3003 ADC。

  declare
     Value     : Percentage;
     Raw1      : Long_Float;
     setpoint  : constant := 3003.0; -- VR5 = 2.2 volts / Vbat = 4.95 volts 
     error     : Long_Float := 0.0;
     output    : Long_Float;
     integral  : Long_Float := 0.0;
     dt        : constant := 0.0005;
     Kp        : constant := 0.025;
     Ki        : constant := 0.025;

d)例如,如果電池放電,則程序會計算誤差,并生成一個具有高占空比的 PWM 信號。如果電池已充電,則程序會生成一個占空比較小的 PWM 信號。

 begin
        STM32.User_Button.Initialize; -- btn instruction
     loop
        Start_Conversion (Converter); --adc instruction
        Poll_For_Status (Converter, Regular_Channel_Conversion_Complete, Successful); --adc instruction
        Raw := UInt32 (Conversion_Value (Converter)); -- reading PA1
        Raw1 := Long_Float(Raw * 1);
        error := (setpoint - Raw1);
        integral := (integral + (error*dt));
        output := ((Kp*error) + (Ki*integral));
        Value := Percentage (output); -- duty cycle value
        if Value < 10 then -- if the duty cycle < 10%
           Power_Control.Set_Duty_Cycle (10);
           Red_LED.Set; -- Red LED os ON
           Green_LED.Clear; -- Green LED is OFF
           Orange_LED.Clear; -- Orange LED is OFF
           delay until Clock + Milliseconds (500); -- slow it down to ease reading                                    
        elsif Value >= 90 then -- If the duty cycle > 90%
           Power_Control.Set_Duty_Cycle (90);
           Red_LED.Clear; -- Red LED is OFF
           Orange_LED.Set; -- Orange LED is OFF
        elsif STM32.User_Button.Has_Been_Pressed then -- If PA0 is ON
           Green_LED.Set; -- Green LED is ON
        else -- If the duty cycle is from: 10 - 90 %
           Power_Control.Set_Duty_Cycle (Value); -- PWM signal
           Orange_LED.Set; -- Orange LED is ON
           Red_LED.Set; -- Red LED is ON
        end if;
        delay until Clock + Milliseconds (10); -- slow it down to ease reading
     end loop;

現(xiàn)在我們有了一個智能系統(tǒng),它具有生成多個工作周期的優(yōu)勢,我們將更有效地利用能源。

?
tabla_2_emFTV7xIuX.PNG?auto=compress%2Cformat&w=740&h=555&fit=max
這些是使用 PID 控制器獲得的值的示例
?

?

?

?

8.- 電路板設計

?

(Timing: 2days)

原理圖電路是在CircuitMaker上制作的。您可以在自定義部件和外殼部分找到存儲庫。項目庫:“帶夜燈控制的 PID 電池充電器的電路板設計”

?
schematic_lJ3ugvIbFY.PNG?auto=compress%2Cformat&w=740&h=555&fit=max
電路圖開發(fā) CircuitMaker
?

?

?
pcb_f_oK59ZJX9RT.PNG?auto=compress%2Cformat&w=740&h=555&fit=max
PCB 2D開發(fā)的CircuitMaker
?

?

?
pcb_3d_f_KiNL3KYICb.PNG?auto=compress%2Cformat&w=740&h=555&fit=max
PCB 3D 開發(fā) CircuitMaker
?

?

?
captura_3d_Hp5vVfYFF7.PNG?auto=compress%2Cformat&w=740&h=555&fit=max
正交旋轉視圖由 CircuitMaker 提供支持
?

?

?

9.- 組裝

?

(Timing: 2 days)

接下來,我將向您展示一些裝配圖。

?
ensamble_1_h6iPKhAxX6.jpg?auto=compress%2Cformat&w=740&h=555&fit=max
焊接
?

?

?
ensamble_2_ZzSUHKvjow.jpg?auto=compress%2Cformat&w=740&h=555&fit=max
用盒子保護電路
?

?

?
ensamble_4_PYhBlDyWYj.jpg?auto=compress%2Cformat&w=740&h=555&fit=max
原型完成
?

?

?

?

?

10.- 測試

?

(Timing: 1 day)

從正弦函數生成控制 PWM 信號:

這個例子不需要設置點,PWM 信號是自動生成的,正如我們在第 6 步中看到的那樣,其中只生成了三個占空比。

?

?

?
img_20140130_125907_htLERTVgVT.jpg?auto=compress%2Cformat&w=740&h=555&fit=max
測試頂視圖
?

?

?
led_green_aRLdhR84vd.jpg?auto=compress%2Cformat&w=740&h=555&fit=max
充電電池示例
?

?

?
01_frecuencia_30khz-33us_DvSiQ9SpWp.PNG?auto=compress%2Cformat&w=740&h=555&fit=max
測量頻率 = 30 kHz
?

?

?
02_duty_cycle_31_us_uMnpzgWJnS.PNG?auto=compress%2Cformat&w=740&h=555&fit=max
電池放電,占空比 = 94%
?

?

?
03_duty_cycle_19_us_NGtdeFvLn8.PNG?auto=compress%2Cformat&w=740&h=555&fit=max
電池放電一半,占空比 = 55%
?

?

?
04_duty_cycle_4_us_vYXeGLHI3J.PNG?auto=compress%2Cformat&w=740&h=555&fit=max
電池充滿電,占空比 = 11%
?

?

從 PID 控制器生成控制 PWM 信號

設定點:VBattery = 4.95 伏/VR5 = 2、2 伏/ADC = 3003 ADC。

我們可以理解,這里的 PID 控制器會生成許多占空比。

?
a1_2_2v_30khz_KhPJYTkv1x.JPG?auto=compress%2Cformat&w=740&h=555&fit=max
測量頻率 = 30 kHz
?

?

?
a1_2_2v_dc_3us_MUtvkeHxUt.JPG?auto=compress%2Cformat&w=740&h=555&fit=max
VR5 = 2.2 伏,占空比 = 11%
?

?

?
b_1_99v_dc_4us_QWN2lLDNfB.JPG?auto=compress%2Cformat&w=740&h=555&fit=max
VR5 = 1.99 伏,占空比 = 12%
?

?

?
c_1_6v_dc_7us_uY3YZPkzuc.JPG?auto=compress%2Cformat&w=740&h=555&fit=max
VR5 = 1.6 伏,占空比 = 21%
?

?

?
d_1_3v_dc_8us_t8dfJrCOQC.JPG?auto=compress%2Cformat&w=740&h=555&fit=max
VR5 = 1.3 伏,占空比 = 24%
?

?

?
e_1_13v_dc_16us_Uk4wAddRuS.JPG?auto=compress%2Cformat&w=740&h=555&fit=max
VR5 = 1.13 伏,占空比 = 48%
?

?

?
f_0_9v_dc_30us_USjuhnJ8Ve.JPG?auto=compress%2Cformat&w=740&h=555&fit=max
VR5 = 0.9 伏,占空比 = 91%
?

?

?

?

?

?

?

11.- 結論

?

?

  • 首先,我的意圖是做一些有用的項目,可以為我們解決實際問題。我曾經問自己是否有可能構建一個智能家居電池充電器,并且我們可以通過它有效地利用能源。答案是肯定的,問題解決了,而且不用花很多錢。
  • 軟件:在這個項目中,我學會了使用“GNAT Programming Studio”軟件,因為我習慣于使用 Python、Processing 和 C++,并且 AdaCore 的技術支持很好地建議我了解一些要點這種語言編程。
  • 硬件在這個項目中,我使用了不同的電子領域:a)微控制器(PWM 信號以及數字和模擬端口);b) 電力電子設備(Mosfet、電池和燈);c) 數字電子(IC Trigger Schmitt);d) 傳感器(LDR);e) 控制理論(PID 控制器)。
  • 應用:雖然正弦函數生成三個非常有用的占空比,但系統(tǒng)使用 PID 控制器變得更加高效和實用,因為電池充電速度更快,使用壽命更長。夜燈的控制被用來激活一盞燈。這個項目可以作為我們未來開發(fā)“路燈控制”的一個例子,使用太陽能電池板或風能。

?

?


下載該資料的人也在下載 下載該資料的人還在閱讀
更多 >

評論

查看更多

下載排行

本周

  1. 1山景DSP芯片AP8248A2數據手冊
  2. 1.06 MB  |  532次下載  |  免費
  3. 2RK3399完整板原理圖(支持平板,盒子VR)
  4. 3.28 MB  |  339次下載  |  免費
  5. 3TC358743XBG評估板參考手冊
  6. 1.36 MB  |  330次下載  |  免費
  7. 4DFM軟件使用教程
  8. 0.84 MB  |  295次下載  |  免費
  9. 5元宇宙深度解析—未來的未來-風口還是泡沫
  10. 6.40 MB  |  227次下載  |  免費
  11. 6迪文DGUS開發(fā)指南
  12. 31.67 MB  |  194次下載  |  免費
  13. 7元宇宙底層硬件系列報告
  14. 13.42 MB  |  182次下載  |  免費
  15. 8FP5207XR-G1中文應用手冊
  16. 1.09 MB  |  178次下載  |  免費

本月

  1. 1OrCAD10.5下載OrCAD10.5中文版軟件
  2. 0.00 MB  |  234315次下載  |  免費
  3. 2555集成電路應用800例(新編版)
  4. 0.00 MB  |  33566次下載  |  免費
  5. 3接口電路圖大全
  6. 未知  |  30323次下載  |  免費
  7. 4開關電源設計實例指南
  8. 未知  |  21549次下載  |  免費
  9. 5電氣工程師手冊免費下載(新編第二版pdf電子書)
  10. 0.00 MB  |  15349次下載  |  免費
  11. 6數字電路基礎pdf(下載)
  12. 未知  |  13750次下載  |  免費
  13. 7電子制作實例集錦 下載
  14. 未知  |  8113次下載  |  免費
  15. 8《LED驅動電路設計》 溫德爾著
  16. 0.00 MB  |  6656次下載  |  免費

總榜

  1. 1matlab軟件下載入口
  2. 未知  |  935054次下載  |  免費
  3. 2protel99se軟件下載(可英文版轉中文版)
  4. 78.1 MB  |  537798次下載  |  免費
  5. 3MATLAB 7.1 下載 (含軟件介紹)
  6. 未知  |  420027次下載  |  免費
  7. 4OrCAD10.5下載OrCAD10.5中文版軟件
  8. 0.00 MB  |  234315次下載  |  免費
  9. 5Altium DXP2002下載入口
  10. 未知  |  233046次下載  |  免費
  11. 6電路仿真軟件multisim 10.0免費下載
  12. 340992  |  191187次下載  |  免費
  13. 7十天學會AVR單片機與C語言視頻教程 下載
  14. 158M  |  183279次下載  |  免費
  15. 8proe5.0野火版下載(中文版免費下載)
  16. 未知  |  138040次下載  |  免費