Show Posts
Pages: 1 ... 24 25 [26] 27 28 ... 37
376  Using Arduino / General Electronics / Re: How important is a ground pour, or am I asking the right question? on: January 18, 2012, 07:37:50 pm
Quote
Also specifying allowing unconnected copper will allow a more complete zone fill.

Do you mean turn on Orphans in the properties of the polygon?
377  Using Arduino / General Electronics / Re: is the negative end of a AA battery ground? on: January 18, 2012, 04:30:44 pm
Quote
For a AA battery powered device, is the negative end of one of the batteries always guaranteed to be ground?

"always" is a strong word, but in general yes.

Quote
Will all the negative terminals of the batteries be wired together and be at the same potential?

That depends on the circuit. AA batteries are 1.5 volts and sometimes you want 3 volts...in that case you connect the negative of one battery to the positive of the next (batteries in series).

Good luck!
378  Using Arduino / General Electronics / Re: How important is a ground pour, or am I asking the right question? on: January 18, 2012, 04:25:03 pm
Sorry, i should have mentioned -- If I add the polygon on either the top or the bottom in addition to the polygon falling apart the autorouter can't complete laying out the traces. I always end up with 3 or 4 unroutable nets, no matter how I lay the components out.

Thanks for the via idea though, it will come in handy on another project I'm working on.
379  Using Arduino / General Electronics / How important is a ground pour, or am I asking the right question? on: January 18, 2012, 03:56:56 pm
I have some circuit boards laid out and the prototype works. The logic board is an ATMega328 with support chips, driving a 24x16 LED matrix with 3 TLC5916s controlling the columns and 2 74ac138s controlling the rows via MOSFETs.

The LED rows are switched at 50 Khz (for 32 levels of PWM) and I don't observe any problems with wireless mice, WiFi devices, cell phones, or FM radios near the unit, but I can definitely hear interference on an AM radio if it's less than 1 foot away.

I've been reading and it looks like I can reduce interference by adding a ground plane or pour. I can't get a ground pour working on either the top or bottom of the board; no matter what I do the autorouter just complains that the polygon fell apart. I can get it to work by making a separate plane, but that would make the design a lot more expensive because I'd have to go to 4 layer boards.

I do have a free pin on the 2x3 headers that connect the logic board to each LED board (currently 3 go to the 3 columns, 2 go to 2 rows, and 1 is unused). Would connecting the unused pin to ground and adding a ground pour to the the LED boards help?

Or is this even something I need to worry about? I would like to eventually sell these...

Thanks as always!
380  Using Arduino / Installation & Troubleshooting / Re: Serial port 'COM3' already in use on: January 18, 2012, 12:57:08 pm
Sometimes Windows just loses it's mind. You can they unplugging the mega, deleting the serial port in Device Manager, then plug the mega back in so it reinstalls the driver.
381  Using Arduino / Microcontrollers / Re: Uploading protected Arduino sketch to chip on: January 18, 2012, 11:04:54 am
Quote
•The 8U2 holds a bootloader. I load this on through a serial interface via some pin headers before handing over the device.

The 8u2 is a processor, just like the ATMega328 (or whatever your main chip is). It's got it's own code (it has 8K of flash) which also has a bootloader to get code on to it. The code it runs is to make it look like a USB serial device to the host computer, and relay those bits via some pins to the ATMega328.

So you're really dealing with two chips with two bootloaders and two user programs. I think this is what you mean, but just want to make sure.

Quote
•Once someone else takes possession they can plug it into their computer via USB, it is recognized as "My Custom Arduino Device" (how to do this?)

Are they on Windows? If so all you'll need to do is modify the driver .INF. Check out this page:

http://www.sparkfun.com/products/10277

It describes how SparkFun wired up & configured their version of what you want to do, and has a link to their drive .INF. Open that file up in a text editor and near the bottom you'll see

Code:
DESCRIPTION="SparkFun COM Port"

Change that to "monkey123's custom Arduino board" and away you go.

Quote
Should I write my own bootloader or are there good open source ones available?

If you mean the bootloader for the main chip (ATMega328) then the one that everybody (even the Arduino team with the Uno) uses these days is Optiboot:

http://code.google.com/p/optiboot/

If you mean the bootloader for the 8u2 then here's the code the Arduino team uses:

https://github.com/arduino/Arduino/tree/master/hardware/arduino/firmwares

382  Using Arduino / LEDs and Multiplexing / Re: Shift Registers - shifting in an array of bits on: January 18, 2012, 12:08:08 am
Sounds cool. How much have you already built and / or programmed? I may have some ideas...

PS - no problem at all on getting a 16 MHz arduino to run 8 groups of LEDs fast enough for POV to prevent flicker.
383  Using Arduino / LEDs and Multiplexing / Re: Shift Registers - shifting in an array of bits on: January 17, 2012, 07:05:15 pm
I can think of three ways:

1. Instead of ShiftOut sending a byte at a time, write your own code that flips the pins yourself:

Code:
For int x = 80 x to 1 x--
  digitalWrite(ClockPin, HIGH);
  digitalWrite(DataPin, MyArray[row]);
  digitalWrite(ClockPin, LOW);
next x

2. Walk your array in 2 loops, an outer loop that increments / decrements 8 at a time, and an inner loop that moves bit by bit and builds a byte. When the inner loop's done, ShiftOut() it like normal.

3. Instead of storing your array data as bytes of bits store it as bytes of bytes

MyArray[8][10] = {
{B1010101010, B1010101010 ...}
etc.
}

Good luck!
384  Using Arduino / General Electronics / Re: Affordable prototype PCBs for surface mount? on: January 17, 2012, 05:40:26 pm
How about Olimex (http://www.olimex.com/pcb/)?
385  Using Arduino / Microcontrollers / Re: Uploading protected Arduino sketch to chip on: January 17, 2012, 02:24:00 pm
This page also has a pretty good writeup on what you'd need to do:

http://marcoramilli.blogspot.com/2011/05/how-to-upgrade-atmega8u2-firmware.html

386  Using Arduino / Microcontrollers / Re: Uploading protected Arduino sketch to chip on: January 17, 2012, 02:12:42 pm
To program it you would have to make a circuit where the 8u2/16u2 is a SPI slave device, just like you would to program another ATMega chip from the Arduino like in http://arduino.cc/en/Tutorial/ArduinoISP (the idea, not the specific pinout).

I think the source code that the Arduino uses for those chips is in the standard 1.0 distribution in hardware \ arduino \ firmwares, either in arduino-usbdfu or arduino-usbserial...off the top of my head I can't remember which, but I do remember there's a "readme.txt" file in there that talks about how to do it.

Good luck!


387  Using Arduino / Microcontrollers / Re: Uploading protected Arduino sketch to chip on: January 17, 2012, 01:41:09 pm
Quote
Let's say I were to make my own board with an AtMega on it.

OK, you make your own board with an AtMega on it.

Sorry...bad joke...

Quote
Could I connect the chip to a computer via USB and use something like AVRDude to upload the hex file to it easily?

On the hardware side:

You will need something on your board to interface between the ATMega chip and the computer's USB ports. Older versions of Arduino (like the Duemilanove) use a FT232RL chip for this; the Uno uses the 8U2 (older revisions) or 16U2 (current R3 version).

I think it's easier to implement the interface with the FT232RL chip because you basically add a few resistors, capacitors, a USB socket, and you're done. The downside is it's a (relatively) expensive chip and you have to install drivers on the computer.

The 8U2/16U2 is a little more work because you'll need to program it first, but you get more flexibility because you can make it look like any kind of USB interface.

You can find implementations of both types by looking at the "Hardware" section of www.arduino.cc, then the Uno or Duemilanove board's schematics.

Quote
I'm thinking easy enough for someone who's not programming savvy to do.

On the software side, if you don't want the user to have to run the Arduino IDE you can send them a batch file or script that runs the AVRDude commands to upload the hex file, or you could use something like

http://smileymicros.com/blog/2010/10/11/ardup-an-arduino-hex-file-uploader/

which does the same thing from a GUI interface.

Good luck!
388  Using Arduino / LEDs and Multiplexing / Re: big multiplexing tri colour led cube - will it refresh fast enough ? on: January 17, 2012, 10:48:51 am
Quote
I was worried that there would be more overhead on the arduino if I ran with more chips ? (if I'm going to struggle with refresh rate)

The fastest way to get bits out of the arduino is the SPI interface; it can pump data out up to 1/2 the system clock. Many of these LED driver chips are basically shift registers so you daisy chain the output from the first to the input of the second -- for example if you have three 8 port chips you just send 24 bits all at once; you don't need to do anything special between chips.

Have you seen the ShiftPWM and ShiftMatrixPWM libraries? They may give you more insight in controlling LED arrays.
389  Using Arduino / Microcontrollers / Re: Uploading protected Arduino sketch to chip on: January 17, 2012, 02:14:41 am
Sure. Google "arduino create hex file" and/or "arduino upload hex file" and you'll find many examples to do what you want.

Good luck!
390  Using Arduino / LEDs and Multiplexing / Re: big multiplexing tri colour led cube - will it refresh fast enough ? on: January 17, 2012, 12:22:32 am
I looked at the spec sheet for the TLC5951 and it's a pretty cool chip. I think you did the math right and you can drive each output at a maximum of 40 mA, but only if you use the HTSSOP-38 package soldered on to a 2 oz copper pad (or use a heat sink).

Of course, if you know that you'll never be driving 100% of the LEDs 100% of the time at 100% brightness you can play a little looser with the thermal maximums... smiley

Another option would be something like the TLC5916. You'll only get 8 outputs per chip and you'll have to roll your own PWM, but banks of them would be able to dissipate more heat because you'd be spreading it out over a larger surface area, you can drive each output at up to 120 mA, and you'll still be able to avoid infinite transistor soldering.

I think no matter how you slice this, it's going to be a massive undertaking. I like the idea of making an 8x8x8 first; please do let us know how it goes and as always, good luck!
Pages: 1 ... 24 25 [26] 27 28 ... 37