Register a SA Forums Account here!
JOINING THE SA FORUMS WILL REMOVE THIS BIG AD, THE ANNOYING UNDERLINED ADS, AND STUPID INTERSTITIAL ADS!!!

You can: log in, read the tech support FAQ, or request your lost password. This dumb message (and those ads) will appear on every screen until you register! Get rid of this crap by registering your own SA Forums Account and joining roughly 150,000 Goons, for the one-time price of $9.95! We charge money because it costs us money per month for bills, and since we don't believe in showing ads to our users, we try to make the money back through forum registrations.
 
  • Post
  • Reply
Mill Town
Apr 17, 2006

ANIME AKBAR posted:

hahaha no

That's what I thought, but this guy is an engineer and everything else he's told me so far has been right and he's normally smarter than me so I was really starting to doubt myself here.

catbread.jpg posted:

Also why are you switching LEDs at 20 kHz?

FLICKER-FREE DIMMING!!!!1111oneoneone. It's his design, I'm just helping with it.

Adbot
ADBOT LOVES YOU

Zuph
Jul 24, 2003
Zupht0r 6000 Turbo Type-R
I'm idly trying to figure out how you could connect a fairly large number of 8-bit microcontrollers over a fairly large distance with UTP.

There would be no path over 100m, and a data rate of 500kbits/s or higher. I would like the ability to flexibly attach and detach nodes, and I would like this to be cheap. Most of the traffic would be broadcast from a master node to many slave nodes, with slaves only transmitting if requested, so collisions aren't a huge problem. So far, I've come up with 3 ideas:

I2C using NXP's bus extender. This is expensive, though, as I'd need 2 chips per uC in order to fully extend the bus, at $3 a chip.

RS-485 using Maxim drivers. Max of 256 devices, which is great. Need one chip per uC at $3 a chip, but each end needs to be terminated, which makes node attachment less flexible.

Old Ethernet PHY/MAC chips, like the ISA RTL8019AS. This seems like the best, most flexible solution. The chips are 4.50 each, and I could just wrap whatever data I need to send in the Ethernet frame. Another benefit is that I could use old 10mbps switches to extend the whole network. The problem is that this makes things more difficult in the hardware required, and the software, so I'd have to use a beefier uC than I would otherwise need.

Anyone have any other ideas?

catbread.jpg
Feb 22, 2007
CAN. Definitely CAN.

Find some micros with an onboard CAN controller, and hook up a transceiver (pretty cheap).

BattleMaster
Aug 14, 2000

Microchip makes PIC18s with on-chip Ethernet and/or CAN either of which are cheap and would do the job without adding a whole lot of hardware to the design.

Though that's no help if you're using another brand of microcontroller and want to keep using it.

BattleMaster fucked around with this message at 22:27 on Dec 13, 2009

Zuph
Jul 24, 2003
Zupht0r 6000 Turbo Type-R
I have all the Dev stuff for AVR chips, but that's my only attachment to Atmel.

Atmel has a couple of chips with CAN on board, but it looks like that also has to be terminated on both ends, unless the couple of tutorials I've seen have been misleading. I like the Ethernet idea a lot, but I'm concerned with the complexity. Are there any simpler chips available for a reasonable price? I'm also concerned with availability of the old ISA era chips. If nothing else, I could buy a PIC programmer.

Zuph
Jul 24, 2003
Zupht0r 6000 Turbo Type-R
To answer my own question:

Microchip makes a device called the ENC28J60 which does pretty much exactly what I want. For $3 + a $1.50 RJ-45 Jack, I have an SPI capable MAC/PHY layer. Since I won't be implementing UDP, ARP, etc., a cheap AVR should suffice for program space. Although it won't be standards compliant, a Layer 2 switch _should_ route the packets around just fine, and old 10mbps switches are something I've got laying around in spades. Using MAC addresses as device addresses should be fine, since this isn't something that will end up coexisting with any more compliant, more complex devices.

BattleMaster
Aug 14, 2000

Haha I was actually thinking of posting about the ENC28J60 but then I figured that you wouldn't want to bother with that amount of external hardware.

Now unless I misread what you posted, nothing you want to do goes against any sort of standard. MAC addresses are intended to be used to address the device (unless you really want to broadcast everything) and using a switch to direct Ethernet frames is exactly what a switch is designed to do.

Yes, it seems that you won't be implementing any standard protocols at layer 3 or above, but Ethernet doesn't care about that. You can transmit anything you feel like over Ethernet as long as you comply to the Ethernet standard (The ENC28J60 does) and the device you're talking to knows what to do with the data. Unless you use MAC addresses that colide with anything else on the network, what you're building should peacefully coexist on the same network as any other Ethernet device. The bigger problem is that those 10Mb switches wil almost certainly be slower than anything that you plug into it other than your custom hardware!

Edit: You will have to implement surprisingly little in software to simply communicate between devices on the same Ethernet network, but an understanding of the OSI model and what protocols exist at which layers may do some good if you ever get to the point where you wish to do more advanced things with it.

BattleMaster fucked around with this message at 02:48 on Dec 14, 2009

Zuph
Jul 24, 2003
Zupht0r 6000 Turbo Type-R
This chip doesn't need nearly the external hardware that the other one does. This one's available SOIC, too, so it won't be impossible to solder.

Thinking about it more carefully, I suppose you're right. I'll just have to be careful with MAC address assignment. The filters on the ENC28J60 should safely ignore everything that I don't care about. Everything is simplified by assuming that these devices will be the only things on the network in question.

Mill Town
Apr 17, 2006

Zuph posted:

This chip doesn't need nearly the external hardware that the other one does. This one's available SOIC, too, so it won't be impossible to solder.

Thinking about it more carefully, I suppose you're right. I'll just have to be careful with MAC address assignment. The filters on the ENC28J60 should safely ignore everything that I don't care about. Everything is simplified by assuming that these devices will be the only things on the network in question.

There's such a thing as a "locally administered" MAC, which basically allows you to make up MAC addresses for your own private network.

http://www.certsoft.com/mac.htm

This also has the benefit of ensuring that your gear won't conflict with any off-the-shelf gear that has a properly registered OUI.

You may be in danger of colliding with sketchy knockoff gear from China that didn't bother to pay for an OUI, but since you won't have any of that on your network, you're fine.

I'm kind of curious now, what is this project?

Zuph
Jul 24, 2003
Zupht0r 6000 Turbo Type-R

Mill Town posted:

There's such a thing as a "locally administered" MAC, which basically allows you to make up MAC addresses for your own private network.

http://www.certsoft.com/mac.htm

This also has the benefit of ensuring that your gear won't conflict with any off-the-shelf gear that has a properly registered OUI.

You may be in danger of colliding with sketchy knockoff gear from China that didn't bother to pay for an OUI, but since you won't have any of that on your network, you're fine.

I'm kind of curious now, what is this project?

Cool! Time to order some samples.

Honestly, the network of uCs is something I've been milling over for a while, with a variety of uses. The specific project I'm thinking of right now is a Christmas Light flasher, for turning on and off a whole bunch of relays. Mostly because I have 90% of the parts on-hand.

BattleMaster
Aug 14, 2000

Also you can program the ENC28J60 to disregard broadcasts so you don't have to worry about it receiving anything that it doesn't care about. Just something to consider if you have a network already set up that you can use to save you the trouble of setting up a second one just for the project.

Zuph
Jul 24, 2003
Zupht0r 6000 Turbo Type-R

BattleMaster posted:

Also you can program the ENC28J60 to disregard broadcasts so you don't have to worry about it receiving anything that it doesn't care about. Just something to consider if you have a network already set up that you can use to save you the trouble of setting up a second one just for the project.

For this particular project, I'd want to run the wires outside, so I'd just use an old, crappy switch that I don't care about (Plus, my Gigabit switch cranks down to 10/100 if a 10 mbps device is attached :( ). I'll disregard anything but unicast packets, anyway. If I have the time and tenacity, I might set the master node up with a full TCP stack, so I can interface to a PC that way, instead of through RS232 or similar.

Mill Town
Apr 17, 2006

Zuph posted:

For this particular project, I'd want to run the wires outside, so I'd just use an old, crappy switch that I don't care about (Plus, my Gigabit switch cranks down to 10/100 if a 10 mbps device is attached :( ). I'll disregard anything but unicast packets, anyway. If I have the time and tenacity, I might set the master node up with a full TCP stack, so I can interface to a PC that way, instead of through RS232 or similar.

Or you could write a program that makes the PC spit out the raw ethernet frames the controllers are looking for.

Corla Plankun
May 8, 2007

improve the lives of everyone
Is it possible to synthesize circuits with sinusoidal voltages using the student edition of PSPICE?

I used it all the time during the DC unit to double-check my work and I would really like to continue to do so, but the circuit I tried said all the voltages were zero :/


Click here for the full 1024x600 image.


I was hoping it would tell me what the Voltage and Phase Angle of any given node was but instead there are just zeroes all over everywhere.

Corla Plankun fucked around with this message at 21:36 on Dec 14, 2009

catbread.jpg
Feb 22, 2007
There are two completely separate sets of parameters in pspice for AC stuff. One set is used for AC analysis, the other is basically time domain sinusoid generation. You want the former here I think. Take a close look at the component options.

It looks like you have that AC current/voltage source in the middle set up supplying DC current?

thepedestrian
Dec 13, 2004
hey lady, you call him dr. jones!
So I know very little about electronics, but I'd like to build a proofing box for rising bread. Just an enclosed box with a heat source (I'd use a heat lamp probably) that maintains the temperature it's set at. It's been hard keeping my house warm enough to rise bread in any reasonable amount of time.

I'm hoping there is a basic way to do the temperature control that doesn't require an Arduino or something expensive. How could I go about doing this?

macpod
Jan 29, 2006
What the hell was that about?
Try checking out reptile heating setups. That's the easiest thing I can think of that has temperature control built in.

ANIME AKBAR
Jan 25, 2007

afu~

Corla Plankun posted:

Is it possible to synthesize circuits with sinusoidal voltages using the student edition of PSPICE?

I used it all the time during the DC unit to double-check my work and I would really like to continue to do so, but the circuit I tried said all the voltages were zero :/


Click here for the full 1024x600 image.


I was hoping it would tell me what the Voltage and Phase Angle of any given node was but instead there are just zeroes all over everywhere.
I still don't know why people bother with pspice or ngspice when ltspice is much more user friendly and equally functional.

babyeatingpsychopath
Oct 28, 2000
Forum Veteran


thepedestrian posted:

So I know very little about electronics, but I'd like to build a proofing box for rising bread. Just an enclosed box with a heat source (I'd use a heat lamp probably) that maintains the temperature it's set at. It's been hard keeping my house warm enough to rise bread in any reasonable amount of time.

I'm hoping there is a basic way to do the temperature control that doesn't require an Arduino or something expensive. How could I go about doing this?

My brother just put a low-wattage incandescent bulb in the box. 40W, I think for a U-Haul "Medium Box."

Failing that, you can get a Thermostat.

Cyril Sneer
Aug 8, 2004

Life would be simple in the forest except for Cyril Sneer. And his life would be simple except for The Raccoons.

catbread.jpg posted:

You should definitely read this.

http://focus.ti.com/lit/ml/slup169/slup169.pdf

And then you should tell me why you want to switch at 64 MHz! A 15.6 ns period is certainly interesting.

http://www.ixysrf.com/products/switch_mode.html

http://www.ixysrf.com/pdf/switch_mode/de150_101n09a.pdf

This will probably do what you want, if somewhat over-specced, good luck with the drive circuitry! It's 'rated' for 100 MHz operation, but note the combined rise and fall times (with perfect drive circuitry) are 8 ns. Fortunately your load current is low enough, as the switching losses will probably be in the order of 1W (10V * 200ma * 1/2)

Thanks. You posted this a while back but I haven't had time to review it.

ANIME AKBAR posted:

I still don't know why people bother with pspice or ngspice when ltspice is much more user friendly and equally functional.

Microcap is even better.

Cyril Sneer fucked around with this message at 06:19 on Dec 16, 2009

PilotEvan
Jun 27, 2008

WHAT?
Originally posted this in the Ask/Tell Quick Questions Megathread, but was directed here. Don't let me down!

I have a fuckton of LEDs that I want to use - specifically ("super brite") red LEDs and ("super brite") green LEDs. I want to use a 9V battery to power them and although I don't know how many of each I'm going to end up using, but it's going to be in the double digits (30s perhaps?) and it's going to be precisely 2 parts red and 1 part green. And an even number. Because the packages that I bought them in are pieces of poo poo, it doesn't say what the forward voltages are. I Googled the product code and came across this:
http://www.weisd.com/store2/LINB4303F1.php
and this:
http://www.weisd.com/store2/LINB4303F5.php
(these are the exact ones I have)

That's all fine and dandy - it says the red is 2.0V and the green is 2.1V. I also found this handy site to calculate what resistors I'm going to need to throw into the circuit and how many LEDs I can put in series as opposed to in parallel and whatnot:
http://led.linear1.org/led.wiz

Only problem is that the above site and every other site I could find that calculates resistance needed for LED circuits only calculates it for LEDs of the same color, and I have no idea how I would incorporate two different color LEDs with different forward voltages into the same circuit (again - 2 parts red and 1 part green). I could use two 9V batteries, one for each color, but that's just stupid.

However, according to this site:
http://metku.net/index.html?sect=view&n=1&path=mods/ledcalc/index_eng
It says red and green LEDs both have 2V of forward voltage. Is that safe to assume? Or would I assume 2.1V for both? Or perhaps 2.03? How much leeway do I have with this? My biggest concern of course is what resistors to get. I'm completely new to LEDs, though not so new to resistors, but if yall could point me in the right direction that would be great.

Thanks in advance!

Delta-Wye
Sep 29, 2005

PilotEvan posted:

Originally posted this in the Ask/Tell Quick Questions Megathread, but was directed here. Don't let me down!

I have a fuckton of LEDs that I want to use - specifically ("super brite") red LEDs and ("super brite") green LEDs. I want to use a 9V battery to power them and although I don't know how many of each I'm going to end up using, but it's going to be in the double digits (30s perhaps?) and it's going to be precisely 2 parts red and 1 part green. And an even number. Because the packages that I bought them in are pieces of poo poo, it doesn't say what the forward voltages are. I Googled the product code and came across this:
http://www.weisd.com/store2/LINB4303F1.php
and this:
http://www.weisd.com/store2/LINB4303F5.php
(these are the exact ones I have)

That's all fine and dandy - it says the red is 2.0V and the green is 2.1V. I also found this handy site to calculate what resistors I'm going to need to throw into the circuit and how many LEDs I can put in series as opposed to in parallel and whatnot:
http://led.linear1.org/led.wiz

Only problem is that the above site and every other site I could find that calculates resistance needed for LED circuits only calculates it for LEDs of the same color, and I have no idea how I would incorporate two different color LEDs with different forward voltages into the same circuit (again - 2 parts red and 1 part green). I could use two 9V batteries, one for each color, but that's just stupid.

However, according to this site:
http://metku.net/index.html?sect=view&n=1&path=mods/ledcalc/index_eng
It says red and green LEDs both have 2V of forward voltage. Is that safe to assume? Or would I assume 2.1V for both? Or perhaps 2.03? How much leeway do I have with this? My biggest concern of course is what resistors to get. I'm completely new to LEDs, though not so new to resistors, but if yall could point me in the right direction that would be great.

Thanks in advance!

I think just doing a back-of-the-envelope with Vf = 2V would be plenty close for what you are trying to do. With a 9V source, I would consider doing 10x sets of 3 LEDs in series, possibly with 2 reds and 1 green in each parallel leg. This depends on your packaging, but you didn't really say what you are trying to do (what are you trying to do anyways? I love hearing about projects).



The +V would be the positive terminal of your battery and the ground symbol would be your negative terminal. You can pretty much string as many of these sets in parallel as you'd like - a perfect battery will provide 9V to all of them, it would just drain faster (as you are drawing more current). If you do this, to calculate your desired R values, you simply sum the forward voltages and use Ohm's law:

(Vsource - Vforward) / Idesired = R
Where:
Vforward = Vf.red + Vf.red + Vf.green = 2.0 + 2.0 + 2.1 ~= 6V
So
(9V - 6V) / 20mA = 150 ohms

For shits and giggles, your power dissipation in the resistor is:
W = VI = 3V * 20mA = 60mW, so not real high. 1/8W resistors should be fine. I don't imagine a 9V battery will run very long with a draw of 20mA * 10 = .2A though. 9V have ~500mAh (from a quick googling) but you loose capacity if you draw current too quickly, so I wouldn't be surprised if your LEDs are getting rather dim after 30 minutes. A 9V/200mA wall wart would work great if this wasn't a mobile application though.

PilotEvan
Jun 27, 2008

WHAT?
Thanks for the quick reply!

Since you asked, I'm making a simple little design of a red heart, green heart, red heart for someone for Christmas. I was opting for the 9V battery because it's going to have to be packed up and shipped off, but now that you mention that it won't last long (I should have expected as much with all the LEDs) I'm considering getting a wall wart like you suggested or throwing in another 9V battery or two. Although there will be more more parallels, the 3 LEDs per series is a good idea. That way I only have to get a bunch of 150 Ohm resistors. Thanks again!

PilotEvan fucked around with this message at 10:00 on Dec 16, 2009

Delta-Wye
Sep 29, 2005

PilotEvan posted:

Thanks for the quick reply!

Since you asked, I'm making a simple little design of a red heart, green heart, red heart for someone for Christmas. I was opting for the 9V battery because it's going to have to be packed up and shipped off, but now that you mention that it won't last long (I should have expected as much with all the LEDs) I'm considering getting a wall wart like you suggested or throwing in another 9V battery or two. Although there will be more more parallels, the 3 LEDs per series is a good idea. That way I only have to get a bunch of 150 Ohm resistors. Thanks again!

You don't have to go RRG - a bunch of RRR and some GGG would be fine too, it doesn't really matter. The big thing is that Vbatt is much greater than Vforward, meaning that if you only did one LED per leg, you'd have to do:

9V - 2V / 20mA = 350 ohms

Power = 7V * 20mA = 140mW per resistor

If you do 1 resistor + 1 LED per leg, you will be burning an considerable amount of power in the resistors.

You also might find that the LEDs are bright enough at 10-15 mA, and can use a bigger resistor to reduce the current and save power. Another possibility is the red and green colors have different perceived brightnesses as the same current level, so you may have to keep them on different legs and balance the brightnesses.

ANIME AKBAR
Jan 25, 2007

afu~
Does anyone here have experience working with Cyclone III FPGAs or anything similar? I'm planning on laying out a daughtercard for one of their devkits but I'm getting confused by some of their pin naming conventions. Specifically, the device I'm looking at (the EP3C16F256C8N) has many I/O's with names like A12, L5, R15, etc, basically a letter then a number of some value between 1 and 16. All of the pins are divided into eight banks. However, there doesn't seem to be any correlation between the name of a pin and which bank it belongs to. So how is this information relevant for design? I assume there's some strategy to selecting pins for various functions. Should I have pins from the same bank grouped together to do functions, or should I pay attention to the names of the pins?

Hillridge
Aug 3, 2004

WWheeeeeee!
I'm working with a cyclone II right now.

Those pin numbers look like they go to a BGA (rows&cols are letters&numbers).

PilotEvan
Jun 27, 2008

WHAT?

Delta-Wye posted:

You don't have to go RRG - a bunch of RRR and some GGG would be fine too, it doesn't really matter. The big thing is that Vbatt is much greater than Vforward, meaning that if you only did one LED per leg, you'd have to do:

9V - 2V / 20mA = 350 ohms

Power = 7V * 20mA = 140mW per resistor

If you do 1 resistor + 1 LED per leg, you will be burning an considerable amount of power in the resistors.

You also might find that the LEDs are bright enough at 10-15 mA, and can use a bigger resistor to reduce the current and save power. Another possibility is the red and green colors have different perceived brightnesses as the same current level, so you may have to keep them on different legs and balance the brightnesses.

Well I went out and got an AC/DC converter, and although I couldn't just find a straight up 9V one I was able to find a bunch of "universal" ones with variable voltage. This obviously makes the whole thing a whole lot easier since I can set the voltage to an even number, set the number of LEDs in series to Vsource/2 LEDs, and not even worry about resistors at all.

I decided to set it to 6V and put 3 red LEDs (with 2.0 forward voltage each) in series and, as expected, that worked. I put 3 green LEDs (with 2.1 forward voltage each) which surprisingly worked too. According the formula you used (and I later found here but thanks though) it shouldn't have worked because the LED voltage drop would be 6.3V versus the 6V from the source, right? I guess it's not as sensitive as I thought it would be? Or is there something I don't know about?

ANIME AKBAR
Jan 25, 2007

afu~
ah, that makes sense. I guess for some reason they go up to T (20th letter) but skip a few lower ones. So I'm assuming those names are relevant only to the layout, not their actual functions.

clredwolf
Aug 12, 2006

ANIME AKBAR posted:

Does anyone here have experience working with Cyclone III FPGAs or anything similar? I'm planning on laying out a daughtercard for one of their devkits but I'm getting confused by some of their pin naming conventions. Specifically, the device I'm looking at (the EP3C16F256C8N) has many I/O's with names like A12, L5, R15, etc, basically a letter then a number of some value between 1 and 16. All of the pins are divided into eight banks. However, there doesn't seem to be any correlation between the name of a pin and which bank it belongs to. So how is this information relevant for design? I assume there's some strategy to selecting pins for various functions. Should I have pins from the same bank grouped together to do functions, or should I pay attention to the names of the pins?

Each 'bank' is a collection of pins in roughly the same area. If you divide up the I/O pins into 8 squares you roughly get a bank. Look at your FPGA in Quartus and you'll see something like this:


Click here for the full 960x701 image.


Each color is a bank.

Look at the pin map in Quartus II (look at Pin Assignment). A mouseover on each pin should show it's functions, and the shape of the pin gives a hint as well (p and n means it can be used as a diff pair, triangles are power, 'step function' is a clock, etc).

The pins are grouped into banks because you can set each bank to a different driving voltage, if you want. You can set the VCCIO to 3.3V, 2.5V (for LVDS/diff pair stuff), 1.8V, 1.2V, etc, so you don't have to use a ton of level shifters if you have a rainbow of voltage values for all of your chips.

edit: Also, good luck on your job search AA! I'm in the same boat, just about to graduate and looking like hell for employment. Lots of interviews, no offers yet here :( Seems like you've got it in the bag though, just don't give up!

And yeah, every place hiring now wants 5+ yrs experience....

clredwolf fucked around with this message at 03:38 on Dec 17, 2009

clredwolf
Aug 12, 2006

PilotEvan posted:

I decided to set it to 6V and put 3 red LEDs (with 2.0 forward voltage each) in series and, as expected, that worked. I put 3 green LEDs (with 2.1 forward voltage each) which surprisingly worked too. According the formula you used (and I later found here but thanks though) it shouldn't have worked because the LED voltage drop would be 6.3V versus the 6V from the source, right? I guess it's not as sensitive as I thought it would be? Or is there something I don't know about?

There's three possibilities:

1) They're not as bright, in which case the LEDs are a bit cold, and their forward voltage drop is a little lower than 2.1V. The turn-on voltage in a diode is kind of a crapshoot anyways, it's very dependent on temperature, the voltage across it (which makes for some interesting math), and possibly even the alignment of the planets. It just happens to be close enough to 2.1V, or 0.7V or whatever under most circumstances that we can just estimate it. And it's (usually) damned stable too.

2) If your AC/DC is just a rectifier and not a linear regulator, it could be peaking beyond 6V. In which case, the LEDs would light up for a brief instance every cycle...so it would look dim but work.

3) Your AC/DC is flat out lying to you.

Delta-Wye
Sep 29, 2005

clredwolf posted:

There's three possibilities:

1) They're not as bright, in which case the LEDs are a bit cold, and their forward voltage drop is a little lower than 2.1V. The turn-on voltage in a diode is kind of a crapshoot anyways, it's very dependent on temperature, the voltage across it (which makes for some interesting math), and possibly even the alignment of the planets. It just happens to be close enough to 2.1V, or 0.7V or whatever under most circumstances that we can just estimate it. And it's (usually) damned stable too.

2) If your AC/DC is just a rectifier and not a linear regulator, it could be peaking beyond 6V. In which case, the LEDs would light up for a brief instance every cycle...so it would look dim but work.

3) Your AC/DC is flat out lying to you.

I vote three - if you are drawing lower than the rated current, the measured voltage is going to be higher. Cheap wallworts are rarely regulated.

I would recommend using a resistor with your LEDs. Right now it works due to some of the non-ideal characteristic of real LEDs (or your transformer), but it is most certainly best practice to use a current-limiting resistor. Here is a graph (not done by me, and while it shows what I'm talking about it's a bit crowded and poorly made)



You are fixing the Vf by controlling the wallwart supply and not using a current-limiting resistor. The graph is for regular diodes, but it should look fairly similar in shape for your LEDs even though the Vf is way off. If you follow Vf left-to-right you can see the current increasing and brightness is more or less a function of current. You can see the region between OFF (very little current) and BROKEN (way too much current) is fairly narrow - you are sitting in that region somewhere, but you don't really know.

If you pick a Vf, figure out a resistance that follows the relationship
(Vsource - Vforward) / Idesired = R
you will have a more stable, resilient design.

TL;DR: Your way works (obviously, you're doing it), but we're in the engineering thread so let me get out my slide ruler and sperg all over you. Also, consider using resistors, they're cool. You might also find as you add more strands the wallwart's voltage will start to sag and you may not get enough/any light out of the LEDs.

babyeatingpsychopath
Oct 28, 2000
Forum Veteran


PilotEvan posted:

Well I went out and got an AC/DC converter, and although I couldn't just find a straight up 9V one I was able to find a bunch of "universal" ones with variable voltage. This obviously makes the whole thing a whole lot easier since I can set the voltage to an even number, set the number of LEDs in series to Vsource/2 LEDs, and not even worry about resistors at all.

I decided to set it to 6V and put 3 red LEDs (with 2.0 forward voltage each) in series and, as expected, that worked. I put 3 green LEDs (with 2.1 forward voltage each) which surprisingly worked too. According the formula you used (and I later found here but thanks though) it shouldn't have worked because the LED voltage drop would be 6.3V versus the 6V from the source, right? I guess it's not as sensitive as I thought it would be? Or is there something I don't know about?

You got lucky and your universal voltage thingy sucks. Without resistors and a good power supply, you would have burned out your LEDs. Always include resistors in case something isn't exactly 100% to spec so you can't get massive overcurrent in a leg and burn something out.

Hillridge
Aug 3, 2004

WWheeeeeee!

ANIME AKBAR posted:

ah, that makes sense. I guess for some reason they go up to T (20th letter) but skip a few lower ones. So I'm assuming those names are relevant only to the layout, not their actual functions.

Exactly. They often skip letters like I and O so you don't confuse them with 1 and 0 (I think). Though I can't explain why letters like S also get skipped.

PilotEvan
Jun 27, 2008

WHAT?

babyeatingpsychopath posted:

You got lucky and your universal voltage thingy sucks. Without resistors and a good power supply, you would have burned out your LEDs. Always include resistors in case something isn't exactly 100% to spec so you can't get massive overcurrent in a leg and burn something out.

Ah, okay then. Well say I have 12V source and decide to have 6 red LEDs (12V of forward voltage total) I should just throw in a 1 Ohm resistor just in case?

On a slightly different note, are there any particular downsides to conductive pens? I've got one here and I intend to use it a bit in this circuit. Is there anything I should know about them?

greg_graffin
Dec 10, 2004

he died for your sins!!
I soldered in a wrong resistor on a variable power supply kit PCB and retardedly clipped the leads on both sides, so I have two tiny pieces of wire stuck in the board. I was able to get the extra solder off with my solder pump but the wires still won't budge. I'm afraid I may have ruined the whole kit :(

Delta-Wye
Sep 29, 2005

PilotEvan posted:

Ah, okay then. Well say I have 12V source and decide to have 6 red LEDs (12V of forward voltage total) I should just throw in a 1 Ohm resistor just in case?

The way I would do it is 5 LEDs w/ a 100 ohm resistor. Using 12V of forward voltage and a 1 ohm resistor is really playing in the margins.


quote:

I soldered in a wrong resistor on a variable power supply kit PCB and retardedly clipped the leads on both sides, so I have two tiny pieces of wire stuck in the board. I was able to get the extra solder off with my solder pump but the wires still won't budge. I'm afraid I may have ruined the whole kit
Is it a normal thoughhole? Heat the poo poo out of the hole and either pull the wire out with some small pliers, or if its too small to pull on, blow the fucker out.

Literally get it really loving hot and just huff and puff until the hole is clear.

Hillridge
Aug 3, 2004

WWheeeeeee!
Or just heat up the hole and use the new correct resistor to push the little bit out.

Worst case you can just solder the new resistor to the old leads pretty easily.

ANIME AKBAR
Jan 25, 2007

afu~

Hillridge posted:

Exactly. They often skip letters like I and O so you don't confuse them with 1 and 0 (I think). Though I can't explain why letters like S also get skipped.

Makes sense. That clears up that, then. Thanks guys.

This project is to replace some old FLEX10K dev kits that are currently used in a digital logic design class at my school. I'm planning on giving the daughtercard some decent ADC/DAC capabilities for DSP, but I'm not really sure what digital peripherals to throw on. The old ones used PS/2 (for keyboard) and a VGA port (color data lines were straight binary). I was thinking that adding something like ethernet, RS232, or RJ45 would make sense, but networking and connectivity aren't really areas of expertise for me. Also the number of GPIOs available from the FPGA is kind of limited (64 total, could maybe dedicate 25 or so to digital peripherals). Any ideas?

Hillridge
Aug 3, 2004

WWheeeeeee!

ANIME AKBAR posted:

Makes sense. That clears up that, then. Thanks guys.

This project is to replace some old FLEX10K dev kits that are currently used in a digital logic design class at my school. I'm planning on giving the daughtercard some decent ADC/DAC capabilities for DSP, but I'm not really sure what digital peripherals to throw on. The old ones used PS/2 (for keyboard) and a VGA port (color data lines were straight binary). I was thinking that adding something like ethernet, RS232, or RJ45 would make sense, but networking and connectivity aren't really areas of expertise for me. Also the number of GPIOs available from the FPGA is kind of limited (64 total, could maybe dedicate 25 or so to digital peripherals). Any ideas?


I2C, SPI, CAN, and UARTs (232 or otherwise) are all good. Ethernet is a bit more work, but doable. What did you mean by RJ45, as that's just a style of connector?

Adbot
ADBOT LOVES YOU

clredwolf
Aug 12, 2006
I2C and SPI are getting pretty important for controlling external parts. UART with an FTDI chip letting you hook up USB is almost a must, just for the ease of controlling the FPGA and debugging what is going on.

Microchip has a couple of nice options for easy Ethernet. The Microchip ENC28J60 has a SPI interface to Ethernet, which is low-speed but low on the i/o count too. A better option might be the PIC18F87J60, which comes with built-in ethernet (10mbps)! With that you get a few choices of interfacing (I2C/SPI/USART/gpio) and access to the PIC's on-board peripherals as well.

On the different side, you can look at something like the AVR®32 UC3A series, Microchip PIC32 series, or TI Stellaris® 6000 ARM series and interfacing with those. All have Ethernet controllers built in. Depends which families you like working with best (AVR, Microchip w/MIPS, TI with ARM).

And on the really crazy idea side:

Hook up a TI OMAP35x series processor. No Ethernet, but full USB2, SUPER powerful, . Look at a Beagle board for a good idea of what you can do (and how difficult said thing is to do) with the OMAP. What I would do for interfacing is to hook up the FPGA to the memory bus, and turn the FPGA into asynchronous 'flash memory'. The OMAP won't know the difference, and now you cam move data from FGPA to processor at some very high speeds (200 MBps+ might be possible!), and also use certain adresses in the flash memory as 'device controllers'. WAYYYYYYY overkill, but would be a hilariously powerful dev board. Students might love you for being able to mess with a full OS, or might kill you for the massive software-induced pain that might come of this (although Beagleboard has a pretty active community for OMAP projects).

clredwolf fucked around with this message at 05:13 on Dec 19, 2009

  • 1
  • 2
  • 3
  • 4
  • 5
  • Post
  • Reply