Go Down

Topic: Creating Digital Ammeter Using Hall effect sensor/Nano/ mini display?? (Read 1 time) previous topic - next topic

nmateik

Good Morning,


I'm trying to create a digital ammeter using the Nano/Oled Display/Magnetic Hall effect sensor/ Ferrite Torroid. But I can't code for the the life of me. I need to write a program for this, any help with the program would be greatly appreciated.


Regards,

PaulRB

Can you pay someone else to code it for you? If so, click "report to moderator" and ask for this thread to be moved to the "gigs and collaborations" forum section.


wvmarle

Program part looks easy enough to me.

Though with AC the field changes all the time, some average has to be calculated.

It will require careful calibration if you want to get accurate numbers out of it.

It makes more sense to me to find a ready-made sensor like this one (for reference as it's not available for sale at the moment). There are more. That way the hard part of the hardware is done, interfacing those guys with an Arduino is quite straightforward, as is the software that goes with it.
Quality of answers is related to the quality of questions. Good questions will get good answers. Useless answers are a sign of a poor question.

nmateik

I trying to build something that reads up to 400 amps. like the one in the link provided  https://320volt.com/en/pic16f84-ugn3503-ve-lm358-ile-0-80a-amper-metre/

nmateik

Program part looks easy enough to me.

Though with AC the field changes all the time, some average has to be calculated.

It will require careful calibration if you want to get accurate numbers out of it.

It makes more sense to me to find a ready-made sensor like this one (for reference as it's not available for sale at the moment). There are more. That way the hard part of the hardware is done, interfacing those guys with an Arduino is quite straightforward, as is the software that goes with it.
I need it for DC current how much would it cost to code, because I want to get this done as soon as possible.

wvmarle

Clamp-on DC current meters are also readily available off the shelf. Finding one that can easily be interfaced is harder, didn't find any in a few minutes of search. Can't imagine they're not out there.

Now for "how much it costs to code" you have to provide a detailed specification of what you want to do with that signal. You want it displayed I suppose - on what type of display? A 1602 LCD is dead easy.

I assume you have the clamp-on part working, and get a nice signal out of it from an analog input, and that you have the calibration curve to relate those numbers into actual currents, so the code can basically take the actual current value as input.

The most basic code is something like:

Code: [Select]

void loop() {
  float ampReading = analogRead(ampReaderPin) * calibrationFactor;
  lcd.setCursor(0, 0);
  lcd.print(ampReading);
  lcd.print(F(" A           "));
  delay(500);
}


This shows the current current every 0.5 seconds, that interval is of course trivial to change. Setting up the lcd and so I left out as it depends on how it's connected (I2C or parallel) and the library used, but it's still quite trivial.

Any buttons for control - e.g. hold the value, range, etc? Now it gets a bit more interesting.

Do you need averaging over time? If so, how many samples over what time period?

Other functions you need?
Quality of answers is related to the quality of questions. Good questions will get good answers. Useless answers are a sign of a poor question.

nmateik

Clamp-on DC current meters are also readily available off the shelf. Finding one that can easily be interfaced is harder, didn't find any in a few minutes of search. Can't imagine they're not out there.

Now for "how much it costs to code" you have to provide a detailed specification of what you want to do with that signal. You want it displayed I suppose - on what type of display? A 1602 LCD is dead easy.

I assume you have the clamp-on part working, and get a nice signal out of it from an analog input, and that you have the calibration curve to relate those numbers into actual currents, so the code can basically take the actual current value as input.

The most basic code is something like:

Code: [Select]

void loop() {
  float ampReading = analogRead(ampReaderPin) * calibrationFactor;
  lcd.setCursor(0, 0);
  lcd.print(ampReading);
  lcd.print(F(" A           "));
  delay(500);
}


This shows the current current every 0.5 seconds, that interval is of course trivial to change. Setting up the lcd and so I left out as it depends on how it's connected (I2C or parallel) and the library used, but it's still quite trivial.

Any buttons for control - e.g. hold the value, range, etc? Now it gets a bit more interesting.

Do you need averaging over time? If so, how many samples over what time period?

Other functions you need?



All I need it to do is read amps and have it displayed on my "Maker Focus 12coled display 128x32 its the small narrow display for the Arduino. There is nothing fancy going on here. The hardware setup wont be an issue for me. I bought a new hall effect sensor that i'll have fused into the ferrite torroid whic will be plugged into the nano. Its a 3 wire setup. I just want to get this done as fast as possible. I only need it to display DC current.



Go Up