Questions tagged «servo»

一种具有自动反馈的电动机,例如业余RC伺服。

11
我想学习如何制作自己的USB小工具
我一直在为其他人编写Linux字符设备驱动程序。我想找到一个新的爱好,而制作自己的USB gizmos的想法似乎真的很整洁。 我很高兴能够控制某些LED,伺服和步进电机。我真的很喜欢独自学习新事物,当事物最终起作用时,我会很兴奋。我没有做过认真的MC编程,但是知道我的方法。 谁能推荐一些对一个完整的菜鸟有用的工具包?理想情况下,它们是: Linux友好 能够进行国际运输(我目前居住在亚洲) 提供面包板套件 如果您有时间和爱好,那么非常感谢您链接到其他人的站点上包含原理图和零件清单的项目的链接。我想从例子中学习,但是要有很好的例子,这就是为什么我在这里问。 我最终的目标是创建自己的数据收集器-从降雨到平均分贝再到光照水平的一切。抱歉,如果以前有人问过,我确实进行了搜索(并搜索了标签)。

6
串行协议定界/同步技术
由于异步串行通信甚至在当今的电子设备中也很普遍,我相信我们许多人会不时遇到这样的问题。考虑与串行线(RS-232或类似产品)连接并且需要连续交换信息的电子设备D和计算机。即每个发送一个命令帧,并每个发送一个状态报告/遥测帧答复(报告可以作为对请求的响应发送,也可以独立发送-在这里并不重要)。通信帧可以包含任何任意二进制数据。假设通信帧是固定长度的分组。PCPCX msDY ms 问题: 由于协议是连续的,因此接收方可能会失去同步,或者只是在进行中的发送帧中间“加入”,因此它只是不知道帧起始位置(SOF)在哪里。根据数据相对于SOF的位置,数据具有不同的含义,接收到的数据可能会永久损坏。 所需的解决方案 可靠的定界/同步方案可在恢复时间短的情况下检测SOF(即重新同步所需的时间不超过1帧)。 我了解(并使用了一些)的现有技术: 1)标头/校验和 -SOF作为预定义的字节值。帧末的校验和。 优点:简单。 缺点:不可靠。恢复时间未知。 2)字节填充: 优点:可靠,快速恢复,可与任何硬件一起使用 缺点:不适用于固定大小的基于帧的通信 3)第9位标记 -在每个字节之前附加一个位,而SOF标记为1和数据字节标记为0: 优点:可靠,快速恢复 缺点:需要硬件支持。大多数PC硬件和软件未直接支持。 4)第8位标记 -上面的一种模拟,同时使用第8位而不是第9位,每个数据字仅保留7位。 优点:可靠,快速的恢复,可与任何硬件一起使用。 缺点:需要从/到常规8位表示到/从7位表示的编码/解码方案。有点浪费。 5)基于超时 -假定SOF为某个已定义的空闲时间之后的第一个字节。 优点:无数据开销,简单。 缺点:不太可靠。在较差的计时系统(如Windows PC)上无法很好地工作。潜在的吞吐量开销。 问题: 还有哪些其他可能的技术/解决方案可以解决该问题?您能否指出上面列出的缺点,可以轻松解决这些缺点,从而消除它们?您(或您将)如何设计系统协议?
24 serial  communication  protocol  brushless-dc-motor  hall-effect  hdd  scr  flipflop  state-machines  pic  c  uart  gps  arduino  gsm  microcontroller  can  resonance  memory  microprocessor  verilog  modelsim  transistors  relay  voltage-regulator  switch-mode-power-supply  resistance  bluetooth  emc  fcc  microcontroller  atmel  flash  microcontroller  pic  c  stm32  interrupts  freertos  oscilloscope  arduino  esp8266  pcb-assembly  microcontroller  uart  level  arduino  transistors  amplifier  audio  transistors  diodes  spice  ltspice  schmitt-trigger  voltage  digital-logic  microprocessor  clock-speed  overclocking  filter  passive-networks  arduino  mosfet  control  12v  switching  temperature  light  luminous-flux  photometry  circuit-analysis  integrated-circuit  memory  pwm  simulation  behavioral-source  usb  serial  rs232  converter  diy  energia  diodes  7segmentdisplay  keypad  pcb-design  schematics  fuses  fuse-holders  radio  transmitter  power-supply  voltage  multimeter  tools  control  servo  avr  adc  uc3  identification  wire  port  not-gate  dc-motor  microcontroller  c  spi  voltage-regulator  microcontroller  sensor  c  i2c  conversion  microcontroller  low-battery  arduino  resistors  voltage-divider  lipo  pic  microchip  gpio  remappable-pins  peripheral-pin-select  soldering  flux  cleaning  sampling  filter  noise  computers  interference  power-supply  switch-mode-power-supply  efficiency  lm78xx 

9
有没有办法阻止伺服器“抖动”?
很简单,我根据从其他地方读取的一些数据来控制伺服器(9g Micro Servos)。一切正常,除了伺服器会不断“抖动”。也就是说,它们以非常细微的运动向后振动(间歇运动为1/2-> 1cm左右)。 我尝试通过执行以下操作来纠正软件中的此问题: do{ delay(DTIME); positionServo(); lcd.clear(); lcd.setCursor(0,0); lcd.print("X position: "); lcd.print(xRead); lcd.setCursor(0,1); lcd.print("Y position: "); lcd.print(yRead); }while( readChange() ); //while there has been change 在需要执行do-while的地方,初始化存储映射的伺服值的变量(使用arduino伺服库)。 readChange()函数定义为: int readChange(){ int x_Temp, y_Temp; x_Temp = map(analogRead(x_axisReadPin), 0, 1023, 0, 179); y_Temp = map(analogRead(y_axisReadPin), 0, 1023, 0, 179); if( abs(x_Temp …
20 arduino  servo 

4
伺服失速扭矩,kg / cm?
我最近从ebay购买了一些便宜的TowerPro SG-50 rc伺服器。它们似乎工作得很好,尽管体积很小,但它们却很坚固。 但是它们实际上有多“强大”。数据表指定: 堵转转矩: 0.8 kg / cm 这意味着什么。我想失速转矩是在伺服器失速之前需要在旋转的反方向上施加的转矩量。但是单位kg / cm是什么意思?

1
这是使电流远离面包板的正确方法吗?
我最近对电子和机器人技术越来越感兴趣,所以我想使用伺服电机来移动设备。阿555芯片创建用于伺服用于定位的PWM信号,并且我控制与可变电阻器的伺服。 我敢肯定它可以轻松移动我的设备,但是我不愿意将3 A穿过面包板(如果伺服器停转,将会发生这种情况)。 可以进行以下工作吗? 我相信这会将伺服器所需的功率传递到面包板上,因此面包板将仅与控制伺服电机所需的电流一起工作,以创建PWM。
11 servo  breadboard 

2
连续旋转“伺服”与直流电动机
在什么情况下,我应该选择连续旋转的“伺服”而不是直流电动机? 在我看来,要使用直流电动机,我将需要MCU的三个引脚-两个用于正向/反向/制动/海岸,一个用于PWM。最重要的是,我需要一个H桥。 对于连续旋转伺服,我只需要一个信号引脚和一些代码即可发送适当的定时信号。我无法控制伺服器的速度,可以吗?而且,它必须类似于电动机内部的H桥,这肯定会增加成本,但是电动机将始终处于齿轮传动状态,这是一个加号。 那么,每种方案的优缺点是什么,何时应该选择一种方案呢?
11 motor  servo 

2
单元测试AVR汇编语言
您如何对汇编代码进行单元测试? 我正在将串行伺服控制器作为hexapod机器人项目的一部分进行工作,并且代码已经变得越来越复杂了;)无论如何,作为C ++服务器开发人员,我习惯于在日常工作中使用单元测试,并且因此一直在尝试对我的AVR汇编代码进行相同类型的测试。我已经找到了一种对我来说行得通的方法(请参阅此处),但是我对是否缺少任何标准工具或技术感兴趣。 更新:对于那些感兴趣的人,现在可以在此处找到伺服控制器的完整资源和单元测试。
11 avr  robotics  serial  servo 

1
所有动态信号分析仪都发生了什么?
几十年前,至少有六家仪器公司提供动态信号分析仪(DSA)。不是频谱分析仪,而是动态信号分析仪。主要区别在于双通道或多通道输入以及频率范围降至毫赫兹。DSA是完整的系统,可让您在几分钟内测量伺服系统的传递函数并分析其稳定性裕度。 我记得HP(安捷伦),Onno Sokki,Bruel&Kjaer,Anritsu,还有至少三位。但是今天只有Keysight(安捷伦的衍生产品)和Stanford Research System的780和785,但是Keysight分析仪是唯一可用于任何严肃伺服工作的分析仪。 那么这个市场去了哪里?当然,随着机器人技术的兴起,需求只会越来越大。我对新分析仪的开发没有超越HP35670A(我认为它是有史以来设计最好的DSA)感到沮丧。是德科技仍提供该模型,但输入仍然是模拟的。而且没有USB可以释放数据。

3
如何测量流向组件的电流?
我正在使用简单的伺服器构建六脚机器人,我想知道测量每个伺服器的电流(5-6V DC至最大0.25-1A)的可行性(我尚未找到伺服器失速的规格当前)),例如使用ATMega168。为了给我一个有用的读数,我需要与哪种伺服电源线串联构建哪种电路?我假设我会在该电路上出现电压降,这可能是什么?等等

2
如果Arduino Uno只有6个数字PWM引脚,如何支持多达12个伺服器?
根据此: 伺服库在大多数Arduino板上最多支持12个电机,在Arduino Mega上最多支持48个电机。在Mega以外的板上,使用该库会禁用引脚9和10上的AnalogWrite()(PWM)功能,无论这些引脚上是否有Servo。在Mega上,最多可以使用12个伺服器,而不会影响PWM功能。使用12到23个电机将禁用引脚11和12上的PWM。 然而,根据此: 数字I / O引脚14(其中6个提供PWM输出) 那么,如果Uno只有6个可提供PWM输出的数字I / O引脚,那么如何控制6个以上的伺服器呢?
10 arduino  motor  pwm  servo  pins 

4
如何通过电机实现非常精确/精细的旋转
我正在做一个实验,我需要旋转一个轻质的刻度盘(<5克,所以扭矩要求非常低,而且相当缓慢),但是需要做非常精确的0.03度的精细步调。 这样的事情(在这里显示为直接驱动器,但是我可以接受其他选项,如下所述): 对于我的目标,以下哪种电机设置/方法最有可能成功? 一个典型的步进电机(例如1.8度步进)并使用128微步进?但是,本文指出,微步进只能实现分辨率,而不能达到精度。 像本例那样的带有行星齿轮箱(比率为51:1)的步进器,还是会遭受过多的反冲? 无刷直流电动机和磁性旋转编码器(如AS5048(14位分辨率))一起编写自己的PID回路以达到所需位置? 步进器与磁性旋转编码器相结合以跟踪真实方向,因此将其用作反馈,以纠正齿轮箱(方法2)中的反冲或微步进情况(方法1)中的遗漏步伐? 还是其他方法? 注:我已阅读存在着工业级伺服系统可轻松实现0.03度的目标,但这些方式我的预算,所以我希望在调整和学习成本较便宜的解决方案。

2
使用3.3V驱动4.8V伺服信号线
我有一个工作电压为4.8V 的伺服器。我想从运行3.3V的MCU驱动伺服器。我还没有尝试过,但是想知道是否需要使用MOSFET或NPN晶体管将信号线驱动到4.8V。是否可以使用3.3V信号驱动4.8V伺服器?性能会受到影响吗? 如果需要以4.8V驱动,应该如何连接?门显然到达信号(具有必要的电阻),但是如何连接伺服器的信号线?我应该将信号线连接到4.8V,将地线连接到漏极吗?我猜这行不通。这有可能吗?

2
用MOSFET驱动伺服
我正在尝试构建包含伺服器的小型电池供电设备。我希望能够关闭伺服器以节省电池寿命。之前我已经读过MOSFET可用于执行此操作,但是我很难找到足够详细的示例电路(缺少电阻值而无法计算),老实说我不太确定我使用哪种电路正在寻找(我以前从未使用过任何FET)。有人可以给我一些正确的方向吗? 可能相关的信息: 在mega88 @ 3.3V上运行的代码 4.8-6V伺服器直接连接到6V电池组中(我想对此进行更改)
9 mosfet  servo 

2
伺服响应伺服测试仪,而不响应微控制器。信号看起来一样
我有一个TowerPro MG90D伺服器(制造商链接)(ServoDatabase Link)。 它具有180度范围(非连续)。 它对我的伺服测试仪反应很好: 在测试仪上观察以下7%的占空比(大约90度): 伺服响应良好。 但是,当我servo.write()与Arduino Mega 2560克隆一起使用时,伺服器不会响应任何角度输出。我还有其他几个伺服器,它们在相同的引脚上使用相同的代码也可以正常工作。 使用以下命令在Arduino上观察以下7%的占空比servo.write(90): 没有反应。伺服是“一跳”;它没有担任任何职务。 在写这个问题时,我想到了尝试servo.writeMicroseconds()。 这里是servo.writeMicroseconds(1450): 伺服响应! 这是servo.writeMicroseconds(1472)(工作中),其时间间隔与prevoius非工作中相同servo.write(90)! servo.writeMicroseconds(1550) (工作中): 有什么区别? 伺服测试仪的工作频率servo.write()为49.5Hz ,而失败的频率为49.9Hz。我想知道0.4Hz是否会有所不同,但是后来我看到它servo.writeMicroseconds()也以49.9Hz起作用。 在上面的范围捕获中,可以看出两者servo.write(90)和servo.writeMicroseconds(1472)具有相同的时间间隔: 1,474,560ns HIGH 18,544,640ns LOW 信号是如此相似... 是什么原因导致servo.write()无法工作? 我的代码是尽可能基本的: #include <Servo.h> Servo serv1; void setup() { serv1.attach(3); // Pin 3 } void loop() { serv1.write(90); // No response delay(3000); serv1.writeMicroseconds(1472); …
8 arduino  pwm  signal  servo 

4
步进电机和伺服电机有什么区别?
我不确定我理解步进电机和伺服电机之间的区别。有人可以向我解释吗? 这些电动机在暂停或关闭时又会如何运转?它们是否有足够的阻力将某些东西保持在适当位置(例如1kg),或者我需要为此做些特别的事情吗? 对于我希望以小步长缓慢移动的应用程序,您认为这两个中的哪一个是更好的选择(即,我需要一个很小的步长,然后在该位置停顿,然后再走一个小步长,因此然后,我希望每个步骤都可以完全相同地更改)。 这个问题的内容:我想创建一个延时摄影装置,该装置将在一段时间内平移和倾斜DSLR相机。

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.