使用步進(jìn)電機(jī)拉下無(wú)花果樹(shù)枝以嚇跑鳥(niǎo)類(lèi)和松鼠
資料介紹
描述
該項(xiàng)目使用步進(jìn)電機(jī)拉下無(wú)花果樹(shù)枝,以嚇跑鳥(niǎo)類(lèi)和松鼠。即搖肢。
我知道搖動(dòng)肢體會(huì)很好地嚇唬鳥(niǎo)類(lèi)和松鼠,因?yàn)槲乙呀?jīng)使用附在肢體上的手動(dòng)釣魚(yú)線這樣做了。
我對(duì) MKR1000 進(jìn)行了編程,使其以簡(jiǎn)單的模式搖動(dòng)肢體。
一個(gè)周期定義為步進(jìn)電機(jī)在線路上下拉一次或向上釋放一次,即電機(jī)沿一個(gè)方向移動(dòng)為下拉,另一個(gè)方向?yàn)橄蛏厢尫拧?/font>
一對(duì)循環(huán)是肢體的一次下拉和一次向上釋放。
由于不同的挫折,我最初的計(jì)劃比我有時(shí)間進(jìn)行的更廣泛。內(nèi)容如下。
循環(huán)將成組進(jìn)行,例如每組 5 對(duì),暫停,然后是另一組 5 對(duì)。
這將被稱(chēng)為序列。我從經(jīng)驗(yàn)中知道這種順序。
? 小時(shí)后,另一個(gè)序列發(fā)生。
將描述報(bào)告中提交的周期。
報(bào)告中提交的步進(jìn)電機(jī)序列由八個(gè)方向變化和每個(gè)方向變化內(nèi)的四個(gè)步驟組成。
此序列構(gòu)成一次執(zhí)行。
每次執(zhí)行都是通過(guò)手動(dòng)設(shè)置微控制器復(fù)位來(lái)開(kāi)始的。
最初的計(jì)劃是由 MKR1000 控制的一系列執(zhí)行
![poYBAGOg-dmAT4y-AAi0paO2OGM797.jpg](https://file.elecfans.com/web2/M00/84/A9/poYBAGOg-dmAT4y-AAi0paO2OGM797.jpg)
方向和步進(jìn)波形
上面的波形顯示方向。當(dāng)電壓為 3.3 V 時(shí)電機(jī)逆時(shí)針旋轉(zhuǎn),當(dāng)電壓為 0.0 V 時(shí)電機(jī)逆時(shí)針旋轉(zhuǎn)。下面的波形顯示了步驟。當(dāng)電壓向正方向變化時(shí),電機(jī)步進(jìn)。我們可以?在每個(gè)方向觀察四個(gè)步驟。這張照片中的步長(zhǎng)周期為 20 毫秒。(我最后用了 10 毫秒。)
![pYYBAGOg-f2AWTIgAAl9Ba3xQt0898.jpg](https://file.elecfans.com/web2/M00/85/32/pYYBAGOg-f2AWTIgAAl9Ba3xQt0898.jpg)
開(kāi)發(fā)設(shè)置
![poYBAGOg-iSAOiGiAAi8YweDZ-s806.jpg](https://file.elecfans.com/web2/M00/84/A9/poYBAGOg-iSAOiGiAAi8YweDZ-s806.jpg)
阿杜諾 MKR1000
數(shù)字輸入輸出
電機(jī)步進(jìn)引腳 6
電機(jī)方向引腳 1
電機(jī)驅(qū)動(dòng)器復(fù)位引腳 0
中斷引腳 A1 和 A2
更改參數(shù)以?xún)?yōu)化驚嚇鳥(niǎo)類(lèi)和松鼠的順序以及本報(bào)告中使用的值
? 步進(jìn)時(shí)間 T0 = 5 ms
一個(gè)方向的時(shí)間 T1 = 80 ms
一個(gè)周期的時(shí)間 ??T2 = 1280 ms
材料清單
![poYBAGOg-ieAWqmHAADwtR-Tfzc880.png](https://file.elecfans.com/web2/M00/84/A9/poYBAGOg-ieAWqmHAADwtR-Tfzc880.png)
我的項(xiàng)目延遲的原因示例:
最初,我燒壞了兩個(gè)電機(jī)驅(qū)動(dòng)芯片。當(dāng)我訂購(gòu)并安裝這兩個(gè)芯片時(shí),兩周已經(jīng)過(guò)去了。
當(dāng)我嘗試安裝中斷時(shí),我通過(guò)論壇發(fā)現(xiàn)其中一個(gè)附加函數(shù)存在錯(cuò)誤。那花了 1.5 天。
我花了很多時(shí)間來(lái)嘗試讓 Serial.print 工作。我終于放棄了。該論壇表示 serial.print 也沒(méi)有工作。
在另外兩個(gè)例子中,我按照所有的編碼指南編寫(xiě)了一個(gè)程序,但結(jié)果是錯(cuò)誤的。我有一種感覺(jué),我違反了一些未記錄的錯(cuò)誤。
過(guò)去,我使用 Atmega 16 微控制器的軟件編寫(xiě)代碼來(lái)控制此步進(jìn)電機(jī)。這是一個(gè)更通用的開(kāi)發(fā)軟件,很好但超出了我們對(duì)這個(gè) MKR100 項(xiàng)目的規(guī)則,更重要的是為了節(jié)省時(shí)間,它很穩(wěn)定。
但是,也許我們應(yīng)該預(yù)料到使用此 Beta 版 MKR1000 會(huì)出現(xiàn)錯(cuò)誤。
源代碼?
/* Step and direction
Steps the motor in one direction, then steps it in the other direction.
the purpose of this code is a simple test of the power driver and MKR1000
The circuit:
STEP is from pin 6 to Allegro step.
DIRECTION is from pin 1.
RESET is from pin 0
created 3/29/16
by Art Wagner
*/
// constants won't change. Used here to set a pin number :
const int STEP6 = 6; // the number of the STEP pin
const int DIR1 = 1; // the number of the DIRECTION pin
const int RESET0 = 0; // the number of the RESET pin
// Variables will change : We are assigning initial digital values
int stepState = LOW;
int dirState = HIGH;
int resetState = HIGH;
unsigned long tT0; //previous time read for the step
unsigned long tT1; //previous time read for the directi
unsigned long tT2; //
const long T0 = 5; //T0 is the time between change in step signal. 10 10 5 2
const long T1 = 80; //T1 is the time between change in dir signal. 40 80 80 80
const long T2 = 1280; //T2 should give 4 direction changes 160 320 640 640 640
void setup() {
//start serial connection
Serial.begin(9600);
//the first t p.o. is 801 ms
// set the digital pins as outputs:
pinMode(STEP6, OUTPUT);
pinMode(DIR1, OUTPUT);
pinMode(RESET0, OUTPUT);
//Allows the driver to accept commands, begin this in setup
digitalWrite(RESET0, 0); //RESET = HIGH = OPERATE Keep RESET = 0 to inhibit current to motor
//Make sure step is low
digitalWrite(STEP6, stepState); //begin with step low
digitalWrite(DIR1, dirState); //begin with dir high
digitalWrite(RESET0, resetState); //begin with reset high
tT0 = millis(); //initialize for delta calc
tT1 = millis(); //initialize for delta calc
tT2 = millis(); //initialize for wait
}
void loop() {
//delay(3000); //allows me to remove my hand after resetting
//STEP
//Serial.println(11);
//Serial.println(millis());
//Serial.println(tT0);
//Serial.println(T0);
//ONE
if (millis() - tT0 >= T0) //greater than or equal to
{
// save the new reference for step change
tT0 = millis();
// reverse sign of stepState
if (stepState == LOW) {
stepState = HIGH;
} else {
stepState = LOW;
}
// set step pin with the current step state:
digitalWrite(STEP6, stepState); //doesn't do this until the if statement is TRUE
}
//DIRECTION
// TWO
if (millis() - tT1 >= T1)
{
// save the new reference for direction
tT1 = millis();
// reverse the sign of dirState:
if (dirState == LOW) {
dirState = HIGH;
} else {
dirState = LOW;
}
// set dir pin with the new dir state:
digitalWrite(DIR1, dirState);
}
//WAIT
// THREE
// if(millis() - tT2 >= T2){
// digitalWrite(RESET0,LOW);
// }
while(millis() - tT2 >= T2){
}
}
- 基于ML的鳥(niǎo)類(lèi)和松鼠檢測(cè)器(Raspberry Pi和AWS)
- 步進(jìn)電機(jī)資料匯總 39次下載
- 步進(jìn)電機(jī)的原理與驅(qū)動(dòng)綜述 22次下載
- 基于DSP的步進(jìn)電機(jī)速度控制系統(tǒng) 30次下載
- 基于PLC步進(jìn)電機(jī)控制系統(tǒng)的設(shè)計(jì) 108次下載
- 一種PLC控制步進(jìn)電機(jī)的分度算法 8次下載
- 內(nèi)置譯碼器的微特步進(jìn)電機(jī)驅(qū)動(dòng)芯片ATD5984 21次下載
- 常用步進(jìn)電機(jī)驅(qū)動(dòng)芯片資料 75次下載
- 光譜導(dǎo)航技術(shù)在果樹(shù)果實(shí)定位中有什么樣的應(yīng)用 4次下載
- 如何使用FPGA實(shí)現(xiàn)步進(jìn)電機(jī)控制器 27次下載
- 步進(jìn)電機(jī)的基礎(chǔ)知識(shí)和使用51單片機(jī)控制步進(jìn)電機(jī)的程序免費(fèi)下載
- 步進(jìn)電機(jī)的簡(jiǎn)介和步進(jìn)電機(jī)的驅(qū)動(dòng)方式及代碼免費(fèi)下載
- 直流疊加交流電壓下電樹(shù)枝的引發(fā)和生長(zhǎng)特性 0次下載
- 步進(jìn)電機(jī)控制系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)
- 步進(jìn)電機(jī)基礎(chǔ)
- 什么是步進(jìn)電機(jī)?步進(jìn)電機(jī)的類(lèi)型和結(jié)構(gòu) 1633次閱讀
- 如何正確選擇步進(jìn)電機(jī)驅(qū)動(dòng)器 2395次閱讀
- 步進(jìn)電機(jī)的微步驅(qū)動(dòng)原理是什么 2132次閱讀
- 步進(jìn)電機(jī)相數(shù)怎么選擇 854次閱讀
- 什么是步進(jìn)電機(jī)?步進(jìn)電機(jī)單極和雙極的區(qū)別 1.5w次閱讀
- 步進(jìn)電機(jī)控制器原理_步進(jìn)電機(jī)控制器編程實(shí)例 1.6w次閱讀
- 什么是步進(jìn)電機(jī)?步進(jìn)電機(jī)的種類(lèi) 6582次閱讀
- 什么是步進(jìn)電機(jī)?步進(jìn)電機(jī)的特點(diǎn),分類(lèi)與原理! 3.8w次閱讀
- 兩相步進(jìn)電機(jī)和五相步進(jìn)電機(jī)有什么區(qū)別 4.8w次閱讀
- 步進(jìn)電機(jī)工作效率如何_步進(jìn)電機(jī)的選擇方法 4786次閱讀
- 步進(jìn)電機(jī)相序如何判斷_步進(jìn)電機(jī)主要在哪些方面應(yīng)用 1.4w次閱讀
- 什么是混合式步進(jìn)電機(jī)_混合式步進(jìn)電機(jī)和反應(yīng)式步進(jìn)電機(jī)的區(qū)別 1.6w次閱讀
- 步進(jìn)電機(jī)原理、與伺服電機(jī)比較、特點(diǎn)、注意事項(xiàng) 2150次閱讀
- 步進(jìn)電機(jī)的硬件電路設(shè)計(jì),步進(jìn)電機(jī)驅(qū)動(dòng)原理及方法 3.2w次閱讀
- 步進(jìn)電機(jī)解析,步進(jìn)電機(jī)的類(lèi)型分類(lèi)及步進(jìn)電機(jī)的制動(dòng)原理 5789次閱讀
下載排行
本周
- 1山景DSP芯片AP8248A2數(shù)據(jù)手冊(cè)
- 1.06 MB | 532次下載 | 免費(fèi)
- 2RK3399完整板原理圖(支持平板,盒子VR)
- 3.28 MB | 339次下載 | 免費(fèi)
- 3TC358743XBG評(píng)估板參考手冊(cè)
- 1.36 MB | 330次下載 | 免費(fèi)
- 4DFM軟件使用教程
- 0.84 MB | 295次下載 | 免費(fèi)
- 5元宇宙深度解析—未來(lái)的未來(lái)-風(fēng)口還是泡沫
- 6.40 MB | 227次下載 | 免費(fèi)
- 6迪文DGUS開(kāi)發(fā)指南
- 31.67 MB | 194次下載 | 免費(fèi)
- 7元宇宙底層硬件系列報(bào)告
- 13.42 MB | 182次下載 | 免費(fèi)
- 8FP5207XR-G1中文應(yīng)用手冊(cè)
- 1.09 MB | 178次下載 | 免費(fèi)
本月
- 1OrCAD10.5下載OrCAD10.5中文版軟件
- 0.00 MB | 234315次下載 | 免費(fèi)
- 2555集成電路應(yīng)用800例(新編版)
- 0.00 MB | 33566次下載 | 免費(fèi)
- 3接口電路圖大全
- 未知 | 30323次下載 | 免費(fèi)
- 4開(kāi)關(guān)電源設(shè)計(jì)實(shí)例指南
- 未知 | 21549次下載 | 免費(fèi)
- 5電氣工程師手冊(cè)免費(fèi)下載(新編第二版pdf電子書(shū))
- 0.00 MB | 15349次下載 | 免費(fèi)
- 6數(shù)字電路基礎(chǔ)pdf(下載)
- 未知 | 13750次下載 | 免費(fèi)
- 7電子制作實(shí)例集錦 下載
- 未知 | 8113次下載 | 免費(fèi)
- 8《LED驅(qū)動(dòng)電路設(shè)計(jì)》 溫德?tīng)栔?/a>
- 0.00 MB | 6656次下載 | 免費(fèi)
總榜
- 1matlab軟件下載入口
- 未知 | 935054次下載 | 免費(fèi)
- 2protel99se軟件下載(可英文版轉(zhuǎn)中文版)
- 78.1 MB | 537798次下載 | 免費(fèi)
- 3MATLAB 7.1 下載 (含軟件介紹)
- 未知 | 420027次下載 | 免費(fèi)
- 4OrCAD10.5下載OrCAD10.5中文版軟件
- 0.00 MB | 234315次下載 | 免費(fèi)
- 5Altium DXP2002下載入口
- 未知 | 233046次下載 | 免費(fèi)
- 6電路仿真軟件multisim 10.0免費(fèi)下載
- 340992 | 191187次下載 | 免費(fèi)
- 7十天學(xué)會(huì)AVR單片機(jī)與C語(yǔ)言視頻教程 下載
- 158M | 183279次下載 | 免費(fèi)
- 8proe5.0野火版下載(中文版免費(fèi)下載)
- 未知 | 138040次下載 | 免費(fèi)
評(píng)論