0

I've got Sparkfun's FT245RL Usb to Fifo Breakout Board. I need 5V output from data bit ports(D0-D7). While I'm working with it, I've found out I need to unsolder SJ1 jumper between Vcc and Vccio then connect Vusb to Vccio in order to get 5V output. I did it but unfortunately I cannot get 5V output from that ports. Did I miss something? Did I do it wrong? Or do I need to supply external power?

Roh
  • 4,598
  • 6
  • 41
  • 86
st.
  • 103
  • 1
  • What you describe should work, so when you say you can't get 5V from the outputs, what do you mean? What voltage level do you get? – alexan_e Apr 06 '14 at 14:00
  • For example when I set D0 port to HIGH, I get 2.8V from D0. – st. Apr 06 '14 at 19:02
  • What level do you get with Vccio=3.3V? – alexan_e Apr 06 '14 at 19:43
  • I've made some adjustments and I'm getting ~4.85V output voltage from pins when they're HIGH and unloaded. You can check out the answer below. – st. Apr 07 '14 at 09:31

1 Answers1

0

Contrary to what you wrote, SJ1 is not between VCCIO and VCC. It selects whether the FT245 chip gets IO-side driver power from the built in 3.3V regulator (default) or from the target device via JP3 pin VCCIO.

So you must either leave VCCIO connected to the 3.3V regulator via jumper SJ1 (which results in max 3.3V output swing), or cut SJ1 and connect VCCIO to some other supply, perhaps from the external target system, or from USB. You have done the latter, so that's promising.

So two further points: 1. Check that 5V is actually getting to the VCCIO pin using a voltmeter. If it is, then...

  1. Note that the output pins have only limited ability to deliver current, and the more current needed by the external load, the lower will be their max voltage in the high state. Spec sheet says Voh typical 4.1V and min 3.2V with a load of only 2mA.

Only if the outputs are unloaded will you see close to 5V. That's fine if your external system has high-impedance inputs, as, for example, Arduino inputs would be. But if you are testing with an external system connected but powered down, then those external connections will present a significant load due to their input protection diodes.

Likewise if you are using these outputs to drive LEDs or even transistors (with base resistors) you will see lower output voltages.

So... test with external system disconnected.

Schematic: https://www.sparkfun.com/datasheets/BreakoutBoards/FT245RL-Breakout-Schematic-v2.pdf Data sheet: http://www.ftdichip.com/Support/Documents/DataSheets/ICs/DS_FT245R.pdf

gwideman
  • 2,679
  • 13
  • 19
  • OK I've made some adjustments and I'm getting ~4.85V output voltage from pins when they're HIGH and unloaded. I checked with a voltmeter. That's really cool. But here's the deal, I want to activate relay switches using these pins. However, they're not working. I'm using 05VDC relays, and they're working while they're connected to VUSB pin and also V3.3 pin. I don't understand why. Maybe current is not enough for relays? What should I do to make it work? – st. Apr 07 '14 at 08:54
  • Post the relay spec if you like. You are lucky if you can drive the very smallest relays with an output like this. Instead you need to use the logic output to control a BJT transistor or FET, which can in turn switch the relay coil. Regardless of how you do it, you will need protection diodes to avoid the coil creating a high voltage ("reverse EMF") pulse that will destroy the component controlling it. Google images for "arduino controlling a relay" for examples. Typical: http://electronics.stackexchange.com/questions/33312/simple-and-safe-solution-to-control-a-power-plug-with-arduino-or-pc – gwideman Apr 07 '14 at 09:23
  • Here's the relay's specs http://www.megasan.com/service/pdfhandler.ashx?fileid=3398 – st. Apr 07 '14 at 09:29
  • Coil data shows requirement of 71mA at 5V. Using a BJT, saturated (fully on) to switch that requires BJT to dissipate about 0.3V * 70mA = 20mW, so a fairly small transistor will do, like a common 2N2222, or 2N3904. To make sure it's fully on, we need say IB ~= 70mA/50 = 1.3mA. Assuming Vout from FT245 of say 3.7V, and VB of 0.7, R = V/I = 3/1.3m ~= 1.8k to 2.5k. Be sure to include the protection diode. 1N4001 or similar will do. – gwideman Apr 07 '14 at 09:43
  • That said, if you need the relay to switch only a small amount of current compared to the 10A this one is good for, you can use a smaller relay and not need to waste so much current driving the coil. This would be a consideration if you're running the controller off battery or USB, where total power supply current is limited. – gwideman Apr 07 '14 at 09:46
  • Also, you should add a couple of capacitors in parallel across the power supply (+5V to ground) near the relay coil, say 10uF, and 0.1uF. This will help avoid the switching of the relay coil from disrupting the operation of the FT245 and whatever is sending it a signal. (Note: in other situations we might use a 100uF or more for the larger cap, but USB devices are only allowed a max of 10uF, to avoid a sudden load when plugged in.) – gwideman Apr 07 '14 at 09:50
  • Thank you very much, you have been very helpful. Learned a lot. Can you suggest a smaller relay? Or can I use this board? It says I need just 15-20 mA driving power. http://mcdn01.gittigidiyor.net/11010/tn70/110106990_tn70_0.jpg – st. Apr 07 '14 at 10:30
  • Choice of relay depends on what voltage and current you need to switch, which I don't believe you've mentioned. That board could be made to work, but hard to tell just from a picture. Need specs. Bear in mind if the concern is to reduce current, that 15-20mA is just to drive each of the optoisolators which this board appears to have. (Also input LEDs, it seems.) You still need to drive the relay coils. Though you could provide a separate supply for that (which this board intends, hence the optoisolators). So I'm guessing this board doesn't advance your cause much. – gwideman Apr 07 '14 at 11:49