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 :