Announcement

Collapse
No announcement yet.

VDI-RODERICO

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

  • VDI-RODERICO

    Hi.
    I'm going to open a new post with the new VDI that our comrade Roderico published.
    I have compiled all the necessary information.
    Soon I will publish the Layout design of the PCB.
    This version uses a PIC16F690.
    I have also done the design I published Mr. Holyuser again.
    I have done this project and it really works. The only problem I have at the moment is that the switches do not work to control the menu of the VDI. Next week I will check again, because the project I have done on a temporary basis.
    Soon I will publish my experiences.
    Best regards, Eduardo.
    Attached Files

  • #2
    Hello, interesting thread. Here is pcb with backlight regulation. I`m guessing Roderico`s VDI does not have this function?
    Regards.
    Attached Files

    Comment


    • #3
      Originally posted by reiv View Post
      Hello, interesting thread. Here is pcb with backlight regulation. I`m guessing Roderico`s VDI does not have this function?
      Regards.
      Hello, no it doesn't have that function, it only works with the first pcb layout posted by holyuser and Eduardo above. The main reason is because it consumes a lot of battery, it could go up to 20-40 mA vs. to 2.6 mA without backlight. Other reasons are because it adds additional overhead to the pic which has a limited memory, needs extra components, more complex pcb,... If you really need the backlight (e.g. a blue display) you can always connect pin 15 of the LCD to +5V with a current limiting resistor (e.g. 220-470) and pin 16 to GND. Regards

      Comment


      • #4
        At last I have been able to test the VDI well. All switches work correctly. It had a small mass connection error and so it did not work. I can say that the VDI is wonderful, it goes very well and is also very stable. It has good sensitivity, for example a coin of 50 centimos, the VDI begins to mark the numbering to 27cm in the air. The numbers do not jump as in other VDIs that I have tried. It is a very good project to begin with. Maybe you could add a bigger screen (GLCD), but you would have to change the PIC, because its memory is limited. Thanks to Roderico for having published the source code here, because there are many people in this forum who can contribute a lot in improving this beautiful project.
        A greeting.

        Comment


        • #5
          Originally posted by eduardo1979 View Post
          At last I have been able to test the VDI well. All switches work correctly. It had a small mass connection error and so it did not work. I can say that the VDI is wonderful, it goes very well and is also very stable. It has good sensitivity, for example a coin of 50 centimos, the VDI begins to mark the numbering to 27cm in the air. The numbers do not jump as in other VDIs that I have tried. It is a very good project to begin with. Maybe you could add a bigger screen (GLCD), but you would have to change the PIC, because its memory is limited. Thanks to Roderico for having published the source code here, because there are many people in this forum who can contribute a lot in improving this beautiful project.
          A greeting.
          It's good to know it works for you, I programmed the pic to have a lower power consumption and better reach. With my homemade coil I have some sign inversions (x and y) so to make more stable numbers for positive targets I added the option for -90,180 vdi range. As you mentioned, to use a graphical LCD or an OLED 128x64 display a pic with more memory would be probably needed depending of what you would like to display. The lcd driver and menu would need to be rewritten and maybe using a serial interface. Currently it only works with HD44780 compatible character displays, e.g. 8x2, 16x2, 16x4, 20x4... so you can use a 4 line LCD with minimal code change, e.g. displaying VDI, STR, name and battery voltage. Regards

          Comment


          • #6
            VDI indicator

            Originally posted by Artyom
            Good evening. Because You have come a long way in building an VDI indicator, I will tell you my thoughts. Did not try to make an indication of the VDI at a primitive level, two LEDs, one triggered by ferrous metals, the second one by color. This is more than enough, the main reliability))) So done in NEXUS.
            Artyom.
            Good evening, I think it is a very good idea, it would make the code more simple and we could use a smaller pic since there is no need for a LCD. However, the optimal parameters should be known before compiling a firmware.

            To make it more stable versus vdi sign changes, one could say if x and y have the same sign then we have a non-ferrous metal and a ferrous metal otherwise. This is equivalent to have vdi numbers in [-90, 90]. But one needs to be careful with the silver, that could go above 90. With 0 for a small foil of ~4x6mm might be sufficient, then a ferrite not too close to the coil should give around -75 and an average signal ground ~ -70. With these values a I got around +86 for a silver coin of 3.5mm diameter. Then to reject the ground signal -60 might be a good choice.

            I removed all the lcd code from the lcd version and compiled a two led version (attached below). It works as follows:

            - led red on -> ferrous metal (-60 < vdi < 0)
            - led green on -> then non-ferrous metal (0 <= vdi < 90)
            - both leds on -> then op-amp in saturation (e.g. object too close to the coil)

            If a led is flashing when there is no metal object close to the coil, then there is a connection or noise problem in the pcb (e.g. breadboard). To calibrate it with a small foil you need to find the point where the led green turns off and the led red turns on.

            I used 20mV as a threshold for a signal as a starting point (more sensitivity less stability), and did some tests with a PIC16F88 and PIC16F690, however I would not use them for this but a smaller PIC. So I also compiled the firmware for PIC12F683 and PIC12F675 which only have 8 pins but I couldn't test them (it should work as the P8. Anyway, I attached also the source code. Maybe someone would like to test it and make a video
            Attached Files

            Comment


            • #7
              LCD VDI v1.1

              I also ported the changes of the LED version to the LCD version to make it more stable versus vdi sign changes (especially for weak signals):

              - added [-90,90] interval for x,y equal or opposite signs
              - a VDI threshold which can be tuned for different soils (only enable for [-90,180] and [-90,90])
              - updated vdi ranges for display the name of the metal (although this is only a hint of what the metal could be because it depends on the thickness, size, alloy, etc. so it not very reliable):

              ferrous metal -60 < VDI < -2
              foil -2 <= VDI < 3 (calibration)
              nickel 12 <= VDI < 25
              cooper 46 <= VDI < 70
              aluminum 70 <= VDI < 80
              silver 80 <= VDI < 95

              and some code optimizations. I attach the firmware files and source code for PIC16F690/88 if someone would like to test it.
              Attached Files

              Comment


              • #8
                Hello Roderico. Is it possible to program Arduino uno with your VDI program?

                Comment


                • #9
                  Originally posted by NĂ¡ndor View Post
                  Hello Roderico. Is it possible to program Arduino uno with your VDI program?
                  Hello Nandor, yes it would be possible, but you need to redefine the pins and port the MPLAP XC8 code to the arduino compiler to create a compatible firmware, however, I think it will consume a lot of battery, see dbowers arduino experiments:

                  http://www.geotech1.com/forums/showt...uino-based-VDI

                  Comment


                  • #10
                    Originally posted by roderico View Post
                    Good evening, I think it is a very good idea, it would make the code more simple and we could use a smaller pic since there is no need for a LCD. However, the optimal parameters should be known before compiling a firmware.

                    To make it more stable versus vdi sign changes, one could say if x and y have the same sign then we have a non-ferrous metal and a ferrous metal otherwise. This is equivalent to have vdi numbers in [-90, 90]. But one needs to be careful with the silver, that could go above 90. With 0 for a small foil of ~4x6mm might be sufficient, then a ferrite not too close to the coil should give around -75 and an average signal ground ~ -70. With these values a I got around +86 for a silver coin of 3.5mm diameter. Then to reject the ground signal -60 might be a good choice.

                    I removed all the lcd code from the lcd version and compiled a two led version (attached below). It works as follows:

                    - led red on -> ferrous metal (-60 < vdi < 0)
                    - led green on -> then non-ferrous metal (0 <= vdi < 90)
                    - both leds on -> then op-amp in saturation (e.g. object too close to the coil)

                    If a led is flashing when there is no metal object close to the coil, then there is a connection or noise problem in the pcb (e.g. breadboard). To calibrate it with a small foil you need to find the point where the led green turns off and the led red turns on.

                    I used 20mV as a threshold for a signal as a starting point (more sensitivity less stability), and did some tests with a PIC16F88 and PIC16F690, however I would not use them for this but a smaller PIC. So I also compiled the firmware for PIC12F683 and PIC12F675 which only have 8 pins but I couldn't test them (it should work as the P8. Anyway, I attached also the source code. Maybe someone would like to test it and make a video
                    Good morning, Roderico. Thanks for the work done, but I'm not good at programming. You forgot to attach the indicator circuit.

                    Comment


                    • #11
                      Originally posted by Artyom View Post
                      Good morning, Roderico. Thanks for the work done, but I'm not good at programming. You forgot to attach the indicator circuit.
                      Good morning Artyom, you don't need to program it, it's already done. Please try with a 8-pin pic like the PIC12F683 or if you can find it, then PIC12F675. You need to upload the file VDI_LED_PIC12F683.hex into the pic with a pic programmer e.g. K150 or similar. The indicator circuit with the connections is included in the file firmware-led-1.0.zip, it's the pdf file PIC12F683.pdf. However, I don't have the pcb layout, but it can be done easily modifying one of the pcb layouts posted in the forum, maybe someone could post a small pcb layout file with THT components for the pic12f683...

                      Comment


                      • #12
                        Do you have a video about your working VDI? looks very interesting

                        Comment


                        • #13
                          led vdi v1.0

                          I've also made the missing pcb layout to complete the led vdi version, preferably to be used with a PIC12F683 since it has more memory than the PIC12F675, but it should also work also this one. I attached all the required files in a single zip file:
                          Attached Files

                          Comment


                          • #14
                            Originally posted by NĂ¡ndor View Post
                            Do you have a video about your working VDI? looks very interesting
                            Unfortunately I don't have any video, however there are some images also in the IDX-PRO thread:
                            http://www.geotech1.com/forums/showt...RO-VDI/page147

                            Comment


                            • #15
                              well done ! You should also add adjustable display time. As in the previous version.
                              Now the VDI number is displayed all the time and is not good.

                              Comment

                              Working...
                              X