ورود به حساب ثبت نام جدید فراموشی کلمه عبور
برای ورود به حساب کاربری خود، نام کاربری و کلمه عبورتان را در زیر وارد کرده و روی «ورود به سایت» کلیک کنید.





اگر فرم ثبت نام برای شما نمایش داده نمی‌شود، اینجا را کلیک کنید.









اگر فرم بازیابی کلمه عبور برای شما نمایش داده نمی‌شود، اینجا را کلیک کنید.





  1. #1
    2010/01/03
    12
    0

    یک برنامه ساده کد ویژن برای راه اندازی موتور dc برای حرکت رو به جلو

    سلام به دوستان عزیز .. :biggrin: من در حال ساخت یک روبات با پردازش تصویر هستم . الانم بوردشو اماده کردم . فقط برا تستش می خوام با کد ویژن یه برنامه بنویسم که 2تا موتور dc l298 رو به جلو حرکت کنن . که ببینم عملکرد بوردم و مکانیکش خوب هست یا نه . با کدویژن باشه خیلی بهتر چون برنامه نویسیشو می خوام با کدویژن انجام بدم.
    ممنون میشم کسی کمکم کنه .. راستی پورت d رو میخوام بدم به موتور a,b
  2. #2
    2010/09/18
    217
    3

    پاسخ : یک برنامه ساده کد ویژن برای راه اندازی موتور dc برای حرکت رو به جلو

    شما تو codewizard تنظیمات timer رو انجام بده و بعد
    OCR1A=125;
    OCR1B=125;
    PORTD.0=1;
    PORTD.1=0';
    PORTD.2=1;
    PORTD.3=0;
    روشن یا خاموش بودن پورتهای بالا مشخص کننده جهت چرخش و مقدار timer ها میزان سرعت رو نشون میدن!
  3. #3
    2010/01/03
    12
    0

    پاسخ : یک برنامه ساده کد ویژن برای راه اندازی موتور dc برای حرکت رو به جلو

    ممنون دوست عزیز . سپاس فراوان .

    پس از این برنامه که نوشتید نتیجه میگیرم که از تایمر یک استفاده کنم .. و از طرفی ocrA,B همون نقش enable را دارن ! دورس میگم ... و اگه همینو بنویسم به امید خدا رباتم حرکت می کنه دیگه ... یعنی باید این صفر و یک ها را
    تغییر بدم تا جهت مورد نیازم که رو به جلو هست رو پیدا کنم .
  4. #4
    2010/09/18
    217
    3

    پاسخ : یک برنامه ساده کد ویژن برای راه اندازی موتور dc برای حرکت رو به جلو

    بله دوست عزیز. اجباری در استفاده از timer 1 نیست.
    فقط همونطور که عرض کردم تنظیم codewizard یادتون نره! فرکانس timer رو هم اینقدر عوض کنید تا به بهترین حالت از نظر حرکت برسید!
  5. #5
    2010/01/03
    12
    0

    پاسخ : یک برنامه ساده کد ویژن برای راه اندازی موتور dc برای حرکت رو به جلو

    بله .. ممنون ... دروس شد .. خیلی خیلی تشکر ... زحمت کشیدن ... با کمک شما الان داره راه میره ...
    حالا اگه بخوام مثلا برا 30 ثانیه رو به جلو و بعد برا 30 ثانیه به چپ حرکت کنه .. برنامه رو چه جوری باید تغییر بدم ؟

  6. #6
    2010/01/03
    12
    0

    پاسخ : یک برنامه ساده کد ویژن برای راه اندازی موتور dc برای حرکت رو به جلو

    حالا من اینجا برنامه کاملشو که به کمک ادمین عزیز راه افتاد میزارم تا دوستان دیگه هم اگه مشکل منو داشتن برطرف شه ! :applause:

    #include <mega32.h>
    #include <delay.h>

    // Alphanumeric LCD Module functions
    #asm
    .equ __lcd_port=0x15 ;PORTC
    #endasm
    #include <lcd.h>

    // Timer 1 overflow interrupt service routine
    interrupt [TIM1_OVF] void timer1_ovf_isr(void)
    {
    // Place your code here

    }

    // Declare your global variables here

    void main(void)
    {

    PORTD=0x00;
    DDRD=0xFF;
    PORTD.0=1;
    PORTD.1=0;
    PORTD.2=1;
    PORTD.3=0;

    // Timer/Counter 0 initialization
    // Clock source: System Clock
    // Clock value: Timer 0 Stopped
    // Mode: Normal top=FFh
    // OC0 output: Disconnected
    TCCR0=0x00;
    TCNT0=0x00;
    OCR0=0x00;

    // Timer/Counter 1 initialization
    // Clock source: System Clock
    // Clock value: 125.000 kHz
    // Mode: Normal top=FFFFh
    // OC1A output: Set
    // OC1B output: Set
    // Noise Canceler: Off
    // Input Capture on Falling Edge
    // Timer 1 Overflow Interrupt: On
    // Input Capture Interrupt: Off
    // Compare A Match Interrupt: Off
    // Compare B Match Interrupt: Off
    TCCR1A=0xF0;
    TCCR1B=0x03;
    TCNT1H=0x00;
    TCNT1L=0x00;
    ICR1H=0x00;
    ICR1L=0x00;
    OCR1AH=0x01;
    OCR1AL=0x25;
    OCR1BH=0x01;
    OCR1BL=0x25;

    // Timer/Counter 2 initialization
    // Clock source: System Clock
    // Clock value: Timer 2 Stopped
    // Mode: Normal top=FFh
    // OC2 output: Disconnected
    ASSR=0x00;
    TCCR2=0x00;
    TCNT2=0x00;
    OCR2=0x00;

    // External Interrupt(s) initialization
    // INT0: Off
    // INT1: Off
    // INT2: Off
    MCUCR=0x00;
    MCUCSR=0x00;

    // Timer(s)/Counter(s) Interrupt(s) initialization
    TIMSK=0x04;

    // Analog Comparator initialization
    // Analog Comparator: Off
    // Analog Comparator Input Capture by Timer/Counter 1: Off
    ACSR=0x80;
    SFIOR=0x00;

    // LCD module initialization
    lcd_init(16);

    // Global enable interrupts
    #asm("sei&quot

    while (1)
    {
    lcd_gotoxy(0,0);
    lcd_putsf("d989"
    delay_ms(900);
    lcd_clear();
    lcd_gotoxy(0,0);
    lcd_putsf("mohammad"
    delay_ms(900);
    lcd_clear();
    };
    }
  7. #7
    2010/01/03
    12
    0

    پاسخ : یک برنامه ساده کد ویژن برای راه اندازی موتور dc برای حرکت رو به جلو

    ممنون از ادمین عزیز .. حالا اگه بخوام به مدت مثلا 5 ثانیه رو به جلو و بعد 2 ثانیه مکث داشته باشه و بعد از مکث 5 ثانیه به سمت چپ حرکت کنه برنامه رو چه جوری باید بنویسیم ... چون با L298 دارم کار میکنم برای 2تا موتور کمی برای برنامه نویسیش گیج شدم ... دقیقا نمیدونم کدشو بنویسم هرچی هم می نویسم جواب مورد نظر رو نمیده ..
  8. #8
    2010/01/03
    12
    0

    پاسخ : یک برنامه ساده کد ویژن برای راه اندازی موتور dc برای حرکت رو به جلو

    کسی نیس جواب مارو بده دوستان
  9. #9
    2010/07/05
    teh-1
    78
    6

    پاسخ : یک برنامه ساده کد ویژن برای راه اندازی موتور dc برای حرکت رو به جلو

    کد:
    //////////////farz mi****m port d.0 va d.1 male yek motor va d.2 va d.3 ham male un yeki motor va ocr1a male motore aval va ocr1b ham motore dovom man chun hale tanzimate timer neveshtanesho nadaram unesho xodet zahmatesho bekesh
    
    // vase rahat shodane kar ye tabe vase harekate motora minivisim
    
    void motor(int pwmr,int pwml)
    {
    	if (pwmr>=0)
    	{
    		OCR1A=pwmr;
    		PORTD.0=1;
    		PORTD.1=0;	
    	}
    	else if(pwmr<0)
    	{
    		OCR1A=-pwmr;
    		PORTD.0=0;
    		PORTD.1=1;	
    			
    	}
    	if (pwml>=0)
    	{
    		OCR1B=pwml;
    		PORTD.2=1;
    		PORTD.3=0;	
    	}
    	else if(pwmr<0)
    	{
    		OCR1B=-pwml;
    		PORTD.2=0;
    		PORTD.3=1;	
    			
    	}
    }
    
    ////////////////hala har ja bexay motorato harekat bedi kafie motor ro faraxuni ****o 2 ta pwm morede nazareto besh bedi + vase jolo - vase agham (masalan)
    
    
    ///hala to main
    
    
    void main()
    {
    	while(1)
    	{
    		/////mixay bere jolo
    		motor(255,255);
    		delay_ms(1000);
    		////aghab
    		delay_ms(1000);
    		motor(-255,-255);
    		delay_ms(1000);
    		////chap
    		motor(0,255);
    		delay_ms(1000);
    		////rast
    		motor(255,0);
    		delay_ms(1000);
    
    
    		//////////////hamin dg!! un 255 ham pwm ete ke daste xodete hamin ! 
    	}
    }
    The truth is not true!!!! the Truth is your own if U think Its TRUTH and The TRUTH is written in blood because its Ur own & Ur dream is the Truth if U see A thing if U feel A thing U build it like a building(!!!) and there is no thing.
  10. #10
    2010/01/03
    12
    0

    پاسخ : یک برنامه ساده کد ویژن برای راه اندازی موتور dc برای حرکت رو به جلو

    محمد جان از کمک و راهنماییت ممنون .. الان میشنم پاش ... راش بندازم
نمایش نتایج: از 1 به 10 از 10

موضوعات مشابه

  1. مداری ساده برای نرم کردن حرکت موتورهای dc
    توسط microjo در انجمن سیستم های کنترلی
    پاسخ: 2
    آخرين نوشته: 2016/01/22, 14:06
  2. ساده ترین روش برای راه اندازی PT100 با AVR
    توسط shahin2222 در انجمن میکروکنترلرهای AVR
    پاسخ: 0
    آخرين نوشته: 2015/07/20, 15:33
  3. از کجا میشه پایه های موتور برای حرکت افقی و عمودی تهیه کرد؟
    توسط persepolis32 در انجمن رباتیک و مکاترونیک
    پاسخ: 8
    آخرين نوشته: 2014/06/13, 13:17
  4. دور سنج ساده برای موتور هواپیما
    توسط mrbp در انجمن مباحث دیگر علم الکترونیک
    پاسخ: 8
    آخرين نوشته: 2012/09/22, 08:13
  5. پاسخ: 3
    آخرين نوشته: 2007/09/25, 13:06

علاقه مندي ها (Bookmarks)

علاقه مندي ها (Bookmarks)

مجوز های ارسال و ویرایش

  • شما نمیتوانید موضوع جدیدی ارسال کنید
  • شما امکان ارسال پاسخ را ندارید
  • شما نمیتوانید فایل پیوست کنید.
  • شما نمیتوانید پست های خود را ویرایش کنید
  •