Sonsivri
 
*
Welcome, Guest. Please login or register.
Did you miss your activation email?
December 22, 2024, 11:51:26 11:51


Login with username, password and session length


Pages: [1]
Print
Author Topic: Arduino based wireless meter  (Read 4615 times)
0 Members and 2 Guests are viewing this topic.
Wizpic
Global Moderator
Hero Member
*****
Offline Offline

Posts: 1204

Thank You
-Given: 554
-Receive: 409



« on: January 01, 2018, 02:35:12 02:35 »

I have been looking into wireless multi-meters and thought they where quite expensive for what I needed. I did buy one of those OWN BT35 meters but don't like the idea of getting my phone out on sites as there industrial and could easily get damaged. I did consider having ago at making an adruino  using a blue tooth module and could not work out how to decode the data(this may have been caused by using a cheap Chinese clone) and also found out the range was not very good on them and kept losing connection with the phone. So I decided to have ago at making my own simple version has I need to be able to measure voltage while fault finding on our machines, In the past I've used long wires and extra bodies which is not always easy.
So I set out about designing my own and set out some goals. I only want to be able to measure voltage could not see the point in any other functions
1. Needs to measure upto +/- 100V
2. range needs to be 100-200 feet operation.
3. runs of battery
4. Auto turn off to help save battery life.
5. quite small handheld.
6. needs to be fairly accurate.
So I'd though I'd share it here and this is the start of it, hopefully it will gain interest or someone may have a use for it or even just for fun. just for now here is some pictures of the mK2 version as I'm in the process of putting all the information together, There will be PDF files, Alitum files, Gerber's and source code to follow.

To do list.
1. Finalise the BOM
2. Tidy software up for the TX and RX units
3. Sort out the PDF files
4. write up a little use guide as there is a hidden menu for calibration.
5. write up little theory of operation

Meter 1 pic is and open view, Meter 2 pic is showing it connected to a voltage reference, Meter 3, On the far right is the TX unit connected to a power supply, in the middle is the RX unit which displays the voltage what the TX unit reads and the fluke meter is just showing how accurate it is and then the last one is the PCB layout that I have had made. More will follow shortly
 

Logged

When you think, "I can't do anymore. I need a break," that is the time to challenge yourself to keep going another five minutes. Those who persevere for even an extra five minutes will win in life..
sadman
Hero Member
*****
Offline Offline

Posts: 710

Thank You
-Given: 1840
-Receive: 2907


Sow The Seeds of Love


« Reply #1 on: January 01, 2018, 06:10:04 06:10 »

When you going to share this piece of cake
Logged
PICker
Active Member
***
Offline Offline

Posts: 162

Thank You
-Given: 207
-Receive: 110


« Reply #2 on: January 01, 2018, 06:54:17 06:54 »

Great Idea and amazing pictures Wizpic!
I'm developing a similar (miniature) device but for reading very small currents.
Are you developing UDP or TCP connections for the NRF24L01 module?
I'm very interested in you work.

Logged
Wizpic
Global Moderator
Hero Member
*****
Offline Offline

Posts: 1204

Thank You
-Given: 554
-Receive: 409



« Reply #3 on: January 01, 2018, 08:34:20 08:34 »

When you going to share this piece of cake
Very soon I have just got a few jobs for the misses to carry out(keep her happy and in her good books) then I'll be working on this, It will be coming in parts, I did try to get it all done before posting but I've been trying for the last month or so but just kept leaving it, So I thought I make a start which will make me complete the sharing when you get other people interested.

Great Idea and amazing pictures Wizpic!
I'm developing a similar (miniature) device but for reading very small currents.
Are you developing UDP or TCP connections for the NRF24L01 module?
I'm very interested in you work.
Thanks for the feed back, The way this is designed you could alter some resistors on the front end so that it boost's small voltages as I've used one of the older mark 1 boards for measuring current in either direction, depending on how small your current is. The UDP/TCP I've not really looked into that much in depth, It may be something in the future I may look into but don't have the need for that yet for this meter, Sounds good idea may be for another project with the amazon alexea.



Logged

When you think, "I can't do anymore. I need a break," that is the time to challenge yourself to keep going another five minutes. Those who persevere for even an extra five minutes will win in life..
Wizpic
Global Moderator
Hero Member
*****
Offline Offline

Posts: 1204

Thank You
-Given: 554
-Receive: 409



« Reply #4 on: January 01, 2018, 02:52:07 14:52 »

Here is the first version of the complete manual, it has the setup instructions schematics and BOM, I have only gone though it quickly so there may be some mistakes in there, The schematics are correct as there taken direct from altium. There is no PCB layout added as this will come soon.
Thnigs still to do.
1. Tidy software as I think its nearly completed may jsut realine some screens and wording. function wise I have carreid out lots of testing so it shoul dbe bug free
2. Tidy the Altium folder up and remove unwanted sutff, I ncluded will be everything and the Gerber files that I sent off ot get the baords made so again i know there 100% working PCB'S.

Next I will do firmware, but his should give good reading nad may be get the bug, any comments are welcome, any suggestions for improvements are welcome but may not implement  in this version as I'm happy with it.
Here is the link for the auto turn off feautre, All credit for this bit goes to the guy that created it I just modified my code to do what I wanted it to do and added it to my design
https://sites.google.com/site/wayneholder/pushbutton-power-on-off-for-arduino
Logged

When you think, "I can't do anymore. I need a break," that is the time to challenge yourself to keep going another five minutes. Those who persevere for even an extra five minutes will win in life..
Wizpic
Global Moderator
Hero Member
*****
Offline Offline

Posts: 1204

Thank You
-Given: 554
-Receive: 409



« Reply #5 on: January 02, 2018, 09:03:37 21:03 »

Has promised here is the code and all Altium files.

I've tried to comment the  code much as possible to help make it easier as to what it's doing, Now bearing in mind I'm still learning the Arduino coding and it may be able to be improved. Ran some more tests at work today and its working perfectly.
In the wireless folder is the TX&RX code, The M350 folder is all the altium files.
Brief description on how I did it as it was my first time having ago at it like this,
I used solidworks for the 3D model of the enclosure creating the PCB within the enclosure to create all the holes to match the mounting holes in the case then added the LCD for alignment, Created 2 small holes on the PCB to match the LCD holes. Then created the cutout for the LCD in the case along with the on/off button and 4mm socket holes  and exported it all in step format to Altium apart from the LCD model. In Altium placed the 3D body of the step model and locked it, Used the PCB model to create the board outline and then placed all the components on the PCB, The 2 small holes in the PCB where deleted once the LCD was aligned which had a 3D model added to footprint along with the NRF20L01.Again these where locked these to. Then laid out all the tracks manually, I don't like the auto routers there rubbish I find. By using this method I was able to make sure that everything lined up with the LCD and cutout and made sure there was no collision with the components and case.
To help save costing and only having one type of PCB made I designed it so it would do the TX&RX units, For the RX you just leave out the input front end parts, I Sent the gerber files off to china to be made had 10 boards for £25GBP. I used my CNC machine to cutout the LCD hole along with all the others in the enclosure.

Considering this is my first time doing it this way as old method was doing everything by hand and making judgemeant hoping everthing line up ok, I was amazed how everyting mounted together easily and all lined up and pefectly as you can see from the photo's above as it all did in the 3D modle in solidworks and ALtium, So this the method I will be using from now, Even considering a 3D printer but not sure yet.
Hopefully some of you will find it intersting and useful all I ask is to let me know if anybody finds it useful even if you strip bits of code ot any of the desing to use in your own projects, As you can see I've spent many man hours and time on this project and would be nice for feed back.
Thanks
Wizpic 
Logged

When you think, "I can't do anymore. I need a break," that is the time to challenge yourself to keep going another five minutes. Those who persevere for even an extra five minutes will win in life..
sphinx
Hero Member
*****
Offline Offline

Posts: 920

Thank You
-Given: 615
-Receive: 272



« Reply #6 on: January 03, 2018, 06:58:03 06:58 »

i have peeked thru some of the source code and i would change some of the variables which are not changing
in the program to constants to not get accidentally modified further in the code. just a suggestion.

i also saw variables like this res1a and RES1A with different values i would not use this way to name variables
this can cause confusions and maybe other problems, i would use different names to not cause confusion.
a good idea would be to use some sort of name convention so when looking at the name you get sort of
the picture what the value measures or calculates.

great work.
« Last Edit: January 03, 2018, 07:12:05 07:12 by sphinx » Logged

laws of physics are not laws at all, just assumptions and formulas that work as long as we don't figure something new that wrecks the calculations. the infinite onion try to peel that one
Wizpic
Global Moderator
Hero Member
*****
Offline Offline

Posts: 1204

Thank You
-Given: 554
-Receive: 409



« Reply #7 on: January 03, 2018, 06:07:17 18:07 »

i have peeked thru some of the source code and i would change some of the variables which are not changing
in the program to constants to not get accidentally modified further in the code. just a suggestion.

i also saw variables like this res1a and RES1A with different values i would not use this way to name variables
this can cause confusions and maybe other problems, i would use different names to not cause confusion.
a good idea would be to use some sort of name convention so when looking at the name you get sort of
the picture what the value measures or calculates.

great work.
Thanks I must admit I must have missed those as I don't normally do it like that where they have the same variable names, Sometimes the more you look at the more you miss, I shall get those altered. By all means it may not be the finial version as I have got the time to go through it properly, its fully working code and always room for improvements
Logged

When you think, "I can't do anymore. I need a break," that is the time to challenge yourself to keep going another five minutes. Those who persevere for even an extra five minutes will win in life..
Pages: [1]
Print
Jump to:  


DISCLAIMER
WE DONT HOST ANY ILLEGAL FILES ON THE SERVER
USE CONTACT US TO REPORT ILLEGAL FILES
ADMINISTRATORS CANNOT BE HELD RESPONSIBLE FOR USERS POSTS AND LINKS

... Copyright © 2003-2999 Sonsivri.to ...
Powered by SMF 1.1.18 | SMF © 2006-2009, Simple Machines LLC | HarzeM Dilber MC