Show Posts
Pages: 1 [2] 3 4 ... 9
16  Using Arduino / Networking, Protocols, and Devices / Re: UNO board I2C pullups? Can be enabled/disabled? on: February 25, 2013, 01:25:17 pm
Quote
The problem is simply that sometimes the module's output frequency doesn't change.
That code will only set the modules output frequency to one value once per run only. Therefore if you run the code again it will not change. Only when you power it down will it change.

Quote
but sometimes things work.
That points to decoupling problems. Where are the output wires going to? Maybe this is causing interference that is being picked up. I would add extra decoupling capacitors to the supply.
Mike... Another almost identical program sets it to the lowest frequency. High=0x00 and Low=0x00. Even if you send the same code, Wire.endTransmission()should not return an error.
The output wire - the CLK signal - goes to the scope only. Its about an inch long. In fact all the wires (there is no CLK~ or OE wire) from the board go to the breadboard and they are also about an inch long. For this current situation, the supply is the UNO board itself, and the module has 4.7uf and 0.01uf caps from the supply to ground, on board. What size cap must be applied in addition and where? All components are surface-mount technology.
17  Using Arduino / Networking, Protocols, and Devices / Re: UNO board I2C pullups? Can be enabled/disabled? on: February 25, 2013, 12:06:47 pm
What exactly is the problem you are having.
Can the arduino "see" the I2C device, try an I2C scanner program to see what addresses it picks up. Often it is the address that you are using that is wrong.

The problem is simply that sometimes the module's output frequency doesn't change. There is no real pattern to the errors (2, 3, 4) in Wire.endTransmission.

As for the UNO seeing the module, one could say that it sees it sometimes and not at others. I'll try the address scan, but I don't think it will give us any more information.
18  Using Arduino / Networking, Protocols, and Devices / Re: UNO board I2C pullups? Can be enabled/disabled? on: February 25, 2013, 12:02:31 pm
That seems all good, except the breadboard.
So many people have bad connections with breadboards.

What I2C chip are you using ?
What is your code ?
I've moved the module on the breadboard, but there is no change.
The manual and chip datasheet can be found here: (http://www.gravitech.us/i2c1kto68pro.html)
The schematic is attached. The manufacturer replaced the switches with solder bridges: OE on, Address 0x2E, I2C pullups enabled. Power LED enabled.
The module is sent two bytes of data that correspond to a frequency that the LTC6904 chip must produce. The data format is stated in the datasheet.
The sketch is attached. Error codes often occur: 2- address error, 3- Data error, 4- Other error, but sometimes things work. Especially when I download the sketch and then power down the UNO and the module, .....but not always.
19  Using Arduino / Networking, Protocols, and Devices / Re: UNO board I2C pullups? Can be enabled/disabled? on: February 24, 2013, 03:24:43 pm
I don't think so.
The 20k...50k will be no problem.
The 4k7 is the right value, it should work.

Perhaps you have a few breakout boards with pull-up resistors on every breakout board, the total pull-up could be below 1k. That would be too low.

Perhaps you have long wires, say more than 50cm, and they are close to each other, that could be a problem.

Perhaps the decoupling is not good. The I2C device should have 100nF for the supply voltage.

Perhaps you use a breadboard. They don't make good contact a lot of times.

The I2C lines drive only one module. They are individual wires about 15 cm long each. They connect the UNO's A4 and A5 pins to the module. The module has both 4.7uf and 0.01 uf caps from the power supply to ground. Power is supplied from the UNO board.

I DO use a solderless breadboard. I suppose I could move the connections along the board, and I'll do that.
I have talked to several others about this problem, but they seem unable to tell me HOW to find the trouble, and so they drop off the thread.
I thought the problem might be the actual data values being sent, but the tests do not fail consistently. Its a very peculiar problem.

I have a scope and DMMs and can do some soldering.
20  Using Arduino / Networking, Protocols, and Devices / Re: UNO board I2C pullups? Can be enabled/disabled? on: February 24, 2013, 01:24:40 pm
You can read this, http://playground.arduino.cc/Main/I2CBi-directionalLevelShifter

There are no pull-up resistors for the I2C bus.
However, the internal pull-up resistors of the Arduino microcontroller are enabled in the library.
They are a lot more than 10k (About 20k...50k, it depends on the microcontroller), but with a slow I2C bus they are (barely) enough to make the I2C work.
You can alter the library, or disable them after the Wire.begin() function.
Ahhh, they are internal to the microcontroller chip itself. But they can be disabled; I'll check out the documentation. Because the device I'm sending data to has 4K7 resistors to 5 V, maybe disabling the internal ones will help with comms problems.

Thank you.
21  Using Arduino / Networking, Protocols, and Devices / UNO board I2C pullups? Can be enabled/disabled? on: February 24, 2013, 12:28:21 pm
After a lot of reading: does the UNO Rev 3 board have on-board pullup resistors for the I2C lines A4 and A5; 10K from what I read?
I can't find them on the schematic.

Also can these pullups be disabled - i.e. programmatically or manually disconnect the resistors from the two lines?
22  Using Arduino / General Electronics / OpAmp Freq and Slew rate? on: February 20, 2013, 07:33:07 pm
It is correct that an opamp with lower bandwidth will reproduce a signal with a low peak input voltage - say 125mV. Where as if I have a 5V peak signal, i would need a much higher slew rate? Slew rate= (2*pi*F*Vpk/1e-6)[V/us]

I have an signal source that gives me  5V peak, 68Mhz square wave at a very low output impedance. I wanted a buffer op amp to help interface it to other things. If I use a fraction of the input voltage, that requires a lower slew rate and I can get away with a lower bandwidth op-amp. Is that correct?
23  Using Arduino / Networking, Protocols, and Devices / Re: I2C fails Using UNO and LTC6904 module on: February 20, 2013, 07:21:18 pm
Well..I still don't know what to do with these problems. How do I prove which is causing the problem?
24  Using Arduino / General Electronics / Re: New YwRobot MB102 power module overheats on: February 16, 2013, 11:23:24 am
Actually I think not, and almost everyone on the net has assumed the function of this connector backwards.  It isn't an input to power the breadboard, it's an output to power something like an off breadboard Nano with a USB cable from the 5v regulator.  The only power in is the coaxial jack..
Yes, you are very likely correct. I didn't realize that until a few days ago. The female connector always bothered me. How could someone make such an obvious mistake?? Of course,its not a mistake. Now I'm gonna be stuck with a maleA-to-maleA adapter. Hahaha!

Its very very good that you spoke up. Thank you.
25  Using Arduino / Networking, Protocols, and Devices / Re: I2C fails Using UNO and LTC6904 module on: February 16, 2013, 01:52:47 am
The original (working) sketch does one frequency change. Yours does two. The working sketch seems to select a different frequency to the problem sketch.

I am hypothesizing that either the second change, or the different frequency, is causing problems.
The problem sketch is only the attached one now. It sets one frequency - 68MHz - and then generates errors when trying to set the same frequency thereafter. Although I thought the problem was only with I2C, we have now enlarged the problem to include RF interference, but have yet to definitively prove its cause. How do I do that?

Another trial: I had the attached program send out 00 00. The frequency changed to 63MHz without an error, and repeated settings to the same count caused Error 2. The frequency remained at 63MHz.

BTW: the ".ino" files can be opened by a text editor; one doesn't need the Arduino IDE.
26  Using Arduino / Networking, Protocols, and Devices / Re: I2C fails Using UNO and LTC6904 module on: February 15, 2013, 08:08:52 pm
So the frequency is influencing the results?
Hmmmm. You chose wording that implies that the oscillator frequency affects the success of I2C; that the frequency interferes with the I2C communication. I don't know how to respond to that.

I guess I can freq hop to see at what point the interference starts, but once achieved, how does one shield the low-freq side from the hi-side. The board is quite small and so those two sides are in close proximity. Is the solution to connect the output to coax? The output will handle only a 15 pf capacitive load.
27  Using Arduino / Networking, Protocols, and Devices / Re: I2C fails Using UNO and LTC6904 module on: February 15, 2013, 02:12:55 pm
I'm just wondering if 0xFF and 0xFE (from your other debugging) is out of range for the device.
I tried a slightly modified "I2C_OSCDecimalFreqSetter" sketch that sends out only FF and FE, the count for 68MHz. When all went well, the scope showed a frequency of 67.3MHz. When it failed, it gave a Wire.endTransmission() error of 3 or 4.
28  Using Arduino / Networking, Protocols, and Devices / Re: I2C fails Using UNO and LTC6904 module on: February 14, 2013, 05:49:06 pm
@ Nick Gammon
The debug output from the I2C_OSCDecimalFreqSetter.ino sketch is:
18.0490
42
88
The first is the frequency to set and the next two are the high (first) and low (second) bytes sent to the module. The frequency is set in the program, and the two bytes are calculated from that frequency. The scope measures a frequency of 18.0053 KHz. Once the program is the UNO, you can press the reset button any time and you won't get an error output from the program.

The module gets its power from the UNO board. The filtering shown on the schematic exists on the module's PCB. I think the problem is more with I2C than hardware. I have problems changing the frequency, but once set the frequency is stable and accurate.

@pylon:
I bought the board already assembled. The schematic shows switches but they are, in fact, soldered:
- OE Enabled.
- Pull-up resistors as on the schematic.
- ADR=GND => I2C address is 0x2E.
- Green power-on LED enabled.

29  Using Arduino / Networking, Protocols, and Devices / I2C fails Using UNO and LTC6904 module on: February 13, 2013, 04:55:15 pm
This problem occurs with the Arduino UNO and a oscillator module I2C-OSC. I2C is used to send a two-byte count to the oscillator module. The count controls the output frequency. At times the count does not seem to get to the module.

The included program sends the maximum count to the module, then delays for several seconds, and then sends the minimum count to the module. The max count is often set successfully, but the min count is not. I have to power the module down and up and then push the UNO reset button to change from the max count. Sometimes the oscillator output is shutdown altogether.

Wire.endTransmission() returns: 2=NACK on address transmission, 3=NACK on data transmission, and 4=Other Error, with the NACK on data transmission being more frequent. With the 2 changes, the results are in pairs: sometimes 4 and 2, and 2 and 3. Sometimes 2 is the only error response.
How does one diagnose this?

On the other hand, The 2nd attached programs (I2C_OSCDecimalFreqSetter.ino) never shows an I2C error

Documentation:
See http://www.gravitech.us/i2c1kto68pro.html
and find the User Manual and data sheet for the LTC6904 chip on which the module is based.
The data format is described in the data sheet.
I have attached the Arduino program that I'm using to test the set-up, and the schematic for the module itself.
I'm using the Arduino 1.0.1 IDE.
I have an oscilloscope.
30  Using Arduino / Project Guidance / Re: Power Supply on: February 08, 2013, 12:35:52 pm
Except all that still assumes that his *9V* supply was greater than 10V...

More likely... counterfiet parts of junk quality and the 3.3V is shorted internally. The only other part in between is the little chip capacitor (or the artwork.)
If I didn't write it already, the open-circuit voltage on the power adapter is 13.7 volts (on a DMM).

The fact that there are two datasheets for what may or may not be the same product simply means one should use another manufacturer. There is an opportunity here to design a good quality substitute for the power supply and then sell it on the web. That one YwRobot supply is sold by MANY vendors. Think how many one can sell as its competitor.
Pages: 1 [2] 3 4 ... 9