Arduino的马达能不通过继电器,直接连电源么? (要不要加电阻,如果要,加多少)

Arduino的马达能不通过继电器,直接连电源么? (要不要加电阻,如果要,加多少),第1张

楼主你好
这样做是不行的,Arduino的输出电流20mA,直接接就会导致电流过大烧毁主控制器的
而加限流电阻可能会引起马达不工作,因为马达还是要有一定的电流才能启动并正常运转的
遇到这样的情况我们可以通过扩流的方法增大输出电流,而利用继电器只是其中的一种,除此之外,还有利用三极管、场效应管、光耦继电器等等
我在网上找到了关于扩流的方法笔记,可以供楼主参考
>USB数据线。Arduino是一款便捷灵活、方便上手的开源电子原型平台,可以将Arduino开发板通过USB数据线连接在电脑USB端口上开发Arduino程序,电脑的USB端口可以为Arduino开发板提供电源

不要使用电脑usb供电,因为如果电流需求大于500ma,会有烧毁usb的可能,推荐使用电池外置供电。
Arduino板子上不是有个电源插座吗?外接电源5-12V插到Arduino电源插座上,然后舵机接5V和GND,信号口接数字7号口。代码如下:
int readPin = 0; //用来连接电位器
int servopin = 7; //定义舵机接口数字接口7
void servopulse(int angle)//定义一个脉冲函数
{
int pulsewidth=(angle11)+500; //将角度转化为500-2480的脉宽值
digitalWrite(servopin,HIGH); //将舵机接口电平至高
delayMicroseconds(pulsewidth); //延时脉宽值的微秒数
digitalWrite(servopin,LOW); //将舵机接口电平至低
delayMicroseconds(20000-pulsewidth);
}
void setup()
{
pinMode(servopin,OUTPUT);//设定舵机接口为输出接口
}
void loop()
{
//读取电位器(传感器)的读数,接到33V,值范围从0到660左右
int readValue = analogRead(readPin);
//把值的范围映射到0到165左右
int angle = readValue / 4;
//发送50个脉冲
for(int i=0;i<50;i++)
{
//引用脉冲函数
servopulse(angle);
}
}

这个要看是怎么连法了,UNO一共有13个数字口,其中有RX,TX,用于串口通讯,那就剩余11个数字口。
如果是用ULN2008做驱动+4线步进电机:可以接2个。
如果是用专用的步进电机驱动器+4线电机:可以接5个。
Arduino UNO是Arduino USB接口系列的最新版本,作为Arduino平台的参考标准模板。UNO的处理器核心是ATmega328,同时具有14路数字输入/输出口(其中6路可作为PWM输出),6路模拟输入,一个16MHz晶体振荡器,一个USB口,一个电源插座,一个ICSP header和一个复位按钮。UNO已经发布到第三版,与前两版相比有以下新的特点:
1、在AREF处增加了两个管脚SDA和SCL,支持I2C接口;增加IOREF和一个预留管脚,将来扩展板将能兼容5V和33V核心板。;
2、 改进了复位电路设计;
3、USB接口芯片由ATmega16U2替代了ATmega8U2 。

三种供电正是arduino有意思的地方。通常是USB供电,即写程序时就由PC供电了。DC口可以接较高电压,由板上5V稳压IC输出5V。+Vin即直接电压输入,大概33
至6V都没问题,此时USB的供电被切断以保护USB口。mega芯片本身可以在较宽电压下工作,不过外围的TTL电路等不一定正常工作。


欢迎分享,转载请注明来源:内存溢出

原文地址:https://www.54852.com/yw/10407011.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2023-05-08
下一篇2023-05-08

发表评论

登录后才能评论

评论列表(0条)

    保存