Show Posts
Pages: 1 ... 329 330 [331] 332 333 ... 374
4951  Forum 2005-2010 (read only) / Frequently-Asked Questions / Re: off chip data storage on: April 06, 2010, 03:31:29 pm
I ordered a cheap external EEPROM, i think for now i will settle for just storing critical coordinates, instead of the whole matrix

A particular method to keep in mind (if most of the area you are mapping is considered "empty") is the concept of "sparse arrays":

There are tons of techniques out there to "pack" what seems to be an amazing amount of data into a very small space - two of the best areas to learn about these techniques are from the game programming and demo coder worlds (especially those demos optimized for very small memory footprints; you would be floored by what can be done in 256 bytes).

Also, a review of certain "large" computer games from the 1970s and 1980s might be beneficial; many of these games (especially the larger scope turn-based and real-time strategy games) used fairly interesting techniques to pack their "worlds" (analogous to your maps) in small areas (aka, floppies) - granted, floppies have more space than you have available (most generally), but the techniques could be helpful.

4952  Forum 2005-2010 (read only) / Frequently-Asked Questions / Re: Can Pololu Micro Maestro drive brushed DC motors? on: April 05, 2010, 04:18:37 pm

Your points are taken; I learn a lot here everyday - I suppose no matter how you look at it, if Pololu's Orangutan controller meets the needs, then you likely can't get much cheaper; it does seem to be everything I mentioned, minus the higher current capabilities (and I suppose even there you could potentially chain a higher current h-bridge to the one on-board, kinda like some of the homebrew "super servos" I have seen that wire a larger h-bridge to a servo's h-bridge to control a larger motor).

As far as what I was speaking of brushless motors; you would simply use an R/C ESC with reverse to run it. Since such ESCs use standard servo PWM for control, you wire it up like you would a servo, use the Servo library, and send "180" to turn one direction, and "0" for the other. I wasn't meaning to imply that you would control the brushless motor directly with the Arduino; while possible, it certainly isn't something for a beginner (and why do it at all - short of for learning sake - since there are off-the-shelf ESCs available to do it for you).

4953  Forum 2005-2010 (read only) / Frequently-Asked Questions / Re: Can Pololu Micro Maestro drive brushed DC motors? on: April 05, 2010, 12:38:45 pm
thanks for the nuance

You want inexpensive, you want all-in-one, you want low space requirements, and you want Arduino compatibility (I think); sometimes the only answer to all of this is a custom-built controller, and there's nothing wrong with that.

If you think you'll only ever need to control two small DC motors (which may be the case - you don't say), then using an Orangutan controller might be best.

If, however, you want to control more DC motors, or larger DC motors, then you'll either have to custom-build your own h-bridge drivers, or purchase such driver controls - note that it might actually be cheaper, at least for larger motors, to use R/C ESCs with reverse, coupled to brushless DC motors instead (brushed DC motor controller can get expensive quickly, especially for very large motors, such as those used for wheelchairs and motorized scooters - if you want a real heart attack, check out the prices of DC motor controllers for electric vehicles!).

I have not seen such a device as a combined DC motor controller and servo controller on a single board (maybe you might find such a thing from a combat robotics supplier?); the nice thing about Pololu's offerings is that most of their products can be daisy-chained on a single serial control bus, so you can easily interface a ton of them with the Arduino (or any other microcontroller). This could make future expansion or upgrades easier in the future.

Hmm - there's another option: you could be the first to make such a "shield" for the Arduino; a board that used an ATMega328 communicating via serial (or I2C, or SPI) to the host, which could tell the module to either output a HIGH or LOW on a pin (for h-bridge control), or PWM (for servo control) - the user would then supply their servos or h-bridges as needed (bonus would also be to add analog input monitoring, so you could easily build custom "large motor" servos, using such things like windshield wiper motors and potentiometers).

Just some thoughts...

4954  Forum 2005-2010 (read only) / Frequently-Asked Questions / Re: Can Pololu Micro Maestro drive brushed DC motors? on: April 05, 2010, 12:07:59 pm
Cheapest of all might be to protoboard up a custom controller yourself with a pre-bootloaded 328, and use an FTDI breakout or cable to upload, the Servo library to run your servos, and then custom build your h-bridge drivers (IC or discreet transistor/mosfet based) for your DC motors (should only require 2 pins per motor; use a shift-register if you need more outputs).

4955  Forum 2005-2010 (read only) / Frequently-Asked Questions / Re: Can I control two servos simultaneously? on: April 01, 2010, 04:48:59 pm
My interest is stimulated by low-cost robot arms. I have one, but it is so low-cost it isn't servo's but just DC motors, so I will have to build all of the position encoding and feedback myself.

OWI Flex?

I've been thinking about picking one up myself for S&Gs; maybe set things up to detect limits via current monitoring. Part of me wants to hook one up to my Color Computer.

What's been stopping me (besides a ton of other projects in the queue) has been thoughts of re-creating a lightweight, low-cost version of the Armdroid arm, using foamcore or coroplast for the "body" of the arm, and adapting standard servos in some manner to allow their use at the base of the arm (so the arm doesn't have to move as much mass in the form of servos, which I think of as a step backward from the old arms of the 1980's - then again, servos are lighter and stronger, so maybe not?).

As a kid, I always wanted a robot arm for my computer; the closest I got was getting a Tomy Armatron for my birthday. Later I picked up a Popular Electronics magazine that described how to hook it up to a C=64 or Vic-20 (lots of hardware mods for that); I didn't understand anything about the electronics or hardware mods at the time, but it was a fascinating article that I kept around (and later scanned and put online - I need to put that back up on my website, now that I think about it).

By the time I had the knowledge and tools to do it, I can't bring myself to mod either of my Armatrons (I have two now; my original Tomy version, and a Radio Shack version), mainly because of fears that 10 years down the line I will find out I have "destroyed" something valuable on the collectors market (I collect Tomy robots). Even so, I may still snatch up a Radio Shack version for such crude hacking (I even have the motors used in the article; they were an item Radio Shack sold, and I bought 8 of them in two packs of four for future use).

Well, enough reminiscing...

4956  Forum 2005-2010 (read only) / Frequently-Asked Questions / Re: 24v into arduino on: April 01, 2010, 01:45:21 am
I just put 24v directly into my aruidno through pin 12 to ground (I realize I'm a idiot).

You're only an idiot if you said to yourself prior to doing it "gee, I wonder what would happen if I did this!", without researching anything...

Now, if you accidentally grabbed the wrong wire and stuck it in, or an alligator clip popped loose and shorted with another trace, or something like that, then you're not an idiot; unlucky, maybe.

Chalk it up to experience; to prevent this from happening in the future, try to build test rigs that work at the level of VCC (LEDs are your friends). Also, don't apply power or have power near your project until you have verified all connections (live power supply leads should -never- be just "lying around").

As far as your board is concerned: remove the dead bug, and inspect the socket and its solder joints carefully. Inspect the rest of the board carefully; look for burnt parts, scorch marks, bulged capacitors, etc; signs of other damage. Verify continuity between the pins on the socket and the pins on the headers. Give it a good check over. Look at the reference schematic for the board, and measure the output voltages when you apply USB vs external power (measure before and after the regulator). Verify that you have voltage from the USB port. Once you have all that done, then try plugging in another ATMega with bootloader. Power it up initially with the USB port, and verify that all looks OK. Then upload the Blink sketch, and hope everything is wonderful still...

Good luck!

4957  Forum 2005-2010 (read only) / Frequently-Asked Questions / Re: Servo "Chirping" on: March 31, 2010, 12:58:44 am
In the Servo.h file, located in /libraries/Servo, there are a couple of parameters you can play with; stick with your "simple attach" example as you adjust the parameters, then try your regular code.

In this file, the parameters are:

#define DEFAULT_PULSE_WIDTH  1500     // default pulse width when servo is attached
#define REFRESH_INTERVAL    20000     // minumim time to refresh servos in microseconds

I would first try lowering the REFRESH_INTERVAL to something like 19500 or 19000; I am not sure how low you can go, but if you don't notice any changes by 15000, revert it back to 20000, and try changing the DEFAULT_PULSE_WIDTH - by making it a little wider (increase the value) or narrower (decrease the value). I have a feeling your "dead band" is a little smaller than what the library is set up for; I am not sure why you can't change this with the attach command, but it isn't set up that way (you can only change the minimum and maximum pulse widths)?

Make a backup of the file (just in case), then use a text editor to alter the file and re-save it, then re-upload/compile your sketch in the Arduino IDE.

Hope this helps!

4958  Forum 2005-2010 (read only) / Frequently-Asked Questions / Re: Looking for some input for school related work on: March 26, 2010, 12:19:26 am
Simple desktop rover robot:

1. Arduino
2. Two continuous rotation servos
3. Two 4-cell AA battery holders (one for the Arduino, the other for the servos)
4. Ping Pong ball (caster "wheel" for body)
5. One or Two Sharp IR sensors
6. Foam Core board (for body, wheels, etc)
7. Double stick tape and/or Hot glue
8. Various hookup wire

I think you can see how this would be put together; it would make an interesting educational kit (cheap, too) for such a class. There would be a bit of mechanical engineering involved (building the robot itself, figuring out where to mount the sensors, etc), electronics (hooking everything up properly to the Arduino), plus tons of programming (simple moving, to "turtle graphics" by mounting a pen on it and drawing on butcher paper, to solving problems like a simple maze - and if you had enough of them built by a full class, you could try complex swarm-based systems and such).
4959  Forum 2005-2010 (read only) / Frequently-Asked Questions / Re: Arduino assembly programming? on: March 27, 2010, 04:00:07 pm
You want to write assembly? You pervert!

The whole point of Arduino is to be able to rapidly develop stuff - if you want so much control, why not create your own AVR board?

You haven't really coded until you've left blood on the toggle switches...

4960  Forum 2005-2010 (read only) / Frequently-Asked Questions / Re: lettering/graphics on project box on: March 29, 2010, 04:05:39 pm
I like the idea of trying toner transfer on metal faceplates.  I may have to try that out some time.

It supposedly works pretty good for placement/parts artwork on PCBs, so it should work good for faceplates. Something you could do would be to print the holes and such for knobs, switches, then transfer, then use those areas as guidelines for drilling/nibbling/cutting.

I am still interested in a working method for white labels on dark surfaces; that one is the nut to crack (haven't found anything on the possibility of existence of white toner).

4961  Forum 2005-2010 (read only) / Frequently-Asked Questions / Re: lettering/graphics on project box on: March 29, 2010, 12:13:48 pm
I was thinking about this as I was laying in bed going to sleep, and I thought of some other interesting ideas:

Do the toner transfer process on both sides of a piece of copper sheet of the lettering and graphics, and etch through the copper to create a stencil (for direct use or screen printing).

Etch the lettering and graphics in mirror-image negative on a PCB; then apply ink/paint to the board, squeegee off the excess (leaving ink in the wells), then place on the faceplate, and apply some pressure (almost like an offset/litho process).

For light-colored faceplates (or metal plates), you could just do a toner-transfer (black or color), then apply spray-on clear laquer; alternatively, you could print onto a large clear-label sheet the size of the faceplate, stick it on, then trim to fit.

Something I was also thinking about was if there were a way, using the double-side toner transfer process for a negative image, onto a very thin sheet of copper or alluminum sheeting, to then "burn" away the remaining copper/alluminum using an arc or something (electro-machining), to create a stencil (once again, for direct use or screen-printing with).

All of these are very "pie in the sky", but they all seem like something an individual could play with at the hobbyist level (and perhaps someone will have success?)...

4962  Forum 2005-2010 (read only) / Frequently-Asked Questions / Re: lettering/graphics on project box on: March 29, 2010, 01:50:19 am
You know, this really is a step that seems left out in the process of conceiving an electronic design and fully realizing it in a quality final implementation or prototype.

For the most part, DIY electronic enthusiasts can go from idea to realized project, in a nice case, fairly easily and quickly; this can include some very intricate and sophisticated operations, depending on the skill of the builder.

Even so, the final step of creating professional looking labels on the project's surface has always been lacking; there are techniques that turn out good results, but most are beyond the abilities (or finances) of the majority of builders.

I hope this thread continues; I would like to see some radical ideas brought to fruition. I was thinking if there were a way to use a laser printer and toner; perhaps making a negative mask on transparency film, attaching it to the front of the panel, then exposing the plastic to intense UV - not sure what that would do, if anything, but it might make for an interesting experiment (if you use some of the old white plastic, you could get an ugly brown color printing, I suppose).

Does anyone else have ideas?

4963  Forum 2005-2010 (read only) / Frequently-Asked Questions / Re: first-time possible user- what is the best fit? on: March 29, 2010, 02:23:22 pm
Look at this thread:
4964  Forum 2005-2010 (read only) / Frequently-Asked Questions / Re: ROV on: March 27, 2010, 04:33:04 pm
I'm building a small rov (3motors). to control it im planing to use arduino board to connect joystick with pots (only for movement left right forward and reverse) , and one sliding pot for up n down. Now, problem is im not that good in C. Please help me with the code or if u know when can i get samples

If I were going to build such an ROV (I am still assuming an underwater craft here; you haven't said otherwise) , I would actually use two Arduinos; the one on the ROV for decoding commands, and another on the surface sending the commands via the tether.

Based on your description, you are looking at building a tether for at least 3 potentiometers, and power. That will need a minimum of five wires in the tether. As you add peripherals (lights, video, etc) you are likely going to need more wires in your tether. The more wires, the heavier the tether, needing more powerful motors, etc.

Nip that idea in the bud immediately; go with a simple tether consisting of as few lines as possible. The easiest would be to use Cat5e with stranded core wires (not solid core); if you can find it with a silicone outer jacket, that would be even better (though more pricey). If you are working in a swimming pool environment or the like, then a standard jacket will be OK; but you will still want stranded core wires, because of the flexing as you reel it in/out.

Cat5 makes a pretty good tether, from what I can gather; its lightweight, flexible, fairly waterproof (provided the end points are sealed), and is designed for remote, long range electronic communications. The difficult part is reeling it in/out - I remember finding one guy's solution was to build a reel for his tether, and the reel had sliding contacts of brass loops and springs, so that he could reel in/out the tether as needed, but that communications wouldn't be interrupted, plus there wouldn't be tangling (as involved with just a manual coil of cat5).

With such a tether, you have 8 wires; you could continue with your plan of using those wire connected to potentiometers, switches, etc - but what would be better would be to wire two Arduinos together in a serial communications system, so that one (the topside controller) interprets the joystick/potentiometers values, then sends those down to the controller in the ROV, which uses those commands to activate the thrusters as needed (and/or switch lights on/off, command a gripper arm, send back telemetry data on heading/attitude/water temperature/etc).

Such a system would only need two wires of the eight available for transmit and receive; You would want to either have an on-board battery on the ROV for power, or send it down via two of the pairs on the tether (so, four wires - 2 for power, 2 for ground - because of likely current requirements, plus redundancy). If you send the power via the tether, that leaves two wires left; use those for an on-board video camera on the ROV (some of the telemetry info could also be sent up via video if you use one of those video overlay boards that exist out there).

If you need some ideas (and possibly some code direction), check out this guy's site:

He uses an AVR platform, so some of the coding ideas may translate over to the Arduino. Other example code for what you would need (serial communications, PWM control of motors, reading potentiometers, etc) can all be found in the playground as well as in the examples that come with the Arduino IDE. The rest can be found on this forum.

Also note that there are a ton of sites out there geared toward people developing their own ROVs (and UAVs, but curiously, very few for developing UGVs - not sure why, though).

4965  Forum 2005-2010 (read only) / Frequently-Asked Questions / Re: ROV on: March 26, 2010, 04:17:43 pm
zoomkat:, what I have found is that in the commercial and industrial sectors, the term "ROV" is universally used only to describe underwater remote operated vehicles. This seems to be a quirk of historical usage more than anything else.

The only time it is used otherwise, is typically in marketing literature, or by those who don't know the proper terms. I found this out in my own research, because I had originally termed the UGV I am building an "ROV", and I referred to such devices in that manner. As I was researching things using google, to see what others had done (using the terms ROV and "remote operated vehicle") I kept coming across underwater vehicles probably close to 99 percent of the time.

I continued to perform my research, and eventually found the definition "UGV" to describe my vehicle; searching on that yielded a ton more articles and information on ground-based remote operated machines. Further research at local libraries confirmed this difference in terminology.

Technically, I agree that it isn't right; in fact, I think there actually is a better term for underwater remote operated vehicles, but no one in the industry seems to use it to any great extent (from my research, it was in more common usage in the 1960s and 70s, then tapered off in usage to almost nothing afterward).

We are stuck with the terms as they are used, unfortunately...
Pages: 1 ... 329 330 [331] 332 333 ... 374