0
\$\begingroup\$

I am working on a idea. The idea is to measure current from a current source, which transmits 3 levels (ex: 10 20 30mA). Which if possible should be logged, representing 3 states with 3 different variables ( ex: 0= 'A', 10='B', 20='C', which these may be used for someother processing).

The approach I have in my mind is to use 1) Current sensor for Arduino interface --> From Arduino the output (But I need to collect (mostly live data) the data in digital form depending upon the current level, as mentioned above(with some help of C++ libraries I will be writing and using in the arduino source code))waveform to be logged as digital data (May be txt or csv representing current levels in 10 20 30 as A B C etc).

My doubts-

1) Am I missing any logic here?

2) Should I have to be aware of any challenges that I have not counted for!

3) Any tips for data data log from the arduino.

I have worked on arduino, but I am not a expert. Any kind of help or directions will be helpful.

(Edits- the input current will represent a encoded value in the form of current sink, which I am planning to decode)

Thanks,

Ray

\$\endgroup\$
3
  • \$\begingroup\$ Bit vague. How are you planning to measure the current? Is the current not already known as you have set up the regulator to one of its three levels anyway? \$\endgroup\$
    – IC_Eng
    Apr 18 '18 at 12:36
  • \$\begingroup\$ No, current is not known. I will use the current sensor for arduino(If i go for arduino idea).I know the maximum range is upto 40mA. \$\endgroup\$
    – Newbee
    Apr 19 '18 at 11:40
  • \$\begingroup\$ Have added an edit to the primary question. \$\endgroup\$
    – Newbee
    Apr 19 '18 at 12:41
0
\$\begingroup\$

For data logging, you can use an SD card. The Uno only has a few KB memory and is non volatile, and EEPROM space is even less. There are plenty examples how to store data to an SD card.

You can check if you can read it with an analog port. If that's possible, you need just one command to read the data.

The only disadvantage I see, is you need more or less current depending on the data. If you use a battery operated device, depending on the data the battery goes empty faster or slower.

UPDATE

How to measure current with an ADC converter: You measure the voltage drop across a resistor in series with the load - simple ohms law, a 1 ohm resistor will drop 1V for every amp of current. You have to take care about the wattage of the resistor possibly (using P = U * I).

If you search for 'measure current with ADC converter' you find plenty of links.

\$\endgroup\$
8
  • \$\begingroup\$ The problem with SD is, its more easier to process the data further, after saving on SD(is what I understand). But I want to cluster the data to the 3 level in a sequence of ABC (just example). These sequences can further be used to represent a binary or hex value which is pre dined according to particular 3value sequence. \$\endgroup\$
    – Newbee
    Apr 19 '18 at 12:39
  • \$\begingroup\$ Sorry I don't understand what you want. \$\endgroup\$ Apr 19 '18 at 12:41
  • \$\begingroup\$ Have added an edit to the primary question. \$\endgroup\$
    – Newbee
    Apr 19 '18 at 12:42
  • \$\begingroup\$ The current sensor (ex ACS712), gives a waveform output, But I need to collect (mostly live data) the data in digital form depending upon the current level, as mentioned above(with some help of C++ libraries I will be writing and using in the arduino source code). \$\endgroup\$
    – Newbee
    Apr 19 '18 at 12:58
  • \$\begingroup\$ I know how to measure, the plane I have is clear, but i need help to know if i have missed some aspect in my approach. Current sensor--> ADC (a microcontroller, with libraries to segregate the different level of current reading like A , B ,c and D level and print the data)--> store the data continuously. \$\endgroup\$
    – Newbee
    Apr 19 '18 at 13:37

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.