Welcome to EDAboard.com

Welcome to our site! EDAboard.com is an international Electronic Discussion Forum focused on EDA software, circuits, schematics, books, theory, papers, asic, pld, 8051, DSP, Network, RF, Analog Design, PCB, Service Manuals... and a whole lot more! To participate you need to register. Registration is free. Click here to register now.

Register Log in

Problems with AD7730 resolution in a weighing system design

Status
Not open for further replies.

paurelian

Junior Member level 3
Joined
Aug 16, 2007
Messages
29
Helped
5
Reputation
10
Reaction score
1
Trophy points
1,283
Location
Europe
Activity points
1,512
Hi,

I am trying to build a weighing system but i face some problems with the noise and the stability of the measured value. I built 3 versions of aprox the same schematics but with different layouts. With the first version I got a 14 bit resolution, but this version had some other problems! I tried then other version, reading more about how to build the layout, but the results weren't as i expected to be. Can anyone help me with some tips regarding how to build this layout in order to achieve a better resolution? For this last version i have separate grounds, analog and digital, separate ground planes, short leads for decupling capacitors, separate supplys, agnd and dgnd are connected in only one point, no digital lines under the chip, no high current lines near the sensitive inputs traces for ad7730, decoupling caps as is specified in the datasheet, but still a 10 bit resolution!!! I shorted internally the inputs of AD7730 and i measured the value ... but i couldn't get a better resolution then 10 bit! Has anyone faced these problems and how had he solved them?
Thank you a lot in advance!
 

John Miles KE5FX

Junior Member level 1
Joined
Jul 11, 2007
Messages
15
Helped
4
Reputation
8
Reaction score
3
Trophy points
1,283
Activity points
1,386
ad7730 application

Noisy power? Try running it from batteries and see if that helps.
 

ossroosh

Newbie level 4
Joined
Jun 1, 2007
Messages
7
Helped
2
Reputation
4
Reaction score
1
Trophy points
1,283
Activity points
1,393
ad7730 problem

Dear Friend

First, thank you very much for your post.

As a matter of fact, I've experienced most of these problems during the implementation of the AD7730. When compared with similar chips, this is a wonderful one; but some difficult to operate.

As you know, there are several considerations that must be taken into account especially with the AD7730. Both hardware & firmware are of great importance needing a lot of attention. I agree with the John Miles regarding the noise problem. This can be solved in several ways. Providing a good power supply design, you can use an adaptor, as I've done.

Since, there is no schema of your design; it's hard to make any guess without some more detail. But let me ask some questions may help hopefully.

1. Does the chip AD7730 work properly? As a result of your experiments it may be destroyed! Try a new one.
2. Does the microcontroller work properly? As you know, after several programming cycles, it's better to use a new micro.
3. If there's a serial interface with computer, are you using a ferrite bead-insulated cable (noise-free)?
4. Have you considered the settling times after the instructions within the code? This is a very slow chip, so you need to make enough delay time.

As an important tip, to increase the resolution, applying some statistical operations on the data like rolling or moving average would help. In this regard, I recommend you read the articles below:

http://www.analog.com/library/analogDialogue/archives/39-12/weigh_scale.html

http://imperia.mi-verlag.de/imperia/md/upload/article/678ag0107.pdf

https://www.edaboard.com/viewtopic.php?p=476666#476666

Good luck,
 

    paurelian

    points: 2
    Helpful Answer Positive Rating

paurelian

Junior Member level 3
Joined
Aug 16, 2007
Messages
29
Helped
5
Reputation
10
Reaction score
1
Trophy points
1,283
Location
Europe
Activity points
1,512
ad7730 library

Hi guys,

Thank you for your precious remarks!
Regarding the schematics I didn't posted one because any of you who has experience with this device can imagine a simple schematic when the ad7730 is used in conjunction with a microcontroller. I debugged a lot for this application and I have some conclusions. I have my first version as a reference (which by "mistake" was better then the followings :) ) and I compared with this version the other ones. I think that the layout is the guilty one, because I tested all versions with the same supply, same load ... the same initial conditions, and always the first one was better then the rest. I printed out again all the layouts for all these versions and I tried to understand why the first version was better? I asked for support to Analog Devices and they offered a lot of good issues regarding how to build the layout. Also I found usefull ideeas on this forum! I read several times all the specs, datasheet and so on, and therefore I built a new layout now. In one or two weeks I will have it and I can test it, and I hope that I will get a better resolution. For my application 17 bits are enough! A good starting point for building the layout is the layout from the evaluation board of the AD7730. You need to play around a little bit more with the layout until you can achive a good resolution!
Regarding the microcontroller, I am using one from Atmel and they specify an endurance of 10 000 write/erase cycles! I am far under this limit! I will keep you informed with this new layout!

I will attach the layout from the evaluation board of the AD7730, which is a good starting point for such applications!

Thank you again for all your support!

Aurelian
 

paurelian

Junior Member level 3
Joined
Aug 16, 2007
Messages
29
Helped
5
Reputation
10
Reaction score
1
Trophy points
1,283
Location
Europe
Activity points
1,512
ad7730 application note

Hi my friends,
I received the new pcb and unfortunately the results is worst! I still dont get why?!?!
I switched the ad7730 to the first version and it is working fine. From my point of view this layout is much more robust to noise then the first one, but the results is the same. I supplied on battery and still to much noise! The major difference between these version is the micro used. First I used atmega8535 in smd package and after i used atmega8 in the smallest package (32M). Did you think that the micro is the guilty one? I will try next days to connect from the old board the ad7730 from the new board and viceversa! Has anyone encountered such kind of problems with noisy micros?

Thank you for all your help!

Aurelian
 

osmanpasali

Junior Member level 3
Joined
Jan 8, 2008
Messages
31
Helped
0
Reputation
0
Reaction score
0
Trophy points
1,286
Activity points
1,434
programming the ad7730

try to adjust the filtering parameters explained in the datasheet. there are many configurations...
 

mskicker

Newbie level 4
Joined
Aug 27, 2009
Messages
7
Helped
0
Reputation
0
Reaction score
0
Trophy points
1,281
Activity points
1,322
problem using ad7730 and cs

i have big problem with 7730
i use ad584 for ref(+)
and Laboratory digital power supply 12v and 7805 regulator with 1u tantal cap for 5v
but 7730 work good for random second soddenly jump (for sample from 1000000)
and after it zero point losted and work for some second again
my code is here and i think that is clear
but i think that my probem is in electronic
pol =1
crystal = 4.9152
7730 bn7
ain 2- connected to ain2+ connected to 2.5v
i check everything again and again for 3 day
and i get data with vb
 

bohumilfulin

Member level 3
Joined
Feb 10, 2005
Messages
67
Helped
7
Reputation
14
Reaction score
7
Trophy points
1,288
Activity points
399
ad7730 programming

I had some problems with this IC and problem was in timing between commands for reading and data ready if I member it correctly (absolutely not guranteed). put there some delays.
 

paurelian

Junior Member level 3
Joined
Aug 16, 2007
Messages
29
Helped
5
Reputation
10
Reaction score
1
Trophy points
1,283
Location
Europe
Activity points
1,512
ad7710 codevision

Hi,

I didn't understood well what is your problem. In datasheet is specified that is no need to wait between falling edge of rdy and falling edge of cs (page 4 & 36). Anyway if you are using interrupts, there is some time till the read sequence will begin after a rdy falling edge. I saw that you are using a selfmade spi reading and writing routines. Check the timing again. I am using also selfmade spi routines and it is working fine.

Good luck!
 

mskicker

Newbie level 4
Joined
Aug 27, 2009
Messages
7
Helped
0
Reputation
0
Reaction score
0
Trophy points
1,281
Activity points
1,322
ad7730 noÄ°se

hi again
at first i used spi routin in codevision wizard
then i think maybe my problem happened from spi function
and changed my code from spi routine to manual function
but my problem not solved yet

about cs
in my code defined by cs_pin name
after reset the 7730 at the first code
cs_pin = 0 at all
 

howie

Member level 2
Joined
Jul 2, 2009
Messages
51
Helped
0
Reputation
0
Reaction score
0
Trophy points
1,286
Location
Philippines
Activity points
1,671
ad7730

Hi,

Try on these solutions:

1. Are all pins connected?

If there are hanging pins, these are prone to noises that may affect the conversion and accuracy of your ADC. Refer to datasheet on what to do regarding pins not in use. Most output pins that are not used are connected to ground to avoid noise.

2. Increase bit resolution of your ADC:

Try a 24 bit resolution ADC for more accurate reading. A good replacement is AD7710. It is a 24bit, Low noise ADC that is also made for weighing scale applications. Find attachment for the datasheet.
 

mskicker

Newbie level 4
Joined
Aug 27, 2009
Messages
7
Helped
0
Reputation
0
Reaction score
0
Trophy points
1,281
Activity points
1,322
ad7730 problems

hi again
thanking you for your attentions

1- i connected unused pins to ground
2- i see that 7710 is better than 7730 and now i try to use it but this problem is really bigger than this matter
because i designed again and again too many circuit but now i cant use this simple adc
3- i changed 7730 my problem not solved
4- i connected spi pins from avr to 7730 with 470 ohm resistance - for more security
5- my noise is more than 10000 bit that happened
i cant say to this matter noise
this matter is like that we change zero point manually
6- i check 7710 and report my work again
 

koki74

Newbie level 3
Joined
Aug 30, 2009
Messages
3
Helped
1
Reputation
2
Reaction score
0
Trophy points
1,281
Location
Serbia
Activity points
1,308
ad7730,

You have a noice on CLK line and ADC goes out of sinchro.
You need to make active CS line only while reading ADC. Try with 100pF between CLK and GND.

There are some sofware solutions to fix the problem but you have to try with CS control first. If this make a problem becomes rearly then we will know that we are on a right way.
 

mskicker

Newbie level 4
Joined
Aug 27, 2009
Messages
7
Helped
0
Reputation
0
Reaction score
0
Trophy points
1,281
Activity points
1,322
eeval ad7730 board layaut

hi
really thanx for this
"Try with 100pF between CLK and GND"

BUT WHY
this problem is really funny for me
why this occur happened
 

koki74

Newbie level 3
Joined
Aug 30, 2009
Messages
3
Helped
1
Reputation
2
Reaction score
0
Trophy points
1,281
Location
Serbia
Activity points
1,308
spi interface 7730 with 8051

If AD7730 is selected all of the time, any noise or extra bit on CLK line will be counted and, after that, all readings will be shifted "in left" for a number of extra counts, until you reset the device. Kipping device unselected between 2 readings decrease a chance for overshifting.
Unfortunately, in my application, AD7730 is selected all of the time, I had the same problem and I solved that with software.
 

mskicker

Newbie level 4
Joined
Aug 27, 2009
Messages
7
Helped
0
Reputation
0
Reaction score
0
Trophy points
1,281
Activity points
1,322
connect ad7730 to atmega8

there is 2 matter
U speak about noise
i connected clk pin to avr
and this pin in avr is output
i cant see where the noise come from ?
2- why analog device not paid attention to this matter - analog device is very good company
3- this problem are exist in all off analog device spi systems?
4- i work with 8051 and 7730 and that is work good why 7730 have this problem with avr
5- U think that this problem solved with extra resistance for clk pin and using better regulator and external crysyal without cap
6- can U send for me your code
7- personal question : where are U from
 

koki74

Newbie level 3
Joined
Aug 30, 2009
Messages
3
Helped
1
Reputation
2
Reaction score
0
Trophy points
1,281
Location
Serbia
Activity points
1,308
ad7730 crystal

I am not familiar with avr, my products are based on 68HC11. 5 different PCB and different applications suffers from the same problems. On the table, everything doing fine but, in the field, in noisy environment...
I test my prototypes with an powerful AC relay switched on/off in 1Hz rhythm, without any suppressor, 30cm away from PCB. After that, I sleep like a baby (an hour of slipping, an hour of crying). There are two kind of problems: overshifting and reset of AD7730. Very short pulse on reset line (cca 20ns) will reset ADC. After that, AD7730 goes to idle state, no more interrupts and system halted. Very nasty, isn't it?
So, there is the procedure:
1. After initialization of AD7730, read 'zero-scale' & 'full-scale' registers and save the values.
2. After every reading of AD7730 start a timer approx 1.5*conversion time.
3. If timer expire, AD7730 are in reset state and you can reinitialize them with saved values.
4. Sending 32 of '1' will reset AD7730. So, while reading, you can send 1 of '0' and 31 of '1'. Any extra bit will reset ADC and your timer will take care of the rest. My experiences tells me that 24 bit readings are useless. I use AD7730 for 16 bit conversion, reading twice in an interrupt (sending $7fffffff) and I am very satisfied with that.
5. This problem are exist in all of SPI systems.
6. Take care about filter settings.
7. I am from Nis, Serbia, Europe, wherever it is.
 

    V

    points: 2
    Helpful Answer Positive Rating

mskicker

Newbie level 4
Joined
Aug 27, 2009
Messages
7
Helped
0
Reputation
0
Reaction score
0
Trophy points
1,281
Activity points
1,322
how to ad7730

i really dont know why this error happened
if any body now more help me
i know that we lost our position in reading function
that this matter happened with nose in clk pin
i add capacitor in this line and this matter decrease my error
i make better my supply voltage and this matter have little good effect too
but this problem not solved completely
please tell me more if anybody know
 

paurelian

Junior Member level 3
Joined
Aug 16, 2007
Messages
29
Helped
5
Reputation
10
Reaction score
1
Trophy points
1,283
Location
Europe
Activity points
1,512
AD7730 problems

Hi again,

Some pcb and schematic considerations:
-keep signal lines between ad7730 and your micro as short as possible
-use decoupling caps for every supply pin as is specified in datasheet for ad7730 and for your micro connect all supply pins to supply line. Decouple each supply pin with 100n ceramic caps. -for spi communication use also cs pin, not only sclk and data lines. keep cs low only when you send or read data trough spi
-use grounding planes for each supply domain
-physically separate digital and analog components on the board, placing sensitive analog components as close as possible to the supply entry point on the board
-protect your converter board from noise on the data and supply lines by isolating supply lines (DC/DC converter) and optoisolation of data lines

I hope these will give some answers to your questions.
 

    V

    points: 2
    Helpful Answer Positive Rating
Status
Not open for further replies.
Toggle Sidebar

Part and Inventory Search

Welcome to EDABoard.com

Sponsor

Top