Objective: I am working on a fairly simple looking IoT project, which mainly involves monitoring of power generated by vertical axis wind turbines. I am making a small-scale demonstration model, in which I'll be doing analysis on the collected data later. The main objective is monitoring only, not storage or power or charging of batteries, or anything of that sort.
Well, data analysis is a challenge for later part, and I am in my initial phase of my project where I am mainly testing out if things are working or not.
This is the first time that I am working on arduino, and I am absolutely new to electronics, but it still seems a lot interesting to me.
Situation: I am using small permanent DC motors commonly used in toys, like a lot of people use them for wind turbine projects and making DIY Anemometers. I have 6 of them with me. So, in my initial testing, I was supposed to make sure the voltage generated is below 5V before it goes to any of the analog input pins to be read. I first found out the polarity and maximum voltage that is generated by the DC motor with a multimeter, and the max voltage was around 0.37V which was still safely measurable by arduino's analog input pin. Moreover, the maximum voltage is a lot lower than 5V so, I did not use any resistors for Voltage Diver Circuits, so, the voltage is going directly to the arduino analog pin.
To go further, I wanted to see what is the current that the motor is generating. Here, I connected my DC motor to ACS712 5A Hall Effect Current sensor, and I was able to get some reading, stating the presence of measurable current, and of course, I had checked the amperage of the DC motor before connecting it to the sensors and arduino.
I am not writing the smoothening code to get the precise electrical measures for now, as I ran into a roadblock.
Problem: To move ahead, I decided to measure the power. For that, I connected the positive terminal of the DC motor generator directly to one of the analog pins to sense the raw value Voltage directly. Then the negative terminal to one of the Ground pins. Then to get the Current raw value, I connected the positive and negative terminals to ACS712 positive and negative terminals, respectively in parallel. (I know ACS712 can sense the current in both directions). I powered on the entire set up and got into Serial Monitor (and sometimes Serial Plotter). I was getting raw values of current. But the voltage showed 0 (zero) all the time. So, I suspected the wiring, it seemed to be ok. Then the most Obvious issue, a weak and inefficient generator! So, I changed the DC motor generator to the 1000RPM geared DC motor, and the similar (but not the same) issue popped up. This time I was getting 0 and a significant number of 1's in the voltage, slight improvement (and also to remind me that my generators are too weak!). I also noticed a very strange thing, that is the motor was having difficulty while rotating and was needing a significant amount of torque to rotate it and if I plug out either the voltage lead or the current lead, this strange issue for me was gone. But, I can't do that as I need to calculate power and not just current or voltage! So, I put the smaller non-geared DC motor, which I was using initially, to check what's the deal with that. I got my multimeter and put it across the terminals while running the entire setup again. And it was generating voltage but in millivolts. I had to set the multimeter to read that. It was reading somewhere around 1-2mV which is almost nothing, and the arduino cant sense that as it requires 0.004V (4mV) for its steps. It was having the issue of too much current being drawn that was slowing it down, but it was not that noticeable, as it required a lot less torque to rotate.
Constraints: I don't want to use different motors, as the other big ones require too much torque to rotate. My VAWT is not going to be that big in size, that put's another constraint on the motor upgrade. So, upgrading the motors is the last resort.
Other Info: I read somewhere that OpAmps can be used to amplify the voltage. Instrumentation Amplifiers are more preferred. So, if that is the way I can go, then at least I can get the signal to the arduino and I can measure the actual voltage in the code.
What do you suggest? Also, I have no idea about amplifiers and setting up the gain and all that and which one to use. I don't understand circuit diagrams that much. I have read other forum posts which required sensing pressure as well, and there were some ICs suggested there. But, I require your suggestion for my application.
Thank You in advance.