Hot answers tagged

19

Specifics Looking at the PID Basic Example I think that you just need to instantiate two copies of PID controller, one for each wheel, encoder and pwm: PID leftPID(&InputLeft, &OutputLeft, &SetpointLeft,2,5,1, DIRECT); PID rightPID(&InputRight, &OutputRight, &SetpointRight,2,5,1, DIRECT); Then, in your loop() equivalent, you just ...


7

If this is true linear motion (non-rotational) then you will need some sort of a pivoting linkage in between the two units to transfer one motion to the other. Something like this would probably work: As the lower link moves vertically, it rotates the red gear which in turn pushes the second link horizontally. However, given that your image shows more of a ...


4

I think a more compact and reliable solution would be to use a third shaft that is perpendicular to the other two (on the Z-axis) Given the shaft moving up/down is moving on the Y-axis and the shaft moving left/right is moving on the X-axis. This crude diagram should explain things better. As the motor turns Shaft A upwards it then turns Shaft C. Shaft C ...


4

The mechanism suggested in the previous answer is a form of four-bar linkage. A bell crank is a slightly simpler form of basically the same thing. You could push on one side of a bell crank with the end of the motor shaft, and use a spring return for the other direction if it is difficult to attach to the shaft. (The shaft apparently rotates, but the ...


3

Scott-Russell type mechanism. For weeks I was trying to come up with a solution for that exact problem for a engineering project mine. Look it up.


2

YACC and Lex to the rescue. They are exactly what you ask for: "a general purpose datagram parsing library". Bytes go in one end, and structured data comes out the other end. You are responsible for doing 2 things: Tokenizing Lex is used for tokenizing – deciding how the input stream of bytes should be grouped. For example, to tokenize the text ...


2

You need to read and understand that datasheet. This board does not have addressing, so without additional hardware you can only have one per serial port. For a demonstration, use a USB-Serial cable connected between the motor controller and a computer. You can use any serial program you have to communicate with the motor controller. Examples of serial ...


2

What you need is something that is generally referred to as a "brake resistor." It looks like there's an application note specifically for your product. It says, in part: A voltage clamp is a circuit used with a motor controller to divert excess energy away from the control circuitry and power supply to prevent damage. In the two applications ...


2

A Google Image search on L293D board suggests that this is a widely available board manufactured by (or at least designed by) Deek-Robot. The 5 pin connector mostly duplicates pins on the 6 pin green terminal block: I suspect it is mostly useful for a quick motor connection when testing, whereas the green connector is used for a final motor connection. ...


1

Besides the control code, I wonder whether the physics is worth a look: Is there enough instantaneous torque to accelerate the rotor's moment of inertia as fast as you want? The torque is proportional to the current. Slow current risetime will give you slow acceleration. dI/dt = V/L. The motor inductance (L) limits how fast the current can increase (dI/dt)...


1

A small speaker like this one should be able to play tunes as you have mentioned. You can use an arduino or a raspberry-pi to stream audio over as shown in this link.


1

You could employ all the techniques you mentioned that are model-based though, meaning you need to provide a good model of your system and then tune the parameters. Alternatively, there are other methodologies needing less tuning. Among all these, one of the best technique to use in this situation is definitely the Savitzky-Golay filtering, which performs ...


1

Motors when starting can draw ca. 10x their nominal current. You mentioned that you have a driver attached to the motor. Do you use PWM to control the motor? A soft start when the motor is accelerated in a controlled manner to the required velocity helps limiting this initial large current. When starting the motor, instead of just setting the required pin ...


1

DC motor draw more current initially because when motor is in normal speed it creates back emf which reduces drawing current .So initially when DC motor is powered there is no back emf so current drawn is more. Solution a capacitor in parallel to DC motor which will provide more current from its reservoir when motor is initially powered....


1

For a DC motor, you can use a relay instead of a motor controller if you aren't too concerned about precision. Be careful to account for the inductive surge in current, and ensure your relay can handle the peak current. You'll also see a reverse current if you stop the motor abruptly, so flyback diodes are a good idea as @hauptmech indicates.


1

If you want to use a relay in your airboat, use flyback diodes, otherwise you might get stuck with the gators.


1

Given that the brushed DC motors you are using can output a maximum power of 3 watts and are rated for 12 volts maximum, the max current will be 0.25 amps or 250 milliamps. So you need to find something that can handle those specs. In the most straightforward approach you have two options. Either you can opt to use a dedicated driver board (e.g. like ...


1

First off, you should probably replace all electrical connections between the motor driver and other circuitry with optocouplers (I hope you aren't using the analog interface). Then, make sure that the power supplies are completely isolated. You should probably keep the grounds tied together with a 500k or one meg resistor the keep them form varying hugely. ...


1

Of the choices you presented, PWM + BJT/FET is most efficient. An H-Bridge is a prime example of that. -BJT's dissipate heat in proportion to their "on-ness" -FET's dissipate heat based on their (very low) on-state resistance, plus a small loss during the actual switching. By PWM'ing, you are approximating an analog voltage in proportion to the BJT/FET ...


1

Yes the Gigabyte Brix or the Intel NUC are the platforms you're searching for: http://www.gigabyte.com/products/list.aspx?s=47&ck=104 http://www.intel.com/content/www/us/en/nuc/overview.html I've looked extensively for computer for robots 2 months ago, I don't know if there is anything new since, but I don't know of any small computers with internal ...


1

Yes and no. I think it depends on your needs, and what other sensors you have. Remember that even diff drive robot wheels slip a little. And you can never measure the diameter of the wheel accurate enough. This is why dead-reckoning doesn't work well over long distances. And why you need other sensors to correct for these errors. I haven't used the ...


1

I have a feeling you won't get a generic solution for you problem. The reason for that is that you normally need to keep some sort of state on your device. Finding a general form to handle all different cases will end up in a construct that is likely quite complex. So why not use the general purpose tool that you have to handle such complexity (e.g. C++ or ...


1

The Adafruit Motor Shield for Arduino should work, if two conditions are satisfied: the Adafruit Motor Shield for Arduino can limit its own current, or there's enough data available so that you can. the motor you want to use can generate sufficient torque on 3 amps The answer to (1) should come from the data for the Adafruit Motor Shield for Arduino. The ...


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