资料介绍
描述
该项目使用步进电机拉下无花果树枝,以吓跑鸟类和松鼠。即摇肢。
我知道摇动肢体会很好地吓唬鸟类和松鼠,因为我已经使用附在肢体上的手动钓鱼线这样做了。
我对 MKR1000 进行了编程,使其以简单的模式摇动肢体。
一个周期定义为步进电机在线路上下拉一次或向上释放一次,即电机沿一个方向移动为下拉,另一个方向为向上释放。
一对循环是肢体的一次下拉和一次向上释放。
由于不同的挫折,我最初的计划比我有时间进行的更广泛。内容如下。
循环将成组进行,例如每组 5 对,暂停,然后是另一组 5 对。
这将被称为序列。我从经验中知道这种顺序。
½ 小时后,另一个序列发生。
将描述报告中提交的周期。
报告中提交的步进电机序列由八个方向变化和每个方向变化内的四个步骤组成。
此序列构成一次执行。
每次执行都是通过手动设置微控制器复位来开始的。
最初的计划是由 MKR1000 控制的一系列执行
方向和步进波形
上面的波形显示方向。当电压为 3.3 V 时电机逆时针旋转,当电压为 0.0 V 时电机逆时针旋转。下面的波形显示了步骤。当电压向正方向变化时,电机步进。我们可以 在每个方向观察四个步骤。这张照片中的步长周期为 20 毫秒。(我最后用了 10 毫秒。)
开发设置
阿杜诺 MKR1000
数字输入输出
电机步进引脚 6
电机方向引脚 1
电机驱动器复位引脚 0
中断引脚 A1 和 A2
更改参数以优化惊吓鸟类和松鼠的顺序以及本报告中使用的值
½ 步进时间 T0 = 5 ms
一个方向的时间 T1 = 80 ms
一个周期的时间 T2 = 1280 ms
材料清单
我的项目延迟的原因示例:
最初,我烧坏了两个电机驱动芯片。当我订购并安装这两个芯片时,两周已经过去了。
当我尝试安装中断时,我通过论坛发现其中一个附加函数存在错误。那花了 1.5 天。
我花了很多时间来尝试让 Serial.print 工作。我终于放弃了。该论坛表示 serial.print 也没有工作。
在另外两个例子中,我按照所有的编码指南编写了一个程序,但结果是错误的。我有一种感觉,我违反了一些未记录的错误。
过去,我使用 Atmega 16 微控制器的软件编写代码来控制此步进电机。这是一个更通用的开发软件,很好但超出了我们对这个 MKR100 项目的规则,更重要的是为了节省时间,它很稳定。
但是,也许我们应该预料到使用此 Beta 版 MKR1000 会出现错误。
源代码
/* 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的鸟类和松鼠检测器(Raspberry Pi和AWS)
- 步进电机资料汇总 37次下载
- 步进电机的原理与驱动综述 22次下载
- 基于DSP的步进电机速度控制系统 29次下载
- 基于PLC步进电机控制系统的设计 108次下载
- 一种PLC控制步进电机的分度算法 8次下载
- 内置译码器的微特步进电机驱动芯片ATD5984 20次下载
- 常用步进电机驱动芯片资料 73次下载
- 光谱导航技术在果树果实定位中有什么样的应用 4次下载
- 如何使用FPGA实现步进电机控制器 27次下载
- 步进电机的基础知识和使用51单片机控制步进电机的程序免费下载
- 步进电机的简介和步进电机的驱动方式及代码免费下载
- 直流叠加交流电压下电树枝的引发和生长特性 0次下载
- 步进电机控制系统的设计与实现
- 步进电机基础
- 什么是步进电机?步进电机的类型和结构 845次阅读
- 如何正确选择步进电机驱动器 1394次阅读
- 步进电机的微步驱动原理是什么 1409次阅读
- 什么是步进电机?步进电机单极和双极的区别 1.4w次阅读
- 步进电机控制器原理_步进电机控制器编程实例 1.6w次阅读
- 什么是步进电机?步进电机的种类 5995次阅读
- 什么是步进电机?步进电机的特点,分类与原理! 3.7w次阅读
- 步进电机驱动芯片有哪些_六款步进电机驱动芯片 11w次阅读
- 两相步进电机和五相步进电机有什么区别 4.7w次阅读
- 步进电机工作效率如何_步进电机的选择方法 4567次阅读
- 步进电机相序如何判断_步进电机主要在哪些方面应用 1.3w次阅读
- 什么是混合式步进电机_混合式步进电机和反应式步进电机的区别 1.6w次阅读
- 步进电机原理、与伺服电机比较、特点、注意事项 1698次阅读
- 步进电机的硬件电路设计,步进电机驱动原理及方法 3.2w次阅读
- 步进电机解析,步进电机的类型分类及步进电机的制动原理 5680次阅读
下载排行
本周
- 1山景DSP芯片AP8248A2数据手册
- 1.06 MB | 532次下载 | 免费
- 2RK3399完整板原理图(支持平板,盒子VR)
- 3.28 MB | 339次下载 | 免费
- 3TC358743XBG评估板参考手册
- 1.36 MB | 330次下载 | 免费
- 4DFM软件使用教程
- 0.84 MB | 295次下载 | 免费
- 5元宇宙深度解析—未来的未来-风口还是泡沫
- 6.40 MB | 227次下载 | 免费
- 6迪文DGUS开发指南
- 31.67 MB | 194次下载 | 免费
- 7元宇宙底层硬件系列报告
- 13.42 MB | 182次下载 | 免费
- 8FP5207XR-G1中文应用手册
- 1.09 MB | 178次下载 | 免费
本月
- 1OrCAD10.5下载OrCAD10.5中文版软件
- 0.00 MB | 234315次下载 | 免费
- 2555集成电路应用800例(新编版)
- 0.00 MB | 33566次下载 | 免费
- 3接口电路图大全
- 未知 | 30323次下载 | 免费
- 4开关电源设计实例指南
- 未知 | 21549次下载 | 免费
- 5电气工程师手册免费下载(新编第二版pdf电子书)
- 0.00 MB | 15349次下载 | 免费
- 6数字电路基础pdf(下载)
- 未知 | 13750次下载 | 免费
- 7电子制作实例集锦 下载
- 未知 | 8113次下载 | 免费
- 8《LED驱动电路设计》 温德尔著
- 0.00 MB | 6656次下载 | 免费
总榜
- 1matlab软件下载入口
- 未知 | 935054次下载 | 免费
- 2protel99se软件下载(可英文版转中文版)
- 78.1 MB | 537798次下载 | 免费
- 3MATLAB 7.1 下载 (含软件介绍)
- 未知 | 420027次下载 | 免费
- 4OrCAD10.5下载OrCAD10.5中文版软件
- 0.00 MB | 234315次下载 | 免费
- 5Altium DXP2002下载入口
- 未知 | 233046次下载 | 免费
- 6电路仿真软件multisim 10.0免费下载
- 340992 | 191187次下载 | 免费
- 7十天学会AVR单片机与C语言视频教程 下载
- 158M | 183279次下载 | 免费
- 8proe5.0野火版下载(中文版免费下载)
- 未知 | 138040次下载 | 免费
评论
查看更多