Elektroda.pl
Elektroda.pl
X
Proszę, dodaj wyjątek dla www.elektroda.pl do Adblock.
Dzięki temu, że oglądasz reklamy, wspierasz portal i użytkowników.

Generowanie numeru telefonicznego za pomocą ATMegi16 :/

29 Kwi 2006 14:58 2633 9
  • Poziom 10  
    Witam,

    Ktoś wie lub może podać linka do jakiegoś scheamtu przedstawiającego
    w jaki sposób generować za pomocą procesora AVR (np. ATMega) tony
    DTMF by można było wybrać numer telefoniczny (symulacja telefonu
    tonowego)? Chodzi mi o schemat ideowy takiego podłączenia razem ze
    schematem podpięcia do linii telefonicznej.

    No bo mój sposób podłączenia nie działa...

    Mam taką procedurkę do wybierania numeru telefonu przez DTMF:

    For A = 1 To B
    Readeeprom C , A
    Dtmfout C , 200
    Locate 2 , Pos_lcd
    Lcd C
    Incr Pos_lcd
    Waitms 800
    Next A

    Cyfry są wybierane poprawnie, gdyż od razu wyświetlam tę cyfrę na
    LCD.

    W słuchawce równolegle podłączonego telefonu słyszę, że numer jest
    wybierany ale zaraz po 4 cyfrze słyszę "Wybrany numer jest za
    krótki", a numer jest wybierany dalej aż wszystkie cyfry zostaną
    wybrane. Numer jest formatu 050XXXXXXX - komórka w POP'ie.
    Ekperymentowałem z różnymi wartościami długości tonu i odstępami,
    niestety nic to nie dało :/

    Dzisiaj wykonałem kolejny test - w programie jako numer
    zaprogramowałem tylko "0". Porównałem też sygnał na linii przy
    wybieraniu 0 z telefonu i z mojego ukladu - z mojego telefonu jest
    kompletnie ignorowane, ale na linii go slychać - tyle, że jest
    znacznie cichsze niż to z telefonu.

    Procedura z Bascoma jest na pewno dobra, na różnych forach pisali
    ludzie że nie mają z nią żadnego problemu i że generuje poprawne
    tony. Nie wiem więc czym to może być spowodowane. W załączniku na
    wszelki wypadek załączam również schemat podłączenia procesora do
    linii telefonicznej (gniazdko u dołu PDF'a) - może coś w reszcie
    podłączenia jest źle? W sumie nie powinno być źle, bo sygnał
    wybierania numeru słyszę przy podniesionej słuchawce, jednak jest on
    trochę inny od wybieranego z telefonu...

    Ponadto uważam że połączenie elektryczne układu z linią jest dobre z
    tego powodu, że jak podczas alarmu równolegle podniosę słuchawkę i
    zadzwonię pod numer jakiś i wtedy z tego numeru steruję alarmem, to
    faktyczNie sterowanie przez telefon działa. Czyli w chwili obecnej muszę
    "symulować" dzwonienie równolegle podłączonym telefonem (w tym czasie
    co wpoinien dzownić alarm), a nastepnie odbieram np. komórkę i za pomocą
    komórki steruję alarmem - wszystko jest ok. Czyli samo podłączenie do linii
    telefonicznej układu MT8870PI (dekodera DTMF) jest prawidłowe - oraz ogólnie
    sam schemat w znacznej części też jest prawidłowy - nie wiem tylko czy
    prawidłowe jest podłączenie procesora do linii telefonicznej (bo to
    właśnie procesor generuje numer za pomocą wewnętrznego timera i wyrzuca go
    na linię telefoniczną za pomocą pinu OC1A (jak widać to na załączonym schemacie).
    Po podpięciu procka do linii oczywiście mamy prawidłowe napięcie w chwili
    podniesienia słuchawki (12V) - stabilizowane przez diodę Zenera.

    Co więc może być powodem złego wybierania numeru? Za mała amplituda tonu?
    Ktoś może ma schemat jak powinno się generować tony DTMF za pomocą procka
    i wysyłać na linię telefoniczną?

    I czy ktoś może potwierdzić, że mój schemat jest dobry lub zły (a jeżeli zły
    to dlaczego)?

    Schemat znajduje się pod adresem :
    http://www.orinoco.host.sk/plyta.pdf

    Dziękuję za informacje.

    Aha - nie klikajcie tego linka ze schematem bo bedzie "404 Forbidden!", tylko skopiujcie i wklejcie do paska nawigacji przeglądarki.
  • Pomocny post
    Poziom 38  
    Witam poczytaj sobie pdfa do UM91531 jest to generator DTMFu i tam znajdziesz czasy i kształty. ja zrobiłem dialer na tym UM91531
    Pozdrawiam

    Dodano po 4 [minuty]:

    Amplitude tonu jest dobrze dobrać na oscyloskopie podglądając ją z telefonu stacionarnego
  • Specjalista techniki cyfrowej
    Może być coś nie tak z amplitudą, może to też być wina częstotliwości harmonicznych generwanych przez PWM (bo o ile dobrze pamietam to bascom uzywa wlasnie tej metody). Chociaż dekodery DTMF w centrali powinny być 'z natury' nieczułe na harmoniczne (filtry). Zobacz, może dodanie filtru dolnoprzepustowego poprawi sytuacje.

    Spróbuj jeszcze nagrać taki sygnał przez wejście line-in w komputerze (tylko pamiętaj, żeby go odpowiednio wytłumić, do chyba max. 1V p-p, a lepiej mniej). Obejrzyj sobie sygnał, a najlepiej wrzuć na forum. Tylko jak będziesz nagrywał, to filtr dolnoprzepustowy na wyjściu jest już raczej koniecznością, w przeciwnym razie będzie straszny "syf" z aliasingu.
  • Poziom 19  
    Czy nie lepiej użyć gotowego układu? Musi być koniecznie ATmega ?
  • Poziom 10  
    pgp napisał:
    Czy nie lepiej użyć gotowego układu? Musi być koniecznie ATmega ?


    To znaczy ATmega to jest procesor który steruje pracą całego alarmu itd. Natomiast gdyby był jakiś gotowy układ (koder DTMF), który bym mógł przyłączyć do ATmegi i za pomocą niego generować sygnały DTMF oraz jak ktoś wie jak go podłączyć to jak najbardziej :)

    Pozdrawiam.
  • Poziom 19  
    znalazłem na www.tme.pl ukłądziki :MT8870 oraz MT8880DIP . Myślę że do tego własnie służą... jeden z nich to odbiornik a drugi nadajnik dtmf.
  • Pomocny post
    Poziom 2  
    Skoro układ ma zarówno nadawać jak i odbierać DTMF to może warto użyć kostki MT8880 (CM8880) - koszt około 25 pln.
    Opis tego scalaka w języku PL jest na http://www.mojaelektronika.as.pl/59.htm
    Zastosowałem go w swoim projekcie i spisuje się nieźle :) . Do połączenia układu z linią telefoniczną wykorzystałem transformatorek z uszkodzonego modemu.

    Dodano po 3 [minuty]:

    pgp napisał:
    znalazłem na www.tme.pl ukłądziki :MT8870 oraz MT8880DIP . Myślę że do tego własnie służą... jeden z nich to odbiornik a drugi nadajnik dtmf.

    drugi to nadajnik i odbiornik
  • Poziom 19  
    no tak - mała pomyłka z pospiechu..., i tak trzeba przeciez zajrzeć do dokumentacji przed kupnem...
  • Pomocny post
    Poziom 38  
    Witam jeśli chodzi o podłączenie do linii to można też zrobić przez mostek prostowniczy i jeden tranzystor. Wartości 68K ustala napięcie na linii przy połączonym układnie a 62 kilo ustawia poziom DTMF Wartości są dobrane do UM91531 i sprawdzone na oscyloskopie. Odłączenie od linii zrobiłem odłączając innym tranzystorem emiter tego BC547 od masy. Pozdrawiam i powodzenia
    Rozszerzenie należy zmienić zip na BMP bo robiłem formata i jeszcze niemam programów zainstalowanych (Brak czasu)
  • Poziom 10  
    Już projekt działa - ktoś mi napisał tak:

    ==========================================================================
    Powodem jest dioda D7 która jak tylko może tłumi generowany wyjściem PWM
    sygnał.

    Z tego scheamtu:

    Zamień D7 na 4,7V (będzie zabezpieczała wyjscie procesora)
    Wylutuj mostek BR2 dając zworkę pomiędzy 3-4
    Wlutuj C7 w miejsce 1-2 mostka
    Wstaw zworkę w miejsce C7
    ==========================================================================

    Zrobiłem według jego uwag i wszystko działa :D :D :D