element14 Community
element14 Community
    Register Log In
  • Site
  • Search
  • Log In Register
  • Community Hub
    Community Hub
    • What's New on element14
    • Feedback and Support
    • Benefits of Membership
    • Personal Blogs
    • Members Area
    • Achievement Levels
  • Learn
    Learn
    • Ask an Expert
    • eBooks
    • element14 presents
    • Learning Center
    • Tech Spotlight
    • STEM Academy
    • Webinars, Training and Events
    • Learning Groups
  • Technologies
    Technologies
    • 3D Printing
    • FPGA
    • Industrial Automation
    • Internet of Things
    • Power & Energy
    • Sensors
    • Technology Groups
  • Challenges & Projects
    Challenges & Projects
    • Design Challenges
    • element14 presents Projects
    • Project14
    • Arduino Projects
    • Raspberry Pi Projects
    • Project Groups
  • Products
    Products
    • Arduino
    • Avnet & Tria Boards Community
    • Dev Tools
    • Manufacturers
    • Multicomp Pro
    • Product Groups
    • Raspberry Pi
    • RoadTests & Reviews
  • About Us
  • Store
    Store
    • Visit Your Store
    • Choose another store...
      • Europe
      •  Austria (German)
      •  Belgium (Dutch, French)
      •  Bulgaria (Bulgarian)
      •  Czech Republic (Czech)
      •  Denmark (Danish)
      •  Estonia (Estonian)
      •  Finland (Finnish)
      •  France (French)
      •  Germany (German)
      •  Hungary (Hungarian)
      •  Ireland
      •  Israel
      •  Italy (Italian)
      •  Latvia (Latvian)
      •  
      •  Lithuania (Lithuanian)
      •  Netherlands (Dutch)
      •  Norway (Norwegian)
      •  Poland (Polish)
      •  Portugal (Portuguese)
      •  Romania (Romanian)
      •  Russia (Russian)
      •  Slovakia (Slovak)
      •  Slovenia (Slovenian)
      •  Spain (Spanish)
      •  Sweden (Swedish)
      •  Switzerland(German, French)
      •  Turkey (Turkish)
      •  United Kingdom
      • Asia Pacific
      •  Australia
      •  China
      •  Hong Kong
      •  India
      •  Korea (Korean)
      •  Malaysia
      •  New Zealand
      •  Philippines
      •  Singapore
      •  Taiwan
      •  Thailand (Thai)
      • Americas
      •  Brazil (Portuguese)
      •  Canada
      •  Mexico (Spanish)
      •  United States
      Can't find the country/region you're looking for? Visit our export site or find a local distributor.
  • Translate
  • Profile
  • Settings
Open Source Hardware
  • Technologies
  • More
Open Source Hardware
Forum Archaeology Resistivity Meter
  • Blog
  • Forum
  • Documents
  • Events
  • Polls
  • Members
  • Mentions
  • Sub-Groups
  • Tags
  • More
  • Cancel
  • New
Join Open Source Hardware to participate - click to join for free!
Actions
  • Share
  • More
  • Cancel
Forum Thread Details
  • Replies 332 replies
  • Subscribers 321 subscribers
  • Views 44716 views
  • Users 0 members are here
  • armp
  • archaeology resistivity meter
Related

Archaeology Resistivity Meter

kltm
kltm over 5 years ago

Hi I'm looking for ideas on an update to a resistivity meter for archaeology. The only published designs for diy were in 2 magazines. One was published in 1997 and the other in 2003. I have copies of both articles available. The reason behind this is the current high cost of available equipment, usually well beyond the reach of most archaeological groups. I've attached a basic block diagram. In the first magazine article the meter is very basic. It relied on the operators to write down the reading given as the survey was taken. Given that a normal survey grid is 20m x 20m and 1 reading is taken on every sq mtr there would be 400 readings to write down and then input into a program used to interpret the results. The later article is really an update to the first where a PIC has been added to record the readings. This again is prone to error, because eadings are taken manually by pressing a button.

I'm sure given the advances in electronics there must be better ways. 

 

 

 

image

  • Sign in to reply
  • Cancel

Top Replies

  • kltm
    kltm over 5 years ago in reply to michaelkellett +8
    Hi Michael This all sounds very interesting and encouraging. I see you have found the original article, the update is also on slideshare somewhere. I haven’t really thought much about cost, but as you…
  • michaelkellett
    michaelkellett over 5 years ago in reply to shabaz +7
    I can't live with that - I have to have symmetry The problem is that the Howland current pump doesn't constrain the voltage on the load at all when perfectly balanced - and my LTSpice model is unrealistically…
  • michaelkellett
    michaelkellett over 5 years ago in reply to michaelkellett +7
    AS promised - now for the phase sensitive detector. I couldn't easily model this in LTSpice, which is no great surprise because it needs multiplication and square roots. I used Simulink in MATLAB - which…
Parents
  • kltm
    kltm over 5 years ago

    image

    • Cancel
    • Vote Up +1 Vote Down
    • Sign in to reply
    • Cancel
  • shabaz
    shabaz over 5 years ago in reply to kltm

    Hi Michael,

     

    I had these initial thoughts, but I've not had time to think things through (I have some time late Wednesday to do that):

    There was mention of more sense probes, but maybe the expansion interface is sufficient for that, since one could drive (say) a latching relay via that. Or maybe space for on-board relay?

    A minor point was, for the USB UART, for MCP2221 I already have Android code. But FTDI is totally fine too, i.e. if you've already got the schematic entered for that portion then it's quicker for me to just hunt for demo code for FTDI, if you let me know the chip number. Below is the the schematic I've used previously for the MCP2221 (it needs an external 3.3V regulator which probably the FTDI device doesn't, and has 4kV protection which likely isn't enough, I didn't place any additional ESD protection on this schematic).

     

    One other thought was for a test facility, if there was were four jumpers or four DIP switches on the board which would connect a potential divider across the source (two switches for that) and two switches to connect the sense wires to the divider. Maybe jumpers are easier. But probably there will be test points on the board for easy soldering of a mini test harness during software development anyway.

     

    image

    • Cancel
    • Vote Up +3 Vote Down
    • Sign in to reply
    • Cancel
  • michaelkellett
    michaelkellett over 5 years ago in reply to Jan Cumps

    Yes, you are quite right.

     

    And although I don't like the HAL I know it well - so I use it but mostly as a reference, but sometimes as intended.

     

    There is a lightweight HAL but I don't think you can make the Cube tools generate a project based on it.

     

    MK

    • Cancel
    • Vote Up +2 Vote Down
    • Sign in to reply
    • Cancel
  • shabaz
    shabaz over 5 years ago in reply to michaelkellett

    Hi Michael and Rob,

     

    Sorry you had a bad experience with this.

    My current status is to try the code design as a paper exercise, and then some skeleton using the ST dev environment, but I'll simultaneously get code running on Mbed too if I can, just in case.

     

    The architecture can be nicer with the OS, but I'll use a more traditional implementation with the ST dev environment.

     

    Two bits of reference code could be a benefit, I cannot tell how large and how many features could be desired for later add-on. 

    Mbed is C/C++, so direct writing to registers etc isn't an issue. The Mbed benefits are the diverse libraries for adding new features and the task handling (and it works well with interrupt handling) that is available.

     

    I've been involved with bare-metal mil-customer projects too, custom-written RTOS, and Linux+huge middleware+C++ (which suits a very different sized project). I am excited about (say) one day add-ons (such as sending data in real-time via a network, or adding different tasks) then Mbed has got a lot covered, but it's unnecessary for the core functions.

    • Cancel
    • Vote Up +1 Vote Down
    • Sign in to reply
    • Cancel
  • shabaz
    shabaz over 5 years ago in reply to michaelkellett

    That's a weird error, the output shows that MbedStudio is defaulting to an ARM-supplied compiler. With Linux, I can default to GCC with Mbed.

    Bad that MbedStudio didn't work by default though.

     

    I tried to compile the blinky on Linux with Mbed with GCC, and the particular errors in your comment refers to symbols in particular files, but the GCC-made version of the file I checked doesn't contain that symbol at all.

     

    Regarding unwanted code, it is possible to delete some of it (for instance unused peripheral code), but by default Mbed will add it.

    This is output for the blinky project on the command line with Linux, it's interesting to see which things took the code space (there is a normal map output too, this is just the summary output on the command line after the build).

    The output shows the C library used almost half the total code, and about 13 kbytes was used for the basic peripherals (mbed-os/targets entry), OS consumed 6 kbyte, and the user-typed blinky code took 80 bytes, etc. I think this is reasonable (and no messing about having to struggle with 'lighter' versions with reduced printf formatting etc., but is a shift from only having code in there that is known to execute (but as you say that's rare to accomplish).

     

    | Module           |         .text |       .data |        .bss |
    |------------------|---------------|-------------|-------------|
    | [fill]           |     102(+102) |       8(+8) |     19(+19) |
    | [lib]/c.a        | 27372(+27372) | 2472(+2472) |     89(+89) |
    | [lib]/gcc.a      |   3116(+3116) |       0(+0) |       0(+0) |
    | [lib]/misc       |     180(+180) |       4(+4) |     28(+28) |
    | mbed-os/drivers  |     174(+174) |       0(+0) |       0(+0) |
    | mbed-os/hal      |   1672(+1672) |       8(+8) |   130(+130) |
    | mbed-os/platform |   4228(+4228) |   260(+260) |   280(+280) |
    | mbed-os/rtos     |   6880(+6880) |   168(+168) | 6228(+6228) |
    | mbed-os/targets  | 13320(+13320) |       8(+8) | 1078(+1078) |
    | test.o           |       80(+80) |       0(+0) |     28(+28) |
    | Subtotals        | 57124(+57124) | 2928(+2928) | 7880(+7880) |
    Total Static RAM memory (data + bss): 10808(+10808) bytes
    Total Flash memory (text + data): 60052(+60052) bytes
    
    
    Image: ./BUILD/NUCLEO_L4R5ZI/GCC_ARM/testprog.bin

     

    Anyway, I'll concentrate on the high-level code design, this was just out of curiosity to check the ST-targetted Mbed can work on linux.

    • Cancel
    • Vote Up +1 Vote Down
    • Sign in to reply
    • Cancel
  • Jan Cumps
    Jan Cumps over 5 years ago in reply to shabaz

    I built the bare metal one on a windows box and got the same errors as Michael:

    image

     

    It's a brand new MBED Studio install from last weekend, not fiddled with any settings.

    • Cancel
    • Vote Up +1 Vote Down
    • Sign in to reply
    • Cancel
  • michaelkellett
    michaelkellett over 5 years ago in reply to Jan Cumps

    Nice to know it's not just me !

     

    I have my Nucleo board so I'll see if it will play with the ST tools.

     

    MK

    • Cancel
    • Vote Up +1 Vote Down
    • Sign in to reply
    • Cancel
  • shabaz
    shabaz over 5 years ago in reply to Jan Cumps

    Unfortunately I don't know how to troubleshoot that, I'm a lot happier with Linux+GCC since I've used that.

    It's a fundamental issue though, since it's related to heap settings expected somewhere... but could be a bug in the ARM-developed toolchain or (perhaps more likely) MbedStudio.

     

    I think it's more likely MbedStudio, because I tried the online cloud version of Mbed to compile the blinky program, and that worked. It took 10 minutes, which was 5 minutes longer than usual, because there's only one example for the Nucleo board, and the blinky example was slightly incorrect (for C++) so it needed correcting.

    • Cancel
    • Vote Up +2 Vote Down
    • Sign in to reply
    • Cancel
  • shabaz
    shabaz over 5 years ago in reply to shabaz

    I don't have the Nucleo board just yet (ordered it today), but I had a F746G board (quite powerful too!) and out of curiosity I tried running a filter. It was unfortunately unrealistic (I pretended to sample at 10kHz, which was a typo, I'd wanted 1 kHz) but the results were nice.. with 255 coefficients though!

    This was the expected result (simulating 5Hz wanted in red (would be zero Hz wanted of course), and 82 Hz unwanted, with a cut-off at 10 Hz (unrealistic amplitudes too, since the wanted signal could be much smaller than the unwanted):

    :image

    and this was the result with mbed-dsp (guessing is just a wrapper of CMSIS DSP functions, so should be identical to doing it on the ST environment, I just have not investigated that yet). This was with printf to output the values to a serial terminal, and then put them in matlab to plot them) - blue is output, and green was the expected result, I didn't plot them aligned:

    image

    I didn't get any timing since this was just a late-night coding experiment, but it's extremely impressive how much processing power these devices have. To think this wasn't possible with low-power microcontrollers maybe just a decade ago.

     

    It will be better to use Matlab tools I guess for designing the filter (I'm not knowledgeable on filter design at all) and for now the filter was calculated using a Python program found online (can write that up). Anyway this is all premature coding experimentation, but does give comfort that ARM DSP capabilities are nice!

    • Cancel
    • Vote Up +2 Vote Down
    • Sign in to reply
    • Cancel
  • michaelkellett
    michaelkellett over 5 years ago in reply to shabaz

    There has been an ominous silence since I published the input amplifier design a couple of weeks ago.

     

    (You can find it by searching the armp tag.)

     

    MK

    • Cancel
    • Vote Up +5 Vote Down
    • Sign in to reply
    • Cancel
  • kltm
    kltm over 5 years ago in reply to michaelkellett

    Hi Michael I think it’s back to the problem of us requiring a group. There is certainly a lot of work in there thank you. I will try and set it up in LT Spice.

    • Cancel
    • Vote Up +3 Vote Down
    • Sign in to reply
    • Cancel
  • cstanton
    cstanton over 5 years ago in reply to kltm

    Content marked with the tag is also highlighted on the overview page of this group, it'll show up to 20 items, at the moment there's about.. 5.

     

    Shabaz has also discussed with the developers on how to follow tags: Tags function issue/change request to list all content with a tag which should help.

    • Cancel
    • Vote Up +2 Vote Down
    • Sign in to reply
    • Cancel
Reply
  • cstanton
    cstanton over 5 years ago in reply to kltm

    Content marked with the tag is also highlighted on the overview page of this group, it'll show up to 20 items, at the moment there's about.. 5.

     

    Shabaz has also discussed with the developers on how to follow tags: Tags function issue/change request to list all content with a tag which should help.

    • Cancel
    • Vote Up +2 Vote Down
    • Sign in to reply
    • Cancel
Children
No Data
element14 Community

element14 is the first online community specifically for engineers. Connect with your peers and get expert answers to your questions.

  • Members
  • Learn
  • Technologies
  • Challenges & Projects
  • Products
  • Store
  • About Us
  • Feedback & Support
  • FAQs
  • Terms of Use
  • Privacy Policy
  • Legal and Copyright Notices
  • Sitemap
  • Cookies

An Avnet Company © 2025 Premier Farnell Limited. All Rights Reserved.

Premier Farnell Ltd, registered in England and Wales (no 00876412), registered office: Farnell House, Forge Lane, Leeds LS12 2NE.

ICP 备案号 10220084.

Follow element14

  • X
  • Facebook
  • linkedin
  • YouTube