Announcement

Collapse
No announcement yet.

PI CHIP

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

  • HI Moodz, Mick, everybody. I spent most of the day working on a Prototype board for the dspic30F4011 Schematic in post #85. I am using the RadioShack 276-170 (I like these because they are set up like a breadboard) Looking forward to experimenting

    Dave Frank

    Comment


    • Originally posted by moodz View Post
      Sorry to hear that Mick ...are you sampling at 15 us ? ...... I am working on the frontend blocking FETs at the moment. Ferrous / non Ferrous descrim is working really well .... I am trying to work out how to encode the descrim AND the target ( yes / no ) in the audio channel.

      moodz.

      Hi Paul, I'm actually back working on a diff front end at the moment. I'm running the FET at 5volts and an OP37 running as the diff amp then into the 4066 and LM358. I'm now getting the about 15cm on a piece of tin plate about 5cm X 5cm, still poor.

      What program are you using to draw the schematic's your posting because I might do my schematic and PM it to you so you can have a look.




      Mick

      Comment


      • Originally posted by mickstv View Post
        Hi Paul, I'm actually back working on a diff front end at the moment. I'm running the FET at 5volts and an OP37 running as the diff amp then into the 4066 and LM358. I'm now getting the about 15cm on a piece of tin plate about 5cm X 5cm, still poor.

        What program are you using to draw the schematic's your posting because I might do my schematic and PM it to you so you can have a look.

        Mick
        Eagle.

        moodz

        Comment


        • Mick
          would you be interested in posting your schematic here ?

          Comment


          • I'll post up a schematic as soon as I can.



            First things first, I have noticed jitter on the TX and sample pins, I'm only using an old 50mhz CRO but looking at say the TX output from the micro it seems to be jittering on the RHS of the screen. So I made up just a standard 555 timer circuit to check the cro and it displayed correctly. So I'm having some sort of issue with the micro section.



            Mick

            Comment


            • Originally posted by mickstv View Post
              I'll post up a schematic as soon as I can.



              First things first, I have noticed jitter on the TX and sample pins, I'm only using an old 50mhz CRO but looking at say the TX output from the micro it seems to be jittering on the RHS of the screen. So I made up just a standard 555 timer circuit to check the cro and it displayed correctly. So I'm having some sort of issue with the micro section.



              Mick

              Mick how much jitter are you seeing .. it should be 33 ns maximum .... I will have to rebuild the source with the crystal option for comparison .... the TX signal is not generated by code but chip hardware .. if there is still a jitter problem with crystal drive then that would mean there is a design flaw in the chip itself
              All the other timing is taken from the TX timing so this will jitter to some extent also.

              Paul.

              Comment


              • Paul, i'll try to explain what I'm seeing. Ok i've set the TX to 100us then on the CRO set to .1ms/Div I have 3 TX pulses on the screen the first 1 looks still the second pulse in the middle is moving about 8us then the last pulse is moving approx double.

                It's hard to explain it, wish I had a digital CRO.




                Mick

                Comment


                • G'day Guys,

                  That is jitter you are seeing. Scrap the internal oscillator, go crystal. It is important for a good low noise platform not to suffer from jitter. Once on my sd2000 I tried to make a vco so I had infinite adjustability on the operating frequency to be able to accurately tune out interference. The problem with the vco was it jittered. Although you could not notice this jitter in the threshold, the detector was not as sensitive as it should have been when compared to using a crystal of the exact same frequency.

                  Cheers Mick

                  Ps Digital crows are not the be all and end all! They will not pick up jitter easily, where as with an old clunker analog scope it will be very obvious, same goes for noise.
                  Last edited by Mechanic; 09-30-2011, 11:18 AM. Reason: added ps

                  Comment


                  • Hey Guys,

                    Just another thought. It would be worthwhile setting up a dummy program that just turns a pin on and off as fast as it can and then look at this pin on the scope. Try for a sweep speed that allows a lot of oscillations, so you can almost not identify the waveform, then use the X10 function on the sweep speed and look at the waveform at the far left of the trace and see if there is jitter there. If there is, it is oscillator jitter, if not, then something in the program. Thats why assembly is good. The damn chip does what you want exactly when you want, providing your code is correct!

                    Also I would be aiming for much higher resolution than 1us on your sample pulses. How are you effectively going to adjust for earth field cancellation? If 33ns is what the chip can do, then thats what the sample pulse resolution needs to be.

                    Cheers Mick

                    Comment


                    • Thanks Mick TV and Mech .... Ok I have poked around and there is some jitter there but not quite as bad as 8 us as reported ... though I dont dispute this.

                      I have added a 10 Mhz crystal to both the 4011 and the 4012 and they are running stable even though I have effectively overclocked by 33% from an internal MIPs of 30 to 40 ...I did this mainly to test the head room in the PLL multiplier .. so no problems there.

                      The TX pulse is generated by the fixed hardware in these chips ... apart from initialisation the code does not touch this hardware again .... so if there is jitter present on this pulse no amount of code will improve it.

                      The sample pulses are generated by interrupt code though ...

                      The sample pulses show a 2 - 4 us slip every 5 - 6 seconds ...however in this time a tremendous amount of cycles have been averaged. This points to a clash of interrupts .... I do update the LCD using interrupts and this may be clashing with the interrupt that drives the main sample pulses. There is a another no code way around this but I only thought of it after I wrote this lot and would have to change my processing loops a fair bit.

                      5 seconds x 32 mainloops x 16384 samples = 2.6 million samples processed.

                      I wont get too caught up with a chase for perfection as the timing is quite accurate for my purposes and the aim of this exercise is to develop all the parts of a working detector signal chain.

                      I have got to keep my eye on the main game and that is descrimination and depth with a monocoil format ... both of which I am very very close to nailing as soon as my blocking FETs start working properly ...actually I was going to do that tonight but have sidetracked into this jitter investigation not that it isnt important also.

                      I will put up the hex files with the changes for running with 10 Mhz crystals as soon as I change all the timing constants ( timing is set for 7.37 Mhz calculations )

                      moodz.

                      Comment


                      • Thanks for looking at it Paul. My div counting may have been a little wrong but still close. I'll put the detector on the back burner for now.

                        I did manage to get the diff frontend working better it can now detect a 3 gram lead sinker at about 17-20cm in air which is not too bad. just have to tidy up the wiring. The coil I made is just one pair out of a length of cat5 cable and about 22turns and about 25cm diameter.



                        Mick

                        Comment


                        • Originally posted by mickstv View Post
                          Thanks for looking at it Paul. My div counting may have been a little wrong but still close. I'll put the detector on the back burner for now.

                          I did manage to get the diff frontend working better it can now detect a 3 gram lead sinker at about 17-20cm in air which is not too bad. just have to tidy up the wiring. The coil I made is just one pair out of a length of cat5 cable and about 22turns and about 25cm diameter.



                          Mick
                          Thats not too bad Mick ... what would a surfpi get ? Anyway I have had the 10 Mhz version running whilst working on other bits here and it seems to be quite stable. Another good outcome is that the clock resolution is now 25 ns steps for sample pulses ....so you can dial up exact figures like 1.250 microseconds for example.

                          Paul.

                          Comment


                          • Originally posted by moodz View Post
                            Thats not too bad Mick ... what would a surfpi get ? Anyway I have had the 10 Mhz version running whilst working on other bits here and it seems to be quite stable. Another good outcome is that the clock resolution is now 25 ns steps for sample pulses ....so you can dial up exact figures like 1.250 microseconds for example.

                            Paul.

                            I have a surf pi type frontend partially built so i'll finish that over the weekend and see how it compares to the diff frontend.

                            I've found a 10mhz crystal and a couple of 22pf ceramics so I'll have them on standby once the code is finished and your happy with it.

                            25ns steps we won't need it any better than that.



                            Mick

                            Comment


                            • Originally posted by mickstv View Post
                              I have a surf pi type frontend partially built so i'll finish that over the weekend and see how it compares to the diff frontend.

                              I've found a 10mhz crystal and a couple of 22pf ceramics so I'll have them on standby once the code is finished and your happy with it.

                              25ns steps we won't need it any better than that.



                              Mick

                              Here is the 10 meg hex file ... I think I got all the timing updates OK . It has to run with 5 volts ... it will be a little unstable running the chip off the Pickit supply with the increased speed. Programming is ok though. The 10 meg crystal connects across the two osc in pins 9 and 10 .. disconnect the SATLOCK push button and pullup resistor. The two caps run to ground from each osc input.

                              Metal23_10MhzV2.hex.zip

                              Paul.
                              Last edited by moodz; 09-30-2011, 02:14 PM. Reason: forgot to attach the file ... doh and update serial bug

                              Comment


                              • Originally posted by moodz View Post
                                Here is the 10 meg hex file ... I think I got all the timing updates OK . It has to run with 5 volts ... it will be a little unstable running the chip off the Pickit supply with the increased speed. Programming is ok though. The 10 meg crystal connects across the two osc in pins 9 and 10 .. disconnect the SATLOCK push button and pullup resistor. The two caps run to ground from each osc input.


                                [ATTACH]16805[/ATTACH]
                                Paul.

                                Hi Paul, Thanks I'll load that in tomorrow and do the mods and see how it goes.



                                Cheers Mick

                                Comment

                                Working...
                                X