طراح

طراح

زندگی یعنی پژوهش و فهمیدن چیز جدید ( پروفسور حسابی)
طراح

طراح

زندگی یعنی پژوهش و فهمیدن چیز جدید ( پروفسور حسابی)

my boards




ابوالفضل شاکری

smart GSM







ابوالفضل شاکری

هدر برد GSM & AVR

نیاز به یک برد که هم میکروکنترلر و هم ماژول GSM را داشته باشد برای استفاده راحت توسط کسانی که علاقه به طراحی برد و لحیم کاری SMD نداشته باشند حس میشد. بنابراین این برد را طراحی کردم که نیاز یادگیری و همچنین استفاده از برد در پروژه های صنعتی را مرتفع میسازد.


ویژگی ها:

1- FULL SMD

2- MCU: ATMEGA128

3- I2C EEPROM

4- SIM900

5- امکان تغییر فریمور ماژول

6- پروگرم شدن میکرو بدون پروگرمر

7- LCD 2X16

8- FT232RL برای اتصال مستقم پورت سریال میکرو به پورت USB

9- در دسترس بودن تمام پایه های میکروکنترلر

10- POWER LED

11- دارای 3 LED نشانگر








خرید فایل های PCB



شماتیک برد



شماتیک بهینه شده


designer2100@outlook.com

شاکری

الهم عجل لولیک الفرج

خوشا روزی که مهدی باز گردد

انالمهدی طنین انداز گردد

به حق مادرش زهرای اطهر

به حق فرق اکبر حلق اصغر

خداوندا ظهورش دیر گردید

بسی عاشق در این راه پیر گردید

مهیا کن تو اسباب ظهورش 

منور کن تو گیتی را ز نورش


الهم عجل لولیک الفرج

تغییر فریمور ماژول GSM - sim900



برای این کار نرم افزار زیر را دانلود کنید.

1- نرم افزار را اجرا کنید و آدرس فایل فریمور جدید را وارد نرم افزار کنید، شماره پورت سریال را تعیین و باود ریت را روی 57600 قرار دهید.

2- پورت سریال سیستم را به پورت سریال دیباگ ماژول وصل کنید.

3- ابتدا ماژول خاموش باشد. روی start کلیک کنید و ماژول را روشن کنید.

4- صبر کنید تا فریمور ماژول عوض شود.

دانلود نرم افزار تغییر فریمور GSM

ابوالفضل شاکری

ربات - یادش بخیر





ابوالفضل شاکری

؟ulp (آشنایی با تعدادی از فایل های ulp در نرم افزار eagle)




1- bom.ulp : برای گرفتن تعداد و نام و مقدار قطعات - در محیط شماتیک اجرا شود

2- count.ulp : برای شمردن تعداد pad و via و smd و hole و total number of drills - در محیط pcb اجرا شود

3- export-protelpcb.ulp : گرفتن خروجی protel  - در محیط pcb اجرا شود

4- length-freq-ri.ulp : برای گرفتن فرکانس ماکزیمم ، طول ، سطح مقطع و جریان ماکزیمم هر track استفاده میشود - در محیط pcb اجرا شود

5- print-inductor.ulp : برای کشیدن سلف روی pcb - در محیط pcb اجرا شود

6- silk.ulp : اجرا کنید جالبه !!! - در محیط pcb اجرا شود.

7- spiral-coil.ulp : درست کردن سیم پیج روی pcb - در محیط pcb اجرا شود

8- statistic-brd.ulp : گرفتن تمام اطلاعات برد - در محیط pcb اجرا شود


ابوالفضل شاکری

SIM908 - GPS

سلام

در این پست چند دستور (AT-COMMAND) برای GPS ماژول SIM908 را توضیح می دهم:


1- AT+CGPSPWR=1 : روشن کردن GPS ماژول

2- AT+CGPSPWR=0 : خاموش کردن GPS ماژول


3- AT+CGPSRST=0 : شروع به کار GPS در حالت COLD

4- AT+CGPSRST=1 : شروع به کار GPS در حالت Autonomy - در این حالت GPS سریعتر دیتا را دریافت میکند - غیر از اواین باری که ماژول را روشن میکنید.


5- AT+CGPSINF=X : دریافت اطلاعات GPS

   X می تواند: 2-4-8-16-32-64-128 باشد

   X = 2 >>>>>> $GPGGA

  X = 4 >>>>>>> $GPGLL

  X = 8 >>>>>>> $GPGSA

    X= 16 >>>>>>$GPGSV

  X = 32 >>>>>> $GPRMC

  X= 64 >>>>>> $GPZDA

اطلاعات موقعیت جغرافیای و سرعت به ازای X=32 دریافت میشود.


6- AT+CGPSSTATUS ؟ : برای آگاهی از وضعیت GPS میباشد.

جواب ماژول:

"Location Unknown"  به ازای خاموش بودن یا عدم دریافت اطلاعات GPS

"Location Not Fix" به ازای روشن بودن ماژول و عدم کامل شدن اطلاعات GPS

"Location 2D Dix" به ازای ثابت شدن اطلاعات در حالت 2D

"Location 3D Fix"  به ازای ثابت شدن اطلاعات در حالت 3D


7- AT+CGPSOUT : کنترل دیتای خروجی NMEA از پورت سریال مربوط به GPS

حالت های موجود:

الف) 0 = خروجی دیتا از پورت GPS غیر فعال

ب)   2 =    "       "   "   "      "   = GPGGA

پ)   4 =    "       "   "   "      "   = GPGLL

ت)   8 =    "       "   "   "      "   = GPGSA

ج)   16 =   "       "   "   "      "   = GPGSV

د)   32 =   "       "   "   "      "   = GPRMC

ه)   64 =   "       "   "   "      "   = GPVTG

ن) 128 =   "       "   "   "      "   = GPZDA


8- AT+GPSIPR= rat : تعیین باود ریت پورت سریال GPS

rat :

4800 , 9600 , 19200 , 38400 , 57600 ,  115200 , 230400 , 460800


ابوالفضل شاکری

دانلود فایل stm32f103 v.2 - pcb

البته usb مدار کار نمیکند یا اینکه ما نتوانستیم راه اندازیش کنیم

دانلود

سنسور دما دیجیتال ds18b20

چند ماه پیش من دو مثال از DS18B20 از طرف Maxim دریافت کردم. هرچند من درباره آی سی دیگری پرسیده بودم، نه DS18B20 ، بنابرین این را به Maxim گفتم. آنها اشتباهشان را قبول کردند و چند روز بعد من جواب درست را دریافت کردم. اما دو آی سی روی میز کار من مانده بود تا اینکه یک روز تصمیم گرفتم آنها را بررسی کنم، فکر می­کردم زیاد جالب نباشه چون فقط 3 پایه داشت. ممکن بود یک رگولاتور ولتاژ باشه یا یک ترانزستور، اما وقتی که من فهمیدم آن یک سنسور دما دیجیتال است متعجب شدم. ابتدا من نمی­توانستم بفهمم که چگونه یک سنسور دما میتواند دیجیتال باشد: فقط 3 پایه داشت، در حالی که دو پایه آن برای تغذیه و زمین بود. چطور می­توانست دیتای دیجیتال را از طریق یک پایه منتقل کند؟ من همیشه از دو یا چند پایه برای انتقال اطلاعات استفاده می­کردم که یکی برای پالس ساعت(CLOCK) بود. هرچند که انتقال اطلاعات از طریق یک پایه با کنترل دقیق بین فواصل دیتا توسط میکروکنترلر ممکن می­باشد. مثال، پورت سریال کامپیوتر شما. نرخ انتقال اطلاعات در دو طرف (کامپیوتر و Device) باید شناخته شده باشد تا ارسال و دریافت دیتا بدون خطا انجام بشود.


برای ادامه شما به لیست قطعات زیر نیاز دارید:


در فایل زیر می توانید روش راه اندازی این سنسور را بیاموزید.


دانلود


اصلاح شد




دانلود فایل header برای AVR


ابوالفضل شاکری

پروژه - پروژه - ...













ابوالفضل شاکری

کار با ماژول های GSM - sim900 - sim908


بسم الله الرحمن الرحیم

آموزش کار با ماژول های GSM را شروع می کنم. امیدوارم مفید باشه. یک سری از مطالب در سایت های دیگه اومده که من سریع از اونها میگذرم و چند مسئله جدید رو خواهم گفت. سعی دارم که بیشتر روش راه اندازی و استفاده از ماژول رو بگم.

نکته: مهم هست که بدونید انتهای هر رشته را یک کد اینتر (13) مشخص میکند.

نکته: خودتان به راحتی میتواندید ماژول را با یک هویه 40 وات ساده روی برد مونتاژ کنید(اگر می خواهید پیشرفت کنید از انجام کارهایی که تا حالا انجام ندادید نترسید)


اولین استفاده از ماژول ارسال پیامک :

مرحله به مرحله:

1- باید چک کنید که ماژول آماده دریافت دستور هست یا نه - روش: ارسال AT به ماژول، در صورت دریافت OK، ماژول آماده می باشد.

2- فرستادن دستور ارسال پیامک به ماژول:

AT+CMGS="TEL NUMBER"

3- یک تاخیر کوتاه در حد 700 میلی ثانیه

4- فرستادن متن پیامک به ماژول

5- فرستاده کد Ctrl+Z  - کد = 26

Exam:

sprintf(buffer1,"AT+CMGS=\"009893989315xx\"%c",13);
uart_mini_printf(buffer1);
_delay_ms(700);
uart_mini_printf(tex_send);
uart_putchar(26);

به همین راحتی


دومین استفاده از ماژول خواندن متن پیامک دریافت شده :

مرحله به مرحله:

1- در صورتی که از پورت سریال عبارت زیر را دریافت کردید به معنی دریافت پیامک می باشد:

+CMTI: "SM",x

x آدرسی از حافظه ماژول است که پیامک دریافت شده در آن ذخیره شده است.

2- در صورتی که مرحله یک اتفاق افتاد، چک کنید ماژول آماده دریافت دستور است یا خیر.(توضیح داده شد)

3- فرستادن دستور خواندن متن پیامک ذخیره شده به ماژول:

AT+CMGR=x

توضیح: ماژول بعد از دریافت فرمان خواندن متن پیامک سه رشته را رسال می کند: رشته اول دیتای مربوط به پیامک میباشد. رشته دوم، متن پیامک دریافت شده است. رشته سوم عبارت OK میباشد. بنابراین باید دو رشته اول را حتما دریافت کنید که رشته دوم متن پیامک است و شماره و ساعت و تاریخ پیامک دریافت شده در دیتا مربوط به پیامک می باشد.

(در توضیحات ارائه شده فرض بر این است که شما به کار با رشته ها  و ارتباط سریال مسلط هستید)


سومین استفاده از ماژول شارژ کردن سیم کارت بدون خارج کردن سیم کارت :

نکته: با دستور ATD میتونید یک شماره یا یک کد دستوری را شماره گیری کنید.

روش: کد شارژ را با کد دستوری آن به سیم کارت روی ماژول پیامک کنید. برای پردازنده تعریف کنید که اگر کارکتر اول "*" بود متن دریافت شده را با استفاده از دستور ATD شماره گیری کند.

Exam:

if (recive_sms_txt[0] == 42)
                    {  
                        repet_ch:
                        uart_mini_printf("AT%c",13);
                        uart_getstring();
                        if ((strcmp(chs,ok)) != 0){goto repet_ch;}
                           
                        uart_mini_printf("ATD");
                        uart_mini_printf(recive_sms_txt,"%c",13);
                        uart_getstring();
                    }



چهارمین استفاده از ماژول بدست آوردن شارژ سیم کارت :

با استفاده از دستور ATD کد دستوری دریافت شارژ را شاره گیری کنید. برای ایرانسل #1*140*

منتظر جواب اپراتور بمانید....

مقدار شارژ را از رشته دریافت شده خارج کنید.

Exam:
uart_mini_printf("ATD*140*1#%c",13);
        uart_getstring();
        uart_getstring();
        for (temp5=0;temp5<20;temp5++){compar[temp5] = 0;}
        for (temp5=0;temp5<6;temp5++){compar[temp5] = chs[temp5];}
        temp=0;
        temp5=0;
        temp = strlen(chs);
        for (temp2=0;temp2<temp;temp2++)
        {
            if (chs[temp2] == 115)
            {
                if ((chs[temp2+1]==104) && (chs[temp2+2]==111) && (chs[temp2+3]==109) && (temp5==0))
                {
                    temp3=0;
                    for (temp4=0;temp4<20;temp4++){compar[temp4] = 0;}
                    for (temp4=(temp2+6);temp4<temp;temp4++)
                    {
                        if (chs[temp4]!=32){compar[temp3]=chs[temp4];}
                        if (chs[temp4]==32){break;}
                        temp3++;
                    }
                    temp5=10;
                    for (temp=0;temp<15;temp++){charj_mony[temp]=0;}
                    strcpy(charj_mony,compar);
                }
            }
        }


پنجمین استفاده از ماژول حالت آماده به کار (sleep) :

چرا از حالت بیکاری استفاده کنبم؟ برای کاهش چشم گیر جریان مصرفی مدار

دو حالت بیکاری در Hardware Design بیان شده است:

الف- با ارسال دستور AT+CSCLK=1 فعال میشود. در این حالت ارتباط سریال کار نمی کند. بیرون آمدن از حالت SLEEP به سه روش زیر انجام می شود:

1- PULL DOWN کردن پایه DTR از ماژول. ارتباط سریال 50ms بعد از pull down شدن فعال می شود.

2- دریافت پیامک از شبکه

3- دریافت تماس یا دیتا از شبکه


ب- با ارسال دستور AT+CSCLK=2 فعال میشود. در این حالت ارتباط سریال فعال می باشد. بیرون آمدن از حالت SLEEP به سه روش زیر انجام می شود:

1- ارسال دیتا به پورت سریال ماژول. اولین بایت توسط ماژول خوانده نمی شود. فقط ماژول را از حالت SLEEP خارج میکند.

2- دریافت پیامک از شبکه

3- دریافت تماس یا دیتا از شبکه


نکته: در صورتی که ماژول 5 ثانیه از پورن سریال دیتا دریافت نکند به حالت SLEEP می رود.

نکته: برای غیر فعال کردن حالتهای SLEEP باید دستور AT+CSCLK=0 را به ماژول ارسال کرد.


ابوالفضل شاکری

AUTOTRACKER



به زودی: آموزش کار با مودم های GSM/GPRS/GPS



ابوالفضل شاکری

NRF24L01 STM32

سورس برنامه برای STM32F103X که تصحیح شده :

NRF24L01 STM32

این اطلاعات از سایت کویر الکترومیک کپی شده ...

این چیپ در واقع یک ماژول بسیار عالی برای ارسال و دریافت اطلاعات بدون خطا است چیزی که در ماژول های  HMTR یا حتی در RFMXX ها یا به کلی وجود نداشت یا این که مشکلات خاص خود را داشت

مدولاسیون ارتباطی این ماژول به صورت GFSK است , همان مدولاسیونی که در تکنولوژی BLUETOOTH استفاده شده و به صورت انحصاری در دست چند شرکت بزرگ مثل BLUETOOTH  و  NORDIC SEMICONDUCTOR   و TEXAS INSTRUMENT و چند شرکت دیگر قرار دارد.

فرکانس ارتباطی این چیپ 2.4 گیگا هرتز است که این خاصیت آن ویژگی های زیادی را برای ما به ارمغان می آورد ! از جمله کوچک شدن سایز آنت که حتی میتوان از خود PCB به صورت یک آنتن استفاده کرد , مورد دیگر هم به دلیل فرکانس بالا بسیار راحت تر از دیوار یا اجسام دیگر عبور می کند و با عث می شود که برد بیشتری هم به ما بدهد , می توانید فرکانس RFM12 یا HMTR را با این چیپ مقایسه کنید ! می بینید که فرکانس این چند حداقل چند برابر آن ها است.

این چیپ به صورت دو طرفه کار می کند و در کل شما فقط به 2 عدد از این چیپ ها برای ارتباط لازم دارید (مشابه RDM12)

دیتا ریت این چیپ حداکثر 2 مگا بیت بر ثانیه است که می توان از آن برای انتقال اطلاعات سنگینی مشابه صوت و یا حتی ویدئو استفاده کرد

ویژگی های خاص:

حداکثر دیتا ریت تا 2 مگا بیت بر ثانیه در هوا

بسیار کم مصرف

جریان مصرفی در هنگام ارسال دیتا در 0 دسی بل فقط 11.3 میلی آمپر

جریان مصرفی در حالت دریافت دیتا با 2 مگا بیت بر ثانیه دیتا ریت 12.3 فقط 12.3 میلی آمپر

جریان مصرفی در هنگام POWER-DOWN  900 نانو آمپر

جریان مصرفی در هنگا آماده باش 22 میکرو آمپر

بدون نیاز به ولتاژ های مختلف به همراه رگولاتور داخلی

محدوده ولتاژ تغذیه چیپ از 1.9 تا 3.6 ولت که با افزایش ولتاژ برد بیشتری را باید در انتظار داشت

مجهز به تکنولوژِی پیشرفته SHOCKBURST

آماده سازی بسته ها دیتا به صورت خودکار

6 لوله دیتا MULTICEIVER برای ارتباط چند ماژول به یکدیگر و ایجاد یک شبکه محلی

تست شده برای ارسال د دریافت دیتا که سالم بودن تمامی چیپ ها 100% است

یک چسپ فرکانسی کم هزینه

نیاز به یک کریستال اسیولاتور 16 مگا هرتزی کوارتز برای ایجاد فرکانس 2.4 گیگا هرتزی

ورود ولتاژ بر روی پین های دیتا حداکثر تا 5 ولت امکان پذیر است

سایز کوچک چیپ و نیاز به قطعات کم خارجی

موارد استفاده:

قطعات کامپیوتری وایرلس مانند موس یا کی بورد یا قطعات دیگر

هدست های بیسیم مانند VOIP HEADSET

دسته های بیسیم کنسول های بازی مانند PS3

ساعت های ورزشی یا سنسور ها

ریموت کنترل برای مصارف الکترونیکی

اتوماسیون خانگی(خانه هوشمند) که فرضا تمامی ارتباطات الکتریکی فرضا برای روشنایی به صورت بیسیم می باشد

در شبکه هایی که نیاز به یک ارتباط وایرلس بسیار کم مصرف است

سیستم های مسیر یاب مانند GPS

و اسباب بازی ها !


محمد صادقی فرد

STM32F103ZCT

این هم از پروژه پایانی - یه برد آموزشی دیگه


"3.2 GLCD

"2.8 GLCD

RS232

USB TO UART

CAN

5 KEY

4 LED

MMC

EEPROM

CAMERA

NRF24L01




محمد صادقی فرد - ابوالفضل شاکری

برد کنترل با sms

دارای 3 عدد رله

کنترل تمام رله ها

سنسور دما lm35

قابلیت گزارش وضعیت رله ها

قابلیت گزارش دمای محیط


ابوالفضل شاکری

AT90CAN128 STARTER BOARD

سلام

امروز یک برد با میکرو AT90CAN128 و کتابخانه های عالی برای راه اندازی امکانات جانبی میکرو قرار می دهم.

فعلا موفق نشدم شبکه CAN  رو با اون راه بندازم. اگر کسی در مورد CAN اطلاع داره. به ما هم بگه.مرصی

امکانات برد:

1- RS232

2- USB TO UART

3- RTC - DS1307 - BACKUP BATRY

4- CAN

5- KEY

6- LED

7- Access to micro PIN

8- GLCD NOKIA 6100

9- SMD Components

10- امکان پروگرم شدن بدون پروگرمر و از طریق پورت usb (توسط بوت لودر روی میکرو)




دانلود کتابخانه های میکرو


به راحتی میتوانید از این کتابخانه ها 


برای سایر میکروهای AVR استفاده 


نمایید


برای دانلود شماتیک روی عکس کلیلک کنید


ابوالفضل شاکری

USB-HMR

اینجا یک گیرنده کوچک که برای دریافت دیتا و ارسال به کامپیوتر آماده کردم، شاید به دردتون بخوره.

دریافت داده از طریق ماژول HMR انجام میشود. ماژول مستقیم به میکرو متصل شده است.




برای دانلود فایلهای PCB اینجا کلیک کنید.

MINI STM32F103ZCT

This is our new board .... ( mini stm )

Cpu: STM32F103ZCT ( TQFP-144 PIN )

TFT LCD ( 3.2inch ) Support LCD chip ( ssd1289 and ili9320 )

RS232

USB 2.0 host

Support RTC ( BATTRY BACKUP )

JLINK

Use all pin


can support :

1. camera (ov7725) 

2. rtos (uCOSII2.91)

3. USB-Mass_Storage-SD Card

4. USB-Mass_Storage-SPI Flash(SST25VF016B)

5.  ...




 

محمد صادقی فرد

STM32 & LCD 16X2

In this project we launched lcd 16x2 by STM32F103RE (Cortex-m3) .


ادامه مطلب ...

فیلم آموزشی - نحوه پروگرام کردن STM32 به وسیله JLINK

How to prog stm32 with jlink

I use SEGGER flash ARM for prog stm

My version of SEGGER is 4.14e


MOVI



محمد صادقی فرد

STM32F103 TFT LCD 8-Bit

The Project launched TFT LCD 2.8 inche (driver ili9320) by STM32f103 ( cortex-m3 ) the 8 bit

Dont use D0~D7 and just D8~D15 for launched the project


By keil 4.5


You can see the video of project :


Video


And download source code :


Source




محمد صادقی فرد

STM32F103 Discovery Board V 2.0

Include :

- USB connector
- user button
- RESET button
- status LED
- power supply LED
- on board voltage regulator 3.3V with up to 800mA current
- single power supply: takes power from USB port or extension   connector pin
- 8 Mhz crystal oscillator
- 32768 Hz crystal and RTC backup battery connector
- extension headers for all uC ports

72 mhz Max frq


محمد صادقی فرد - ابوالفضل شاکری