Hot answers tagged

11 votes
Accepted

Quadcopter PID Algorithm

The glaring issue I see at the moment is that you are forcing polarity on the I and D terms. In general, you are using a lot of sign checks, sign assignments, and conditional programming. None of that ...
user avatar
  • 14.6k
4 votes

Outputting a precise voltage in millivolts on Arduino Mega

analogWrite() does not support a higher range of duty cycle. However the timers on the AVR chip do support higher precision/resolution, so you can bang the registers directly, especially if you don'...
user avatar
  • 710
4 votes

Should I use an arduino to control my balancing robot's motors?

If you want to have a good balancing, PID loop timing is very important. Standard Raspberry OS, like Raspbian can't guarantee you any precise timing, so once your loop period may be 10ms, once it can ...
user avatar
  • 953
3 votes

Will a change of motor driver improve motor performance?

If you want to test the motor, just apply a DC source to it directly rather than using the l298. A 12V car battery is a source you likely have access to that can supply enough current so you can test ...
user avatar
  • 4,205
3 votes

How can I increase the resolution of a PWM signal?

You won't ever get 'exactly' 2042.8878 RPM, so going with your measurement accuracy I will assume you mean 2042.8878 +/- 0.0005 RPM. This is approximately an error of 1 part in 4 million. So let's ...
user avatar
3 votes

How to control a dc motor

Yes, as this motor is rated for 100amps stall at 12V you should probably be using a motor controller capable of supplying that amount of current. Regarding how to drive the motor, the following may ...
user avatar
  • 306
3 votes
Accepted

Controlling digital servos

Digital servos accept the same pulse width and pulse repetition rate as regular analog servos. a b With many RC servos -- both digital and analog -- as long as the "frame rate" (how many times per ...
user avatar
  • 4,375
3 votes
Accepted

Pulse Position Modulation as used in RC controls

Many (perhaps most) radio control transmitters multiplex all the "RC PWM" channels into a single physical wire, using a system called "RC PPM" (radio-control pulse position modulation). (a) (b) (c) (d)...
user avatar
  • 4,375
2 votes
Accepted

Quadcopter Throttle and PID mixing to Motor Speed

For each motor the output should be: A value at which the power from the 4 motors roughly keeps the quadcopter airborne, for instance 1500ms. Plus or minus the influence of the throttle. For instance ...
user avatar
  • 478
2 votes

Pulse Position Modulation as used in RC controls

Multiple channels are time sliced onto "one-wire". The real wire count is usually three. Typically there is a positive voltage wire (may not be there depending on whether both ends have their own ...
user avatar
  • 21
2 votes

Alternative to BeagleBone Black for Node.js based remote control project?

In addition to the RPi, as TobiasK suggests, the Arduino boards have: PWM support; USB support is possible with the addition of an inexpensive USB shield, and; node.js is possible, see: Arduino ...
user avatar
  • 1,284
2 votes

Why do my ESCs stop working?

I use those RCtimer ESCs and they have always worked great for me, generally thease (and most) ESCs will be looking for 50Hz pwm with a period between 1-2ms, though generally you will not damage them ...
user avatar
  • 1,909
2 votes

how to sync the timer in control system with ROS?

Your question kind of boils down to, what is real time ? In the end real time is what you want/specify for your system to work, whether it be hard real time or soft real time. In practice ROS is ...
user avatar
  • 1,327
2 votes

How to handle motor stall zones in differential drive point-forward go to goal algorithm?

For a similar problem (TT motors can't start the bot rolling on a carpet) I have been toying with the idea of setting up PID control for the angular velocity. If it stays stuck, the integral term ...
user avatar
  • 1,111
1 vote

Feed-forward controller with lookup table

I don't have time to read the paper right now, but yeah generally feed-forward just means providing the signal you expect will give you the output you want. That would mean you have some advance ...
user avatar
  • 14.6k
1 vote

What is the noise in this PWM signal?

After a bit more reading and thinking, I think I’ll answer my own question. I’d like feedback on my logic if you have it. My logic is this: the PWM signal from the MCU is clean (evidenced by the ...
user avatar
  • 319
1 vote

What network protocol/control units are motor-based robots controlled with?

In modern industrial motion control, the communication between the controller (motion controller, robot controller, CNC contoller) is typically done with: Profinet CanOpen Sercos EtherCAT
user avatar
  • 6,322
1 vote

PID control brushed motors via PWM using Encoder Clicks at SetPoints/Measurements

A PID controller takes an error as input (the encoder ticks) and yields an output whose unit of measurement $O$ (the PWM percentage, usually) is uncorrelated with the unit of measurement $I$ of the ...
user avatar
1 vote

How to control the speed of servo?

Vary the voltage to the servo. If your servo operates full power at 5V at 2.5V it will operate at half speed. If your FPGA can output an analogue signal you could use that to drive the motor speed, ...
user avatar
  • 111
1 vote

BBC Micro bit PWM link to CC3D quad controller

Ok I think I'm getting somewhere. Two issues found: When the Micro:bit runs off two AA batteries the 3v output can drop significantly as the batteries run down. The CC3D wasn't liking the even lower ...
user avatar
  • 31
1 vote
Accepted

Arduino output SPWM using Matlab

It seems that all the code you wrote is in Matlab, and at each cycle it should communicate via the USB port with arduino to turn the pin on or off. This take a lot of time. The fastest solution ...
user avatar
  • 6,322
1 vote

Alternative to BeagleBone Black for Node.js based remote control project?

You could also consider the ESP8266. It can be programmed directly with the Arduino Developers Kit (see ESP8266 Arduino). In that sense the developer community overlaps heavily with that of the ...
user avatar
  • 1,027
1 vote

Alternative to BeagleBone Black for Node.js based remote control project?

You will find only two boards with a larger developer community and one of them is supporting node.js, PWMs and USB-interfaces. It is the raspberry Pi.
user avatar
  • 1,647
1 vote

How can I increase the resolution of a PWM signal?

The PWM signal should not be the limiting factor in achieving the accuracy you seek. For some applications, PWM signals are chopped > 100 kHz, so, given the correct DSP or microcontroller output to ...
user avatar
  • 4,326
1 vote
Accepted

How to use specific ESC,BLDC motor through Arduino Uno R3?

An ESC needs to have the throttle limits adjusted before you can use it. While there are many options you can set from a programming menu (see page 4 of this PDF for reference), the throttle ...
user avatar
  • 14.6k
1 vote

Why do my ESCs stop working?

It doesn't seem like those motors are well matched to your battery. They recommend a 2or3 cell LiPo (7.2V or 11.1V) while you are using a 1 cell LiPo (3.6V). I think you'll find most motors will ...
user avatar
  • 1,027
1 vote

Drive motor voltage / other specifications of Roomba 650

FYI, iRobot has released the spec for the motor interface here: http://www.irobot.com/~/media/MainSite/PDFs/About/STEM/Create/Create_2_Wheel_Hack.pdf
user avatar
  • 5,215
1 vote

Drive motor voltage / other specifications of Roomba 650

The motors get a PWM'd battery voltage which is around 18V. I assume it is safe to run at that voltage at 100% duty cycle. I imagine you could run a higher voltage but you run the risk of burning ...
user avatar
  • 5,215
1 vote

Pulse Position Modulation as used in RC controls

Multiple PWM channels generally aren't shoved into a single wire (Or I've never heard of it). If you need to send multiple data channels over the same wire then using a higher level protocol (such as ...
user avatar
  • 420
1 vote

Controlling digital servos

I think people are getting their mS and uS mixed up! Generally it was always between 1mS and 2mS but to get the full range or extended range its said to be 0.8mS and 2.2mS (or 800uS to 2200uS) not 800 ...
user avatar
  • 11

Only top scored, non community-wiki answers of a minimum length are eligible