Jump to content

Search the Community

Showing results for tags 'noise'.

More search options

  • Search By Tags

    Type tags separated by commas.
  • Search By Author

Content Type


  • News
    • Announcements
    • Suggestions
    • New users say Hi!
  • Spotlight!
    • Sponsor Spotlight
    • Sponsor Giveaways
  • Energia
    • Energia - MSP
    • Energia - TivaC/CC3XXX
    • Energia - C2000
    • Energia Libraries
  • MSP Technical Forums
    • General
    • Compilers and IDEs
    • Development Kits
    • Programmers and Debuggers
    • Code vault
    • Projects
    • Booster Packs
    • Energia
  • Tiva-C, Hercules, CCXXXX ARM Technical Forums
    • General
    • SensorTag
    • Tiva-C, Hercules, CC3XXX Launchpad Booster Packs
    • Code Vault
    • Projects
    • Compilers and IDEs
    • Development Kits and Custom Boards
  • Beagle ARM Cortex A8 Technical Forums
    • General
    • Code Snippets and Scripts
    • Cases, Capes and Plugin Boards
    • Projects
  • General Electronics Forum
    • General Electronics
    • Other Microcontrollers
  • Connect
    • Embedded Systems/Test Equipment Deals
    • Buy, Trade and Sell
    • The 43oh Store
    • Community Projects
    • Fireside Chat
  • C2000 Technical Forums
    • General
    • Development Kits
    • Code Vault
    • Projects
    • BoosterPacks


There are no results to display.

Find results in...

Find results that contain...

Date Created

  • Start


Last Updated

  • Start


Filter by number of...


  • Start



Website URL





Found 3 results

  1. JStat60

    Noise in ADC

    Hi, I have a non-profit (Smoky Mountain Scientific, smokymtsci.com) that develops and sells low cost instruments for science education. One of our instruments incorporates a Tiva-C launchpad that outputs a pwm voltage and measures voltage and current passed in electrochemical reactions. I recently purchased a fairly large batch of Tiva launchpads from Mouser and I am having trouble with noise in the analog read channels for about 1/4th of the boards. We have been building and selling these instruments for a couple of years now and have never had this problem before. To test the boards, I send a pwm signal through a simple low pass filter (a resistor and a capacitor) then read the output on two channels (A11 and A8). The attached figures show examples of output from a good (file Board46) and a bad (file Board37) boards as displayed on our user interface. This seems to be a hardware problem and I dont know how to go about resolving it. Any recommendations? Thanks, Jack
  2. So today I breadboarded an Adesto AT45Dxxxx DataFlash chip with an G2553 (TSSOP28 on a breadboard adapter) and wrote a quick test sketch in Energia using software SPI. The sketch queried the Manufacturer/Device id every second and communication was very spotty with a correct result in only about a fifth of the queries. At first I thought is was a software error so tried various things like adding delay(1-10) after pulling the CS low and stuff like that. Generally it got worse, at least not better. This got me quite confused for an hour or so but during lunch the penny dropped: what if I added some decoupling caps? Sure enough, the datasheet had some hints: Adding 100nF between Vcc and GND pins immediately improved communication a lot (really should have added that one from the start). Adding another cap on the SO-pin resulted in perfect communication, interestingly SO is not mentioned in this context but this may be coincidence in my case. Also adding a 100nF to the SCK or CS line as suggested by the datasheet made communication much worse in my case, perhaps 100nF is a bit too much? Anyway, I learned my lesson (again): decoupling caps are small but beautiful (and necessary). Especially when breadboarding!
  3. Model of LaunchPad used and rev. #: MSP430F5529 Rev.1 Launchpad Evaluation Kit, Bundled with the CC3100EMUBOOST and CC3100BOOST Model of MCU: MSP430F5529 Model of BoosterPack/Sensor used: SimpleLink Wi-Fi CC3100BOOST, with Analog Devices ADXL001-70BEZ (Personally designed SMD eval. board) Link to the sensor datasheet: ADXL001 Rev.A Datasheet Name and version of the IDE used: Energia 14 (0101E0014) OS the IDE is running on: Windows 8.1 64 bit Whenever possible, minimal code to replicate the issue: Will post after I can pinpoint what I'm trying to ask. Hello all! Okay, so I guess I'll start with a few simpler questions I'm seeking an answer to. While looking through the Energia files, I came across "adc12_a.c" and "wiring_analog.c", yet they both seem to provide functionality for initializing analogRead/ADC. I'm looking to change some of the timings around, but I'm not sure if 'adc12_a.c' is even used; my testing appears to not show any differences with code changes there. However, "wiring_analog.c" does! What is the proper way of going about making some modifications? A few specifics as to why: I'm developing a system to detect vibrations, using the Analog Devices ADXL001_70BEZ. This is the +-70G, 3.3V/5V option they have. I've designed a little breakout board including a passive low-pass filter, a unity gain, non-inverting voltage follower buffer, and the datasheet's recommended 100nF cap. Great. Now for sampling! Being an analog device, I intend to take samples at a target rate of 40kHz, so I can hopefully get viable readings for FFT at 20khz. In 3.3V mode, there is 16.0mV/G sensitivity. In 5V mode, 24.2mV/G sensitivity. Note, I am a one man team for this entire project. I have done the circuit design, MSP programming, node.js/d3.js/mySQL/PHP/HTML front-end/back-end all alone... I've settled on using IBM's Bluemix as a cloud host, with an MQTT websocket protocol for interfacing the MSP430F5529 to the IOT webapp we've got going on. I only state all this to give an idea of how stretched my brain is with all this. Anyhow... I first started using the ADXL001 in 5V mode, with the thinking that I would just "Get the damn data now!" and worry about going low-power in later prototypes. I can read from my ADC inputs just fine. For all my preliminary testing, I had the CC3100 Boosterpack unconnected. I used a resistor voltage-divider to knock the ADXL's output down to a safe level. 0 G's should read a typical of 2.5V according to the sheet. With the voltage divider, it does read a nice dead center 1.65V. Good. Now, the noise. This is where I need more information. There -seems- to be a good deal of it. I am unsure as to what the best way to proceed would be. I want to play with ADC software settings and initialization first to attempt to reduce this. Being an analog sensor, I realize there will be noise no matter what. Eventually, I mayyyy be using a 5th order butterworth low-pass filter, but again, I'd like to tackle software first. I read ADC as follows: startT = micros(); for(ict=0; ict<idx; ict++){ samples[ict] = analogRead(A12); } endT = micros(); where idx is the maximum number of samples I want to keep. Great. Now where I'm utterly confused: In "wiring_analog.c" at the #if defined(__MSP430_HAS_ADC12_PLUS__) part of it's analogRead() function, we have all the initialization stuffs. I've been using a mix of "adc12_a.h" "adc12_a.c" "wiring_analog.c" and "msp430f5xx_6xxgeneric.h" to kinda try to jump around and figure out what's happening. NOTE: Many of the ADC12 "Default" values in the comments of "adc12_a.c" are not actually the default... When I noticed this, I stopped tweaking that, and jumped to "wiring_analog". So, with my StartT and endT times in micros, and the number of samples I'm taking, I'm getting a rudimentary way of calculating my sampling frequency. (around 44kHz) Back to "Wiring_analog": I have it use ADC12SSEL_0 as clock source, and ADC12DIV_2 as clock divider. I also use ADC12SHT0_0 which should be a Sampling Timer hold of 4 cycles. I am shooting in the dark with all of this due to my lack of understanding. All I know is that I've been getting around a calculated 44kHz sampling rate. But perhaps this is a big source of my noise? I wish I knew how to better understand this. I also was looking at Page 5 of http://www.ti.com/lit/ds/symlink/msp430f5529.pdf for the F5529 pin location of VREF+/VREF- .... Pins 9 and 10 respectively. I looked there because of Page 727 of http://www.ti.com/lit/ug/slau208n/slau208n.pdf describing using an external reference. Would using an external reference help? I could always bump the ADXL's power down to 3v3 V, (this would lower the noise floor, but also sensitivity, no?) I am against the idea of sampling and averaging; it seems to throw off FFT at higher frequencies in my range. For testing FFT, I am using a modified version of http://mattzz.no-ip.org/wiki/Projects/ArduinoVibrationMeasurement which has processing do serial reads, so I can visualize the sensor readings. It then saves the data to a csv file, and there's a python script for doing the FFT. I could be so way off base with some of these methods, but I am here to learn. I've gotten this far by breaking down each problem into a smaller one, and have had a lot of fun learning what I have so far! Now, there are so many pieces that I am nervous to continue down any set path in fear of wasting time with a better alternative. I know this was probably a doozy to read. I'm hoping it won't scare off the knowledgeable who can help me... I did read somewhere that the best way to get an answer online is to post the wrong way of doing things... but I'm not from that circle of thinking. I'll be happy to answer any further questions. Thanks! Oh! Also, are there any decent IRC resources for Energia/MSP? What I mean is, which would be more viable for answers; the forum, or #energia or #43oh? OH! Another thing! Is there a way I can lock into a certain sampling frequency? Every few sets of sampling intervals will have a slightly lesser frequency. This is gonna add up and throw off FFT. I also read about putting the MCU in low-power, then turning on only ADC12 for better results? Thoughts?
  • Create New...