دوستان برای به حداقل رسوندن نویز بهتره ماژول رو جدا از میکرو کنترلر توی یه برد
دیگه قرار بدم و بعد به وسیله ی سیم ارتباط سریال بینشون رو برقرار کنم ؟
یا هر دوشون رو روی یه برد طراحی کنم؟
دوستان برای به حداقل رسوندن نویز بهتره ماژول رو جدا از میکرو کنترلر توی یه برد
دیگه قرار بدم و بعد به وسیله ی سیم ارتباط سریال بینشون رو برقرار کنم ؟
یا هر دوشون رو روی یه برد طراحی کنم؟
خود ماژول کنار میکرو باشه مشکل نویز ایجاد نمیشه. اما شاید به تشدید نویز کمک کنه که باید امتحان بشه و مطمئن نیستم
پروژه های مهم من در ایران میکرو:
" انتقال اطلاعات با SIM900 " ، " آموزش پورت USB " ، " راه اندازی MFRC522 " ، " راه اندازی SLE4442 " ، ""
چرا sim900 در شبکه رجیستر نمیشه؟
تغذیه ام بیشتر از 2 امپر جریان میده
ولی به ندرت تو شبکه رجیستر میشه
قدرت سیگنالم هم 31 هست
خیلی از دوستان در ابتدای کار با ماژول هایی نظیر Sim900 - Sim908 به مشکلاتی بر میخورن مثل روشن نشدن ماژول.. خاموش شدن ماژول بعد چند ثانیه، رجیستر نشدن سیم کارت توی شبکه و ...
من هم در ابتدای کار همه این مشکلات رو داشتم تا اینکه بالاخره راه و چاه این داستان رو فهمیدم و الان تمامی مدارایی که با این ماژول ها میزنم، بدون هیچ مشکلی کار میکنند...
مواردی که الان در طراحی و کار با این ماژول ها رعایت میکنم رو میتونید اینجا بخونید: راه اندازی ماژول Sim908
باسلام
ضمن تشکر بخاطر پروژه ای که گذاشتید .کدهای موجود در فایل pdf رو در قالب یک فایل cتبدیل کردم اما متاسفانه یک ارور هست که ازش سر در نمیارم اگر دوستان بتونن کمک کنن ممنون میشم
سلام به همه. من یه برنامه نوشتم که در یک شرایط خاص به سه تا شماره باید sms بده( با ماژول sim900 ). قبلا خوب بود ولی جدیدا بعضی وقتا به شماره اول یا دوم sms نمیده! میدونید دلیلش چیه؟
خودم فکر کردم گفتم اگه با فرستادن هر sms گزارش ارسال بده خیلی بهتره. واسه همین اومدم وضعیت پایه RI رو بررسی کردم، دیدم قبل ارسال ولتاژش 2.85 بود و بعد ارسال 2.91، که میشه با adc این تغییر رو تشخیص داد. حالا واسه اینکار راه نرم افزاری هم هست که بشه با نوشتن برنامه از ارسال یا تحویل sms مطلع شد؟
خیلی ممنون.
سلام
دوست عزیز یه بار اون تابعی رو که ارور میده کامل پاکش کن
و بدونه اون تابع کامپایل کن بعدش دوباره تابعت رو بنویس درست میشه
کدویژن از این ارور ها میده منم با روش فوق حلش کردم
مشکل حل شد ولی دلیلش که یه کم عجیب هست رو برای بقیه دوستان میگم شاید بدردشون بخوره .
این قسمت از کد که بالا گذاشتمو کپی کردم توی text document تا بعدا بتونم همونطور که دوستمون آقای pirozy گفتن دوباره تایپش کنم ولی عجیب این بود که کنار علامت "}" یک علامت دیگه شبی " ظاهر شد که توی خود صفحه اصلی کدویژن اصلا" نبود !! . اینو کاملا" مطمئنم چون نزدیکه یک هفته داشتم این کدو چک میکردم که چشه . خلاصه علامت} که پاکش کردم و دوباره نوشتم درست شد یعنی اون علامت غیبی!! رفته بود و خطا هم برطرف شد
مشکل جدید
مشکلی که دارم اینه که بعد از پروگرام کردن میکرو و ارتباطش با ماژول و کار نکردن اون (طبق معمول) خواستم دوباره میکرو رو با همون فرکانس قبل از پروگرم که کریستال داخلی 8 مگاهرتز بودو پروگرم کنم که prog isp ارور معروف " chip enable program error " میده .ظاهرا میکرو دیگه شناسایی نمیشه . این سومین مگا32 ای هست که اینطوری شده . میخواستم بدونم امکان داره مثلا" جریان کشیدن ماژول باعث همچین چیزی بشه؟ من از منبع تغذیه کامپیوتر برای تغذیه استفاده میکنم
سلام مشکلتون را تو بخش avr مطرح میکرید
باید بگم که شاید فیوز بیتها را روی کریستال خارجی تنظیم کردید
بهتره یه کریستال متصل کنید و در ضمن یه پین داره این نوع پروگرامرها که فرکانس بالا و پایین را مشخص میکنید اون را هم تنظیم کنید
مرسی دوست من .با پروگرمر stk300 براحتی با همون شرایطی که بالا نوشتم پروگرم شد
دست به هیچی نزدم همون فرکانس 8 داخلی فقط پروگرمر عوض شد .عجیبه واللا!!
به هرحال برای مشکل خود sim900 میرسم خدمتتون
سلام به دوستان عزیز
من میخوام با استفاده از sim900 و یک میکروکنترلر (در بخش میکروکنترلر مشکلی ندارم) هنگامی که تغییری از سوی یک کلاینت اینترنتی (مثل یک گوشی موبایل) ارسال شد را سریعا توی میکرو اعمال کنم، مثلا سریعا یک پرت را صفر و یا یک کنم.
مشکل من اینجاست که در ابتدا برای پیاده سازی اینکار از کانکشن ساده TCP توسط IPSTART استفاده کردم ولی این اتصال حدودا 12 ثانیه طول میکشه تا از سرور یک درخواست Http را بگیره.
چطور میتونم سرعت این ارتباط را افزایش بدم؟
آیا بهتره برای اینکار از ارتباط دیگری مثل ایجاد سرور توسط SIM900 استفاده کنم؟ (خواهشا کمی توضیح دهید)
راه بهتر دیگری وجود داره؟
ویرایش توسط ahmadreza.had : 20-09-2014 در ساعت 12:49
سلام جناب ادمین
توی برنامه ای که بصورت pdf گذاشتید میشه قسمت interrupt [USART_RXC] void usart_rx_isr(void) رو دوباره بررسی کنید ؟ به نظر صحیح نمیاد
دستور rx_buffer_overflow=1; باید قبل از #endif باشه . در ضمن در قسمت دستو پیش پردازنده #if RX_BUFFER_SIZE == 256 جلوی دستور
if (++rx_counter == 0) چیزی نوشته نشده . حتی از نظر تعداد "}" هم برنامه یکی کم داره . میشه بررسی کنیذ اگر من اشتباه میکنم به من آگاهی بدید؟
دستورات برنامه در این قسمت این هست:
همونطور که میبینید حتی از نظر تعداد آکولاد هم یکی کم داره چه برسه به بقیشکد:interrupt [USART_RXC] void usart_rx_isr(void) { char status,data; status=UCSRA; data=UDR; if ((status & (FRAMING_ERROR | PARITY_ERROR | DATA_OVERRUN))==0) { rx_buffer[rx_wr_index++]=data; #if RX_BUFFER_SIZE == 256 // special case for receiver buffer size=256 if (++rx_counter == 0) { #else if (rx_wr_index == RX_BUFFER_SIZE) rx_wr_index=0; if (++rx_counter == RX_BUFFER_SIZE) { rx_counter=0; #endif rx_buffer_overflow=1; } } }
در حالی که م فکر میکنم درست این قسمت از برنامه باید این باشه :
کد:interrupt [USART_RXC] void usart_rx_isr(void) { char status,data; status=UCSRA; data=UDR; if ((status & (FRAMING_ERROR | PARITY_ERROR | DATA_OVERRUN))==0) { rx_buffer[rx_wr_index++]=data; #if RX_BUFFER_SIZE == 256 // special case for receiver buffer size=256 if (++rx_counter == 0) rx_buffer_overflow=1; #else if (rx_wr_index == RX_BUFFER_SIZE) rx_wr_index=0; if (++rx_counter == RX_BUFFER_SIZE) { rx_counter=0; rx_buffer_overflow=1; } #endif } }
ویرایش توسط sorena01 : 22-09-2014 در ساعت 17:51
دوستان تا الان کسی از این برنامه جواب گرفته؟ بدون تغییر برنامه؟
سلام دوستان
من تونستم با ماژول sim 900 ارتباط برقرار کنم اما مشکل اینجاست که زمانیکه اس ام اس میاد این متن رو رو ال سی دی نمایش میده
CMTI: "SM",1
اگه دوباره اس ام اس بدم اون عدد یک میشه 2 و به همینصورت. اما من میخوام متن اس ام اسمو نمایش بدم . دوستان اگه کمک کنن ممنون میشم
اینم برنامم
$regfile = "m64def.dat"
$crystal = 8000000
$baud = 9600
$lib "glcd.lib"
Config Graphlcd = 240 * 128 , Dataport = Portc , Controlport = Porta , Wr = 7 , Rd = 6 , Ce = 5 , Cd = 4 , Reset = 3 , Fs = 2 , Mode = 8
Dim R As Bit : R = 0
Dim X As Byte : X = 0
Dim B As Byte
Dim Shoro As Integer
Dim Payan As Integer
Dim Tool As Integer
Dim Tedad As Integer
Dim Sms As String * 250 : Sms = ""
Dim Tmp As String * 20
Dim A As Bit
Dim G As Byte
Config Pind.0 = Output
Cls
Wait 3
Set Portb.3
Wait 4
Reset Portb.3
Waitms 20
Locate 5 , 5
Lcd "GSM ON"
Wait 5
Print "AT+CMGD=0,4"
Waitms 500
Cls
Print "AT"
Print "AT"
Print "AT"
Do
' Print "AT"
' Print "AT"
Print "AT+CMGR=1"
Sms = ""
Do
B = Inkey()
Select Case B
Case 0:
Case 13 :
If Sms <> "" Then Exit Do
Case 10 :
If Sms <> "" Then Exit Do
Case Else
Sms = Sms + Chr(b)
End Select
Loop
' cls
Locate 1 , 1
' Cls
Lcd Sms
Loop
End
خوب شما اس ام اس را دریاافت میکنید باید دستور AT+CMGR اس ام اس را بخونید از مکان یک تا 15
مثلا با ارسال Print "AT+CMGR=1" به ماژول یک رشته میاد که باید شماره و زمان را جدا کنید و متن را استخراج کنید که این مباحث در سایت به طور کامل هستش
سلام
چندین جا خوندم که ماژول های sim900 در طولانی مدت که کار میکنند خود به خود خاموش میشند و باید از طریق پایه استاتوس در سیم 900 این وضعیت چک بشه
خاستم ببینم دوستان تا الان با چنین مشکلی روبرو شدند که دستگاه حداقل یکماه روشن بوده و خود به خود خاموش شده باشه ؟
یه مشکلی که توی این ماژول ها بهشون برخوردم این بوده که وقتی ایرانسل چند تا sms فارسی با فرمت pdu ارسال میکنه و ماژول اونهارو پشت سر هم دریافت میکنه، ماژول خود به خود دستور خاموش شدن رو میده!!! که مینویسه normal power down
توی همه ماژول هایی که استفاده کردم این داستان وجود داشته! نمیدونم چرا....
ولی اینکه بدون این داستان، خودش بخواد خاموش کنه من تا حالا برنخوردم
سلام ممنونم
بحث هنگ کردن چی ؟ مورد هنگ کردن نداشتید ؟ اینکه مثلا هر چی کامند به مازول بفرستید دریافت نکنه
جریان این sim900a با sim900 چیه ؟
چند تا از بچه ها دیدم که با اینکه اپدیتش هم کردند ولی با مشکل برخوردند .خلاصه خیلی ها رو دیدم که از sim900a راضی نیستند
نقل قول :
راستش من با سیم900 کار کرم خیلی وقت پیش تجربه بدی هم ازش دارم یه نمونش سری A بود که ارزون بود و باید فریمویر میزدیم بدجوری هم سرکار میزاشت 50 تا فریم ویر گذاشته بودن همه رو امتحان کردم تا یه درستشو پیدا کردم و مشکل بعدی تغذیش بود که براحتی دوتاش سوخت تا یه تغذیه درست شد.
ویرایش توسط علیدلی : 24-09-2014 در ساعت 23:37
بله موردی که اشاره شد برای اس م اس فارسی بهتر هست که از همون ابتدا جلوی خونده شدنش را بگیرید ...
در مورد سیم 900 نوع a جدیدا نیازی به اپدیت نداره و به خوبی سیم 900 جواب میده در چند موردی که شخصا کار کردم مشکلی نداشتم