商店

使用汽车和Arduino®

一般来说,你会遇到三种不同的汽车在你的Arduino项目。每个都有自己的使用,优势和劣势。

  • 直流电机简单的连接和使用(两个领导),通过电压驱动,不是很精确
  • 伺服电机相对简单的连接和使用(3),驱动到一个特定的位置或在一个特定的速度通过一个或两个控制命令
  • 步进电机复杂的连接和使用(四个或以上领导),驱动到一个特定的位置通过特殊序列的控制命令,可以非常精确的距离速度非常精确。

的游标数字控制单元都柏林城市大学()提供了一种简单的方法来控制Arduino许多类型的汽车。许多Arduino的董事会至少有16个数字输出线,但这些线只能用直接打开电流的电子产品,如发光二极管和蜂群。对于大多数汽车不能开足够的电流。专用Arduino“电动机盾牌”通常是卖这个目的,但另一个选择是使用都柏林城市大学游标。

与PWM直流电机控制

直流电机是简单的电子元件。施加一个电压的两个领导和电机旋转。应用电压和它旋转得更快更大。把领导和它在相反的方向旋转。

一个限制和许多微控制器和Arduino一样,是它只提供数字线输出。你可以设置一个输出线高(max电压)或低电压(零),但你不能直接输出一个电压。然而,有一个间接的方法允许您将输出一个电压之间的某个地方马克斯和零。这个过程称为脉冲宽度调制(PWM)。为了输出电压之间的中档max和零,单片机可以替代高和低产出之间设置非常快。如果开关同样马克斯和0之间,输出电压是有效一半马克斯。如果是高两倍,只要很低,那么它就是有效地输出一个电压三分之二马克斯。

样本的草图,VernierLibTutorialDCUPWM利用PWM逐步加速和减速直流电机。直流电机连接到D4和接地线都柏林城市大学游标。DCU之后插入数字2端口上游标Arduino接口屏蔽或者一个数字Protoboard适配器连接到Arduino针6、7、8和9的解释连接游标Arduino传感器部分。

/ * VernierLibTutorialDCUPWM (v2018) *这个草图使用脉冲宽度调制(PWM)直流电机的速度控制*连接到都柏林城市大学游标。*汽车会慢慢增加速度从0到马克斯和*然后慢慢降低它的速度从马克思到0。* * DCU之后插入游标Arduino *接口上的数字2端口屏蔽或数字Protoboard适配器连接* Arduino针6,7,8,9。都柏林城市大学将直流电机连接到* D4和接地线。* / # include“VernierLib。h”/ /包括微调功能在这个草图VernierLib游标;/ /创建一个实例VernierLib图书馆int PWMSetting;/ /创建全局变量水平的PWM空白设置(){}无效循环(){/ / demononstrate PWM淡入从0到马克斯的增量5分(int PWMSetting = 0;PWMSetting < = 255;PWMSetting + = 5) {Vernier.DCUPWM (PWMSetting); //turn on motor to PWM level delay(30); //wait 30 milliseconds to see timing effect } // fade out from max to 0 in increments of 5 points for(int PWMSetting = 255 ; PWMSetting >= 0; PWMSetting -=5) { Vernier.DCUPWM(PWMSetting); //turn on motor to PWM level delay(30); //wait 30 milliseconds to see timing effect } delay(1000); //wait 1 sec before repeating }

伺服电机

伺服电机是受许多Arduino用户的欢迎,因为它们允许角位置的精确控制。标准的伺服很小,但强劲,节能,因为它吸引了功率正比于其负载。

样本的草图,VernierTutorialDCUServo、控制的位置伺服机构为应对原始电压从任何游标模拟(BTA)传感器。您将需要包括伺服。h图书馆开始你的草图。如果您正在使用一个伺服电机标准3插头,您可以直接连接到3针都柏林城市大学游标标记为“伺服。“一定要验证伺服连接器的方向是正确的(黑导致接地和白色或黄色导致4)。如果你的伺服电机没有3塞,都柏林城市大学你可以将它连接到螺丝接线端使用下面的接线图。

  • 伺服控制都柏林城市大学(白色或黄线)线D4
  • 都柏林城市大学伺服5 v(红色线)线XP(权力)
  • 伺服DUC接地线接地(黑色线)

都柏林城市大学传感器和插入模拟1和数字2端口,分别的游标Arduino接口屏蔽模拟数字Protoboard适配器《连线》的解释将游标传感器连接到Arduino使用案板部分。外部电源,如LabQuest电源伺服电机所需功率。

/ * VernierTutorialDCUServo (2017 v) *该草图控制臂在反应*伺服电机的电压从一个游标模拟(BTA))传感器。* *将伺服电机连接到都柏林城市大学3连接器在*标记为“伺服”(黑色导致接地,白色或黄色导致* 4)都柏林城市大学或将其连接螺丝接线端。* DCU之后插入游标Arduino *接口上的数字2端口屏蔽或数字Protoboard适配器连接* Arduino针6,7,8,9。*传感器插入游标* Arduino界面上的模拟1端口屏蔽或模拟Protoboard适配器*连接到Arduino销A0。* / # include <伺服。h > / /包括库函数玻璃钢伺服电机伺服myservo;/ /创建伺服对象来控制伺服int sensorPin = 0;/ /初始化全局变量对引脚分配传感器int sensorVoltage;/ /创建全局变量传感器读数空白设置(){myservo.attach (9);/ /连接伺服对象Arduino销9 pinMode(9、输出); //setup the servo pinMode(6, OUTPUT); //setup DCU line for a servo motor pinMode(7, OUTPUT); //setup DCU line for a servo motor pinMode(8, OUTPUT); //setup DCU line for a servo motor digitalWrite(6, LOW); //turn off DCU line digitalWrite(7, LOW); //turn off DCU line digitalWrite(8, LOW); //turn off DCU line } void loop() { sensorVoltage = analogRead(sensorPin); //read raw voltage (value between 0 and 1023) sensorVoltage = map(sensorVoltage, 0, 1023, 0, 179); //scale voltage to angle measure (value between 0 and 179) myservo.write(sensorVoltage); //set servo position according to scaled value delay(15); //wait 15 milliseconds for servo to reach position }

步进电机

有两种基本类型的小型永磁步进电机:双极和单极。双极步进电机有四线,连接两个电动机线圈的末端。单极电机有五、六或八个电线,将四个连接四个电机线圈的末端。最简单的方法来控制步进电机的Arduino是连接的DCU之后,但棘手的部分是确定如何连接电线。

如果您使用的是双相步进电机,第一步是识别这两个连接到相同的线圈。你可以通过观察一个接线图在制造商的网站或通过测量用万用表电阻之间的一对电线。电机线圈只会几欧姆的电阻(通常约20欧姆小型汽车),所以找到它们之间的双导线电阻较低。当你确定了两双,都柏林城市大学一对连接到行D1和D2;线D3、D4都柏林城市大学其他两行。DCU之后插入数字2端口上游标Arduino接口屏蔽或者一个数字Protoboard适配器连接到Arduino针6、7、8和9的解释将游标传感器连接到Arduino使用案板部分。连接外部电源,如LabQuest电源DCU之后。

如果您使用的是单极步进,你需要确定哪些四线”生活。”“活”的电线就去四个电机线圈;其他电线电线。用万用表来测量双导线之间的电阻。电阻之间的一个“活的”线和地线将小(约20欧姆),当两个地面电线之间的阻力可以忽略不计(零)。当你确定了四个“活”的电线,都柏林城市大学将它们连接到D1、D2、D3、D4。

VernierLib库包含一个函数来控制步进电机:

游标。DCU之后Step(stepCount, stepDirection, stepDelay);

在stepCount是马达转动的步数,stepDirection指定是否电机顺时针或逆时针旋转,和stepDelay是每一步以毫秒之间的停顿(延时越短,马达转动越快)。注意度的数量每一步是电动机转由制造商决定。

样本的草图,VernierLibTutorialDCUStepper,将使步进电机旋转一个完整的顺时针旋转,停止一秒钟,然后逆时针旋转一个完整的旋转。注意如果你的汽车并不像预期的那样旋转,都柏林城市大学试开关的电线螺丝终端。找到正确的接线模式基本上是一个试错的情况。

/ * VernierLibTutorialDCUStepper (v2017) *这个草图将步进电机旋转一个完整*顺时针旋转,停留半秒钟,然后*一个完整的旋转逆时针旋转。都柏林城市大学* *将步进电机连接到线D1、D2、D3、D4。* DCU之后插入游标Arduino *接口上的数字2端口屏蔽或数字Protoboard适配器连接* Arduino针6,7,8,9。* / # include“VernierLib。h”/ /包括微调功能在这个草图VernierLib游标;/ /创建一个实例VernierLib图书馆int stepCount = 48;/ /创建全局变量数目的步骤;修改如果不做出一个完整的旋转int stepDirection = 0; / /为方向0 = CW创建全局变量,1 = CCW int stepDelay = 30;/ /创建全局变量步次女士;修改变化的速度旋转真空设置(){}无效循环(){游标。DCUStep (stepCount stepDirection stepDelay); //rotate the motor Vernier.DCU(0); //turn off all DCU lines delay(500); //wait half second stepDirection ++; //increment the step direction if (stepDirection > 1) stepDirection=0; //if finished CCW, reset to CW }

Arduino®和

Arduino标志

是Arduino SA的商标。

保存/分享你的购物车
Baidu
map