亚洲精品久久久久久久久久久,亚洲国产精品一区二区制服,亚洲精品午夜精品,国产成人精品综合在线观看,最近2019中文字幕一页二页

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

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

3天內(nèi)不再提示

步進電機和限位開關的加速度

454398 ? 來源:wv ? 2019-10-23 10:13 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

步驟1:使用的資源

今天我們將使用以下組件列表進行組裝:

?直徑8mm,間距2mm的梯形主軸

?直徑8mm間距8mm的梯形主軸

?8x2主軸的法蘭螺母

?8x8主軸的法蘭螺母

?8毫米直徑主軸的軸承

?10mm直徑圓柱線性導軌

?10mm導軌的圓柱滾子軸承

?10mm圓柱導軌的支架

?NEMA 17電機

?軸聯(lián)軸器

?Arduino Mega

?驅動程序DRV8825

?4x4矩陣鍵盤

?顯示諾基亞5110

?各種各樣塑料零件

?螺栓和螺母

?木底座

?外部電源12V

?紅外傳感器

第2步:演示

我們今天的大會非常簡單類似于帶有主軸和步進電機的Arduino Uno視頻。

我需要更改什么?這次,我選擇了Arduino Mega來使用路線終點開關,您可以在項目的右側看到該路線終點開關,因為行程終點開關用于最快的主軸中。每個菜單都在ATmega中該程序的源代碼中進行了說明。在視頻中的演示中,我們使引擎移動了5厘米,以顯示加速和減速情況。然后,它返回15厘米并觸摸行程開關的終點,從而停止發(fā)動機。

步驟3:航向開關的終點

它是做什么用的?限位開關是通過停止發(fā)動機運動來限制路線的機械元件。它們用于機器組裝中以保護機械性能。在CNC機床中,鍵還用作參考點,例如,將坐標軸歸零。市場上有幾種類型的鍵,其中包括:按鈕,紅外傳感器,電容傳感器等。

在我們的組裝件中,我們使用紅外傳感器,如上圖所示。

步驟4:示例代碼

在arduino上有一個源代碼,其中顯示了Setup(設置)以及如何在行程開關和加速結束時移動步進電機。這是lib StepMotor,它是我制作的一個庫,可以操縱8825、4988和TB6600驅動程序,并允許您播放更大的引擎,例如Nema 23或34。

然后,我們配置驅動器引腳,每毫米及周圍的步距以及微速。我還以最大和最小速度配置節(jié)氣門運動,并激活發(fā)動機動力輸出端口。最后,限位開關銷被激活。

#include

DRV8825 d1;

void setup() {

//Configuracao dos pinos do driver

d1.pinConfig(2,3,4,5,6,7,8,9);

//configuracao de passos por milimetro

d1.stepPerMm(100);

//configuracao de passos por volta

d1.stepPerRound(200);

//configuracao de micropasso

d1.stepConfig(1);

//configuracao do movimento (aceleracao, velocidade maxima, velocidade minima)

// tempos em uSegundos

// Acelera??o é o decremento de tempo a cada novo passo

d1.motionConfig(20,1500,5000);

//reseta o driver

d1.reset();

//ativa as portas saídas de potencia do motor

d1.enable(HIGH);

//Pinos das chaves de fim de curso e se ativam em nivel alto ou baixo

// d1.endstopConfig(min,max,HIGH ou LOW);

d1.endstopConfig(10,11,HIGH);

}

下面是發(fā)動機代碼示例。

void loop() {

//move o motor 100mm em direcao crescente

d1.motorMoveTo(100, HIGH);

//aguarda 1 segundo

delay(1000);

//move o motor 100mm em direcao decrescente

d1.motorMoveTo(100, LOW);

//aguarda 1 segundo

delay(1000);

}

步驟5:課程切換結束

代碼:在我們的代碼中,我們將采取行動

bool DRV8825::canGo(bool direction)

{

if(LVL) // se: as chaves de fim de curso ativam em nível alto

{

if(direction && !digitalRead(EMAX)) //se: move positivamente E o fim de curso máximo N?O está ativado

return true;

if(!direction && !digitalRead(EMIN)) //se: N?O move positivamente E o fim de curso mínimo N?O está ativado

return true;

}

else //sen?o: as chaves de fim de curso ativam em nível baixo

{

if(direction && digitalRead(EMAX)) //se: move positivamente E o fim de curso máximo está ativado

return true;

if(!direction && digitalRead(EMIN)) //se: N?O move positivamente E o fim de curso mínimo está ativado

return true;

}

return false;

}

步驟6:加速

在一定的時間間隔內(nèi),通過高低脈沖控制電動機的步進。

為了使發(fā)動機不以最大速度直接啟動,我們使用加速度。

加速會改變每一步的脈沖時間以改變發(fā)動機轉速,然后逐漸增加到最大速度以加速,然后逐漸減小直到停止減速。

加速可以通過多種方式實現(xiàn)。

我們創(chuàng)建的代碼示例了步進電機中加速度的使用。

步驟7:加速度-代碼

簡單的加速度代碼示例。

在此代碼中,脈沖時間在每一步都由用戶選擇的值減少,直到中途或連續(xù)l發(fā)動機達到最大速度,即設置的最短脈沖時間。

void DRV8825::motorMoveTo(double distance, bool direction) //(distancia, dire??o, tempo da largura do pulso em microssegundos (metade do tempo em nível alto, metade em nível baixo))

{

digitalWrite(DIR, direction);

long accSpeed = SMIN;

long steps = distance*SPM;

long stepsToStop;

bool flag = true;

for(long i = 0; i 《 steps; i++){

if(i 《 (steps)/2){

if(accSpeed》SMAX){

if(canGo(direction)){

digitalWrite(STP, HIGH);

delayMicroseconds(accSpeed/2);

digitalWrite(STP, LOW);

delayMicroseconds(accSpeed/2);

}

else{

delayMicroseconds(accSpeed);

}

accSpeed = accSpeed - ACC;

}

這時,將存儲電動機為達到該路徑的最大速度而執(zhí)行的脈沖量。

else

{

if(flag){

stepsToStop = i;

flag = false;

}

if(canGo(direction)){

digitalWrite(STP, HIGH);

delayMicroseconds(SMAX/2);

digitalWrite(STP, LOW);

delayMicroseconds(SMAX/2);

}

else{

delayMicroseconds(SMAX);

}

}

}

此數(shù)量將與達到行程結束之前用于發(fā)動機減速的量相同。

要使發(fā)動機減速,脈沖時間會增加

else

{

if(i 《 steps-stepsToStop){

if(canGo(direction)){

digitalWrite(STP, HIGH);

delayMicroseconds(SMAX/2);

digitalWrite(STP, LOW);

delayMicroseconds(SMAX/2);

}

else{

delayMicroseconds(SMAX);

}

}

else

{

if(canGo(direction)){

digitalWrite(STP, HIGH);

delayMicroseconds(accSpeed/2);

digitalWrite(STP, LOW);

delayMicroseconds(accSpeed/2);

}

else{

delayMicroseconds(accSpeed);

}

accSpeed = accSpeed + ACC;

}

}

}

}

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權轉載。文章觀點僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學習之用,如有內(nèi)容侵權或者其他違規(guī)問題,請聯(lián)系本站處理。 舉報投訴
  • 步進電機
    +關注

    關注

    152

    文章

    3212

    瀏覽量

    151332
  • 限位開關
    +關注

    關注

    0

    文章

    53

    瀏覽量

    5184
收藏 人收藏
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

    評論

    相關推薦
    熱點推薦

    mems加速度傳感器都有哪些類型?這三種mems加速度計各有什么利弊?

    MEMS加速度計是近年來發(fā)展起來的一種新型加速度計。它使用振動梁作為加速度傳感器。振動梁由硅或石英晶體材料制成,并通過靜電或壓電作用以共振頻率振動。雙端梁以振動驅動模式振動。當加速度
    的頭像 發(fā)表于 10-22 15:04 ?119次閱讀

    石英加速度計如何成為航空航天測量線性加速度的核心器件?

    在航空航天領域,精準的線性加速度測量是飛行器導航、控制與安全的核心基礎。ER-QA-03C系列小型石英加速度計憑借其卓越的性能和緊湊的設計,成為這一關鍵任務中不可或缺的測量器件。該產(chǎn)品不僅適用于
    的頭像 發(fā)表于 09-23 16:27 ?308次閱讀
    石英<b class='flag-5'>加速度</b>計如何成為航空航天測量線性<b class='flag-5'>加速度</b>的核心器件?

    MEMS加速度計與石英加速度計的發(fā)展現(xiàn)狀與水平對比

    在工程測量與慣性導航領域,加速度計是感知運動與振動的核心傳感器。其中,微機電系統(tǒng)(MEMS)加速度計和石英加速度計是兩種技術路線迥異但應用廣泛的重要類型。它們各自的發(fā)展現(xiàn)狀和技術水平呈現(xiàn)出一種既競爭又互補的格局。
    的頭像 發(fā)表于 09-19 14:55 ?786次閱讀
    MEMS<b class='flag-5'>加速度</b>計與石英<b class='flag-5'>加速度</b>計的發(fā)展現(xiàn)狀與水平對比

    為什么在振動分析中加速度計最常用?

    盡管振動可以通過位移、速度、加速度三個參數(shù)來完整描述,但在現(xiàn)代預測性維護和狀態(tài)監(jiān)測領域,加速度傳感器(加速度計)占據(jù)了絕對主導地位,原因如下:寬廣的頻率范圍:機械設備的早期故障(如軸承
    的頭像 發(fā)表于 09-12 12:02 ?366次閱讀
    為什么在振動分析中<b class='flag-5'>加速度</b>計最常用?

    Murata加速度傳感器的FAQ

    Q:加速度傳感器與傾斜傳感器有何區(qū)別?A:Murata的傾斜傳感器和加速度傳感器,都以相同的MEMS容量測量技術為基礎。產(chǎn)品根據(jù)目的被優(yōu)化,因各自使用的g量程而異。傾斜傳感器的g量程最大值為地球重力
    的頭像 發(fā)表于 09-10 12:02 ?496次閱讀
    Murata<b class='flag-5'>加速度</b>傳感器的FAQ

    為什么選用限位開關?

    限位開關是一種用于工業(yè)應用中數(shù)字位置檢測(開或關)的機電裝置。當限位開關的致動器移動了足夠的距離時,限位
    的頭像 發(fā)表于 06-22 12:02 ?603次閱讀
    為什么選用<b class='flag-5'>限位</b><b class='flag-5'>開關</b>?

    實時生成步進電機速度曲線

    一種用于步進電機加速度的新算法可以實現(xiàn)速度曲線的實時參數(shù)化和計算。該算法可以在低端微控制器上運行,只使用簡單的定點算術運算并且不使用數(shù)據(jù)表。它以恒定的
    發(fā)表于 05-14 15:09

    加速度傳感器的應用與選購技巧

    加速度傳感器是一種能夠測量加速力的電子設備,其核心工作原理基于牛頓的第二運動定律。當傳感器感受到外部加速度時,其內(nèi)部的電子器件會發(fā)生變化,進而產(chǎn)生與加速度大小成比例的輸出信號。這種信號
    的頭像 發(fā)表于 03-17 16:47 ?938次閱讀
    <b class='flag-5'>加速度</b>傳感器的應用與選購技巧

    LSM6DS3TRC讀取加速度數(shù)據(jù)不對是哪里的問題?

    LSM6DS3TRC初始化后,讀取加速度(理論應是 0,0,1000),得出的加速度慢慢上升變化,讀取幾十個(每次讀取都是判斷XDLA位是否為1)后的加速度值才是正確的。這個什么原因?如附圖是慢慢變化上升的
    發(fā)表于 03-13 06:10

    網(wǎng)絡筆記分享-實時生成步進電機速度曲線

    一種用于步進電機加速度的新算法可以實現(xiàn)速度曲線的實時參數(shù)化和計算。該算法可以在低端微控制器上運行,只使用簡單的定點算術運算并且不使用數(shù)據(jù)表。它以恒定的
    發(fā)表于 03-04 21:17

    加速度傳感器的選型?主要看這八大參數(shù)!

    加速度傳感器作為測量物體運動狀態(tài)的重要工具,被廣泛應用于智能手機、可穿戴設備、汽車安全系統(tǒng)、航空航天等多個領域。為了確保所選加速度傳感器能夠滿足特定應用需求,了解其關鍵選型參數(shù)至關重要。本文將詳細
    的頭像 發(fā)表于 01-23 18:02 ?2564次閱讀
    <b class='flag-5'>加速度</b>傳感器的選型?主要看這八大參數(shù)!

    加速度傳感器的工作原理

    本文的關鍵要點 ?“加速度傳感器”是用來檢測單位時間內(nèi)的速度(即加速度)的傳感器。 ?從原理方面看,加速度傳感器是通過檢測因移動或傾斜而引發(fā)的與彈簧連接的質(zhì)量塊的位置變化來獲得
    的頭像 發(fā)表于 01-08 16:19 ?1965次閱讀
    <b class='flag-5'>加速度</b>傳感器的工作原理

    adxl345檢測振動加速度信號,在加速度為0處,有±1g的跳動怎么解決?

    分別在800和400Hz采樣率下,采集振動加速度信號,信號頻率15.915Hz±1%,幾乎每次在加速度為0的時候都會有±1g的數(shù)值跳動(在任何采樣率和測量范圍下都有這個問題),請問這該怎么解決? 器件不使用中斷,全分辨率,±16g
    發(fā)表于 12-19 08:50

    MEMS加速度計的工作原理是什么

    MEMS加速度計的工作原理主要基于牛頓第二定律,即力等于質(zhì)量乘以加速度。以下是對其工作原理的介紹: 一、核心部件與結構 MEMS加速度計的核心部件包括一個微小的質(zhì)量塊、彈性元件(如彈簧梁)以及檢測器
    的頭像 發(fā)表于 11-20 10:09 ?3108次閱讀

    什么是AEC-Q102的恒定加速度測試?

    恒定加速度測試是一種關鍵的實驗性方法,用于評估電子元件在模擬高速動態(tài)條件下的性能。這種測試通過施加恒定的加速度來評估元件的結構強度和機械穩(wěn)定性,旨在揭示那些在標準測試中可能未被發(fā)現(xiàn)的潛在缺陷。這對
    的頭像 發(fā)表于 11-06 14:33 ?889次閱讀
    什么是AEC-Q102的恒定<b class='flag-5'>加速度</b>測試?