導航:首頁 > 操作系統 > 單片機三相電c語言程序

單片機三相電c語言程序

發布時間:2023-05-12 04:42:19

① 高分懸賞 如何利用單片機編程產生三相電

你這個,我還真沒什麼特別好的辦法,不過有以下幾點說明的,會提供給你有用的建議:

通常,我們從220v取電的時候,用的是rc降壓,外加一個穩壓管,關於rc降壓,你去網路文庫里找,有的是資料,但是,這樣取出來的電,一般也就在0.2w左右,主要是電阻功率和體積的限制,而你要從兩個火線上取電,兩個火線的電壓是380v,相要達到0.5w,你得用很大功率的電阻才能滿足,這要佔用很大的體積,不太好實現,因為你說了,你的模塊體積限定了。

建議你,如果有零線參與的話,可以從任何一個火線加零線取電,這樣電壓變成220v,相對來說,rc降壓能達到的功率要大一些。

建議你,採用低功耗的單片機,比如430單片機,或者普通的單片機,但是把主頻率降到最低水平上,不然的話,你的功耗還是比較大的。

如果你只是檢測三相的相序,缺相正常與否,而不需要明確的指示出到底是反相,還是缺相,那麼,其實完全不用單片機,可以用邊沿飲品代替,這樣功耗就比較低了,即使你rc從380取電,也可以滿足,具體電路,看我的文庫里,我上傳過一篇文章,那是我設計的三相檢測器,完全可用的。

② 您好,用單片機實現三相缺相檢測的問題,希望能得到你的幫助,

這里通過限流電阻和光電隔離器的二極體將高電壓交流信號變為脈動直流小電流,該電流驅動放光二極體發光,從而使光電隔離器的隔離側導通,一方面點亮LED指示燈,另一方面將信號通過反相器送到單片機檢測。注意,由於二極體的單相導通性,單片機收到的是脈沖信號,而不是固定電平。缺相或某相電壓過低時,光電隔離器不能導通,輸出無脈沖信號。
為了使輸出變為固定的電平信號,可在光電隔離器輸出側加二極體整流及電容濾波。
LX+、LX-連接到被測電壓(相電壓或線電壓)的兩端。
1、對於三相四線制,共有A、B、C、N四根線。
所有Lx-接N,L1+、L2+、L3+分別接A、B、C。
2、對於三相三線制,只有A、B、C三根火線。
L1+接A、L1-接B、L2+接B、L2-接C、L3+接C、L3-接A。
3、L4+和L4-可取自三相中的任一相。如三相四線制的A、N或三相三線制的A、B

③ 求單片機c語言控制步進電機調速程序

給你一段簡單的程序代碼,控制步進電機的,不過你要好好看看譽槐程序的編寫,以適應你的硬體(主要是連線),你可以在實現這個的基礎上實現你所說的目標,個人覺得你參考這個程序然後自己實現你所說的功能比較好:
#include
unsigned
char
code
f_rotation[4]={0x08,0x10,0x20,0x40};//正轉表格
unsigned
char
code
b_rotation[4]={0x40,0x20,0x10,0x08};//反轉表格
void
delay(unsigned
int
i)//延時
{
while(--i);
}
main()
{
unsigned
char
i;
while(1)
{
for(i=0;i<4;i++)
//4相
{
p1=f_rotation[i];
//輸出對應的相運虛賣
可以自行換成反旁逗轉表格
delay(500);
//改變這個參數可以調整電機轉速
}
}
}

④ 求單片機c語言控制步進電機調速程序

幾相的步進電機啊?用不用驅動晶元?用的話選什麼型號的驅動晶元?你要說具體點啊!
先給你三相的,個不用驅動晶元的步進電機程序。(驅動電路自己做)
#include<reg51.h>
#define uchar unsigned char
#define uint unsigned int
uint time

void timer1(void) interrupt 1 using 1{ //定時器0中斷,定時1ms//
TH0=(65536-1000)/256;
TL0=(65536-1000)%256;
time++;
}

void delay(uint n){ //一般延時
while(--n);
}

void delay(uint dtime){ //延時
TR0=1;
while(time<=dtime);
time=0;
TR0=0;
}

void moto(bit cf,uchar n,uint dtime){ //電機驅動子程序,
uchar idata zhpai[4]={0x78,0xb8,0xd8,0xe8};
uchar idata fpai[4]={0xe8,0xd8,0xb8,0x78};
uchar i,l=0;
if(cf==0) //正轉,A-B-C-A
for(i=0;i<n;i++){
P1=zhpai[l];//P1.7~1.4為輸出口,分別為A、B、C、D
l++;
delay(dtime);
if(l==4)l=0;
}
else{ //反轉,C-B-A-C
for(i=0;i<n;i++){
P1=fpai[l];
l++;
delay(dtime);
if(l==4)l=0;
}
}
}

void main(){
TMOD=0x01;
TH0=(65536-1000)/256;
TL0=(65536-1000)%256;
EA=1;
ET0=1;
while(1){
moto(0,4,70);//正轉,轉四相,每相間隔70ms
delay(10000);
moto(1,4,70);//反轉,轉四相,每相間隔70ms
delay(10000);
}
}

⑤ 三相多功能電表設計

E甲2302

全國大學生電子設計競賽
(2010 年)

三相多功能電表(E題)

設計說明書

2010年9月

目 錄
摘 要 I
一. 方案比較與論證 1
1.1 總方案的選擇 1
1.2核心功能模塊選擇與比較 1
1.2.1電能參數計量模塊…………………………………1
1.2.2電壓、電流檢測模塊……………………………………2
二. 理論分析與計算 2
2.1信號檢測模塊 2
2.2晶元計量原理 3
三 .電路圖及相關設計文件 4
3. 1 直流電源 4
3.2 檢測模塊 4
3.3計輪沒升量晶元ATT7022………………………………………………5
3.4 顯示模塊………………………………………………………...6
3.5通信模塊…………………………………………………………6
3.6 軟體設計流程圖………………………………………………..7
四. 測試方法與儀器 8
五. 測試結果與分析…………………………………………………….8
總 結
參考文獻

摘 要
本方案主要由檢測電路、專用電能計量晶元ATT7022、89C52單片機、128×64液晶察陪顯臘老示、按鍵、RS485通信、紅外通信以及電源部分組成。電路中的電流(電壓)信號經過電流(電壓)互感器,強電信號轉換為安全的弱電信號,通過ATT7022把計量數據傳給單片機,由單片機控制128×64液晶顯示,另設按鍵可選擇顯示測量數據,並擴展RS485和紅外線通信功能。因為ATT7022具有極高的精度,能夠達到1級測量精度要求,由於互感器鐵芯趨於飽和,當電力線路出現過電壓或過電流時,其輸出不會成正比的增加,能保護測量儀表設備。

關鍵詞: 單片機 ATT7022計量晶元 三相電參數測試 RS485通信

紅外通信
Abstract
This scheme mainly consists of Detection circuit, Special energy metering ATT7022 chips,89C52,128 * 64 LCD display,key,RS485 communication,Infrared communication and power..The current in the circuit by current signal (voltage transformer, high voltage (voltage) signals are converted to electricity signal, the safety ATT7022 through the measurement data to SCM by single-chip microcomputer control, 128 * 64 LCD display, and buttons can choose to display measured data, and expand RS485 and infrared communication function. Because of the high precision, ATT7022 can reach 1 level measurement accuracy requirement, and because of transformer core tend to saturation, when power line voltage or current appeared, the output will increase, the proportional to the measuring equipment to protect.

Keyword: 89C52 ATT7022 measurement chip Three-phase electrical-

-parameter test RS485 Serial Communication Infrared communication
一 方案比較與論證
1.1總方案的選擇
實現思路
本次設計的任務是製作一個能同時對三相工頻交流電的三相電壓、三相電流、三相有功功率、三相無功功率、總有功功率、總無功功率、功率因數、電網頻率、有功電能和無功電能進行測量的數字式多用表。

1.2 核心功能模塊選擇與比較
1.2.1 電能參數計量模塊
方案一:本方案用ADE7755計量電能,因為要用三片ADE7755晶元分別對每一相的有功電能進行單獨計量,再疊加到三相總有功電能,致使電能計量電路在電路板上佔用空間大、線路密集,造成電表抗干擾能力差;成本較高,致使產品的性價比低;ADE7755在500:1的動態范圍內誤差小於0.1%,電能計量晶元的參數不可調使得電表計量精度降低.
方案二: 本方案用晶元ATT7022計量電能,ATT7022能准確地測量電網的電壓、電流、頻率、功率、電能等參數;ATT7022精度高,在輸入動態工作范圍(1000:1)內,非線性測量誤差能達到小於0.1%的精度;ATT7022可設置寄存器使之適用於三相三線和三相四線的工作環境;同時能提供電壓和電流相序檢測;還能提供電壓和電流的有效值參數,有效值精度要優於0.5%。很好的滿足了設計中對測量功能、技術參數以及准確度的要求。所以選擇方案二。
1.2.2電壓、電流檢測模塊
信號採集板給信號處理板提供要採集的電流電壓,並隔離掉干擾信號,避免其進入主控電路板。在信號的檢測部分,有利用互感器和霍爾感測器檢測兩種方法。
方案一 利用霍爾感測器採集三相電參數。霍爾感測器性能優越,但成本較高。
方案二 利用電流電壓互感器採集三相電參數。電流和電壓互感器是一種特殊的變壓器,把大電流(高電壓)變成小電流(低電壓),實現了弱電控制強電,保證了電力系統的安全。由於互感器鐵芯趨於飽和,當電力線路出現過電壓或過電流時,其輸出不會成正比的增加,能保護測量儀表設備。這一作用滿足了設計要求的技術參數,能承受一定時間的過流過壓。互感器在本測試儀中在性能上基本能滿足設計要求,而且成本合理,因此本次設計採用互感器方式。
二. 理論分析與計算
2.1信號檢測模塊
電路中的強電信號經過互感器之後將轉換為弱電信號,根據我們選擇的互感器型號,380V的交流電壓轉換為0.5 V的交流電壓,而5A的交流電流轉換為2mA。
信號採集模塊採集的必須是電壓,因此我們在電流互感器的輸出端並聯一個電阻,這樣電流信號就可以轉換為採集模塊需要的電壓信號。
2.2晶元計量原理
電流有效值:
i (t)-----電流瞬時值
電壓有效值: u (t)----電壓瞬時值
功率因數:
三相三線合相功率:
三相四線合相功率:

單相無功功率:無功功率計量方法與有功類似,只是電壓信號採用移相90之後的。

單相有功功率: 各相的有功功率是通過對去直流分量後的電流電壓信號進行乘法加法數字濾波等一系列數字信號處理後得到的。

有功能量:有功能量通過瞬時有功功率對時間的積分得到。

三 電路圖及相關文件
3.1 直流電源
直流電源是電網電壓經過變壓整流濾波穩壓等變換後得到的。本測試儀利用A相得到220V電壓,然後通過變壓器轉換為9V的交流電壓,再經過整流橋和穩壓晶元7805轉換為直流電壓,最後經過濾波,就可以得到+5V的直流電壓。這個直流電源對單片機、ATT7022晶元、128×64液晶和485晶元供電。直流電源電路圖如3-1所示。

3-1 直流電源電路設計圖
3.2 檢測模塊
信號採集模塊檢測的信號必須是電壓信號,因此在電流互感器的輸出端並聯一個電阻把電流信號轉換為檢測模塊所需要的電壓信號。圖中引腳V1P、V1N、V2P、V2N的信號均送入ATT7022進行處理,REFOUT為ATT7022的直流偏置電壓,正常工作時為2.4V左右,其中10K電阻為偏置電阻。信號檢測模塊電路圖如3-2所示。

3-2 信號檢測模塊電路圖
3.3計量晶元ATT7022
ATT7022是一顆高精度三相電能專用計量晶元,適用於三相三線和三線四相應用。能夠測量各相的有功無功功率、視在功率、有功無功能量,還能測量各相電流電壓有效值功率因數相角頻率等參數,充分滿足三相多功能電表的要求。儀表有功及無功功率校驗電路圖如3-3(a),ATT7022引腳連接圖如3-3(b)所示。

3-3(a) 儀表有功及無功功率校驗電路

3-3(b) ATT7022引腳連接圖
3.4 顯示模塊
顯示模塊採用128×64的點陣液晶顯示測量參數,通過翻屏可顯示所有測量數據。

3.5 通信模塊
通信模塊採用RS485介面通信和紅外通信,通信模塊主要用於數據傳輸。RS485通信模塊經過RS485介面把測量的各個參數的值傳輸到上位機;紅外通信模塊將測試儀測量到的各個參數的值發送出去,連在上位機上的接收模塊接收數據,實現遠程顯示。

3.6 軟體設計流程圖

四 測試方法與儀器

五 測試結果分析

總 結
本次設計中,為了更好的完成設計要求,我們了設想了多種方案,從測試功能、測量精度等多方面考慮,我們選出了最佳方案,在此方案中,我們採用ATT7022作為核心計量晶元,89C51作控制晶元,將採集的信號輸出顯示,並設有按鍵翻屏顯示數據,另擴展RS485和紅外線通信。

參考文獻

[1]康華光,陳大欽. 電子技術基礎 模擬部分(第四版)[M].北京:高等教育出版社,2005
[2]清華大學電子學教研組編,童詩白主編.模擬電子技術基礎(第二版)[M].北京:高等教育出版社,1988.
[3]黃志偉. 全國大學生電子設計競賽訓練教程[M].北京:電子工業出版社,2005.
[4]譚浩強. C程序設計[M].北京:清華大學出版社,2005.
[5]馬忠梅. 單片機的C語言應用程序設計[M].北京:北京航空航天大學出版社,2001.
[6孫肖子. 實用電子電路手冊(模擬分冊)[M].北京:高等教育出版社,1992.
[7]閻石. 數字電子技術基礎[M].北京:高等教育出版社,2005.
[8]ATT7022a用戶手冊 2005年3月28日

加我!我給你更多,石油大學為你提供專業服務!!!

⑥ 1. 設計要求 採用單片機控制一個三相單三拍的步進電機工作。求大神給出匯編程序,謝謝,急用。

#include <reg51.h>

#define unchar unsigned char

sbit kai_key p3^1; //開關,作鎖功能

sbit zheng_key p3^2; //正轉

sbit fan_key p3^3; //翻轉睜卜

sbit 18_key p1^0; //18步

sbit 15_key p1^1; //15步

sbit 12_key p1^2; //12步

sbit 9_key p1^3; //9步

sbit 6_key p1^4; //6步

sbit 3_key p1^5; //3步

sbit 21_key p1^6; //備廳21步

sbit 24_key p1^7; //24步

sbit 27_key p3^0; //27步

bit flag=0; //電機正反標志位

uchar bushu,maichong=3,table_begin=0;

uchar code table[]={0x01,0x02,0x04,0x04,0x02,0x01};

//電機正反轉I/O口的高低電平對應表

void delay(uchar i) //延時函數

{

uchar j,k;

for(j=i;j>0;j--)

for(k=125;k>0;k--);

}

void key()

{

/仿早隱/kaikey=shuo_key;

if(kai_key==0) //這里開關閉合,表示鍵盤鎖打開。如果開關不閉合,表示上鎖,電機不轉

{

if(27_key==0) bushu=27; //步數高的優先,即多個步數開關同時打上,運行高步數

else if(24_key==0) bushu=24;

else if(21_key==0) bushu=21;

else if(18_key==0) bushu=18;

else if(15_key==0) bushu=15;

else if(12_key==0) bushu=12;

else if(9_key==0) bushu=9;

else if(6_key==0) bushu=6;

else if(3_key==0) bushu=3;

esle bushu=0;

}

if(zheng_key==0)

flg=0;

else if(fan_key==0)

flg=1;

}

void dispose() //數據處理函數

{

if(flag==0)

{

table_begin=0; //flag為0正轉

}

else

table_begin=3; //flag為1反轉

}

void qudong()

{

while(kai_key==0)

{

while(bushu!=0)

{

unchar i,j;

for(j=0+table_begin;(j<3+table_begin)&&(bushu!=0);j++)

{

PO=table[j]

for(i=0;i<maichong;i++)

{

delay(10) //延時函數,控制電機速度

}

bushu--;

}

}

}

}

void main()

{

while(1)

{

key();

dispose();

qudong();

while(kai_key==0); //等待開鎖

}

}

⑦ AT89C51單片機控制三相六拍步進電動機正反轉的程序!!! 具體要求看問題補充,跪求高手求救!

當P3.0 和P3.1口信號同時為低電平的時候,發送一個轉動信號給步進電機,與此同時,如果P3.2為低電平而P3.3為高電平的時候,步進電機開始正轉。若當P3.3變成低電平,P3.2為高電平的時候,停止轉動,等待下一次的轉動信號。既當P3.0和P3.1口的信號同時又為低電平的時候,因為此時P3.2為高電平,P3.3為低電平,所以步進電機開始反轉。當轉到P3.2為低電平,P3.3為高電平的時候,則鏈則停止旋轉,又等待下一次的轉動棚肆棚信號。就是這樣反復正反轉。P3.2為低電平,P3.3為高電平,正轉。P3.2為高電平,P3.3為低電平,反轉雹悶。轉動的必要條件是P3.0和P3.1同時為低電平。 P3.0、P3.1、P3.2、P3.2接的都是霍爾感測器。步進電機為三相六線的。

答得好加100分!!!謝謝各位大神!!

⑧ 單片機C語言控制電機驅動器驅動電機,電機驅動器是3M458的

Kinco® 3M458三相步進電機驅動器

主要特性:

★ 採用交流伺服驅動原理,具備交流伺服運轉特性,三相正弦電流輸出;

★ 內部驅動直流電壓高達40V,能提供更好的高速性能頌州;

★ 具有電機靜態鎖緊狀態下的自動半流功能,可以大大降低電機的發熱;

★ 具有最高可達10000步/轉的細分功能,細分可以通過撥動開關設定,保證提供最好的運行平穩性能;畢亂

★ 幾乎無步進電機常見的共振和爬行區,輸出相電流可通過撥動開關設定,運轉雜訊非常低,接近交流伺服的水平;

★ 控制信號的輸入電路採用光耦器件隔離,降低外部雜訊的干擾;

★ 採用了正弦的電流驅動,使手櫻檔電機的空載起跳頻率高達5KHz(1000步/轉)左右。

還是自己查閱相關資料吧

⑨ 有沒有單片機控制三相非同步電機的程序啊

對於交流三相電機,如果控制轉速可以使用變頻器,如果編程式控制制運轉可以使用PLC,如果有興趣使用單片機控制,也可以通過單片機編程配合各種介面電路、繼電器、接觸器等器件來控制電機。

⑩ Mcs-51單片機驅動三相六拍步進電動機程序

首先我真佩服樓上的兄才!枝擾橘

用李畝IO口根據猛團相序來控制步進電機即可,用uln2008做驅動

閱讀全文

與單片機三相電c語言程序相關的資料

熱點內容
伺服器如何打開蘋果 瀏覽:96
高響應比演算法的實現 瀏覽:848
windows寫命令行 瀏覽:61
騰訊天津數據中心伺服器雲空間 瀏覽:974
單片機掃描按鍵 瀏覽:386
如何設置google伺服器 瀏覽:695
linuxtrace工具源碼 瀏覽:178
源碼第二次開發 瀏覽:784
如何獲取網頁php源碼 瀏覽:729
還用飛那麼源碼 瀏覽:204
雲伺服器鏡像可以隨時更換嗎 瀏覽:92
r600a壓縮機多少錢 瀏覽:237
程序員那麼可愛第幾集在重慶相遇 瀏覽:673
上班兩公里源碼 瀏覽:817
南寧溯源碼燕窩訂制 瀏覽:933
在個人文件夾中新建文件 瀏覽:445
中國國家地理pdf下載 瀏覽:107
幾套房子抵押可以解壓其中一套嗎 瀏覽:569
微愛app室外地板怎麼裝飾 瀏覽:231
遼寧省醫保如何用app轉 瀏覽:311