View Full Version : Tank Drive Without a Microcontroller
jameschin
10-08-2013, 07:44
If you didn't want to use a microcontroller, is it possible to make a tank drive such that it was directly wired to potentiometers?
It certainly seems feasible, assuming you can get a linear response out of the pots. The one difficulty I'd see is controlling it remotely, but even that might be doable with some model airplane electronics.
If you didn't want to use a microcontroller, is it possible to make a tank drive such that it was directly wired to potentiometers?
It's not clear what you are asking. What are you proposing to directly wire the potentiometers to?
In principle you could wire a pot directly to a DC brushed motor (like a CIM), but in practice it would have to be a very heavy duty pot, and it would waste a lot of battery power (and get hot).
Wiring a pot directly to a Talon or Jag or Vic would not work. These devices require a PWM input signal, not a DC voltage..
techhelpbb
10-08-2013, 08:57
Sure just use a microprocessor without integrated peripherals :)
Need to watch your terminology here.
I wonder if digital logic is outside your request or just integrated computing.
You can build analog speed controls.
They can be adjusted with potentiometers.
They can recieve from various radio modulations.
I have done it before for non-FIRST application.
An analog speed control can still pulse the motor like the FIRST speed controls.
So an analog speed control need not be resistive or linear to the motor.
However analog speed controls suffer from temperature and noise limits (drift).
Thermistors help with temperature but only to a point.
It is entirely possible to fly an actual plane with analog electronics.
If integrated circuits are still allowed within your scope it is even easier and smaller.
Then you have tiny operational amplifiers.
If digital logic is allowed take a good look at the 555 timer.
I won a contest in highschool driving hobby servos without their board using 558 IC.
I only implemented a single joystick then but I could have made 2.
You can drive a PWM input with merely simple timers like the 555 using PWM.
It is possible you just need to tinker a bit.
See Analog Systems:
http://en.m.wikipedia.org/wiki/Fly-by-wire
If you are planning to control motors like CIMs, you will need to use a speed controller like a victor or a jaguar. If you want to generate the pwm signal without using a microcontroller, you will need a 555 timer. Team 358 has a schematic for a circuit that can control a victor here (http://team358.org/files/electrical/PWMGenerator.pdf). You could use this to control your victors.
techhelpbb
10-08-2013, 11:14
All the FIRST approved motor controllers have microcontrollers in them.
The circuit to drive a DC brush motor like the CIMs with pulsed power is an analog/digital chopper.
Circuits without microcontrollers existed for decades.
Motor control chopper (generic term) come in time (like PWM) or current/voltage control.
Current/voltage control choppers have a wider range of speeds with good torque.
Complexity and wasted energy tends to increase for current/voltage choppers.
It is unclear exactly what is being looked for in this topic.
Like Ether wrote if you have a high power resistor/potentiometer/rheostat you can make this work.
However a chopper circuit is better with larger motors.
The pulsing dramatically impacts the waste heat.
You can make a relatively small speed control for a CIM sized motor without a microcontroller.
I did it for wheelchairs.
Just consider that all features require more parts.
RyanCahoon
10-08-2013, 22:06
1. As has been said, you can't control a Jaguar, Victor, or Talon directly with a potentiometer.
2. There are other COTS speed controllers (not FIRST-legal) that accept analog input. I've used the Sabertooth series in personal projects before and have been happy with them. Some models from this series accept analog input, and there are models that can switch up to 60A per motor channel. You can get them on Trossen Robotics (http://www.trossenrobotics.com) or Robot Shop (http://www.robotshop.com/)
3. If you want a remote-controlled system that requires no programming, that's entirely possible. The PWM signal that Jaguars, Victors, and Talons accept is a standard signal type outputted by many (if not most) hobby RC systems.
4. If you're looking to easily test your speed controllers without the need for a microcontroller, AndyMark has a product for that (http://www.andymark.com/product-p/am-2503.htm), or you can build your own version, as has been said.
tr6scott
11-08-2013, 12:53
Yes a little unclear, but a servo tester may fit the bill?
http://www.andymark.com/product-p/am-2503.htm
We have a few that we picked up at a hobby shop for less than $10 each, but they don't seem to run a jag or a victor to full speed, but perfectly fine for testing systems. The AM one started last year, and may be calibrated to the motor controllers, as opposed to the hobby servos? Or maybe you get what you pay for?
We have a few that we picked up at a hobby shop for less than $10 each, but they don't seem to run a jag or a victor to full speed, but perfectly fine for testing systems.
Did you make sure to re-calibrate the Jag (I haven't used a victor before so I am unsure as to what is necessary for them). If you go on the vex website they provide documentation on how to re-calibrate the Jag for different pulse width ranges. We had the same issue where the Jag would only put out 50% power when we used a servo controller on a test board we built. Once we re-calibrated the Jag with that servo controller it worked perfectly. Just make sure that you re-calibrate the Jag once it goes back on the robot.
An old junker laptop makes an ideal PWM generator for testing. All you need is some software and a cheap diode and resistor. You can adjust the PWM period and the max pulse width.
http://www.chiefdelphi.com/media/papers/2702
tr6scott
12-08-2013, 06:07
Did you make sure to re-calibrate the Jag (I haven't used a victor before so I am unsure as to what is necessary for them). If you go on the vex website they provide documentation on how to re-calibrate the Jag for different pulse width ranges. We had the same issue where the Jag would only put out 50% power when we used a servo controller on a test board we built. Once we re-calibrated the Jag with that servo controller it worked perfectly. Just make sure that you re-calibrate the Jag once it goes back on the robot.
We did try to calibrate the victors, and it improved, but still not ideal. The servo tester we have would go almost full speed in one direction, and about 1/2 speed in the other direction. We were using this to prototype the shooter last year. I ended up using an arduino, the ardunio servo library, a little code to convert an analog pot to servo pwm output. It worked fine for both Jags and Victors out of the box. (not sure what the difference in the inputs are, I know you declare the controller type in labview, so would suspect there is some difference, but did not notice it on the arduino.)
arizonafoxx
12-08-2013, 08:34
Depending on the size of the motors you want to use and how you reduce the speed you could use spike relays, which would not require a micro to control them. This of course would cause the motors to either be full speed in fwd/rev or stopped, but if your robots full speed was something manageable like maybe 4ft per second that is totally plausible. All you would need is 5 volt inputs to the spikes which could easily come from buttons or other non-micro related circuitry. I have built a few robots like this. Tank drive is achieved but speed control is not desired.
Joe Ross
12-08-2013, 17:56
I ended up using an arduino, the ardunio servo library, a little code to convert an analog pot to servo pwm output. It worked fine for both Jags and Victors out of the box. (not sure what the difference in the inputs are, I know you declare the controller type in labview, so would suspect there is some difference, but did not notice it on the arduino.)
The Victor PWM pulse width is 1-2ms. The Jaguar PWM pulse width is .67-2.33ms.
AdamHeard
12-08-2013, 18:10
A hobby RC radio is ideal here, it even has multiple channels for other systems.
V-tail mixing is the same as arcade drive.
AndyMark now stocks a popular and affordable chinese model.
evanperryg
13-08-2013, 09:54
AndyMark has something called the 'cheap and dirty' control system for under $60. It seems to be exactly what you need if you are willing to spend that amount of money. http://www.andymark.com/product-p/am-2520.htm
As recommended by others, if you use RC controller, make sure you have 5V is available at supply pin (center pin in PWM cable). Victor does not provide 5V to receiver as other RC motor controllers do, so you may have to provide voltage to receiver itself.
AdamHeard
13-08-2013, 10:56
As recommended by others, if you use RC controller, make sure you have 5V is available at supply pin (center pin in PWM cable). Victor does not provide 5V to receiver as other RC motor controllers do, so you may have to provide voltage to receiver itself.
We pull 5V off the PDB when we run RC equipment.
We are integrating the Andymark RC controller into a project right now, will report back on how well it works.
efoote868
13-08-2013, 11:24
If you didn't want to use a microcontroller, is it possible to make a tank drive such that it was directly wired to potentiometers?
I think we'd appreciate a bit more context. Are you asking for a project you had in mind, or are you just curious about alternative motor controllers?
I think we'd appreciate a bit more context. Are you asking for a project you had in mind, or are you just curious about alternative motor controllers?
It may be a hit-and-run. He hasn't responded since the original post three days ago.
techhelpbb
13-08-2013, 16:55
If you've got a Linux system laying around:
http://wiki.linuxcnc.org/cgi-bin/wiki.pl?RC_Servo_Test
So they've thrown a thread on tank drive ;)
If you've got a Linux system laying around:
http://wiki.linuxcnc.org/cgi-bin/wiki.pl?RC_Servo_Test
Looks interesting ! Have you (successfully) tried this?
I do wonder, however, how stable the pulse width is. On an old Pentium my DOS-based generator had jitter in the nanosecond range.
techhelpbb
13-08-2013, 17:51
Looks interesting ! Have you (successfully) tried this?
I do wonder, however, how stable the pulse width is. On an old Pentium my DOS-based generator had jitter in the nanosecond range.
I've used EMC2 on Linux.
I tried that out once a while back and forgot about it.
I am in the middle of considering EMC2 for something I am working on.
At the time it moved the R/C hobby servo.
You can tell it was extensive testing :)
Odds are high I will have to dig up an old PC in the near future.
When I have some life out of it I'll let you know and a test can certainly be made.
Depending on what is actually providing the parallel port it is possible to get some pretty tight timing.
I've had decent luck with NetMOS PCI parallel port boards.
The timing is basically the hinderance for Mach3/EMC2 and so many other PC based CNC controllers with USB output.
With USB you need more intelligence on the USB slave device.
That has to be the case because USB is so complex the timing goes out the 'window'.
There are USB controllers out there but then you have yet another part in your CNC system (usually $100+ at that)
As Windows moves into 64bit Microsoft seems to heading towards obsoleting parallel ports.
I know EMC2 can drive industrial servos with PWM off the parallel port however there's usually an interface with an FPGA.
vBulletin® v3.6.4, Copyright ©2000-2017, Jelsoft Enterprises Ltd.