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





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









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









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






کاربران برچسب زده شده

نمایش نتایج: از 1 به 10 از 10
  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, 13:06
  2. ساده ترین روش برای راه اندازی PT100 با AVR
    توسط shahin2222 در انجمن میکروکنترلرهای AVR
    پاسخ: 0
    آخرين نوشته: 2015/07/20, 14:33
  3. از کجا میشه پایه های موتور برای حرکت افقی و عمودی تهیه کرد؟
    توسط persepolis32 در انجمن رباتيك و مكاترونيك
    پاسخ: 8
    آخرين نوشته: 2014/06/13, 12:17
  4. دور سنج ساده برای موتور هواپیما
    توسط mrbp در انجمن مباحث دیگر علم الکترونیک
    پاسخ: 8
    آخرين نوشته: 2012/09/22, 08:13
  5. پاسخ: 3
    آخرين نوشته: 2007/09/25, 13:06

کلمات کلیدی این موضوع

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

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

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

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