Best microcontroller to use?
steamnut
Posts: 5
Hello,
I need to read an analog signal and output it for later processing. Output to a monitor screen is fine as I can copy it into Excel and analyze it there. I need to record about 5 minutes of data at a rate of one point/.5 msec. I have tried a BS2 with an 0831 A/D and it cycles at 9 msec, An Arduino Uno does 8 msec and an Arduino Mega does 3 msec. So I am not there yet. Sooo, does anyone know if there is a microcontroller that will handle my needs? Any help would be appreciated!
Roger
I need to read an analog signal and output it for later processing. Output to a monitor screen is fine as I can copy it into Excel and analyze it there. I need to record about 5 minutes of data at a rate of one point/.5 msec. I have tried a BS2 with an 0831 A/D and it cycles at 9 msec, An Arduino Uno does 8 msec and an Arduino Mega does 3 msec. So I am not there yet. Sooo, does anyone know if there is a microcontroller that will handle my needs? Any help would be appreciated!
Roger
Comments
http://www.digilentinc.com/Products/Catalog.cfm?NavPath=2,892&Cat=18
The Uno32 is $26.95.
A $20 LPCXpresso board will provide similar performance:
http://ics.nxp.com/lpcxpresso/~LPC1114/
They are a lot faster than the 8-bit Arduinos, and should achieve the required performance. Both have 10-bit ADCs.
As for speed issues - is the bottleneck a baud-rate thing?
Hanno uses an ADC08100, an 8-bit parallel ADC, to read a video signal.
It could easily read 2,000 times a second. The data could then be written to a SD card.
I'm sure there are other ADC that could do what you want, I just thought I'd share my limited knowledge.
(I've use an ADC08100 myself in this project.)
A Propeller (the best microcontroller) could interface with the ADC and write the infomation to the SD card.
I think a delta-sigma solution would also work which just requires a few passives (I don't know much about this). Phil has used delta-sigma ADC to read a NTSC signal with the Prop here and here.
You'll still need some way to log the data if you use delta-sigma ADC. Besides the SD card option, you could send the data directly to a PC and have the PC record it. Phil has a program that lets a Prop update a csv file on a PC.
If your data point is 1 byte wide then a PIC 16f887 can do what you want. They have built in ADC. You can also write a program to record to a SD card; all using just the one chip.
Al
It's one point every 500 us, which is actually quite slow.
http://www.youtube.com/watch?v=CS7NCaUa8M8
A couple of things mentioned in the responses triggered my solution. I had an SD card shield for the Arduino but hadn't gotten around to playing with it. So I tried it with a uno and I get a reading every 400 usec so it fits my needs. Plus I don't have to have the computer on board so that is a huge plus. That said, I am building a new engine and will need a reading every 150 usec so will have to go to some of the other solutions.
To answer some of the questions. The signal varies from DC to a max of 60 hz in the new engine and I would like 100 readings per cycle. 8 bit resolution is fine. I appreciate all the solutions offered and am looking forward to experimenting with them.
Roger
Roger
Roger