Announcement

Collapse
No announcement yet.

DSP in commercial prospecting and treasure hunting metal detectors ... and GPZ 7000 speculation

Collapse
X
 
  • Filter
  • Time
  • Show
Clear All
new posts

  • Originally posted by scrungy_doolittle View Post
    For the record, I finally got the open STM32 software to work with a project generated with the new STMCUBE on the Nucleo F411 board. It works on my desktop windows 7, but not on a win 8 laptop running classic shell.

    So now it is off to the races.
    1. Download the tool chain from openstm32.org
    2. Download the Latest version of the STMCUBE software from STM.
    Install both.
    If you have a already created project, the secret is the import. Then on the general option in the popup menu, select import an existing project.
    I was able to take the modified project that one of the guys put in this thread, and compile it and download and single step.
    It took the newest version of STMCUBE to make it work. Now I have to climb the learining curve on the STM32 family, but at least I am now able to compile, and build.
    I also have managed to get my STM32F411 discovery board up and running. At this stage I am only switching gates but ADC is next. Its nice to have a debug facility built in to IDE. Great advantage over Arduino. This means I can look at the ADC samples in real time and check/change calculations on the fly.

    Comment


    • update on the STM32F411 etc

      Originally posted by CAS View Post
      I also have managed to get my STM32F411 discovery board up and running. At this stage I am only switching gates but ADC is next. Its nice to have a debug facility built in to IDE. Great advantage over Arduino. This means I can look at the ADC samples in real time and check/change calculations on the fly.
      Great! I'm currently looking at the ADC. I have the nucleo board, so the examples for the discovery board aren't working.
      I'll try to zip the project and put it here for anyone who needs it. It is a complete definition for the nucleo board, with pins selected and code generated for the following:
      The SainSmart LCD 1602 shield for the arduino. It has also been configure so that the adafruit shield will work. It supports 3 sample lines, two rotary encoders, two toggle switches, a pushbutton
      for pinpointing, USB AND SD card, a pwm for transmit, Two analog channels to support the addafruit 1.8 lcd shied and the Sainsmart. (these use to different channels for the push buttons). The pushbuttons on the shields are handled by switching resistors into an analog channel. It supports in addition, an analog channel for receive, an analog channel to digitize the transmit signal, and 3 other channels, one for the X,Y and G channels on a whites IDX/6000/5900 detector, so it can be used as a VDI, among other items. There are at least 2 spare I/O's. Going off memory at the moment.
      Now I have to get the ADC running in continous mode, with dma control into a buffer. The demo code uses ADC3 which is not on the F411, so I have to change that to ADC1. It uses DMA to move the data into 1 memory location instead of a buffer.

      Intention is to alternate channel samples between two channels, one for transmit, one for receive. Since it take about 15 cycles at 96 mhz to do a sample, this will allow digitizing the transmit and the receive with only 1 sample worth of skew between them. That way the channels will be interleaved in the buffer, with one being on even locations, the other on odd locations.
      If you want to simply sample the data 8 times like the original code I posted, then grab the appropriate indexes into the array for one cycle. To integrate them, capture 10 cycles into the buffer, and process that.

      The adc has a channel sequencer, so you can program it to digitize any of the channels in any sequence, and it will digitize 1 channel, move to the next, and digitize that one etc. By setting two channels, it will switch automatically between the channels. So tie one to the receive and one to the transmit, and let it rip. Now you have both, and can determine very accurately, the relationship between them....


      I think that it might be possible with a resistor and cap on an I/O line, feeding into the amplifier after the receive signal has been amplified, to inject a bit's worth of noise, so that you can use decimation to increase the resolution.

      I am guessing that is what the KROT3 is doing by using the DAC to feed into the amplifier. Been trying to figure out what he hell he was doing, but I think he is using that to inject a slight bit of
      noise, which can be used to increase the resolution.....

      Comment

      Working...
      X