版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認(rèn)領(lǐng)
文檔簡介
霍爾信號根據(jù)在電機安裝位置的不同,有2種不同的時序圖,分別是60度和120度。這個要根據(jù)電機的廠家提供的資料。
我這次選型的電機是60度。
時序圖如下:
s1-s6分別對應(yīng)6個狀態(tài),每一個狀態(tài)的電氣角度是60度。
霍爾信號在這里不僅要用來換向。還要用測速,提高電機控制系統(tǒng)的測速反饋。
先來說換向。s1-s6代表6個狀態(tài),每個狀態(tài)對應(yīng)6個開關(guān)管的開啟和關(guān)閉。
上圖為6個狀態(tài)對應(yīng)霍爾信號邏輯電平和對應(yīng)6個開關(guān)管的開關(guān)邏輯狀態(tài)。
軟件部分這里很好處理,簡單的狀態(tài)機就可以實現(xiàn)了。
但是,不要忘記我們的集成模塊是dvr8312,它的控制接口為pwm_apwm_b,pwm_crst_a,rst_b,rst_c,并不是對應(yīng)6個開關(guān)管。
這是dvr8312手冊上給出的用常規(guī)6個開關(guān)管信號的邏輯圖。我們就按手冊的來。
程序如下:
`timescale1ns/1ps
modulePWM_ctrl(clk,rst_n,
pwm_ah,pwm_bh,pwm_ch,
rst_an,rst_bn,rst_cn,
hall_a,hall_b,hall_c
);
inputclk;
inputrst_n;
inputhall_a;
//三相霍爾信號
inputhall_b;
inputhall_c;
outputpwm_ah;
//a相輸出
outputpwm_bh;
//b相輸出
outputpwm_ch;
//c相輸出
outputrst_an;
//rst_a輸出
outputrst_bn;
//rst_b輸出
outputrst_cn;
//rst_c輸出
//---------------------------------------------------------------------
//霍爾換相分為6狀態(tài)每狀態(tài)只有2相通電
//
s1
s2
s3
s4
s5
s6
//hall_a
1
1
1
0
0
0
//hall_b
0
0
1
1
1
0
//hall_c
1
0
0
0
1
1
//pwm_ah
1
1
0
0
0
0
//pwm_al
0
0
0
1
1
0
//pwm_bh
0
0
1
1
0
0
//pwm_bl
1
0
0
0
0
1
//pwm_ch
0
0
0
0
1
1
//pwm_cl
0
1
1
0
0
0
//----------------------------------------------------------------------
reg[2:0]hall1;
reg[2:0]hall2;
regpwm_ahr;
regpwm_bhr;
regpwm_chr;
regpwm_alr;
regpwm_blr;
regpwm_clr;
//reg
[9:0]ctrl_reg;
reg
pwm_reg;
reg[9:0]cnt;
parameterctrl_reg=200;
always@(posedge
clkornegedgerst_n)
if(!rst_n)begin
pwm_reg<=
1'b0;
cnt<=10'b0;
end
elsebegin
if(cnt<=ctrl_reg)
pwm_reg<=1'b1;
elsepwm_reg<=1'b0;
end
always@(posedgeclkornegedgerst_n)
if(!rst_n)cnt<=10'b0;
elsecnt<=cnt+1'b1;
always@(posedgeclkornegedgerst_n)
if(!rst_n)begin
hall1<=3'b0;
hall2<=3'b0;
end
elsebegin
hall1<={hall_a,hall_b,hall_c};
hall2<=hall1;
end
//------------------------------------------------------------------------
always@(posedgeclkornegedgerst_n)
if(!rst_n)begin
pwm_ahr<=1'b0;
pwm_bhr<=1'b0;
pwm_chr<=1'b0;
pwm_alr<=1'b0;
pwm_blr<=1'b0;
pwm_clr<=1'b0;
end
elsebegin
case(hall2)
3'b101:begin
pwm_ahr<=pwm_reg;
pwm_bhr<=1'b0;
pwm_chr<=1'b0;
pwm_alr<=1'b0;
pwm_blr<=pwm_reg;
pwm_clr<=1'b0;
end
3'b100:begin
pwm_ahr<=pwm_reg;
pwm_bhr<=1'b0;
pwm_chr<=1'b0;
pwm_alr<=1'b0;
pwm_blr<=1'b0;
pwm_clr<=pwm_reg;
end
3'b110:begin
pwm_ahr<=1'b0;
pwm_bhr<=pwm_reg;
pwm_chr<=1'b0;
pwm_alr<=1'b0;
pwm_blr<=1'b0;
pwm_clr<=pwm_reg;
end
3'b010:begin
pwm_ahr<=1'b0;
pwm_bhr<=pwm_reg;
pwm_chr<=1'b0;
pwm_alr<=pwm_reg;
pwm_blr<=1'b0;
pwm_clr<=1'b0;
end
3'b011:begin
pwm_ahr<=1'b0;
pwm_bhr<=1'b0;
pwm_chr<=pwm_reg;
pwm_alr<=pwm_reg;
pwm_blr<=1'b0;
pwm_clr<=1'b0;
end
3'b001:begin
pwm_ahr<=1'b0;
pwm_bhr<=1'b0;
pwm_chr<=pwm_reg;
pwm_alr<=1'b0;
pwm_blr<=pwm_reg;
pwm_clr<=1'b0;
end
default:;
endcase
end
assignrst_an=pwm_ahr|pwm_alr;
assignrst_bn=pwm_bhr|pwm_blr;
assignrst_cn=pwm_chr|pwm_clr;
assignpwm_ah=pwm_ahr;
assignpwm_bh=pwm_bhr;
assignpwm_ch=pwm_chr;
//-----------------------------------------------------------------------------
endmodule
如果要換向的話,只需要改變狀態(tài)切換順序就可以。這里就不詳細(xì)說了。簡要說明,軟件思路,計數(shù)器計數(shù),pwm_reg為經(jīng)過控制算法處理后的控制量,和計數(shù)器進行比較,如果小于輸出高電平,大于輸出低電平。
仿真圖如下:
占空比為50%時??梢悦黠@看到每個換向狀態(tài)只有2個管開,而且分別對應(yīng)一上一下。
具體計數(shù)器的位數(shù)選擇我會在以后的系統(tǒng)連接中作說明。
沒有整個系統(tǒng)的聯(lián)系這個位數(shù)是無法確定的。位數(shù)也同樣決定了時鐘頻率。作為電機控制的2個環(huán)路之一速度環(huán)。
這里采用霍爾信號進行測速。
再來看霍爾的時序圖
一次高電平對應(yīng)180度的電氣角度。如果對高電平進行計數(shù),計數(shù)值就對應(yīng)180度的電氣角度。計數(shù)時間就是時鐘周期與計數(shù)值的積,這就得到電氣速度。相對應(yīng)機械角度要查看電機的磁極對數(shù),電氣速度/磁極對數(shù)就是相應(yīng)的機械速度。
利用霍爾信號測速的方法有分兩種。一種就是如我之前說的對高電平計數(shù),還有一種就是固定一個時間內(nèi)對霍爾信號的高電平計數(shù)。同樣也可得到速度。
這部分我參考了很多資料。最后選用一種對2相霍爾信號取與非,得到一個一個霍爾開關(guān)狀態(tài)下的高電平,用計數(shù)器對這個高電平計數(shù)的方法。
這部分具體效果如果只能等實際測定后才能下結(jié)論。
程序如下:
odulespeed_get(clk,rst_n,hall_a,hall_b,speed
);
inputclk;
inputrst_n;
inputhall_a;
inputhall_b;
//inputhall_c;
output[15:0]speed;
reghall_ar1,hall_ar2;
reghall_br1,hall_br2;
//reghall_cr1,hall_cr2;
always@(posedgeclkornegedgerst_n)
if(!rst_n)begin
hall_ar1<=1'b0;
hall_ar2<=1'b0;
hall_br1<=1'b0;
hall_br2<=1'b0;
end
elsebegin
hall_ar1<=hall_a;
hall_ar2<=hall_ar1;
hall_br1<=hall_b;
hall_br2<=hall_br1;
end
wirehall_speed=hall_ar2&&(~hall_br2);
reghall_speed1;
always@(posedgeclkornegedgerst_n)
if(!rst_n)begin
hall_speed1<=1'b0;
end
elsebegin
hall_speed1<=hall_speed;
end
wirehall_neg=hall_speed1&&~hall_speed;
wirehall_pos=~hall_speed1&&hall_speed;
reg[15:0]cnt_speed;
reg[15:0]speed_reg;
reg[1:0]state;
always@(posedgeclkornegedgerst_n)
if(!rst_n)begin
cnt_speed<=16'b0;
state<=2'b00;
end
elsebegin
case(state)
2'b00:begin
if(hall_pos)state<=2'b1;
elsestate<=1'b0;
end
2'b01:begin
cnt_speed<=cnt_speed+1'b1;
if(hall_neg)
state<=2'b11;
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2024年適用型房地產(chǎn)勞動協(xié)議范例
- 2024商鋪局部改造施工協(xié)議樣本
- 2024年數(shù)據(jù)保護與信息安全保密協(xié)議
- 2024年合作投資資金安排協(xié)議
- 2024年項目顧問協(xié)議模板詳解
- 2024非金融機構(gòu)借款協(xié)議示例
- 2024年商用中央空調(diào)購銷協(xié)議要約
- 2024年度工程設(shè)計協(xié)議格式
- 2024年定制門衛(wèi)勞務(wù)服務(wù)協(xié)議范本
- 2024年公司重組并購協(xié)議示例
- 資產(chǎn) 評估 質(zhì)量保證措施
- 小學(xué)二年級上冊道德與法治-9這些是大家的-部編ppt課件
- 《礦山機械設(shè)備》復(fù)習(xí)題
- 冷庫工程特點施工難點分析及對策
- 中國古代樓閣PPT課件
- 排舞教案_圖文
- 簡單趨向補語:V上下進出回過起PPT課件
- 超聲檢測工藝卡
- 公司“師帶徒”實施方案
- 《內(nèi)科護理學(xué)》病例分析(完整版)
- 5GQoS管理機制介紹
評論
0/150
提交評論