Telit modem sms sorunu

Başlatan nily, 02 Haziran 2013, 11:21:52

MrDarK

Başka bir sorun olmalı ,

Öncelikle tekrar söylemem gerekirse şebeke aldığından emin olmanız gerek devrenin , Cihazı açın MCU'ya 30 saniye gecikme koyun cihaz açılışında , 20.saniye gibi anlarda taktığınız sim kartı arayarak şebeke alıp almadığını kontrol edin,

Aslında daha kolay bir yolu var MCU ile AT+CREG? yazıp cevabın 0,1 geldiğini kontrol edebilirsin ama kod olarak yazamıyorsan bu şekildede test edebilirsin.

Eğer telefon çalıyorsa sms'de gönderebilmeli,

Gönderme komutlarında problem yok muş gibi görünüyor. Başka bir sıkıntı olmalı o yüzden TELIT'den gelen tüm cevapları değerlendirmeniz gerekir MCU tarafında, gecikmelerle kod yazamazsınız.
Picproje Eğitim Gönüllüleri ~ MrDarK

nily

Alıntı yapılan: MrDarK - 02 Haziran 2013, 21:09:47
Başka bir sorun olmalı ,

Öncelikle tekrar söylemem gerekirse şebeke aldığından emin olmanız gerek devrenin , Cihazı açın MCU'ya 30 saniye gecikme koyun cihaz açılışında , 20.saniye gibi anlarda taktığınız sim kartı arayarak şebeke alıp almadığını kontrol edin,

Aslında daha kolay bir yolu var MCU ile AT+CREG? yazıp cevabın 0,1 geldiğini kontrol edebilirsin ama kod olarak yazamıyorsan bu şekildede test edebilirsin.

Eğer telefon çalıyorsa sms'de gönderebilmeli,

Gönderme komutlarında problem yok muş gibi görünüyor. Başka bir sıkıntı olmalı o yüzden TELIT'den gelen tüm cevapları değerlendirmeniz gerekir MCU tarafında, gecikmelerle kod yazamazsınız.


Yardımlarınız için teşekkür ediyorum gecikme ekleyip aradım şebeke vardı ışık sürekli yandı fakat sms gönderme işinde hala bir ilerleme olmadı. Acaba baud değerlerinden kaynaklanıyor olabilir mi? rs232 de 9600 olarak tanımlamıştım.

MrDarK

Telit Modem eğer kod yazmazsanız otomatik olarak baudrate bulur ;

Yalnız şu kodları önden göndererekte baudrate ayarlayabilirsiniz,

AT+IPR=9600

Eğer sizin baudrate'iniz 9600 'dan farklıysa değerine göre değiştirin.

Picproje Eğitim Gönüllüleri ~ MrDarK

nily

Alıntı yapılan: MrDarK - 02 Haziran 2013, 21:30:45
Telit Modem eğer kod yazmazsanız otomatik olarak baudrate bulur ;

Yalnız şu kodları önden göndererekte baudrate ayarlayabilirsiniz,

AT+IPR=9600

Eğer sizin baudrate'iniz 9600 'dan farklıysa değerine göre değiştirin.

Baud değerini değiştirmeye çalıştım fakat anlayamadığım bir durum oldu. AT komutlarının arasına led yakıp söndürme kodu koymuştum. Kodların okunup okunmadığını anlamak amacıyla fprintf(gsm,"AT+IPR=9600\r"); kodunu başa ekledikten sonra ledlerin hiçbiri yanmadı. Yani o kodu okuduktan sonra diğerlerini okuyamadı.

MrDarK

Hocam ;

#use rs232 (baud=9600, xmit=pin_e0, parity=N, stop=1,ERRORS,stream=gsm,bits=8)

Kodunuzun use rs232 kısmını kontrol edin ;
Picproje Eğitim Gönüllüleri ~ MrDarK

nily

Alıntı yapılan: MrDarK - 02 Haziran 2013, 22:11:18
Hocam ;

#use rs232 (baud=9600, xmit=pin_e0, parity=N, stop=1,ERRORS,stream=gsm,bits=8)

Kodunuzun use rs232 kısmını kontrol edin ;

Kod bu şekilde;
#use rs232(baud=9600,xmit=pin_c6,rcv=pin_c7,parity=N,stop=1,bits=8,stream=gsm,errors)

MrDarK

Bir donanım probleminiz olduğu kesin gibi görünüyor. Çünkü rs232 fonksiyonunuzda doğru IPR yazdıktan sonra 9600 verdiğiniz her karaktere o baudrate ile geri dönüş yapar.

Size daha öncede verdiğim tavsiyenin aynısını vereceğim, MCU'nun RX ile TX hattına kablo takın bunu RS232 e ara bir apart ile bağlayın. MCU'yu erase edin, sonra Rsterm adlı com port editörü ile telite MCU'dan yolladığınız kodların aynısını gönderin önce PC 'de bu işi halledin ondan sonra MCU 'ya geçin.

Veya yine bu kablolar kalsın MCU'yu silmeyin çalışırken telitin RX hattına taktığınız kabloyu RS232 çeviricinin RX pinine takın bu sayede MCU'dan çıkan kodlara TELIT'in ne cevap vereceğini göreceksiniz. Bu aşamada dikkat etmeniz gerekenler LEVEL TRANSLATE işlemidir. RS232 logic seviyede 0-5 volt arası çalışır oysa sizin chip 3.7 volt olduğundan direk hatta girmeyin mümkünse seviye uygunlaşma devresi kullanmanız gerekiyor.

Saygılar
Picproje Eğitim Gönüllüleri ~ MrDarK

Gökhan BEKEN

Gsm modülün gerilimi sinyal için önemli. Telit için 3.8v idealdir daha az vermeyin.
Pic ile göndermeye çalıştığınız kodlar gerçekten ulaşıyor mu, bunu bilgisayara bağlayarak deneyin.
Çevirici entegreniz ne? Max3232 kullanmanızı ve 3.3v ile beslemenizi tavsiye ederim.
Gsm'e bilgisayar ile doğrudan bağlanı kurun, mesajları öyle gönderin.
Özel mesaj okumuyorum, lütfen göndermeyin.

nily

Alıntı yapılan: meftun - 02 Haziran 2013, 23:41:48
Gsm modülün gerilimi sinyal için önemli. Telit için 3.8v idealdir daha az vermeyin.
Pic ile göndermeye çalıştığınız kodlar gerçekten ulaşıyor mu, bunu bilgisayara bağlayarak deneyin.
Çevirici entegreniz ne? Max3232 kullanmanızı ve 3.3v ile beslemenizi tavsiye ederim.
Gsm'e bilgisayar ile doğrudan bağlanı kurun, mesajları öyle gönderin.

Modemin kendi adaptörü var.
Çevirici devre ST232. Devrenin seri portunun çalışmasını bilg. üzerinden test etmiştim sorun yoktu.
Modemi de hyperterminal programı ile bilg. üzerinden denedim baud değerini 115200 olarak ayarlayınca çalışıyor.

Gökhan BEKEN

st232 5volt için kullanılan bir entegre değil mi?
Özel mesaj okumuyorum, lütfen göndermeyin.

nily

Alıntı yapılan: meftun - 04 Haziran 2013, 11:03:45
st232 5volt için kullanılan bir entegre değil mi?

Açıkcası bu konuda hiçbir bilgim yok baskı devreyi birine yaptırdım şemada max232 olarak göndermiştim kendisine. Bu çevirici modemle haberleşmeyi olumsuz mu etkiler yani?

Gökhan BEKEN

Ben seri port girişindeki voltaj aralığı yüzünden telit gl865 modemi yaktım, iletişim kuramıyorum artık, saçma değerler yazıyor. :D
Datasheetten seri port kısmının kaç volt ile haberleştiğine bakın. Eğer 3.3v ile besleniyorsa max232 veya st232 kullanmayın.
Özel mesaj okumuyorum, lütfen göndermeyin.

nily

#27
Alıntı yapılan: meftun - 04 Haziran 2013, 11:31:18
Ben seri port girişindeki voltaj aralığı yüzünden telit gl865 modemi yaktım, iletişim kuramıyorum artık, saçma değerler yazıyor. :D
Datasheetten seri port kısmının kaç volt ile haberleştiğine bakın. Eğer 3.3v ile besleniyorsa max232 veya st232 kullanmayın.

Datasheete baktım RS232 bağlantısı için aşağıdaki kısımlar yazıyor



MrDarK

Hocam öncelikle Max232 entegresi 5V ile çalışır yani 3.7 desteklemez.

Ayrıca datasheetdende anlaşıldığı gibi seviye uygunlaştırma yapman gerekiyor RXD pini >4v yazmışlar logic 1 için 4volt veya üzeri sinyal girmiş olman gerekiyor.

Oysa senin modül 3.7 ile besleniyor ;)
Picproje Eğitim Gönüllüleri ~ MrDarK

nily

Alıntı yapılan: MrDarK - 04 Haziran 2013, 13:38:11
Hocam öncelikle Max232 entegresi 5V ile çalışır yani 3.7 desteklemez.

Ayrıca datasheetdende anlaşıldığı gibi seviye uygunlaştırma yapman gerekiyor RXD pini >4v yazmışlar logic 1 için 4volt veya üzeri sinyal girmiş olman gerekiyor.

Oysa senin modül 3.7 ile besleniyor ;)

Çeviricim ST232. Genede dediğiniz gibi seviye uygunlaştırması mı yapmam gerekir? Veya bu işlemi nasıl yapabilirim?