Author Topic: Community Bench Meter  (Read 74182 times)

0 Members and 6 Guests are viewing this topic.

Offline charliex

  • Frequent Contributor
  • **
  • Posts: 342
  • Country: 00
  • Car Hacker
Re: Community Bench Meter
« Reply #75 on: January 31, 2010, 08:42:30 pm »
depends on the compiler, typically if its a restricted space or its faster, the compiler will use register based passing (fir the first few args at least) Its something you can always work around, so long as you can store the data in read/write somewhere, if it has a global storage you can use static instead of auto.

I've been looking for a project to try with the Cypress PSOC, so thats why i mentioned that :) http://www.cypress.com/?id=1353
 

Offline xani

  • Frequent Contributor
  • **
  • Posts: 400
Re: Community Bench Meter
« Reply #76 on: January 31, 2010, 08:56:43 pm »
Imo it would be best to build analog part of meter in a way that u can connect any type of CPU to it so some1 who need only basic functions can use one of those 2kB FLASH micos + 2x16 LCD, and someone else can connect it to 32 bit ARM (possibly more than one analog "card") and thru that to ethernet or graphic LCD.

About Arduinio, while i think that building it like arduinio isn't optimal, if it would be "Aruduinio-compatible" (possible to program directly from arduinio software) there would be a lot of possible developers for it. And if u don't like Arduinio there is alwasy plain GCC. And if its gonna be "open source" meter let's use something that can be programmed from gcc ;]
 

Offline EEVblog

  • Administrator
  • *****
  • Posts: 38043
  • Country: au
    • EEVblog
Re: Community Bench Meter
« Reply #77 on: January 31, 2010, 08:59:10 pm »
Unless you are saying that we should just use a Arduino compatible chip on our board and use the Arduino bootloader and IDE to write our code.

Yup, that would be the best option I think. It fulfills GeekGirl's AVR fetish, keeps the cost low, and it gives the hackers free easy to use tools, gives it the requisite "community" feel, and no programmer required, just plug into USB for programming. Internal ISP header on board for initial bootloader programming of course.
I see few downsides there.

Dave.
 

Offline xani

  • Frequent Contributor
  • **
  • Posts: 400
Re: Community Bench Meter
« Reply #78 on: January 31, 2010, 09:47:25 pm »
Arduinio users will be happy, other can use avr-gcc or plain assembler :) Just get big chip with "room to growth" like mega32 or even mega128. Tho with mega128 proce of processor is getting close to 32 bit ARMs without some of its features (mentioned by me eariler AT91SAM7X256 with USB, Ethernet and more RAM/Flash/IO).
But then amount of ppl who can program in Arduinio >> amount of ppl that can program ARM  ;D and more ppl wanting it = cheaper PCBs/kits
 

Offline desolatordan

  • Regular Contributor
  • *
  • Posts: 65
  • Country: 00
Re: Community Bench Meter
« Reply #79 on: February 01, 2010, 12:29:49 am »
Unless you are saying that we should just use a Arduino compatible chip on our board and use the Arduino bootloader and IDE to write our code.

Yup, that would be the best option I think. It fulfills GeekGirl's AVR fetish, keeps the cost low, and it gives the hackers free easy to use tools, gives it the requisite "community" feel, and no programmer required, just plug into USB for programming. Internal ISP header on board for initial bootloader programming of course.
I see few downsides there.

Dave.

I don't see the benefit of plugging in USB rather than plugging in a ISP connector for programming...?

There's a lot of overhead when using Arduino language, http://hackaday.com/2010/01/06/arduino-io-speed-breakdown/. The only way around this is to bypass the Arduino abstraction, in which case you might as well not use it anyways and just use gcc compiler.
 

Offline EEVblog

  • Administrator
  • *****
  • Posts: 38043
  • Country: au
    • EEVblog
Re: Community Bench Meter
« Reply #80 on: February 01, 2010, 12:35:28 am »
I don't see the benefit of plugging in USB rather than plugging in a ISP connector for programming...?

The benefit is that no programming hardware is required, just a USB cable. Any user is then free to upgrade their firmware without needing to buy or make an ISP programmer.

Quote
There's a lot of overhead when using Arduino language, http://hackaday.com/2010/01/06/arduino-io-speed-breakdown/. The only way around this is to bypass the Arduino abstraction, in which case you might as well not use it anyways and just use gcc compiler.

I don't see speed being an issue in this app. But the benefits of using Arduino are potentially quite large.

Dave.
 

Offline Chasm

  • Regular Contributor
  • *
  • Posts: 211
Re: Community Bench Meter
« Reply #81 on: February 01, 2010, 03:13:35 am »
I don't see the benefit of plugging in USB rather than plugging in a ISP connector for programming...?

As Dave said, you won't need an ISP Programmer.
Further you can't change the fuses this way, the easiest way for beginners to shut themself out of the micro.

Of course you need the usb<->serial converter (the FT232 is popular). Also you need a micro with the bootloader code programmed and the correct fuses set in the first place.

Quote
There's a lot of overhead when using Arduino language, http://hackaday.com/2010/01/06/arduino-io-speed-breakdown/. The only way around this is to bypass the Arduino abstraction, in which case you might as well not use it anyways and just use gcc compiler.

Each and every abstraction layer will cost you.


If I've followed the discussion correctly the idea is to make the hardware Arduino compatible.
As far as i can tell that means using a run of the mill AVR design that incorporates a FT232 usb converter.

After that it is possible to flash a Arduino bootloader and use the Arduino toolchain. Thus making the project interesting to a larger group.


Whether there will be Arduino or "native" software is up to those writing it. ;)



Since wireless connectivity and insulation against faults has been mentioned before:
Using Bluetooth has become a cheap and simple way to connect micros (via RS232 & SPP) to the outside world. There is a Arduino board with BT via the WT11 module instead of usb via FT232RL.

The WT11 seems to be a bit pricey with about €30, the BTM222 for €13 is vastly popular at the moment.
 

Offline cd

  • Newbie
  • Posts: 3
Re: Community Bench Meter
« Reply #82 on: February 01, 2010, 05:35:38 am »
Hi, serial out would be nice - I'd like to build a nixie tube version and a remote wireless display A buffered output after the range select would be good too - as a ready made output for a frequency counter and/or tone ohm module.

Chris.
Chris
 

Offline xani

  • Frequent Contributor
  • **
  • Posts: 400
Re: Community Bench Meter
« Reply #83 on: February 01, 2010, 12:29:53 pm »
There's a lot of overhead when using Arduino language, http://hackaday.com/2010/01/06/arduino-io-speed-breakdown/. The only way around this is to bypass the Arduino abstraction, in which case you might as well not use it anyways and just use gcc compiler.

I don't see speed being an issue in this app. But the benefits of using Arduino are potentially quite large.

Dave.
Aaand You don't have to use it, you can just use plain GCC so it's best of both worlds
 

Offline badSCR

  • Contributor
  • Posts: 40
Re: Community Bench Meter
« Reply #84 on: February 01, 2010, 03:14:31 pm »
We could do something similar to http://www.buglabs.net

....
My original idea was to build a "Bench Meter" with good specs (higher than my Fluke 29).

Now people are indicating that they would like an entire DIY lab.... I have no problem with this. I personally think that if we design an open protocol for comms, we can hang anything off it :)
....

I would prefer a design that I can trust with good specs, over something that has low specs and does  everything.
 
With a modular design, we could have a "Bench Meter" with good specs (higher than my Fluke 29) or even higher.

We could do a whole line of DIY equipment.


 

Offline badSCR

  • Contributor
  • Posts: 40
Re: Community Bench Meter
« Reply #85 on: February 01, 2010, 07:22:56 pm »
...
Dave, can you take some pictures of the analog frontend boards of your most expensive multimeters? Only board layout can be copyrighted, schematics can't, so if we can get a ready to go schematics we can design a slightly different board and have a product as good as the cool guys, for the price of bare components.
...


here are some schematics that we could get some ideas from.  (That were free)

http://cp.literature.agilent.com/litweb/pdf/34401-90013.pdf      Agilent 34401A Multimeter

http://cp.literature.agilent.com/litweb/pdf/34420-90010.pdf      Agilent 34420A   NanoVolt / Micro Ohm Meter

http://oldradio.tesla.hu/rajzok/muszerek/fluke45.pdf                Fluke 45

http://www.testequipmentdepot.com/fluke/pdf/77iii.pdf            Fluke 77 Series iii  Handheld meter

http://cp.literature.agilent.com/litweb/pdf/33120-90017.pdf       Agilent 33250A 15Mhz Waveform Generator




If you don't mind downloading multiple files and using WinRAR then:  (don't change the file names)

http://www.eserviceinfo.com/downloadsm/40126/Protek_6502A.html    Protek 6502A 20-40-60Mhz  Oscope

http://www.eserviceinfo.com/downloadsm/37608/Tektronics_465m.html   Tek_465M  Oscope

http://www.eserviceinfo.com/downloadsm/37182/Agilent_33120a.html     Agilent 33120  Function Generator

http://www.eserviceinfo.com/downloadsm/37180/Agilent_E3647/48A.html    60Watt Power Supply



http://www.eserviceinfo.com/browse.php   I just been looking for what has "schematics" in the file name.

« Last Edit: February 03, 2010, 09:06:58 pm by badSCR »
 

Offline Mastro Gippo

  • Regular Contributor
  • *
  • Posts: 55
Re: Community Bench Meter
« Reply #86 on: February 03, 2010, 07:44:11 am »
I guess we're all busy reading the docs posted by badSCR..  ;D
 

Offline jklasdf

  • Regular Contributor
  • *
  • Posts: 79
  • Country: us
Re: Community Bench Meter
« Reply #87 on: February 04, 2010, 06:37:03 am »
In the interest of moving things along -- while I'm sure everyone has their own opinion on what their favorite case/microcontroller -- I think most people here would agree that it's more productive to choose *something* even if its not their first choice, rather than sitting around arguing.

So I propose a vote (choose only one option):
1.) PIC
2.) AVR/Arduino
3.) ARM

For the case, I haven't seen many objection to the case proposed by Dave, http://www.polycase.com/category/zn-series.html. I definitely think that a benchtop case is a good idea for a do-it-yourself kind of a project, even though handheld might be more convenient with a production unit.
 

Offline Valhallasmith

  • Contributor
  • Posts: 26
Re: Community Bench Meter
« Reply #88 on: February 04, 2010, 07:24:49 am »
What about ignoring processor and just making SPI or I2C modules that make up various instruments.  There are various items that most instruments need and people could stitch them together whatever way they need.

For example a DC volt meter would need a relatively noise free A/D.  It would also need a precision reference, a switch MUX of some kind, a PGA, a voltage divider network, an analog power supply and a digital power supply.  Most of these are basic items that any instrument could need.

If you were making an AC volt meter you would also need a True RMS converter or precision bridge.  Virtual instruments made up of these sorts of components would be an interesting way to take things.  Volt meters, power meters, LCR, etc could all be built from various components.  People could add various modules to their box depending on what they want to do.  Not everyone needs 6.5 digits of accuracy, so they could get a cheaper A/D unit and a noisier PGA.  Since everything is a virtual instrument various items can just be plugged into a switch matrix.

Could be a bit large of a project though.
 

Offline charliex

  • Frequent Contributor
  • **
  • Posts: 342
  • Country: 00
  • Car Hacker
Re: Community Bench Meter
« Reply #89 on: February 04, 2010, 08:52:21 am »
Most of the open source projects fail because of fragmentation , general disagreement and usually biting off more than can be chewed.

Simple and modular sounds good to me. its pretty easy to revise hardware these days, costs are much lower.
 

GeekGirl

  • Guest
Re: Community Bench Meter
« Reply #90 on: February 04, 2010, 08:57:08 am »
In the interest of moving things along -- while I'm sure everyone has their own opinion on what their favorite case/microcontroller -- I think most people here would agree that it's more productive to choose *something* even if its not their first choice, rather than sitting around arguing.

So I propose a vote (choose only one option):
1.) PIC
2.) AVR/Arduino
3.) ARM

For the case, I haven't seen many objection to the case proposed by Dave, http://www.polycase.com/category/zn-series.html. I definitely think that a benchtop case is a good idea for a do-it-yourself kind of a project, even though handheld might be more convenient with a production unit.

This project will never hit "production" ;) the whole idea is it is a DIY project.

I have placed a poll so we can vote on processor :)
 

GeekGirl

  • Guest
Re: Community Bench Meter
« Reply #91 on: February 04, 2010, 09:00:50 am »
What about ignoring processor and just making SPI or I2C modules that make up various instruments.  There are various items that most instruments need and people could stitch them together whatever way they need.

For example a DC volt meter would need a relatively noise free A/D.  It would also need a precision reference, a switch MUX of some kind, a PGA, a voltage divider network, an analog power supply and a digital power supply.  Most of these are basic items that any instrument could need.

If you were making an AC volt meter you would also need a True RMS converter or precision bridge.  Virtual instruments made up of these sorts of components would be an interesting way to take things.  Volt meters, power meters, LCR, etc could all be built from various components.  People could add various modules to their box depending on what they want to do.  Not everyone needs 6.5 digits of accuracy, so they could get a cheaper A/D unit and a noisier PGA.  Since everything is a virtual instrument various items can just be plugged into a switch matrix.

Could be a bit large of a project though.

If we are going to use SPI / I2C etc we will need a micro in each module to do this. I think personally that it will be multiple instruments all wired up on a bus that will then eventually link back to a host PC that can do display and "data manipulation".

For the case I am liking Dave's suggestion of stackable cases ;)

Need to think of the interconnect bus.
 

alm

  • Guest
Re: Community Bench Meter
« Reply #92 on: February 04, 2010, 01:27:53 pm »
I agree that it should definitely be a bench unit. The build quality of a handheld unit is much more important (it's more likely to be dropped) and harder. It would probably be hard to even match the build quality of cheap $5 multimeters, let alone a Fluke.

I'd caution against trying to design a complete electronics lab at once, start with just a DMM. At least build a prototype before deciding on building a function generator/power supply/oscilloscope/etc.

I don't see the advantage of modular instruments beyond stackable cases. There were some series of modular instruments in the past, eg. Tektronix TM500, 7000 series, Hameg HM8000 (this one in still sold). The motivation was usually:
- Common power supply. Transformers, filter caps and heatsinks for pass transistors are large and expensive. These days, you can buy a switcher for a few dollars, although I'd probably use a linear supply for a precision bench DMM for low-noise.
- Common display. A CRT is also large and expensive. A simple character LCD is fairly cheap. Graphical displays are more expensive and larger.
- Internal connections between instruments. I think this is more important in automated test setups than your average DIY lab. I tend to use my instruments for all kinds of jobs, not in some sort of fixed test setup.
- Expensive microprocessors. An 8-bit, 8-pin micro is about $2 (eg. ATtiny13). An 8-bit, 28-pin micro (ATmega48) is $3. I'm sure there are equivalent PIC/MSP430 devices. I don't see a reason not to put one of these in every module.

I don't think a good DMM would make a good low-speed scope or logic analyzer:
- A multimeter is high-precision and usually single channel
- A low-speed scope (beyond basic data logger) would have to sample at least 200kS/s or so (for up to 20kHz audio range), but doesn't need much accuracy (1%, 8-bit ADC usually)
- A logic analyzer needs at least 8 channels, just 1-bit, and again a fairly high sample rate, even for relatively slow signals like I2C.

You'd just be designing three completely different front-ends, the only common parts would probably be case, a uC, a display and some buttons.

Re Arduino, I don't think there's much point in using an off-the-shelf Arduino board, since the complexity of designing a basic Freeduino circuit into the board is trivial compared to the analog part. This is not like putting a basic relay shield on an Arduino and hooking it up to a lamp. I'd also want to isolate the front-end from the digital part, which probably wouldn't fit very well as Arduino shield (needs separate power supply).

Schematics, here are some service manuals of brand-name bench DMM's (with theory of operations and schematics):
HP/Agilent 3478A (5.5 digit, introduced in early eighties)
HP/Agilent 34401A (6.5 digit, introduced in early nineties or so, probably more custom parts)
Keithley 196 (6.5 digit, introduced in late eighties, few custom parts)
Fluke 8840A (5.5 digit, introduced in early nineties)

These are high-precision, low-noise and high impedance designs, which means component selection and PCB layout is probably very critical. They usually feature an input impedance of more than 10 gigaohm at the lower DC voltage ranges. A 1 year accuracy specification for a good 4.5 digit multimeter is 0.03%, for a good 5.5 digit meter 0.006%, and for a good 6.5 digit meter 0.003%. Plus you need to calibrate it to something with better specifications after you've built it. I'm not an expert in high-precision design, but it seems really hard to match this to me. I'd stick to mediocre accuracy/resolution for a bench meter (say 4.5 digits), and focus on price and features compared to commercial units (plus the fun).

Someone mentioned simultaneous voltage and current measurement. Since current measurement is just voltage measurement plus a shunt, I'd make it in a full dual channel unit. The extra design effort is probably almost nothing. The extra component costs are probably also marginal, and it would be very useful (I often use multiple DMM's at the same time).

Alson
 

Offline _Sync_

  • Contributor
  • Posts: 13
Re: Community Bench Meter
« Reply #93 on: February 04, 2010, 07:54:57 pm »
I agree with alm, we need a good reliable base at first. This would be a good accuracy dual-slope ADC with the needed software, if we got that running one can concentrate on the input circuit and the AC measurements.

From looking at the manuals I found out, that the companies often use ASICs for special tasks like input-switching, multiplexing stuff (mostly PLCs I guess) and ADC.
I think we should concentrate on the Keithley because it uses no custom part for important jobs. The software should be fairly straight forward, as the theory of operation is descrbed quite nicely.

What I've noticed is, that most use the AD637 RMS-to-DC converter. It seems to be the best thing to use in that application.

For the controller part I'd say we should stick to something where a opensource or at least free toolchain is avalible, which would be the AVR.
One could also use an ARM, but it seems that not that much CPU-power is needed, e.g. the Keithley uses a 68B09 and the Agilent ones use processors out of the 8051 series.

If someone has a meter with a MSP430 we'd be able to glitch the firmware out of it ;)

This thing is not going to be cheap or easy to build/calibrate if we want to keep our goals in accuracy and function.
 

Offline badSCR

  • Contributor
  • Posts: 40
Re: Community Bench Meter
« Reply #94 on: February 04, 2010, 08:55:26 pm »
PIC microchip

MPLAB  IDE  is free
HI-TECH C compiler is free, (Pro Mode is 100% Full version for 30-days)

Just putting it out there.
 

Offline _Sync_

  • Contributor
  • Posts: 13
Re: Community Bench Meter
« Reply #95 on: February 04, 2010, 10:07:53 pm »
Yep, there are some free toolchains for almost every chip!

I'd personally prefer AVRs because I have experience coding for them and I like gcc ;)

We could discuss that for ages, it's the old Atmel,Microchip,Younameit discussion...
 

Offline badSCR

  • Contributor
  • Posts: 40
Re: Community Bench Meter
« Reply #96 on: February 04, 2010, 10:28:36 pm »
We could discuss that for ages, it's the old Atmel,Microchip,Younameit discussion...
lol, yep we could.  So far AVR is winning in the poll for this.


I feel my skills are not high enough for me to contribute much of anything.  
But, if the specs are good enough, the price is right, and I like the design; Then i think i will probably build one.  Just now getting a lab together and looking for a job.

https://www.eevblog.com/forum/index.php?topic=187.0    (General Chat >  Whats your Work-Bench/lab look like? Post some pictures of your Lab.)

sorry, not try to hijack.
 

alm

  • Guest
Re: Community Bench Meter
« Reply #97 on: February 04, 2010, 10:52:00 pm »
The main argument I see for using a 32-bit micro (ARM) is a graphical LCD (or OLED ;)). This might be nice for large numbers (your standard character LCD is a bit small for bench DMM IMO, and 7-segment is less flexible), dual display (like the Fluke 45) or graphs (both bar graph and histogram). I believe 8-bit micro's are a bit short on memory for this task (unless you go for the largest parts that costs more than a basic ARM). I don't have experience with ARM though, I've only used AVR.

Apart from this, an 8-bit micro should be plenty. The fastest most commercial units can sample is 2kS/s (Agilent 34401A, Keithley 2000, the most recent modules might be faster), and this is obviously at reduced resolution. A 20MHz 8-bit micro should be able to handle this unless you do tons of floating point math. I think sampling this fast is only useful in assembly line testing anyway, where you want to test a continuous stream of products. It's nice if you have a bar graph that's reasonably fast (most Flukes do 50S/s AFAIK). We will need a fair amount of I/O's though (display, buttons, ADC, relays for things like range selection, serial/USB/ethernet out).

Alson
« Last Edit: February 04, 2010, 10:59:55 pm by alm »
 

Offline _Sync_

  • Contributor
  • Posts: 13
Re: Community Bench Meter
« Reply #98 on: February 05, 2010, 12:17:34 am »
As I said, I think our major concern should be designing a usable ADC!

The userinterface and interfacing with other stuff is not really complicated.

I don't have much time on my hands now but I will look into reverse-engineering and drawing schematics for something that is based on the Keithley 196. This should provide a good basis from which we can work on...

And I agree, only fancy graphical interfaces would require a bigger ammount of computation time, but people get along with just 8-seg displays ;)
 

Offline xani

  • Frequent Contributor
  • **
  • Posts: 400
Re: Community Bench Meter
« Reply #99 on: February 05, 2010, 01:16:15 am »
The main argument I see for using a 32-bit micro (ARM) is a graphical LCD (or OLED ;)). This might be nice for large numbers (your standard character LCD is a bit small for bench DMM IMO, and 7-segment is less flexible), dual display (like the Fluke 45) or graphs (both bar graph and histogram). I believe 8-bit micro's are a bit short on memory for this task (unless you go for the largest parts that costs more than a basic ARM). I don't have experience with ARM though, I've only used AVR.

Apart from this, an 8-bit micro should be plenty. The fastest most commercial units can sample is 2kS/s (Agilent 34401A, Keithley 2000, the most recent modules might be faster), and this is obviously at reduced resolution. A 20MHz 8-bit micro should be able to handle this unless you do tons of floating point math. I think sampling this fast is only useful in assembly line testing anyway, where you want to test a continuous stream of products. It's nice if you have a bar graph that's reasonably fast (most Flukes do 50S/s AFAIK). We will need a fair amount of I/O's though (display, buttons, ADC, relays for things like range selection, serial/USB/ethernet out).
For me main argument in favour of ARM is not graphical LCD but fact that those micros have much more things inside, like AT91SAM7X256 with Ethernet, USB and several serial interfaces and it doesn't cost much more than similar AVR ( 10$ vs. 6$ for atmega128)
But then, if u get analog frontend right, u can use pretty much any micro u want and AVG have advantage of large community behind it (thousands of ppl possibly hacking meter ;]

Imo analog frontend should be something like i2c/SPI for adc + few lines for switching multiplexers etc. or some small cheap 8 bit micro as "controller"

So someone who want "just meter" can get some atmega8 + 2x16 LCD, few buttons and encoder, but someone else can connect 8 analog "cards" to atmega128 hooked to LCD touchscreen to create "meter to end all meters"  ;D
 


Share me

Digg  Facebook  SlashDot  Delicious  Technorati  Twitter  Google  Yahoo
Smf