Show Posts
Pages: [1] 2 3 ... 55
1  Using Arduino / Microcontrollers / Re: Arduino Tre Price on: April 01, 2014, 11:54:33 am
Now you can no longer get 3 RGB LEDs for $1.00, but you can buy them from SparkFun or Adafruit for $1.95 each.  Good for you!!

Or maybe you didn't market enough.
Or maybe you over-estimated the volume available -- Sparkfun doesn't make money by selling individual RGB LEDs.
Or maybe the people who care about price go to Digi-key, where they can buy them for $0.649 (or $.66, for the double-bright ones.)
My bet is on a combination of over-estimating volume and under-estimating how much marketing is needed to cut through the noise -- but I have zero knowledge about your particulars; this is just an observation based on the "typical case."

Anyway: If the Tre can sell for $49, it may have a chance. Else, the Pi, plus perhaps a $9 USB Atmega board, is more likely to keep capturing the market for higher-end CPU.
Unless there's something really glitzy in the programming/IDE part, like drag-and-drop components or something, that only works with the Tre. That might be worth a mark-up.

2  Using Arduino / General Electronics / Re: help connecting Arduino UNO to n-ch MOSFET via Optocoupler on: December 17, 2012, 07:36:45 pm
Quote
that allowed Gate -> Source current was 62 A.

That's allowable Drain -> Source current, with the stipulation that the Gate/Source voltage is 10 V. This tells me that a 5V driver will not "open" the MOSFET fully, and you will see a higher Rdson than the specified value. That being said, if your solenoids are just drawing a few amps, that probably doesn't matter much.

Quote
But isn't lower resistor -> more current -> better switching? Please, correct my logic. Or did you mean low current?

You need both high current AND high voltage, and the high voltage is more important than the high current for large loads, whereas the high current is needed for quickly switching on/off.

Quote
If drivers cant work 100% on cycles and optocouplers are too slow for PWM, is there any way to have both, PWM and 100% on cycles?

There are drivers that can work 100%, as long as they are only used as low-side drivers. Looking at your schematic again, I think that's what you're doing, so I think you're good, as long as the 7.5V can be used as your gate voltage.
The kind of driver I'm talking about can generate a higher gate voltage (even higher than your VDD!) by charging a capacitor, but that capacitor slowly discharges and thus it needs the down-cycle to re-charge.
3  Using Arduino / General Electronics / Re: help connecting Arduino UNO to n-ch MOSFET via Optocoupler on: December 17, 2012, 01:42:00 pm
Quote
And what could I do to also allow PWM? Cooler or some better component?

The danger with your pull-down resistor being as low as 470 ohm is that the optocoupler may not be able to pull the gate high enough to fully turn on the MOSFET. There are two concerns with driving MOSFETs for high power:
1) Get a high enough gate voltage to drive it all the way on. This is often a voltage that's twice the rated "Vgs threshold" voltage -- 10V is not uncommon. 7.5V can do it for many devices, too.
2) Get enough current to turn it on quickly. You want ideally several amperes for a handful of nanoseconds in the really high-power cases. Working with milliamperes means it will take much longer to turn on the device, which is still often OK, as long as your duty cycle is long (so, no PWM in that case.)

The problem is that the photo transistors aren't high-current drivers. If you want to drive heavy loads with PWM, you want a dedicated MOSFET gate driver circuit, such as the International Rectifier series: http://www.irf.com/product-info/cic/fsgatedriverics.html or ST microelectronics: http://www.digikey.com/product-detail/en/TD351IN/497-4440-5-ND/725331
Note that those drivers, in turn, ONLY allow PWM; they don't work well with prolonged 100% on cycles, because of the way the gate boost capacitor works.
Sadly, most of these chips are going obsolete, because power switching is going all surface mount and integrated controllers now. Something like the FAN7390N would make a nice driver chip, too.

The driver chips can replace both your opto coupler and your pull-down resistor.

4  Using Arduino / General Electronics / Re: help connecting Arduino UNO to n-ch MOSFET via Optocoupler on: December 16, 2012, 02:31:18 pm
I mean:-
The emitters of the optos should be connected to ground, the -ve of your 24V source and the FET gates should be connected to the collector of the FETs.

Oh, now I get it (I read the sentence wrong). Do you mean like this?

Not at all like that. You are grounding your gates; there is no chance those FETs will turn on.

Also, there is no such thing as a "collector" of a FET. There are collectors on BJTs, and on phototransistors.

Each of the FET gates should have a resistor going to ground, and the phototransistor going to control voltage. That means that, with no photo action, the gates are pulled to the ground, and the FETs are not conducting. When the phototransistor is conducting, there will be voltage pulled up to positive. Exactly how much depends on the resistance of the phototransistor and of the pull-down resistor. I would try a 1 kOhm pull-down and see how that goes. As long as you don't drive these guys at PWM rates (just on/off,) that'll probably be fine.

Edit: I see on the next page you actually got it right with the revision.
5  Using Arduino / General Electronics / Re: Practical clearance for 220 VAC on PCB on: December 15, 2012, 08:11:50 pm
Quote
I still don't know how they can have 2 pins next to each other on an SOO8 package having large voltages on them

Because it takes many kilovolts to jump a gap that size. If there's a transient on the mains line, it may arc from one of the pins to another, but that's actually not particularly common.

Also, the separation between the control (low-voltage) side and the controlled (high-voltage) side is bigger than the separation between the controlled (both high voltage) areas. And it's a 120V part, not a 240V part. (still, I might have run that lead under the package a little further away from the 120V if I could.)
6  Using Arduino / General Electronics / Re: help connecting Arduino UNO to n-ch MOSFET via Optocoupler on: December 15, 2012, 08:01:59 pm
Quote
Transistors work with current flow

This is kind-of ambiguous, because every component "works with" current flow of some sort, or it wouldn't be a very useful component. I think I know what you meant, but someone new to electronics might not.

This is basic stuff. I feel it will help anyone who's not yet clear on it and reads this thread:

BJTs (NPN and PNP transistors) work such that the flow through Collector-Emitter is proportional to flow through Base times the amplification factor, with polarity depending on the type. Thus, a BJT transistor needs current flowing through the base to let current flow through the controlled path.

FETs (N-channel and P-channel transistors) work such that flow through Source-Drain is proportional to the charge built up between the gate and the source. The gate is like a capacitor, so while a small amount of current will flow into it to build up that charge, no current will flow through the gate once it's built up, and the MOSFET will still conduct. The only reason to keep the gate voltage on is to replenish leakage current from the gate. This is also why disconnected (floating) MOSFET gates may stay turned on after disconnection, or even spuriously turn on, or off, if there is not enough impedance to either gate voltage or ground.

This is also why it's OK-ish to leave a BJT base floating when you're not driving it -- no current flows, so it will not conduct. But for a FET, that's not true. You must make it so that the gate is ALWAYS connected to either a voltage, or ground. Typically, you do this through a pull-up or pull-down, depending on what you want the default condition to be.

For an opto-coupler that pulls the gate up to turn it on (N-channel FET) you need to also keep a pull-down to ground to the gate, so that the gate turns off when the opto-coupler is not transmitting current. Perhaps a 2 kOhm pull-down will be sufficient, if you're not trying to switch the FETs at too high an on/off frequency.
7  Using Arduino / LEDs and Multiplexing / Re: Running RGB LEDs direct from an arduino on: November 27, 2012, 06:07:25 pm
Each different LED process has a different forward voltage drop, and each LED kind will typically have a different target current, too.

Thus, a low-current red LED with 1.8V forward voltage drop and 2 mA design current would need a 1.6 kOhm resistor from a 5V output ((5.0-1.smiley-cool/0.002.) A medium-current green LED with 2.1V forward voltage drop and 10 mA design current would need a 290 Ohm resistor ((5.0-2.1)/0.010.) A high-current blue LED with 3.0V forward voltage and 25 mA design current would need a 80 Ohm resistor ((5.0-3.0)/0.025.)

You can find the forward voltage and current needs for your LED by reading the data sheet.

However, it turns out that most LEDs will do fine with significant over- and under-currents. Thus, a 220 Ohm or 470 Ohm resistor or even a 1.0 kOhm resistor may be "good enough" for most LEDs to make some light and not immediately burn out. Thus, many tutorials will recommend one of these resistors without going into how that value was derived.

When it comes to running a common anode LED, that's not that different from anything else. As you noticed, driving the pin low will make the AVR CPU sink current, and will turn the LED on, if the LED anode is at +5V. It may also burn out the LED if you don't have a current limiting resistor, and may even burn out the Arduino if the LED current consumption is too high. The Arduino is acting as a "low side switch" here, which is not particularly uncommon in modern electronics.

However, your description of driving the pin high is not accurate. Setting the output to +5V on one end, and connecting the anode to +5V from the other end, will not "drive the LED from both sides." Any component only sees the voltage differential between its sides, and when both sides are at +5V, the differential is 0V, and there will be no current flowing. Thus is the same thing as tying both ends to ground -- the differential would be 0V, and no current would flow.

To close the loop here, a "high" output pin from an Arduino is actually more like 4.75V-4.8V, because of losses in the transistors that turn the ports on/off and other internal circuitry in the AVR controller. Thus, if you tie the anode to +5V, and drive the other pin high in an output, you will see a voltage differential of 0.25V. However, this is sufficiently below the forward voltage drop of the diode, that effectively no current will flow, and the diode will not turn on. Even if you replaced the diode with a resistor, it would be OK, because the AVR can take a slight overvolt on output pins, as long as the current isn't higher than specified (25 mA typical, 40 mA max.) It's a very robust microcontroller -- don't expect every chip to be that nice! The Arduino Due is reported to be much less robust (and reading the data sheet, that would make sense.)


8  Using Arduino / Project Guidance / Re: Attiny85 Communication with Arduino UNO on: November 27, 2012, 05:53:36 pm
The Tiny will run up to 20 MHz with a crystal. You're not using a crystal, which means that it runs at the internal 8 MHz oscillator. Additionally, if you haven't changed the default fuses, it's set up for clk/8, so runs at 1 MHz.

Also, if you disable the reset pin to use it as an analog input, you can no longer serial-program the chip; you have to use "high voltage" programming, which requires a special programmer (most ICSP programmers can't do this.)

I find that I end up using SPI for the Tinys for all communications. This requires three wires (clock, data in, data out) and you either don't need to use chip select, or you can use the data-in wire as also chip-select by pulling it low for a bit before you send the start of a new packet (and write code to expect this on the receiving Tiny.)

Another option, which I like more these days, is to use a Tiny84A, which has more pins, and still an ADC, or a Tiny2313, which has even more pins, but no ADC, or a full Atmega328p. The few extra dollars for the mega328p aren't particularly noticeable if you only build one or a handful, but the time you save by having enough pins is huge :-)
9  Using Arduino / Programming Questions / Re: Kalman library for Arduino on: November 18, 2012, 02:31:21 am
That's known as a rectangular integration window, and is one of the most basic filters. (it's an instance of Finite Impulse Response filters or general convolution.) It's not that great, because it needs a lot of data to remove noise, and at the same time, it reacts kind-of slowly to changes. Kalman filters try to strike a different balance between noise rejection, response time, memory usage and computation requirements. Once you get into it, there are tons of different filters and statistical methods you can use to shape your readings, if you have the time, memory, computation power, and inclination to do so.
10  Using Arduino / General Electronics / Re: Silkscreen and Itead pcb service on: November 12, 2012, 01:33:06 pm
Quote
If I substitute my custom silkscreen gerber file and then that off instead if the Itead script generated one, should that be OK?

Yes; they silkscreen whatever you send them a Gerber for. Just make sure the Gerber is what you actually want silkscreened :-)

Several people here have been touting the Iteadstudio service, but unreliable delivery is
really really really bad news.

I don't hear unreliable delivery. I hear ITead sending him exactly the boards he sent them files for. He used a script to generate those files without understanding the inputs to that script. Easy mistake to make the first time, and easily corrected once it's hurt you once.

Personally, I edit the CAM file to include the layers I want for the silk screen. I like to have component values included, for example. Works fine for me. The CAM processor files are really quite easy to work with in Eagle -- as long as you know that that's what you're doing (and need to do.)

That's defending ITead -- they are affordable, and I find them easy to work with. However, if you don't pay the $28 for DHL, shipping is slow, and the boards, while functional, and not top of the line quality. If you want high-quality boards, still at a hobbyist-friendly price, use http://oshpark.com/ (dorkbotpdx/laen.)
11  Using Arduino / General Electronics / Re: 7805 voltage regulator help on: November 12, 2012, 01:26:39 pm
As others have said, there are two problems here:

1) The Arduino has an inefficient linear regulator on it that requires about 6.5V in to generate 5V out. Thus, you should regulate to >= 6.5V, not to 5V. (7.2V, 9V, and 12V are all easy to find parts for and would work well.)

2) Linear regulators are really inefficient when regulating high voltage drops. They have to pass all the current that the load is drawing, and burn it off as heat. Switching power converters are a lot more efficient in these cases.

You can buy a suitable power converter either at distributors like Digi-Key ("dc dc power converters") or perhaps at hobby shops (where they will be called "UBECs" -- just make sure you get one that can deal with 36V input.)
Also, Pololu are selling a few, which are in the same family as the ones you'll find at Digi-Key, but I don't think any of them go as high as 36V.

Finally, you can build your own step-down ("buck") converter with a switching controller IC, and a few discrete parts; typically a diode, an inductor, a few resistors, and a capacitor or two. For an easy-to-use through-hole part, try the MC34063, which is not particularly efficient, but it can take high voltage and is robust even on breadboards.

12  Topics / Product Design / Re: What is the best free PCB designing application..?? on: November 08, 2012, 12:46:21 am
Ted,

You know that the free version is only okay to use for non-commercial applications, right? Also, it only does 2-sided boards, and the max board size is 4x3.2 inches (100x80 mm) and it only does a single schematic page, no multi-page or hierarchical schematics.
Don't get me wrong; I'm very productive in Eagle, and it was the first program I recommended up above, but I think it's important to call out the limitations.

After reading the other recommendations in this thread, I've taught myself KiCAD, which seems to be the best free linux-compatible schematic-and-PCB tool you can find. It also runs on Windows and MacOSX. It does any number of schematics, it does hierarchy, it does any number of layers and any size board, and you can use it for things you sell or otherwise utilize commercially. If you need anything beyond the limitations of free Eagle, you have the option of paying > $600, or re-training on KiCAD or something similar. You might as well start training on KiCAD from the beginning :-)

13  Using Arduino / Project Guidance / Re: PC 2 PC Communication using Fo and Arduino on: November 07, 2012, 02:17:57 pm
i am try to transmit Data file instead of sound

There is no difference. Data is data.

Quote
Yet i am confuse Since, Ram of Arduino is only 2MB, how much transfer rate we can expect??

The Arduino SRAM size is 2 kilobytes, and the RAM size has almost nothing to do with transfer speed. I already told you what the limiting bottleneck was, so you already have all the data you need to answer this quesiton.

Quote
"If Question 1 is possible, then how to create a coding which can help to transfer data from 1PC to another"???

I told you exactly what to do. I will not write your code for you. Not even if you paid me, because your project is supposed to be done by you.

However, you did not answer my question: What is your major / degree / subject of study? Without knowing this, nobody knows what areas you are already familiar with.
14  Using Arduino / Project Guidance / Re: PC 2 PC Communication using Fo and Arduino on: November 07, 2012, 12:52:20 pm
i need your help for my University Final Year Project.

What is your subject of study / degree?

Quote
Diagram:  PC1 --> Arudino (TX,RX) --> FO --> Arduino (Tx,Rx) --> Pc2, and reverse.

That can be done.

Quote
1) DO you think, it is possible for Arduino to transfer big files from Pc to Pc?? Notice NO AUDIO or TEXT, only movies or any big file more then 5MB.

If you are in final year of university, studying any subject where data communications is suitable for a final year project, you ought to know that, at the physical layer, data is data, and what the data represents doesn't matter.

Quote
2)If Question 1 is possible, then how to create a coding which can help to transfer data from 1PC to another.

You write code that reads the serial port on the Arduino, and forwards to an optical transciever of some sort. You write separate code on the PC that reads whatever your input data is, and writes it to the serial port. Do the reverse on the other end. Add packetization, CRCs, authentication, and re-transmission as needed.

Also, note that the performance will be very slow, as the serial link will be the bottleneck.

Quote
3)Can i Use Ethernet cable, instead of Fiber optic for my Prototype? how to create interface between Ethernet Port and Arduino?

Yes, you can. Ethernet cable is just plain electrical wire, so you can wire a simple keystone jack to some leads that you attach to Arduino pins, and wire the same thing on the other end. Note that this will use Ethernet *cable,* but not Ethernet *signalling.* If you want to use actual Ethernet signalling, and IP protocols on top, you might want to look at the Ethernet shield. However, that shield does so much of the work for you, that it's not a very good prototyping tool for something where you want to change it out later.

This project, as described, sounds more like a High School science fair project than something I'd expect from a university final year project (meaning, you should be doing something that matters to your future employers.)
15  Using Arduino / Storage / Re: Datalogger on: November 07, 2012, 12:45:03 pm
SD cards use SPI (pins 11/12/13) not I2C. Is your problem related to the SD card, or related to some other device that actually uses I2C? If you're using I2C, have you called Wire.begin() ?
Pages: [1] 2 3 ... 55