dtmfout problem


Closed Thread
Results 1 to 23 of 23

Thread: dtmfout problem

  1. #1
    Join Date
    Sep 2006
    Posts
    747

    Default dtmfout problem

    Hello,

    I finally got my circuit working... well almost.
    I use a pic chip with picbasic pro, I output DTMF and this goes through a filter shown in picbasic manual:
    http://www.melabs.com/resources/pbpmanual/5_17-5_21.htm
    From my scope I can see some 40v spike at the pin output and after the filter I do not see much maybe a few volts.
    This goes directly to an audio transformer.
    Is it normal to have 40v spike (the signal looks pretty nice). WHen I put a modem speaker at the pin output I can hear the dialing and maybe a third in strenght (sound) after the filter. At the output of the transformer I have an AC 250v capacitor. The pichip dials my phone, and I receive maybe 50% of the calls.
    Should I be using the filter? (I am not using an amplifier as mentionned in the manual)
    Is the 40v good to put directly on the transformer?
    Also from the speaker I hear a lot of background noise

    thanks
    k

  2. #2
    Join Date
    Sep 2004
    Location
    montreal, canada
    Posts
    6,898


    Did you find this post helpful? Yes | No

    Default

    Any real circuit and code of that? Are you using 20MHz crystal?

    The noise is always there?
    Steve

    It's not a bug, it's a random feature.
    There's no problem, only learning opportunities.

  3. #3
    Join Date
    May 2004
    Location
    NW France
    Posts
    3,648


    Did you find this post helpful? Yes | No

    Lightbulb

    Hi,

    From the data I have here,...

    I see a damping 680 Ohm res. on the Pic side of the line trafo. ( // with the winding !!! )

    On the line side :

    in series with the primary :

    750 Ohms 2W // 1µF // TPJ ( to limit current to ~ 35 mA )

    Alain
    ************************************************** ***********************
    Why insist on using 32 Bits when you're not even able to deal with the first 8 ones ??? ehhhhhh ...
    ************************************************** ***********************
    IF there is the word "Problem" in your question ...
    certainly the answer is " RTFM " or " RTFDataSheet " !!!
    *****************************************

  4. #4
    Join Date
    Sep 2006
    Posts
    747


    Did you find this post helpful? Yes | No

    Default

    Hi,
    I am using 20Mz
    I think the problem is more hardware than software..



    code:/
    '*************************
    '* Alarm system dialer *
    '*************************


    '//////////////////////////////
    '// Pic chip configuration //
    '//////////////////////////////

    INCLUDE "modedefs.bas" 'Includes supoprt for PicBasic language
    @ DEVICE pic16F88,CCPMX_ON

    ' Setup Crystal oscillator Frequency to be used by PIC chip in MHz
    DEFINE OSC 20 'use external 20mhz crystal

    ANSEL = 1
    CMCON = 7 ' Turn OFF the comparators so pins can be used as digital I/O-pins

    '///////////////////////////////////////
    '// Screen initialization //
    '///////////////////////////////////////


    DEFINE LCD_DREG PORTB ' Set LCD Data port
    DEFINE LCD_DBIT 4 ' Set starting Data bit (0 or 4) if 4-bit bus
    DEFINE LCD_RSREG PORTA ' Set LCD Register Select port
    DEFINE LCD_RSBIT 2 ' Set LCD Register Select bit
    DEFINE LCD_EREG PORTA ' Set LCD Enable port
    DEFINE LCD_EBIT 3 ' Set LCD Enable bit
    DEFINE LCD_BITS 4 ' Set LCD bus size (4 or 8 bits)
    DEFINE LCD_LINES 2 ' Set number of lines on LCD

    DEFINE LCD_COMMANDUS 2500
    DEFINE LCD_DATAUS 250
    DEFINE CHAR_PACING 2000
    pause 2000


    '/////////////////////////
    '// PIN configuration //
    '/////////////////////////

    TRISA = %00011000 ' Set PORTA to all input
    TRISB = %11111111 ' Set PORTB to all output
    PortA = 0


    '///////////////////////////////////////////////
    '// Variable Declaration and initialization //
    '///////////////////////////////////////////////


    counter var byte
    i var byte
    counter=0


    '//////////////////////////
    '// Program starts here //
    '//////////////////////////

    Main:
    lcdout $FE,1, "Counter:",dec counter
    Pause 500

    if PortA.4=1 then
    counter=counter +1 'Counter at 1 dials phone number
    goto Dial
    endif

    if PortA.4=0 then
    counter=0
    goto Main
    endif

    '//////////////////////////
    '// End of program here //
    '//////////////////////////

    Dial:
    'Determine which number to dial and dials it

    lcdout $FE,1, "Dial:",dec counter
    Pause 500

    if counter =1 then 'begin counter loop
    if PortB.0 = 1 then GOSUB Dial1760 'cel
    if PortB.1 = 1 then GOSUB Dial4392 'Ken
    if PortB.2 = 1 then GOSUB Dial9130 'Donald
    if PortB.3 = 1 then GOSUB Dial758 'Lyne
    Else
    counter =1
    goto Main
    endif 'end counter loop

    Pause 1000 'pause for 1 seconds
    if (counter > 1) or (counter =0) then counter =1

    'Keep counter to 1 after dialing, otherwise the program will keep dialing the number
    ' Will only redial if counter goes back to 0, that is alarm siren off

    goto Main



    '*************** subroutine here ********************
    Dial1760: 'cel
    lcdout $FE,1, "dialing1760 ",dec counter
    Pause 500
    PortA.1 = 1
    pause 3000
    DTMFOUT PortA.0, [5,1,4,4,4,4,4,4,4,2]
    pause 4000 'Pause 4 seconds
    DTMFOUT PortA.0, 20000,0, [5]
    pause 2000 'Pause 2 seconds
    PortA.1 = 0
    return

    end

    /end code

  5. #5
    Join Date
    Sep 2006
    Posts
    747


    Did you find this post helpful? Yes | No

    Default

    I think I might got the probe switch to 10x instead of 1x.. that would explain the 40v. I will check it once I get home...
    if so I guess I would have would have something like 3.7v output peaks on the pin.

  6. #6
    Join Date
    Sep 2006
    Posts
    747


    Did you find this post helpful? Yes | No

    Default

    Ok , the scoipe was set at 100x. now I read 4v at the output, but still a lot of noise after the filter, and only dials 50% of the times

    k

  7. #7
    skimask's Avatar
    skimask Guest


    Did you find this post helpful? Yes | No

    Default

    Quote Originally Posted by lerameur View Post
    but still a lot of noise after the filter, and only dials 50% of the times
    k
    Well, the PBP manual does say that any 'sound' output from the PIC, being 1-bit analog, is going to be 'noisy', a lot of harmonic content. And I would think that even if it's filtered well, it would still have a load of 'noise' in it. A low-pass 'brick wall' filter, with a steep 'slope/cutoff', with the -3db point set just above your highest frequency might handle that.
    I guess I'm not really sure. I haven't relied on the PIC to do much sound (other than moving MP3 data back and forth for a player).

  8. #8
    Join Date
    Sep 2006
    Posts
    747


    Did you find this post helpful? Yes | No

    Default

    I was initially thinking of going with a specialized DTMF chip. They are hard to get around here

  9. #9
    skimask's Avatar
    skimask Guest


    Did you find this post helpful? Yes | No

    Default

    Quote Originally Posted by lerameur View Post
    I was initially thinking of going with a specialized DTMF chip. They are hard to get around here
    I wouldn't think you'd need a special chip...just maybe brush up on some filter design techniques. After all, what you're trying to do has been done probably hundreds of times before. No reason why you can't do the same thing...

    And also...

    Here == ???????????????

  10. #10
    Join Date
    Jul 2003
    Location
    Colorado Springs
    Posts
    4,959


    Did you find this post helpful? Yes | No

    Default

    I'm not sure what affect it will have on DTMFOUT, but you have ....

    ANSEL = 1

    Which puts PORTA.0 in Analog mode.
    And that's the DTMF pin.

    Might try ...

    ANSEL = 0
    <br>
    DT

  11. #11
    Join Date
    Sep 2006
    Posts
    747


    Did you find this post helpful? Yes | No

    Default

    that did not work,
    everytime a DTMF comes out, its like someone was blowing air at the same time.. from what I can hear from the speaker.
    if I choose to do a low pass filter, what would you suggest my cut off frequency be?
    Last edited by lerameur; - 8th May 2008 at 03:17.

  12. #12
    skimask's Avatar
    skimask Guest


    Did you find this post helpful? Yes | No

    Default

    Quote Originally Posted by lerameur View Post
    if I choose to do a low pass filter, what would you suggest my cut off frequency be?
    Well, since DTMF freq's run from 697Hz to 1633Hz (reference Wikipedia), shooting for 1634 would be a good bet, but probably not practical. I'd tend to think that a 'brick wall' above 2KHz would do it.
    And I'd also be willing to bet that the 'air' you are hearing is in fact aliasing of the fundamental tone due to the numerous harmonics caused by the square wave output of the PIC.

  13. #13
    Join Date
    Mar 2006
    Location
    China
    Posts
    266


    Did you find this post helpful? Yes | No

    Default Low pass

    Hi,

    What do you plan to design the filter? RC? OP-amps? LC? go for a filter chip?

  14. #14
    Join Date
    Sep 2006
    Posts
    747


    Did you find this post helpful? Yes | No

    Default

    I dont know yet, but I remember some chip requires +15 and 15- supply , I only have about 6 or 7v supply.
    I tried a single stage RC, with 0.2uF and 400ohms, that did not do anything..

  15. #15
    skimask's Avatar
    skimask Guest


    Did you find this post helpful? Yes | No

    Default

    Quote Originally Posted by lerameur View Post
    I dont know yet, but I remember some chip requires +15 and 15- supply , I only have about 6 or 7v supply.
    I tried a single stage RC, with 0.2uF and 400ohms, that did not do anything..
    .2uF & 400 ohm gives you an RC time constant of 12.5Khz. (.2/1000000 * 400 = .00008, 1/.00008 = 12,500)
    It might work a bit better if you had a bit more cap's and a bit less resistor, say 40 ohms instead of 400, which would give you an RC time constant of 1.25Khz. And since you're trying a single stage RC filter, the roll-off would be fairly shallow, so 1.25Khz may work out fairly decent.
    My suggestion...get a copy of 'The Art of Electronics'. It's one of my 'Good Books', take it with me on every trip I take, page thru it all the time. A few good sections on filters, op-amps, etc.etc.etc.

  16. #16
    Join Date
    Sep 2006
    Posts
    747


    Did you find this post helpful? Yes | No

    Default

    ok look at this pdf:
    AN6_DTMF_gen.pdf
    search for it on google, last page shows the calculation i did.

    aslo, when I used my 0.2uF cap. I decided to switch to a variable 2k pot, went through all the resistance values pretty quicky. The only thing this did is to increase or decrease the overall sound level, kind of a volume control.

  17. #17
    Join Date
    Mar 2006
    Location
    China
    Posts
    266


    Did you find this post helpful? Yes | No

    Default Just what I thought :-)

    Hi,

    The things you have seen is just what I have seen too. RC filters are not that successful in making Low Pass filters since they dont this nice sudden cutoff FQ.

    these links will get you some help designing an active filter.

    http://www.microchip.com/stellent/id...cName=en010007

    http://www.national.com/appinfo/amps...h_filters.html

    There are many Op-amps that can be used with a single 5V supply. This way you get an active filter with very sharp cutoff FQ.

    /me

  18. #18
    Join Date
    Sep 2006
    Posts
    747


    Did you find this post helpful? Yes | No

    Default

    that is pretty cool software from microchip.
    One thing though, they show all parts excepts for the op amp, can I use 741 op amd or any similar amp with a 5v supply?

  19. #19
    Join Date
    Sep 2006
    Posts
    747


    Did you find this post helpful? Yes | No

    Default

    I finished my low pass filter but I realized one other thing wrong with my circuit.
    I do not read good frequencies with my scope, maybe it is because of DTMF, this is the first time working with this this. I posted a screen capture of my scope while the dtmfout id dialing 5 constantly.
    http://www3.sympatico.ca/lerameur/LPF/
    The scope shows under 10hz... is this a good output for dtmf ?
    is this good for dtmf, I do not get any better result with my low pass filter added..

  20. #20
    Join Date
    Mar 2006
    Location
    China
    Posts
    266


    Did you find this post helpful? Yes | No

    Default Try to

    Try to connect a small speaker to the pin... I usually use normal external PC-speakers with built in amplifier and just connect GND straight and a capacitor in serie with the pin for the signal wire. Then you can compare 5 5 5 5 5 5 5 5 5 5 from the PIC with the beginning of Homer Simpson's phone number 555- dialed on your normal phone.

    Some signals is really hard to measure with a scope.... plan B which I also tend to use alot is to take a normal windows audio sampling program and use the PC microfon to sample it. Most softwares allows the wave to be shown and you can also zoom in and out... here you can try to call Homer again to get a reference.

    Who will go crazy first? You or your neighbour?

    Don't call Moe......


    /me

  21. #21
    skimask's Avatar
    skimask Guest


    Did you find this post helpful? Yes | No

    Default

    Quote Originally Posted by lerameur View Post
    I do not read good frequencies with my scope, maybe it is because of DTMF, this is the first time working with this this. I posted a screen capture of my scope while the dtmfout id dialing 5 constantly.
    Are you set for AC or DC coupling on the 'scope?

  22. #22
    Join Date
    Sep 2006
    Posts
    747


    Did you find this post helpful? Yes | No

    Default coupling

    I tried both DC and Ac and I get the same result, ground coupling gives me nothing.
    ken

  23. #23
    Join Date
    Mar 2003
    Location
    Commerce Michigan USA
    Posts
    1,166


    Did you find this post helpful? Yes | No

    Default

    lerameur, Attached is the DTMF filter I use on the remote links I have designed and the repeater controller as well as the 6 channel voter for an amateur radio system here in detroit. Try it....

    Dave Purola,
    N8NTA
    Attached Images Attached Images

Similar Threads

  1. Button problem driving me crazy!! Please help!
    By bearpawz in forum mel PIC BASIC Pro
    Replies: 11
    Last Post: - 20th November 2007, 14:46
  2. USART Problem , but don't know where, in pc? or in PIC?
    By precision in forum mel PIC BASIC Pro
    Replies: 0
    Last Post: - 15th July 2007, 08:12
  3. Microcode Studio 18f2455 problem?????
    By volkan in forum mel PIC BASIC Pro
    Replies: 11
    Last Post: - 21st May 2007, 21:04
  4. 1 slave 1 master 1 MAX232 1 problem ?
    By SuB-ZeRo in forum mel PIC BASIC Pro
    Replies: 19
    Last Post: - 31st July 2005, 22:59
  5. PORTA.PinNo = 1 ' problem
    By frank small in forum mel PIC BASIC Pro
    Replies: 3
    Last Post: - 6th May 2004, 14:30

Members who have read this thread : 0

You do not have permission to view the list of names.

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts