① 步進電機里的頻率1秒鍾產生多少頻率呢是用PLC控制步進電機的
用運動控制模塊來控制,則只需要關注如何接線,在PLC內部不需要考慮脈沖。
步進電機是將電脈沖信號轉變為角位移或線位移的開環控制元步進電機件。在非超載的情況下,電機的轉速、停止的位置只取決於脈沖信號的頻率和脈沖數,而不受負載變化的影響,當步進驅動器接收到一個脈沖信號,它就驅動步進電機按設定的方向轉動一個固定的角度,稱為「步距角」,它的旋轉是以固定的角度一步一步運行的。可以通過控制脈沖個數來控制角位移量,從而達到准確定位的目的;同時可以通過控制脈沖頻率來控制電機轉動的速度和加速度,從而達到調速的目的。
步進電機是一種感應電機,它的工作原理是利用電子電路,將直流電變成分時供電的,多相時序控制電流,用這種電流為步進電機供電,步進電機才能正常工作,驅動器就是為步進電機分時供電的,多相時序控制器。
頻率,是單位時間內完成周期性變化的次數,是描述周期運動頻繁程度的量,常用符號f或ν表示,單位為秒分之一,符號為s-1。為了紀念德國物理學家赫茲的貢獻,人們把頻率的單位命名為赫茲,簡稱「赫」,符號為Hz。每個物體都有由它本身性質決定的與振幅無關的頻率,叫做固有頻率。頻率概念不僅在力學、聲學中應用,在電磁學、光學與無線電技術中也常使用。
② 電壓頻率轉換電路原理
頻率抄電壓轉換器的工作原理:先襲將頻率可變的信號送到一個線性高通濾波器,然後對濾波器的輸出進行整流,再用一個平滑濾波電路對其濾波,以得到直流電壓。這時如果送進的頻率越高,則越容易通過高通濾波器,因而就能輸出較高的電壓,反之亦然,就達到了將頻率轉換為相應電壓值的目的。
③ 用fpga產生各種頻率的方波 ,xilinx V5的晶元,要產生頻率范圍250MHz到500MHz,步進1MHz的方波,求詳解
這么高的頻率不可能寫出頻率可變的方波,因為使用verilog只能對一個方波進行分頻,而不能倍頻。V5的片子跑到1G已經夠高了,再高應該就不可能了,PLL生成1G的方波應該可以,但是1G的方波進行分頻只能是2分頻,4分頻,6分頻。。。。(如果不要求50%的占空比可以3分頻,5分頻。。。),也就是最多能出個500M.,333M,250M三個頻率,要實現250M到500M以1M步進是不可能的,只能考慮模擬電路出波形。
④ 設計一個能產生三種波形(方波,正弦波,三角波)且頻率步進可調的信號發生器。
#include<iom16v.h>
#include<macros.h>
voidDelayus(unsignedintt);
voidINT0_isr(void);
voidInit_PORT(void);
voidINT0_init(void);
unsignedintselect_num,num;
unsignedintpl,zkb;
constunsignedcharsin_tab[]=
{
128,130,132,135,137,139,141,143,146,148,
150,152,154,157,159,161,163,165,167,169,
171,174,176,178,180,182,184,186,188,190,
191,193,195,197,199,201,203,204,206,208,
210,211,213,215,216,218,219,221,222,224,
225,227,228,229,231,232,233,235,236,237,
238,239,240,241,242,243,244,245,246,247,
247,248,249,249,250,251,251,252,252,253,
253,253,254,254,254,255,255,255,255,255,
255,255,255,255,255,255,254,254,254,253,
253,253,252,252,251,251,250,249,249,248,
247,247,246,245,244,243,242,241,240,239,
238,237,236,235,233,232,231,229,228,227,
225,224,222,221,219,218,216,215,213,211,
210,208,206,204,203,201,199,197,195,193,
192,190,188,186,184,182,180,178,176,174,
171,169,167,165,163,161,159,157,154,152,
150,148,146,143,141,139,137,135,132,130,
128,126,124,121,119,117,115,113,110,108,
106,104,102,99,97,95,93,91,89,87,
85,82,80,78,76,74,72,70,68,66,
65,63,61,59,57,55,53,52,50,48,
46,45,43,41,40,38,37,35,34,32,
31,29,28,27,25,24,23,21,20,19,
18,17,16,15,14,13,12,11,10,9,
9,8,7,7,6,5,5,4,4,3,
3,3,2,2,2,1,1,1,1,1,
1,1,1,1,1,1,2,2,2,3,
3,3,4,4,5,5,6,7,7,8,
9,9,10,11,12,13,14,15,16,17,
18,19,20,21,23,24,25,27,28,29,
31,32,34,35,37,38,40,41,43,45,
46,48,50,52,53,55,57,59,61,63,
64,66,68,70,72,74,76,78,80,82,
85,87,89,91,93,95,97,99,102,104,
106,108,110,113,115,117,119,121,124,126
};
constunsignedchartable[]={0x3F,/*0*/
0x06,/*1*/
0x5B,/*2*/
0x4F,/*3*/
0x66,/*4*/
0x6D,/*5*/
0x7D,/*6*/
0x07,/*7*/
0x7F,/*8*/
0x6F/*9*/};
voidDelayus(unsignedintt)
{
WDR();
do
t--;
while(t>1);
WDR();
}
voidInit_PORT(void)
{
PORTA=0XFF;
DDRA=0X00;
PORTB=0X00;
DDRB=0XFF;
PORTC=0X00;
DDRC=0XFF;
PORTD=0XF4;//00000100
DDRD=0XFB;
}
voidINT0_init(void)
{
SREG|=BIT(7);
MCUCR|=0x02;
GICR|=BIT(6);
GIFR|=BIT(6);
}
#pragmainterrupt_handlerINT0_isr:2
voidINT0_isr(void)
{
PORTB|=BIT(0);
Delayus(100);
num=PINA&0X1F;
if(num==0x1E)
{
select_num++;//00011110
if(select_num>=4)
select_num=0;
}
if(num==0x1C)pl++;
if(num==0x1B)pl--;
if(num==0x17)zkb++;
if(num==0x0F)zkb--;
}
voidmain(void)
{
unsignedintii,jj,nn,mm,kk=100;
Init_PORT();
INT0_init();
while(1)
{
if(select_num==0)
{
for(ii=0;ii<360;ii++)
{
PORTD&=~BIT(0);
PORTC=sin_tab[ii];
Delayus(kk);
PORTD|=BIT(0);
}
}
if(select_num==1)
{
jj=180;//方波寬度可修改
PORTD&=~BIT(0);
PORTC=0XFF;
PORTD|=BIT(0);
do
Delayus(kk);
while(--jj);
jj=180;
PORTD&=~BIT(0);
PORTC=0X00;
PORTD|=BIT(0);
do
Delayus(kk);
while(--jj);
}
if(select_num==2)
{
for(nn=0;nn<255;nn++)//產生上升波
{
PORTD&=~BIT(0);
PORTC=nn;//A口輸出上升波
PORTD|=BIT(0);
Delayus(kk);
}
for(nn=255;nn>0;nn--)//產生下降波
{
PORTD&=~BIT(0);
PORTC=nn;//A口輸出下降波
PORTD|=BIT(0);
Delayus(kk);//延時
}
}
if(select_num==3)
{
if(mm==0)mm=256;
PORTD&=~BIT(0);
PORTC=mm--;
PORTD|=BIT(0);
Delayus(kk);
}
}
}
⑤ 步進電機的驅動頻率是2kHZ說的是什麼意思
就是用2KHZ的脈沖驅動環形換相電路,或者說每0.5ms走一步。
⑥ 函數信號發生器,方波三角波正弦波,可實時顯示輸出信號的類型、幅度、頻率和頻率步進值。
你產生的波形有用到單片機嗎?如果沒有用到的話,那就很難用單片機顯示你輸出的類型、幅度、頻率和頻率步進值。建議用AD9850這個晶元,這個晶元可以很方便的通過單片機看著產生方波、三角波、正弦波,波形的類型、頻率和步進值都可以顯示。
⑦ 步進電機的振動和輸入的脈沖頻率有什麼關系
關系就是每輸入一個脈沖信號,電機的線圈就會震動一次。
脈沖信號是一種離散信號,形狀多種多樣,與普通模擬信號(如正弦波)相比,波形之間在時間軸不連續(波形與波形之間有明顯的間隔)但具有一定的周期性是它的特點。最常見的脈沖波是矩形波(也就是方波)。脈沖信號可以用來表示信息,也可以用來作為載波,比如脈沖調制中的脈沖編碼調制(PCM),脈沖寬度調制(PWM)等等,還可以作為各種數字電路、高性能晶元的時鍾信號。
⑧ 函數信號發生器設計電路圖及模擬電路圖頻率范圍是100HZ~800HZ,步進為100HZ。
用單片機做,很容易的。 看你的頻率范圍是低頻的, 單片機做就能滿足了!我以前做過,要的話我可以給你。
⑨ 請問單片機控制步進電機 脈沖頻率如何思路。C51
需要照顧兩個因素:
一是不要高於該型步進電機允許的最高頻率;
二是加速過程(即頻率由小到大的變化過程)和減速過程(即頻率由大到小的變化過程)中加速度不可過大以致於扭矩超過了該型步進電機允許的扭矩。
否則都有可能發生失步。
第一條比較簡單,第二條牽涉到機械負載的轉動慣量,計算比較復雜。但是大多數應用中,技術上的餘量都相當大,所以也可以不計算,而用試驗的方法來確定。一般只要注意頻率不要「突變」,而要「漸變」,最好構成「勻加速」、「勻減速」。如果試驗後發現有失步,只要將加速度減小些,再試試就行了。
(補充:按步進電機原理,失步通常必須有一定積累才會發生,若偶然有一兩步加速度超限,只要緊接著下幾步不超,通常也不會失步。所以,我上面說的最好「勻加速」、「勻減速」,假如因為軟體實現困難做不到完全均勻,做成小台階式的「階梯型加速、減速」,常常也是可以的。)
(再補充:
若經常是固定頻率,您可以用定時器控制頻率。但若頻率經常變化,這樣就比較麻煩。
介紹一下我的做法:
將定時器設成固定的定時中斷,頻度要高於用到的步進電機的最高頻率。例如我的系統中步進電機最高頻率1KHZ左右,但我的中斷周期設成0.5ms。
然後在每次中斷中都執行一次以下程序。
void rout(unsinged int f)
{ static unsigned long xs=0x8000;
xs += f;
if (xs>>16)
{ ………… /* 輸出一個步進脈沖 */ }
xs &= 0xFFFF;
}
註:
其中的參數f是當前頻率,但需要換算為「步/節拍」,同時放大65536倍(也就等於將小數點右移16個二進制位)以便用unsigned int數表達小於1的「頻率」值(例如我的節拍是0.5ms,頻率若為500HZ就換算為0.25步/節拍,放大65536倍後就是16384)。
其中靜態變數xs是該發送的步數累計,看做保留了16位小數的32位數。故「xs>>16」就相當於取出了它的「整數部分」。步數累計超出1步時「xs>>16」就為1。xs初值0x8000等於預留了半步,起「四捨五入」的效果。
如此,當頻率是0.5步/節拍時,執行此程序就會每隔一次輸出1步;當頻率是0.15步/節拍時,就會勻開來每100次中輸出15步;……等等。
)
⑩ 怎樣用輸出脈沖個數和頻率可調的方波用來驅動步進電機
是兩位的,意思是二個功能腳,一個是方位,別一個是發脈沖串的一個脈沖等於電機轉一個步進角。
單片機,全稱單片微型計算機(英語:Single-Chip Microcomputer),又稱微控制器(Microcontroller),是把中央處理器、存儲器、定時/計數器(Timer/Counter)、各種輸入輸出介面等都集成在一塊集成電路晶元上的微型計算機。與應用在個人電腦中的通用型微處理器相比,它更強調自供應(不用外接硬體)和節約成本。它的最大優點是體積小,可放在儀表內部,但存儲量小,輸入輸出介面簡單,功能較低。由於其發展非常迅速,舊的單片機的定義已不能滿足,所以在很多應用場合被稱為范圍更廣的微控制器;從上世紀80年代,由當時的4位、8位單片機,發展到現在的32位300M的高速單片機。