Wybieranie numeru po DTMF za =?iso-8859-2?Q?pomoc=B1?= procesora
Masz problem? Zapytaj na forum elektroda.pl
From: ****************** <orinoco_at_nospam_host.sk>
Subject: Wybieranie numeru po DTMF za =?iso-8859-2?Q?pomoc=B1?= procesora
Date: Sat, 29 Apr 2006 14:45:44 +0200
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.
--
http://www.orinoco.host.sk
Unofficial ORiNOCO Support Page including ORiNOCO USB Classic Client
Simply the best!!!
From: "William" <nie_at_nospam_ma.mnie.pl>
Subject: Re: Wybieranie numeru po DTMF za pomocą procesora
Date: Sat, 29 Apr 2006 15:40:01 +0200
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ą?
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
From: ****************** <orinoco_at_nospam_host.sk>
Subject: Re: Wybieranie numeru po DTMF za =?iso-8859-2?Q?pomoc=B1?= procesora
Date: Sat, 29 Apr 2006 16:07:07 +0200
Dnia Sat, 29 Apr 2006 15:40:01 +0200, William napisał(a):
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
Dzięki za informację, tylko nie wiem czy dobrze zrozumiałeś działanie tego
układu:
1. Układ MT8870PI służy jedynie do dekodowania sygnału DTMF, który
przychodzi linią telefoniczną (i zamianę tego sygnału na postać cyfrową) -
układ ten to robi znakomicie, jak na linię telefonem podam np. klawisz "3"
to MT8870PI odczytuje "3" i podaje to do procka, co procek sygnalizuje.
2. Numer w celu zadzwonienia na komórkę jest wybierany bezpośrednio przez
procesor za pomocą wewnętrznego licznika Timer1, a procedura DTMFOUT
powoduje wyjście tego sygnału wybierania numeru poprzez wyjscie OC1A
procka. Tak więc obecnie wybierany sygnał idzie z procka przez C7, R20,
potem jest stabilizowany na 12V przez D7, potem R19, BR2, R21 i na linię
telefoniczną - tak idzie obecnie generowany sygnał (tak przynajmniej myślę)
)
Jak zmienię D7 na 4,7V, to wtedy obetnę napięcie na linii telefonicznej na
5V podczas podłączania alarmu (a jak się podnosi słuchawkę telefonu to ma
być 12V):) Przedtem nawet tu miałem diodę 5,1V, ale rezultat był ten sam
więc zmieniłem na 12V.
Tak więc czy powyższe uwagi są nadal aktualne, czy może źle zrozumiałeś
zasadę działania, a może ja tego nie rozumiem? ;)
--
http://www.orinoco.host.sk
Unofficial ORiNOCO Support Page including ORiNOCO USB Classic Client
Simply the best!!!
From: ****************** <orinoco_at_nospam_host.sk>
Subject: Re: Wybieranie numeru po DTMF za =?iso-8859-2?Q?pomoc=B1?= procesora
Date: Sun, 30 Apr 2006 23:07:24 +0200
Dnia Sat, 29 Apr 2006 15:40:01 +0200, William napisał(a):
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
Wielkie dzięki!!!!!!!!!!!!!!!!!!
Działa :D :D :D :D :D
--
http://www.orinoco.host.sk
Unofficial ORiNOCO Support Page including ORiNOCO USB Classic Client
Simply the best!!!
From: J.F. <jfox_xnospamx_at_nospam_poczta.onet.pl>
Subject: Re: Wybieranie numeru po DTMF za pomocš procesora
Date: Sat, 29 Apr 2006 15:59:22 +0200
On Sat, 29 Apr 2006 14:45:44 +0200, **************** wrote:
For A = 1 To B
Readeeprom C , A
Dtmfout C , 200
Locate 2 , Pos_lcd
Lcd C
Cyfry są wybierane poprawnie, gdyż od razu wyświetlam tę cyfrę na
LCD.
lcd c to chyba przyjmuje znak w ASCII, a dtmfout tez wymaga ascii ?
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 pobaw ty sie zwyklym telefonem - co trzeba nacisnac zeby
uzyskac taki efekt ?
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.
To moze po prostu za ciche ? centrala nic nie lapie ?
Jakie masz napiecie na D7 ? jak 12V to zenerka otwarta i tlumi sygnal.
Jak mniejsze .. to mam watpliwosci czy diody w mostku otwarte ..
moze przerzucic R21 rownolegle do D7 i zmniejszyc R19.
J.
From: ****************** <orinoco_at_nospam_host.sk>
Subject: Re: Wybieranie numeru po DTMF za =?iso-8859-2?Q?pomoc=B9?= procesora
Date: Sat, 29 Apr 2006 16:12:21 +0200
Dnia Sat, 29 Apr 2006 15:59:22 +0200, J.F. napisał(a):
Jakie masz napiecie na D7 ? jak 12V to zenerka otwarta i tlumi sygnal.
Jak mniejsze .. to mam watpliwosci czy diody w mostku otwarte ..
moze przerzucic R21 rownolegle do D7 i zmniejszyc R19.
12V jest na D7 :)
--
http://www.orinoco.host.sk
Unofficial ORiNOCO Support Page including ORiNOCO USB Classic Client
Simply the best!!!