Announcement

Collapse
No announcement yet.

Convenient microcontrollers for PI project wanted.

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

  • #16
    Originally posted by Aziz View Post
    Hi Max,

    I have to wait until the beginning of the month, before I can order some parts: I am on welfare and have a very low budget per month for the development (~50 €).
    So the hardware complexity have to be dramatically reduced due to my financial situation. The software complexity does not cost me anything.

    I think, I will use very likely ATtiny2313 for dedicated timing logic. Other AVR µC (ATmega8 or smaller one) might be used for multi-tone output and man-machine-interface (user-inferface). This will reduce the total complexity of the hardware dramatically (no meter/LCD display, less switches and pots if possible).

    Using a very fast ADC in digital PI's makes not sense at all. The sampled signals will be interfered with noise in time-domain and they have to be filtered out anyway. The semiconductors for this purpose are very expensive and very difficult to get. So the averaging/differential integrators will work perfect.

    I will go a quite different way for PI technique:

    - reducing the transmit pulse power to reduce EMI and noise and also avoiding some inherent problems of FET's due to high flyback voltage. Also a problem with magnetic susceptibilty and saturation due to higher magnetic fields. My results are showing me, that there is a better way of performance instead of the brute-force-method (high coil current).

    - increasing the total battery live for more operating time

    - using new low noise amplifier and techniques to reduce noise

    - making the hardware as easy as possible to reduce the total number of active elements

    - using of external crystal clock generator with reduced jitter and timing-errors (very critical part)

    - increasing the number of pulses per second (PPS) (10k..15k or more)

    - decreasing the time delay after transmit power switch off to take advantage of faster dI/dt coil current decay (see Faraday's law)

    - using very fast, low capacitance coils and low power, ultra fast FET's

    All this stuff and more has to be reconsidered to avoid noise and drifting problems. I am sure, by increasing the signal-to-noise ratio by avoiding the brute-force method will gain more progress.



    Regards,
    Aziz
    Hi Aziz,
    it's interesting idea. You can gain xtal stability using uC with external xtal at oscillator pins, easy and effective. Some jitter will be there cause of some uC latency but I think will be at least an order of magnitude more stable than using e.g. NE555/556 like older PI's have done in past... an example is goldscanIV, very powerful device... but now obsolete about these parts, I mean voltage converter, timing and switching device, rest of integrators could be reused or give ideas about design.

    Increasing PPS will give you faster response and you'll get easy smaller stuff cause of skin effect combined with eddy currents there... consider that very good PIs by Eric Foster for beach hunting run in the 3KHz range +-200Hz(deepstarII) so using 10KHz will give fair results on small stuff.

    I think will be an interesting project.

    Kind regards,
    Max

    Comment


    • #17
      Hi friends,

      I got now my monthly welfare and I ordered some of AVR chips. Also the ATmega8 types for future development.

      Looking forward to make some experiments with new PI methods..
      I have lots of ideas and some could be sucessfull.
      Aziz

      Comment


      • #18
        Originally posted by Aziz View Post
        Hi friends,

        I got now my monthly welfare and I ordered some of AVR chips. Also the ATmega8 types for future development.

        Looking forward to make some experiments with new PI methods..
        I have lots of ideas and some could be sucessfull.
        Aziz
        Hi Aziz,
        nice to see you're going on for this project!

        Did you see there are a number of resources in german about ATmega/AVRs ?

        In english just a few are available for free...

        Hope to read good news soon... let me know if any problem with AVR tools... I'll try to give help if needed.

        Kind regards,
        Max

        Comment


        • #19
          Originally posted by Max View Post
          Hi Aziz,
          nice to see you're going on for this project!

          Did you see there are a number of resources in german about ATmega/AVRs ?

          In english just a few are available for free...

          Hope to read good news soon... let me know if any problem with AVR tools... I'll try to give help if needed.

          Kind regards,
          Max
          Hi Max,

          thanks for your offer. I downloaded many projects, docs, hints, etc. Also in german:
          http://www.mikrocontroller.net/
          http://www.myavr.de/index.php

          Programmer: mySmartUSB
          http://www.myavr.de/shop/article.php?artDataID=36

          There are a lot of infos on the Wiki in german.
          I will never have any problems. I am an experienced embedded systems engineer. But I have to read lots of pages...
          ;-)
          Regards,
          Aziz

          Comment


          • #20
            Found another ISP (in-system)-programmer:

            Very cheap to build with free software for poor man's:
            http://www.ikalogic.com/isp.php

            ;-)

            Comment


            • #21
              I got now the parts besides the ATtiny45. I got instead two relais. Darn!

              Anyway, I can start now with ATtiny2313, ATmega8, ATmega16 and ATmega32. I will order some other AVR chips and have to look for a cheap analog oscilloscope now.

              Now, it is getting very interesting.

              Comment


              • #22
                OK...now dont laugh on my question;
                why you insist on one uPC?
                How about using 2-3 PIC16F84's instead?
                One to controll LCD, one for timing and one for the audio generation and other indication?
                Ha?
                Those are cheapest choice, easy to programm, dozen DIY programmers already on the net.....dozen compilers,what else?
                Or any other from that familly?

                Comment


                • #23
                  Originally posted by ivconic View Post
                  OK...now dont laugh on my question;
                  why you insist on one uPC?
                  How about using 2-3 PIC16F84's instead?
                  One to controll LCD, one for timing and one for the audio generation and other indication?
                  Ha?
                  Those are cheapest choice, easy to programm, dozen DIY programmers already on the net.....dozen compilers,what else?
                  Or any other from that familly?
                  Hi ivconic,

                  I don't like the usual PIC architecture (former ones). The new dsPIC3x series would do more, but it costs a lot of for me. It has also too many pins (>=64 ?).

                  On AVR chips there are some important reasons:
                  - true RISC architecture
                  - orthogonal assembly language (easy to program)
                  - more efficient code and high processing speed
                  - true free software tools (I have a true gcc c/c++ for free now)
                  - very easy DIY and low-cost programmers also exist (RS232 / LPT port / USB)
                  - in-system programable (placed on the target)
                  - lots of applications and source codes
                  - well documented
                  - small size, less pins, flexible use, better for homebrewers
                  - low voltage/low power consumption
                  - cheap (1-2 $)

                  I intend to use at least two of AVR chips. One for timing and logic generation and another one for user interface. I think, the AVR chips are more convenient for this purpose.

                  Regards,
                  Aziz

                  Comment


                  • #24
                    But the main reason for AVR chips is:
                    50 ns cycle time on 20 MHz clock

                    PICs have 200 ns cycle time on 20 MHz clock.

                    The AVR's are four times faster then PICs with same clock.

                    PICs have darn banking! AVRs have flat adressing space.

                    So for very time critical operations, AVRs are more precisely, faster and better. That was the main reason for me!

                    Comment


                    • #25
                      Hi Aziz,

                      Do a google on ATXmega, they will be available Q4 2008. Some nice goodies like 12 bit ADC, 12 bit DAC, 32MHz clock speed, DMA etc.

                      regards
                      bugwhiskers

                      Comment


                      • #26
                        Originally posted by Aziz View Post
                        But the main reason for AVR chips is:
                        50 ns cycle time on 20 MHz clock

                        PICs have 200 ns cycle time on 20 MHz clock.

                        The AVR's are four times faster then PICs with same clock.

                        PICs have darn banking! AVRs have flat adressing space.

                        So for very time critical operations, AVRs are more precisely, faster and better. That was the main reason for me!

                        I am pretty ignorant on this subject. But i made Propic II programmer long time ago and already programmed dozen c and f '84s so far, as well as 12c508 and 12c509. Also made Ponyprog, more convinient for eeproms...
                        At the time programmer for avr's was more complex so that was the main reason why i stuck to pics...
                        But problem is not programming chips...my problem is not knowing language and rules when writing code for those...
                        So...
                        I agree with you, small avr's are more powerfull than small microchips..

                        Comment


                        • #27
                          Hi,
                          now the AVRs world is easy about things required...tools...

                          There are many ready made programmers... some with ISP (in-system-programming) ports/cables, other with just some zif sockets and others, better, that have also in system debugging abilities...

                          Costs vary much for ready made ones... usually Atmel compliant progs are with ISP and ISD stuff , costs usually some hundreds euros.

                          Easy progs have just sockets... you need to put device there like with PICs... in propic stuff and then program and so remount mcu in the circuit: they costs around 20-50eur depending where you buy... there are some from bulgaria, nice stuff, that costs around 15-20eur... some from china I saw at 12eur in a shop and also in ebay...others for 25-50eur western made...

                          The poor man solution is often more easy and effective: using an ISP cable connected to a PC port... usually the parallel port, but there are also serial, usb etc

                          I've made 3-4 of them mostly for fun... are easy and require very few stuff: a paralel cable, some resistors, connectors... that's all. Maybe 2-5eur to make one ?

                          So, there are for every taste... for every needs and for every wallet...
                          Sure I made also PICs ones... but I still think small AVRs offer the best tradeoff also about programmers.

                          If you sum this with the fact you get development software for free (really, not as with PICs) you have a powerful mcu development platform for about free! And devices cost really few also... Atmels are a bargain compared with other stuff... at same MIPS range.

                          The most difficault part is about writing software... at least at a good level. There are average (simplified) solution... like Arduino-cards (they have an AVR and ISP connector...) that use simplified commands/language hi-level...
                          It's so easy to deal with that big artists use them today... for e.g. controlling leds (many thousands also) on some masterpiece... and if an artist can use them, belive me, anyone can...I mean, without being a computer guru.

                          The problem for use them in MDs... is that you MUST program by C/Assembly or you'll get lost in space with masked details by higher levels tool command instructions.

                          Kind regards,
                          Max

                          Comment


                          • #28
                            Hi Aziz,

                            One of the "problems" with micro controlling a PI is the micro sits between +5 and gnd and the mosfet/coil sit between ground and some minus voltage. As the micro can only swing outputs between +5 and gnd it's a small problem to level shift the signal. The attached pic shows an easy method that works very well. Add a 10k/10k resistor divider from +5 to gnd with the junction going to the + input and one of the micro's output pins to the minus input. Put a 1k resistor from the output to ground (as shown) and the output will very happily swing the mosfet gate between gnd and the minus voltage. An extremely elegant solution that works very well.

                            regards
                            bugwhiskers
                            Attached Files

                            Comment


                            • #29
                              Why not just use a single level-shift transistor?

                              Comment


                              • #30
                                Carl is right!

                                I personally use this:
                                Click image for larger version

Name:	MOSFET DRIVER.GIF
Views:	1
Size:	4.9 KB
ID:	320710

                                Regards,
                                1843

                                Comment

                                Working...
                                X