اطلاعیه

Collapse
No announcement yet.

مشکل در پروژه کنترل دور موتور dc با میکرو mega8 و labview

Collapse
X
 
  • فیلتر
  • زمان
  • Show
Clear All
new posts

    مشکل در پروژه کنترل دور موتور dc با میکرو mega8 و labview

    سلام دوستان
    چند وقتیه که قصد دارم پروزه کنترل موتور dcبا نرم افزار labview را که در شماره هفت مجله نویز اومده را به عنوان پروژه ارائه بدم ولی با مشکل برخوردم
    طرز کار کلی پروژه به این صورت که میکرو توسط پورت سریال به کامپیوتر وصل شده و از طریق labview سرعت را کنترل می کنه .
    در روش مرسوم یک عبارت از طریق کامپیوتر به میکرو ارسال میشه و میکرو نسبت به اون ،دستور ارسالی زیر برنامه را اجرا میکنه در این برنامه هم از همین روش استفاده شده بدین صورت که با تغییر ولوم سرعت از 1 تا 255 توسط نرم افزار labview کارکتر اسکی مربوط به همین اعداد را به میکرو ارسال میکنه و مستقیما کاراکتر را درون رجیستر قرار می ده و سرعت تنظیم میشه.
    منتها من این مدار را طبق اصول ارائه شده (نرم افزار ی و سخت افزاری ) بستم ولی یا کنترل دور موتور انجام نمیشه( با یک سرعت می چرخه ) و یا اصلا حرکتی دارم ( در این حالت خروجی مدار 3 ولت داره ولی به محض اینکه موتور را وصل می کنم به مدار، ولتاژ افت میکنه)
    نکته 1: تولکیت visa نرم افزار labview را نصب کردم و آلارمی ندارم.
    نکته 2: پورت سریالم را با نرم افزار هایپر ترمینال تست کردم و عمل send & recive را انجام می ده.
    نکته 3: با اسکوپ خروجی را گرفتم اصلا موج pwm ندارم!!!!!
    نکته 4: در شکل سیم بندی سخت افزاری پایهrR1IN در ic max232به پین شماره 4 سوکت پورت سریال وصل شده که در اصل پین شماره 2 می باشد که من اصلاح کردم.
    اینتر فیس labview



    بلوک دیاگرام labview



    نقشه سیم بندی مدار


    و این هم برنامه میکرو که در مجله نویز قرار داده شد

    کد:
    #include <avr/io.h>
    #define F_CPU 11059200
    #define USART_BAUDRATE 9600
    voidUSARTInit(uint16_t ubrr_value)
    }
    UBRRL = ubrr_value;
    UBRRH = ubrr_value>>8;
    UCSRC=(1<<URSEL)|(3<<UCSZ0);
    UCSRB=(1<<RXEN)|(1<<TXEN);
    {
    charUSARTReadChar()
    {
    while(!(UCSRA & (1<<RXC))){}
    return UDR;
    }
    voidUSARTWriteChar(char data)
    {
    while(!(UCSRA & (1<<UDRE))){}
    UDR=data;
    }
    int main(void)
    {
    TCCR1A=0x81;
    TCCR1B=0x01;
    PORTB=0x00;
    DDRB=0x06;
    USARTInit(((F_CPU / (USART_BAUDRATE * 16UL))) - 1);
    while(1)
     {
    OCR1AL=USARTReadChar();
     }
     }
    ممنون میشم از دوستانی که در این زمینه کار کردند کمک کنند :cry: :cry: :cry:

    #2
    پاسخ : مشکل در پروژه کنترل دور موتور dc با میکرو mega8 و labview

    سلام معمولا پورت رو خارج از while گانفیگ می کنن

    داخل پروتیوس چک کردی

    دیدگاه


      #3
      پاسخ : مشکل در پروژه کنترل دور موتور dc با میکرو mega8 و labview

      در این برنامه فقط تابع usartreadchar را فراخوانی کرده تا مقدار آن را در ocr1al بریزه
      با پروتئوس چک نکردم سعی کردم برنامه com0com را نصب کنم ولی نشد راهی دیگه سراغ دارید؟ :redface:

      دیدگاه


        #4
        پاسخ : مشکل در پروژه کنترل دور موتور dc با میکرو mega8 و labview

        نرم افزار VSPEچطوره

        دیدگاه


          #5
          پاسخ : مشکل در پروژه کنترل دور موتور dc با میکرو mega8 و labview

          نه
          میشه بیشتر توضییح دید

          دیدگاه


            #6
            پاسخ : مشکل در پروژه کنترل دور موتور dc با میکرو mega8 و labview

            شما یه مرحله برگرد عقب تر.
            اصن ببین به مدار دیتایی ارسال می شه.
            یعنی از یه ال سی دی کارکتری استفاده کن و مقداری که از USART می گیری رو با یه پیغام نشون بده.
            برای ارتباط میکرو و PC از چی استفاده می کنی؟

            دیدگاه


              #7
              پاسخ : مشکل در پروژه کنترل دور موتور dc با میکرو mega8 و labview

              سلام ممنون
              پس از بررسی چند روزه متوجه یه عیب شدم:
              و اینکه هنگامی که مدار را به پورت com متصل می کنی کامپیوتر اصلا سخت افزار را نمی شناسه ( باید یه بالن مبنی بر اتصال سخت افزار در پایین دسکتاپ سمت چپ ظاهر بشه ) و دوم اینکه بعد از شناخت سخت افزار باید به وسیله یه فایل درایو ، سخت افزار را به پورتcom معرفی و تعریف کنیم
              در مورد عیب اول که سیستم سخت افزار را نمی شناسه بعد از سرچ متوجه شدم که ممکنه عیب از سخت افزار باشه ولی آیا مداری که طبق نقشه بالا بستم مورد و اشکال داره ؟
              دوم اینکه حالا سیستم سخت افزار را شناخت فایل درایو را از کجا بیارم ؟ ایا میشه ساخت ؟ آیا میشه به طور اتوماتیک معرفی و تعریف کرد؟
              یه نکته اینکه پورت com را از dvice maneger پدیت کردم ولی جواب نداره!!! :redface:

              دیدگاه

              لطفا صبر کنید...
              X