Alternative approach on a project that requires storing data

Hello,

I'm about to start working on a device that's going to store the values of instantaneous voltage of the residential tension that I get in my house (120 V / 60 Hz) for certain periods of time. The purpose of the device is to record that data so I can study the behavior of the residential tension before, during and after the appearance of a voltage sag, being that where I live the electrical service is pretty bad, and voltage sags appear almost on a daily basis.

I'm planning to use an Arduino UNO R3 (not the real thing, but a chinese knock-off), since it's what I currently have at hand.

With that said, what I intend to do is to design a small circuit that will reduce the amplitude of the sine wave that represents the residential tension, and then put a sufficient offset to the reduced signal with the use of a battery connected in series, so the UNO can handle the tension (being that as far as I understand, the UNO on its analog inputs can't handle any voltage over 5 V, or any negative value). The purpose of the UNO is to register the signal, and until this point, I have a clear idea of what I'm going to do.

Now, from this point on, I'm thinking of having the UNO connected to a laptop at all times, so I can send the signal that the UNO is receiving to the laptop, in order for me to store the data in it by using MATLAB.

What I want to know is, if there's an Arduino-compatible device that can store data, and that can replace the use of the laptop in the project that I'm going to do.

There are some aspects that have to be taken into consideration for the project, before you suggest anything to me:

  • I need to use an Arduino/Arduino-compatible device for the project. This is mandatory, and I understand that perhaps other kinds of devices are more fit for the task (and don't be shy about it, I'm more than willing to learn about alternatives), but it's a requirement for me to use a device that's in the Arduino Platform in any way.
  • I have an extremely low budget, which means that anything over $20 is just something that I can't buy.
  • I can purchase anything that can be found on eBay within the US.

Thanks in advance for your help.

Is this a school project (that's what it sounds like)? If so, you must have missed, or slept through, the lecture on external storage. In any case, explore 'SD card'.

I agree with @123Splat that an SD card seems like an obvious solution.

Arduinos can have WifI or Ethernet shields so data can be sent to any other network devices.
You are not going to be able to run MATLAB on an Arduino but I think it runs on a Raspberry Pi, that is a lot cheaper than a laptop but it will still break your $20 budget.

I believe you are intending to measure the RMS voltage, not the instantaneous voltage. Even the peak to peak voltage will be about 170 volts. Noise spikes and switching transients on your 120 volt line could be several hundred volts.

Better stick with the RMS voltage measurements.

Paul

a small circuit that will reduce the amplitude of the sine wave that represents the residential tension, and then put a sufficient offset to the reduced signal with the use of a battery connected in series, so the UNO can handle the tension

I strongly recommend this circuit.

you can use an ESP8266 that can be programmed with the Arduino IDE software. it is every bit as Arduino as your 'Adruino' clone.

An Arduino Wemos D1 is a look-alike to the UNO, less than $6.
you can get an a data logging shield for under $5
and SD card for $3
and a a TFT display for under $5 (larger the better)

you can display wave forms or numeric values on the display.

You can remove the SD card for data retrieval on your laptop
if you have WiFi, you can dump that data to your Wifi or a data storage in the cloud.

under $20 and your criteria can be met.

you need the faster processor of the ESP8266 to display the graph.