۴X4 Keypad Controlled Wireless Robot with ATmega16 using 433MHz RF

4X4-Keypad-Controlled-Wireless-Robot-with-AVR-ATmega16-Microcontroller-using-433MHz-RF-Receiver-Circuit-Diagram (1)

4X4-Keypad-Controlled-Wireless-Robot-with-AVR-ATmega16-Microcontroller-using-433MHz-RF-Transmitter-Circuit-Diagram-1024x601

 

C Program

//**************************************************************//
//System Clock                              :۱MHz
//Software                                     :Atmel Studio 6
//LCD Data Interfacing                :۸-Bit
//**************************************************************//

#include<avr/io.h>
/*Includes io.h header file where all the Input/Output Registers and its Bits are defined for all AVR microcontrollers*/

#define           F_CPU           ۱۰۰۰۰۰۰
/*Defines a macro for the delay.h header file. F_CPU is the microcontroller frequency value for the delay.h header file. Default value of F_CPU in delay.h header file is 1000000(1MHz)*/

#include<util/delay.h>
/*Includes delay.h header file which defines two functions, _delay_ms (millisecond delay) and _delay_us (microsecond delay)*/

#define           KEYPAD_PORT           PORTC
/*Defines a macro for the keypad.h header file. KEYPAD_PORT is the microcontroller PORT Register to which 4X4 keypad is connected. Default PORT Register in keypad.h header file is PORTB*/

#define           KEYPAD_PIN           PINC
/*Defines a macro for the keypad.h header file. KEYPAD_PIN is the microcontroller PIN Register to which 4X4 keypad is connected. Default PIN Register in keypad.h header file is PINB*/

#include<avr/keypad.h>
/*Includes keypad.h header file which defines one function: read_keypad () to read the 4X4 keypad. Keypad header file version is 1.1*/

#define           LCD_DATA_PORT           PORTA
/*Defines a macro for the lcd.h header File. LCD_DATA_PORT is the microcontroller PORT Register to which the data pins of the LCD are connected. Default PORT Register for data pins in lcd.h header file is PORTA*/

#define          LCD_CONT_PORT           PORTD
/*Defines a macro for the lcd.h header File. LCD_CONT_PORT is the microcontroller PORT Register to which the control pins of the LCD are connected. Default PORT Register for control pins in lcd.h header file is PORTB*/

#define           LCD_RS           PD0
/*Defines a macro for the lcd.h header file. LCD_RS is the microcontroller Port pin to which the RS pin of the LCD is connected. Default Port pin for RS pin in lcd.h header file is PB0*/

#define           LCD_RW           PD1
/*Defines a macro for the lcd.h header file. LCD_RW is the microcontroller Port pin to which the RW pin of the LCD is connected. Default Port pin for RW pin in lcd.h header file is PB1*/

#define           LCD_EN           PD2
/*Defines a macro for the lcd.h header file. LCD_EN is the microcontroller Port pin to which the EN pin of the LCD is connected. Default Port pin for EN pin in lcd.h header file is PB2*/

#include<avr/lcd.h>
/*Includes lcd.h header file which defines different functions for all Alphanumeric LCD(8-Bit Interfacing Method). LCD header file version is 1.1*/

int main(void)
{

DDRC=0x0f;
//PortC’s upper 4 bits are declared input and lower 4 bits are declared output(4X4 Keypad is connected)*/

PORTC=0xff;
//PortC’s lower 4 bits are given high value and pull-up are enabled for higher 4 bits*/

DDRB=0x0f;
/*PB0, PB1, PB2 and PB3 pins of PortB are declared output (433MHz RF Transmitter is connected)*/

DDRA=0xff;
/*All the 8 pins of PortA are declared output (data pins of LCD are connected)*/

DDRD=0x07;
/*PD0, PD1 and PD2 pins of PortD are declared output (control pins of LCD are connected)*/

unsigned char keypad_value;
/*Variable declarations and initialisations*/

lcd_init();
/*LCD initialization*/

lcd_string_write(“ABLab Solutions”);
/*String display in 1st row of LCD*/

lcd_command_write(0xc0);
/*Cursor moves to 2nd row 1st column of LCD*/

lcd_string_write(“www.ablab.in”);
/*String display in 2nd row of LCD*/

_delay_ms(500);
_delay_ms(500);
_delay_ms(500);
_delay_ms(500);
/*Display stays for 2 second*/

lcd_command_write(0x01);
/*Clear Screen*/

lcd_string_write(“Press 2,4,6,8,5:”);
/*String display in 1st row of LCD*/

/*Start of infinite loop*/
while(1)
{

lcd_command_write(0xC0);
/*Cursor moves to 2nd row 1st column of LCD*/

keypad_value = read_keypad();
/*Scan’s 4X4 keypad and returns pressed key value or default value*/

/*Checking if any key is pressed or not*/
if(keypad_value != 0xff)
{

/*Checking which key of the keypad is pressed to move the robot in different direction*/
if(keypad_value == 0x02)
{

PORTB=0x0A;
/*Transmitter will transmit 0x0A to drive Robot in forward direction*/

lcd_string_write(“Moving Forward “);
/*String display in 2nd row of LCD*/

}
else if(keypad_value == 0x08)
{

PORTB=0x05;
/*Transmitter will transmit 0x05 to drive Robot in reverse direction*/

lcd_string_write(“Moving Backward”);
/*String display in 2nd row of LCD*/

}
else if(keypad_value == 0x04)
{

PORTB=0x02;
/*Transmitter will transmit 0x02 to drive Robot in left direction*/

lcd_string_write(“Moving Left “);
/*String display in 2nd row of LCD*/

}
else if(keypad_value == 0x06)
{

PORTB=0x08;
/*Transmitter will transmit 0x08 to drive Robot in right direction*/

lcd_string_write(“Moving Right “);
/*String display in 2nd row of LCD*/

}
else if(keypad_value == 0x05)
{

PORTB=0x0F;
/*Transmitter will transmit 0x0f to stop Robot*/

lcd_string_write(“Stopped “);
/*String display in 2nd row of LCD*/

}
else
{

;
/*Null statement*/

}

}
else
{

;
/*Null statement*/

}

}

}
/*End of Program*/

Connection Guide

The step-by-step connection guide for 4X4 Keypad Controlled Wireless Robot with ATmega16 using 433MHz RF project is as follows:

Transmitter Connection Guide

  • Insert the DC Pin of 12V, 1A DC Adapter to the DC Socket of AVR Trainer Board-100.

  • Connect PortA header with LCD data header in AVR Trainer Board-100 with a 10 to 10 FRC Female Connector.

  • Connect RS, RW & EN pins of LCD control header with PD0, PD1 & PD2 pins of PortD header respectively in AVR Trainer Board-100 with 1 to 1 Connectors.

  • Connect the 16X2 Alphanumeric LCD to the LCD header of AVR Trainer Board-100.

  • Connect PortC header of AVR Trainer Board-100 with Keypad header of 4X4 Keypad with a 10 to 10 FRC Female Connector.

  • Connect PortB header of AVR Trainer Board-100 with RF Transmitter header of RF Transmitter Board with a 10 to 10 FRC Female Connector.

  • Connect the TE bar pin and GND of RF Transmitter Jumper header with a jumper.

  • Set the address of RF Transmitter to 0x00 with the help of 8 way DIP switch in RF Transmitter Board.

  • Connect the ISP header of AVR Trainer Board-100 with AVR USB Programmer header of AVR USB Programmer with a 10 to 10 FRC Female Connector.

  • Connect the AVR USB Programmer to the PC/Laptop’s USB Port directly or with the help of USB AM-AF Cable.

  • Switch on the power with the help of Power Switch of AVR Trainer Board-100.

  • Download the 4X4 Keypad Controlled Wireless Robot with ATmega16 using 433MHz RF Hex file to AVR Trainer Board-100 with the help of SinaProg Hex downloader and AVR USB Programmer.

Receiver Connection Guide

  • Insert the DC Pin of 12V, 1A DC Adapter to the DC Socket of Power Supply Board.

  • Connect the 5V and GND pins of 5V header and GND header of Power Supply Board to VCC and GND pins of Input header of DC Motor Driver and RF Receiver header of RF Receiver Board with 1 to 1 Female Connectors.

  • Set the address of RF Receiver to 0x00 with the help of 8 way DIP switch in RF Receiver Board.

  • Connect the D8, D9, D10 and D11 pins of RF Receiver header of RF Receiver Board with I/P1, I/P2, I/P3 and I/P4 pins of Input header of DC Motor Driver with 1 to 1 Female Connectors.

  • Connect the 12V pin of PWM & Motor Voltage header of DC Motor Driver with the 12V header of Power Supply Board with a 1 to 1 Connector.

  • Connect the Robot connector to the Output header of the DC Motor Driver.

  • Switch off the Mode Switch of DC Motor Driver.

  • Switch on the power with the help of Power Switch of Power Supply Board.

Press different keys of the 4X4 keypad and driver your robot wirelessly.


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


Hardwares Required

  • AVR Trainer Board-100-1pc

  • AVR USB Programmer-1pc

  • ۱۲V, 1A DC Adapter-2pcs

  • ۱۶X2 Alphanumeric LCD(JHD162A)-1pc

  • ۴X4 Keypad-1pc

  • DC Motor Driver-1pc

  • Robot-1pc

  • RF Transmitter & Receiver Board-1pc

  • Power Supply Board-1pc

  • ۱ to 1 Connector-12pcs

  • ۱۰ to 10 FRC Female Connector-4pcs

  • USB AM-AF Cable(Optional)-1pc

Softwares Required

  • AVR Studio 6

  • SinaProg Hex Downloader

  • USBasp Driver

 

 

 

منبع: http://www.ablab.in/

نحوه نصب siemens simatic step 7 v5.5 SP2 or SP3 بر روی ویندوز Windows 8 or 10

نحوه نصب siemens simatic step 7 v5.5 SP2 or SP3 بر روی ویندوز Windows 8 or 10:

این مطلب برای کسانی است که در نصب نرم افزار plc در سیستم های ۸ و ۱۰ مشکل دارند.

از همینجا از مهندس ودود حاجبانی تشکر میکنم که این مطلب رو برای وبسایت PLCMAN به صورت اختصاصی تهیه و ترجمه کرده اند


ابتدا نرم افزارهای زیر را بر روی ویندوز نصب نمایید:

۱٫ Automation Licence Manager
حتما آخرین نسخه این فایل را از سایت زیمنس بدون ابزار دانلود مانند IDM تهیه نمایید (با فیلتر شکن)

۲٫ Resource Hacker
این فایل در لینک پایین هم وجود دارد

۳٫ instead
این فایل در لینک پایین هم وجود دارد

۱- فایل Setup موجود در پوشه اصلی را با استفاده از نرم افزار Resource Hacker ویرایش نمایید. و در آدرس
In STEP7 5.5 SP2 → ./Setup.exe/ Mainifest/1:1033
In STEP7 5.5 SP3 → ./Setup.exe/24/1/1033

خطوط زیر را طبق ویدیو اضافه نمایید:
<supportedOS Id=”{4a2f28e3-53b9-4441-ba9c-d69d4a4a6e38}”></supportedOS>
<supportedOS Id=”{1f676c76-80e1-4239-95bb-83d0f6d0da78}”></supportedOS>
و فایل را Compile و Save نمایید.

۲- فایل CD_2/Setups.ini را باز کرده و عبارت “PlattformIDAllowed = 1;2” در زیر واژه “OS” را به “PlattformIDAllowed = 1;2;3” تبدیل کرده و در سطر بعد از آن عبارت زیر را وارد نمایید:
Win8x64=1
Win8x64Exclude=SKU2;SKU3;SKU5;SKU8;SKU9;SKU10;SKU1 1;SKU12;SKU13;SKU14;SKU15;SKU16;SKU17;SKU18;SKU19; SKU20;SKU21;SKU22;SKU23;SKU24;SKU25;SKU47;SKU66;SK U67;SKU68
Win8x64Warning=SKU2;SKU3;SKU5;SKU8;SKU9;SKU10;SKU1 2;SKU13;SKU14;SKU15;SKU16;SKU17;SKU18;SKU19;SKU20; SKU21;SKU22;SKU23;SKU24;SKU25;SKU67;SKU68
و فایل را Save نمایید.

۳- در پوشه اصلی نصب تمامی فایل¬هایی با پسوند “*.msi” را با استفاده از نرم افزار InstEd باز کرده و عبارت “DLG_INSTALLATIONREQUIREMENTS_DISABLE_IGNORE” را در آنها جستجو کرده و در صورتی که “Disable” باشد آنها را به “Enable” تغییر دهید (برای درک بهتر این کار را مطابق فیلم ویدیدیی انجام دهید) و همه فایل¬ها را Save نمایید.

۴- در منابع اصلی استفاده شده به صورت مستقیم به این قسمت اشاره نشده است اما در صورت عدم تنظیم این قسمت ممکن است نصب برنامه به صورت کامل انجام نشود.
برای این کار در پوشه اصلی نصب تمامی فایل¬هایی با پسوند “*.msi” را جستجو کرده و بر روی هر کدام راست کلیک کرده و “Properties” را انتخاب می¬نماییم؛ در پنجره باز شده در سربرگ “Compatibility” در قسمت “Compatibility mode” تیک “Run this program in compatibility mode for:” را فعال کرده و “Previos version of Windows” را انتخاب می نماییم.
همچنین در پوشه اصلی نصب تمامی فایل¬هایی با پسوند “*.exe” را جستجو کرده و بر روی هر کدام راست کلیک کرده و “Properties” را انتخاب می¬نماییم؛ در پنجره باز شده در سربرگ “Compatibility” در قسمت “Compatibility mode” تیک “Run this program in compatibility mode for:” را فعال کرده و “Windows 7” را انتخاب می نماییم.

۵- با استفاده از فایل Setup.exe (و نه Setup_original.exe) در پوشه اصلی برنامه، برنامه Step7 5.5 را مطابق معمول نصب می¬نماییم. اما در حین نصب برنامه ممکن است خطایی به صورت “Installation of protocol siem_isotrans failed with error code hr+0x80004002.” (و یا خطای مشابه) ظاهر شود که بدون در نظر گرفتن آن به نصب ادامه می¬دهیم.

۶- بعد از نصب برنامه ممکن Help برنامه به درست کار نکند به همین خاطر در پوشه “winhlp32” برنامه “Install.cmd” را به صورت “run as administrator” اجرا نمایید تا مشکل Help نیز حل شود (این برنامه در لینک پایین قرار داده شده است و حتما از این فایل استفاده نمایید).

لینک دستعورالعمل نصب به صورت PDF و MP4 به همراه فایل های Resource Hacker و instead و winhlp32 مخصوص برای حل مشکل Help نرم افزار.

 


دانلود نرم افزار های اتوماسیون صنعتی (Step7 & Logo):

Siemens SIMATIC STEP 7 Professional

fluit sim festo

logo v6

setup_ezopc_55


منبع: http://plcman.vcp.ir/

textlogo3                                                              Let-5C-27s make things better-21

طراحی و شبیه سازی کوادروتور

(قسمت اول)

توسط

quad

 

در قسمت اول از این مجموعه به معرفی کوادروتور ها و تاریخچه آن ها پرداخته و معادلات ریاضی حاکم بر آن را بیان می کنیم.

 

معرفی

آرزوی پرواز از دیرباز تاکنون همیشه در ذهن هر انسانی، صرف‌نظر از موقعیت و توانایی‎اش، وجود داشته و به نوعی آن را درگیر کرده‎است. آرزوی بالا رفتن آزادانه ، معلق بودن در فضا، به اطراف رفتن و دوباره آرام و راحت به زمین فرود  آمدن. اما مهم‌ترین چالشی که انسان‌ها را از رسیدن به این آرزو و بسیاری از آرزوهای دیگر باز داشته است نبود دانش کافی و تجهیزات مورد نیاز آن برای رسیدن به آنها بوده و می‌باشد.

تاریخچه سیستم‌های عمود پرواز

آنچه از مطالعه تاریخی سیستم‌های پروازی تاکنون حاصل شده است؛ تاریخچه پیدایش سیستم‌های عمود پرواز فعلی که در اینجا منحصرا آنها را هلیکوپتر می‎نامیم در مقایسه با هواپیماهای بال ثابت (هواپیما) بسیار کوتاه است اما تلاش‌هایی برای رسیدن به این فناوری گذشته‌ای بسیار دور دارد. اما آنچه موجب پیشرفت سریع هواپیما در مقایسه با هلیکوپتر شده است را می‌توان در طراحی و پیچیدگی‎های کمتر آن در مقایسه با هلیکوپتر دانست همچنین به علت فقدان فناوری‎های مورد نیاز برای کنترل و هدایت امن و راحت هلیکوپتر تا سال‌های زیاد این فناوری با پیشرفت‌های بسیار کندی همراه بوده است.

اما اولین تلاش‌ها برای رسیدن به هلیکوپتر را می‌توان در چین جستجو کرد، مردمان آنها با الهام گرفتن از طبیعت مانند سقوط آرام دانه درخت چنار تلاش‌هایی نه چندان موفق را در این زمینه کرده‌بودند. در سال ۱۴۹۰ لئوناردو داوینچی با ارائه طرح مارپیچ هوایی(شکل۱-۱) اولین تلاش‌ جدی در این زمینه را ارائه داد. همچنین در سال ۱۸۶۳ پانتون دآمکورت اولین بار واژه هلیکوپتر را که از دو کلمه یونانی  و  به معنای پیچ و بال است، معرفی نمود.

آنچه که در تاریخچه پیدایش هلیکوپتر و در کل سیستم‌های عمود پرواز جالب به نظر می‌رسد این می‌باشد که اولین تلاش‎ها برای رسیدن به یک سیستم عمود پرواز در در دو هدف اصلی خلاصه شده بوده است اول ایجاد قدرت لازم برای تولید نیروی بالابرنده مورد نیاز و دوم جبران گشتاور اضافی تولیدی حاصل از دوران پره ها و به این ترتیب اولین تلاش‌ها منجر به ساخت سیستم‌هایی شامل ۴ پره یا آرایش ۴ پره‌ای گردید که آنها را کوادروتور می‌نامیم که اگرچه بازدهی کافی و کارآیی مناسب را نداشتند ولی گام مهمی را در رسیدن به هدف اصلی که تولید یک سیستم عمود پرواز امن بود را میسر ساختند.

گزارش کامل را می توانید در قالب فایل PDF از لینک زیر دریافت کنید:

downloadPress


 

(قسمت دوم)

 

MH-AR-FPV250A-SC

طراحی و شبیه سازی کوادروتور (قسمت دوم)

در قسمت دوم از این مجموعه به معرفی قطعات مورد استفاده در کوادروتور پرداخته و ارائه توضیحاتی درباره طراحی بدنه یک نمونه خواهیم پرداخت.

 

  • انتخاب قطعات

برای این منظور ابتدا لیست قطعات مورد نیاز برای ساخت کوادروتور استاندارد و ساده آورده شده است:

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

نوع قطعه

تعداد

خرید یا ساخت

۱

موتورهای براشلس

۴

خرید

۲

درایورهای موتور

۴

خرید

۳

پروانه‎های ۵ اینچ

۴

خرید

۴

باتری لیتیوم- پلیمر

۱

خرید

۵

کنترلر سیستم‎های پرنده

۱

خرید

۶

بدنه

۱

ساخت

۷

سیستم رادیوکنترل

۱

خرید

 توضیحات مربوط به هر بخش در گزارش ضمیمه شده  آورده شده است…

 

  • طراحی بدنه

پس از انتخاب قطعات و درنظر گرفتن مشخصات آنها، در مرحله بعد بدنه کوادروتور طراحی می شود. به همین منظور ابتدا مدلسازی در نرم افزار SolidWorks انجام گرفته و سپس اطلاعات مورد نیاز بدست می آید.

 

گزارش کامل را می توانید در قالب فایل PDF از لینک زیر دریافت کنید:

9%D8%BA%D8%BA


(قسمت سوم)

توسط

quad3

 

در این گزارش ابتدا مقدمه ای بر بردهای آردوینو آورده شده و مدار کنترلر کوادروتور که از برد های آردوینو می­باشد معرفی و شماتیک مدار توضیح داده می­شود. سپس مدارات سنسور ها و درایور موتورها معرفی شده اند. همچنین کد راه اندازی یک کوادروتور نمونه با سخت افزار معرفی شده و نرم افزار آردوینو آورده شده است. در انتها نیز به برسی تعیین ضرایب PID پس از ساخت کوادروتور می­پردازیم.

 

گزارش کامل به همراه فایل های ضمیمه را می توانید در قالب فایل ZIP از لینک زیر دریافت کنید:

9%D8%BA%D8%BA

 

Let-5C-27s make things better-21

 

منبع: انجمن علمی مهندسی مکاترونیک دانشگاه تهران

 

آموزش میکروکنترلر AVR


طرح دانشجویی” یونتوفورزیس” (دستگاه درمان تعریق بیش از حد بدن) در دانشگاه حکیم سبزواری رونمایی شد

طرح دانشجویی” یونتوفورزیس” (دستگاه درمان تعریق بیش از حد بدن) در دانشگاه حکیم سبزواری رونمایی شد
دستگاه  درمان تعریق بیش از حد بدن در حاشیه هفتمین جشنواره دانشجویی حرکت در دانشگاه حکیم سبزواری رونمایی شد.
به گزارش روابط عمومی وزارت علوم ، دانشجوی مکاترونیک دانشگاه حکیم و طراح این دستگاه  در حاشیه رونمایی از این طرح گفت: این دستگاه جهت درمان بیماری “Hyperhidrosis “یا تعریق بیش از حد بدن طراحی شده است.
فرزاد کریمی، با تشریح مشخصات فنی این طرح افزود: این دستگاه با تحریک غدد عرق در کف دست و کف پا و عمل یونیزاسیون پتاسیم و کلسیم باعث قطع شدن فرایند تعریق بیش از حد بدن می شود.
این دانشجوی مکاترونیک دانشگاه حکیم سبزواری با اشاره به اینکه منبع انرژی این دستگاه برق شهری است، تصریح کرد: استفاده از این دستگاه در طی مدت یک ماه سبب قطع تعریق بیش از اندازه بدن می شود.
وی با بیان اینکه بیماری Hyperhidrosis راه های درمان دیگری هم دارد، یادآور شد: درمان هایی مانند بوتاکس، تزریق ژل و داروها و طب سوزنی از جمله مواردی است که جهت درمان این بیماری استفاده می شود.
وی ادامه داد: البته برخی از این درمان ها عوارضی  را نیز در پی دارد و در برخی افراد دیگر نیز این درمان ها بی نتیجه است اما دستگاه ما روی اکثر افراد به صورت تضمینی این مشکل رو رفع می کند.
کریمی ادامه داد:  طراحی این دستگاه یکسال طول کشید و هزینه ای بالغ بر ۴میلیون ریال را شامل شد.
وی تشخیص خودکار حضور یا عدم حضور دست ها د دستگاه، سبک و  قابل حمل و نقل بودن و تنظیم ولتاژ دستگاه را از جمله مزیت های این دستگاه نسبت به مشابه خارجی آن برشمرد.

هفدهمین جشنواره حرکت

انجمن های علمی دانشجویی که به عنوان موتورهای محرک رشد هر علم در دانشگاهند، به مرکزی برای پرورش استعدادهای علمی – مدیریتی، تقویت نشاط علمی و اجرای برنامه های تکمیلی همسو با آموزش های دانشگاهی تبدیل شده است و هرساله جشنواره ای، به عنوان جشنواره حرکت با حضور برترین انجمن های علمی کشور گرد هم می آیند که این جشنواره ماحصل جشنواره درون دانشگاهی است. امسال هفتمین جشنواره دانشگاهی حرکت دانشگاه حکیم سبزواری است که دستاوردهای علمی – دانشجویی در قالب انجمن های علمی به نمایش گذاشته می شود و درپایان از انجمن های علمی برگزیده تقدیر به عمل می آید.

آموزش جامع آردوینو