NOTICE توجه: این یک موضوع قدیمی است که آخرین پست ارسالی آن مربوط به 3698 روز قبل است . لطفا فقط پاسخ ها ، سوالات و درخواست های 100 درصد مرتبط را به آن ارسال کنید و برای درخواست ها و سوالات جدید موضوع جدیدی را ایجاد کنید
نمایش نتایج: از 1 به 15 از 15

موضوع: تغییر جهت چرخش موتور دستگاه جوجه کشی هر 20 ثانیه

  1. #1
    کاربر دائمی raminrayat آواتار ها
    تاریخ عضویت
    Dec 2009
    نام
    رامین چمن ارا
    نوشته ها
    474
    تشکر
    268
    تشکر شده 608 بار در 256 پست

    پیش فرض تغییر جهت چرخش موتور دستگاه جوجه کشی هر 20 ثانیه

    سلام
    میخوام یک ایده خوب واسه این موضوع بدید
    برنامه ای که تو اون بدون استفاده از تایمر میکرو هر 20 ثانیه موتور جهت چرخشش عوض شه
    و وقتی سینی تخم مرغها به زاویه ای رسیدن که به سویچ سمت چرخش برخورد کردن موتور خاموش شه
    عکسشو میزارم تا درکش راحت تر باشه
    این رو هم بگم که دستورات wait تو کل برنامه به مقداری هستن که وقتی میکرو یه بار همه خط هارو میخونه 1 ثانیه طول میکشه
    پس یعنی به دستور wait 1 احتیاجی نیست.اگرم مثل من گذاشتید اشکال نداره .فقط واسه تست wait 1 رو بزارید

    نمونه برنامه ی ساده ای که من نوشتم اینه
    دوس دارم ببینم راه حرفه ای تر برای این کار چیه
    توضیحاتتون رو لطفا واضح بگید.اگه برنامه ای که مد نظرتونه بنویسید که خیلی گلید


    Do

    Cls : Home : Lcd A
    Locate 2 , 1 : Lcd B

    A = A + 1
    Wait 1

    B = A / 2

    If B = 40 Then برای 20 ثانیه ی اول و چرخش راستگرد مثلا

    Set Portd.2
    Reset Portd.3

    Elseif B = 80 Then برای 20 ثانیه دوم و چرخش راستگرد مثلا
    A = 0
    Reset Portd.2
    Set Portd.3

    End If

    If Pina.0 = 1 Then
    Reset Portd.2


    Elseif Pina.1 = 1 Then
    Reset Portd.3

    End If


    Loop
    End
    تصاوير کوچک فايل پيوست تصاوير کوچک فايل پيوست برای دیدن سایز بزرگ روی عکس کلیک کنید

نام: qqq.JPG
مشاهده: 94
حجم: 24.7 کیلو بایت  
    ویرایش توسط raminrayat : 03-03-2014 در ساعت 19:21

  2. # ADS
    Circuit advertisement
    تاریخ عضویت
    Always
    نام
    Advertising world
    نوشته ها
    Many
     

  3. #2
    کاربر دائمی raminrayat آواتار ها
    تاریخ عضویت
    Dec 2009
    نام
    رامین چمن ارا
    نوشته ها
    474
    تشکر
    268
    تشکر شده 608 بار در 256 پست

    پیش فرض

    کسی نبود؟

  4. #3
    Banned
    تاریخ عضویت
    Apr 2013
    نام
    صادق علی بخشی
    نوشته ها
    1,148
    تشکر
    1,183
    تشکر شده 1,276 بار در 702 پست

    پیش فرض

    سلام
    شما چرا از طریق مکانیک وارد عمل نمیشید؟
    شما تا به حال به میل لنگ یا این فیلمها که یه چاه نفت رو پمپاژ میکنند دقت کردید؟
    شما یک موتور رو به یک چرخ دنده یا فولی وصل کنید و یک میله رو به اون فولی متصل کنید طوری که
    به اندازه ی کافی از مرکز دور باشه
    بعد اون طرف میله رو به یکی از طبقات متصل کنید
    حالا موتور به هرطرفی که شروع به چرخش کنه طبقات تخم مرغ شما رو هم کج میکنه به همین راحتی
    اگر هم می خواهی با میکرو این کار رو انجام بدید
    شما یک کلید رو فشار بدید و توی برنامه لحاظ کنید اون پایه اون متصل به فرمان درایور اون قدر یک بمونه
    و موتور توی یک جهت بچرخه تا اون یکی کلید فشرده بشه و جهت رو برعکس کنه
    یا
    while(1){
    if(pin_b1==1)a=1;


    if(pin_b2==1) a=2;


    switch (a) {
    case 1 : output_low(pin_c2);
    output_high(pin_c3);
    break; //Right Round
    case 2 : output_low(pin_c3);
    output_high(pin_c2);
    break; // Left Round
    }

  5. کاربران : 2 تشکر کرده اند از شما sadeghbakhshi برای ارسال این پست سودمند:


  6. #4
    کاربر دائمی raminrayat آواتار ها
    تاریخ عضویت
    Dec 2009
    نام
    رامین چمن ارا
    نوشته ها
    474
    تشکر
    268
    تشکر شده 608 بار در 256 پست

    پیش فرض

    نقل قول نوشته اصلی توسط sadeghbakhshi نمایش پست ها
    سلام
    شما چرا از طریق مکانیک وارد عمل نمیشید؟
    شما تا به حال به میل لنگ یا این فیلمها که یه چاه نفت رو پمپاژ میکنند دقت کردید؟
    شما یک موتور رو به یک چرخ دنده یا فولی وصل کنید و یک میله رو به اون فولی متصل کنید طوری که
    به اندازه ی کافی از مرکز دور باشه
    بعد اون طرف میله رو به یکی از طبقات متصل کنید
    حالا موتور به هرطرفی که شروع به چرخش کنه طبقات تخم مرغ شما رو هم کج میکنه به همین راحتی
    اگر هم می خواهی با میکرو این کار رو انجام بدید
    شما یک کلید رو فشار بدید و توی برنامه لحاظ کنید اون پایه اون متصل به فرمان درایور اون قدر یک بمونه
    و موتور توی یک جهت بچرخه تا اون یکی کلید فشرده بشه و جهت رو برعکس کنه
    یا
    while(1){
    if(pin_b1==1)a=1;


    if(pin_b2==1) a=2;


    switch (a) {
    case 1 : output_low(pin_c2);
    output_high(pin_c3);
    break; //Right Round
    case 2 : output_low(pin_c3);
    output_high(pin_c2);
    break; // Left Round
    }

    سلام دوست خوب من
    اما من دستگاه رو ساختم و نمیخوام دیگه توش تغییری بدم.بحث پولو وقته دیگه
    داداشم با بیسیک بنویس من زبان c بلد نمیباشم
    دستت بی بلا
    ممنون که همراهی میکنی

    شما فعلا همین شرایطی که تو عکسه رو در نظر بگیر .ببین چه دستوری بهترینو بی نقص ترین نتیجه رو میده

  7. #5
    کاربر فعال saeed210 آواتار ها
    تاریخ عضویت
    May 2010
    نام
    سعید
    نوشته ها
    320
    تشکر
    442
    تشکر شده 78 بار در 61 پست

    پیش فرض

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

  8. #6
    کاربر دائمی raminrayat آواتار ها
    تاریخ عضویت
    Dec 2009
    نام
    رامین چمن ارا
    نوشته ها
    474
    تشکر
    268
    تشکر شده 608 بار در 256 پست

    پیش فرض

    نقل قول نوشته اصلی توسط saeed210 نمایش پست ها
    سلام آقا رامین من بسکام بلد نیستم ولی میشه بگید چرا نمیخواید از تایمر استفاده کنید؟ وقتی بحث زمان میاد وسط پای تایمر هم وسطه دیگه
    سلام اخه این فقط یه تیکه از برنامست
    چون از سنسورای رطوبتو دما وو غیره استفاده کردم کلی مخ تایمرا رو کار گرفتم
    اگه اینجا هم از تایمر استفاده کنم هم برنامه پیچیدگیش کمی بیشتر میشه هم سرعت اجرا پایین میاد هم ..
    واسه همین نیاز به ساده ترینو کارامدترین برنامه دارم

  9. #7
    Banned
    تاریخ عضویت
    Apr 2013
    نام
    صادق علی بخشی
    نوشته ها
    1,148
    تشکر
    1,183
    تشکر شده 1,276 بار در 702 پست

    پیش فرض

    سلام
    متاسفانه من چیزی از بیسیک نمیدونم و فقط c کار کردم
    والا برایتون مینوشتم
    اون برنامه ی C رو هم برای همون شکل نوشتم

  10. #8
    کاربر فعال saeed210 آواتار ها
    تاریخ عضویت
    May 2010
    نام
    سعید
    نوشته ها
    320
    تشکر
    442
    تشکر شده 78 بار در 61 پست

    پیش فرض

    شما کار خیلی پیچیده و کنترلی خیلی دقیقی انجام نمیدی که سرعت برنامه انقدر مهم باشه
    نمی دونم از تایمرهات به چه صورت استفاده کردی ولی میتونی یک تایمر رو جوری تنظیم کنی که مثلا هر 255 میلی ثانیه overflow بده بعد یک متغیر تعریف کنی که هربار که برنامه به روتین وقفه تایمر یک واحد زیاد بشه و حساب کن ببین چنتدا اورفلو میشه اون زمانی که تو میخوای و کارت رو بکن
    اینجوری میتونی چندتا متغیر تعریف کنی و جندتا زمان مختلف رو بدست بیاری مثلا یک 20ثانیه یک 13 ثانیه یک 49ثانیه یک 3دقیقه و . . . فقط بایک تایمر
    البته حتما خودت اینهارو میدونی ولی اجتمالا نگران دقت زمان بندی ها بودی که فکر نمی کنم توی کار شما اگه 20ثانبه بشه 20.5 یا 19.8 یا جتی 21ثانیه مشکلی ایجاد کنه

  11. تشکرها از این نوشته :


  12. #9
    کاربر دائمی raminrayat آواتار ها
    تاریخ عضویت
    Dec 2009
    نام
    رامین چمن ارا
    نوشته ها
    474
    تشکر
    268
    تشکر شده 608 بار در 256 پست

    پیش فرض

    سلام خب اره نیم ثانیه اونقدرا تاثیر نمیزاره اما اونطوری بیشتر به دل میشینه

  13. #10
    کاربر فعال saeed210 آواتار ها
    تاریخ عضویت
    May 2010
    نام
    سعید
    نوشته ها
    320
    تشکر
    442
    تشکر شده 78 بار در 61 پست

    پیش فرض

    ببخشید سلام یادم رفت
    سلام
    یعنی چطوری؟ این که از تایمر استفاده نکنید؟
    یعنی شما میخواهید جوری بنویسید که با حساب کتاب بفهمید که چندبار اجرا شدن برنامه میشه 20ثانیه بعد موتور رو عکس کنید؟
    خوب اینم روشه برای خودش ولی درست غلط بودنش در کارشما رو نمیدونم
    موفق باشی

  14. #11
    تازه وارد
    تاریخ عضویت
    Mar 2014
    نوشته ها
    2
    تشکر
    0
    تشکر شده 0 بار در 0 پست

    پیش فرض

    سلام
    از آی سی های تایمر جداگانه هم میشه استفاد کرد مثل ds1307 یا 555.

  15. #12
    کاربر دائمی raminrayat آواتار ها
    تاریخ عضویت
    Dec 2009
    نام
    رامین چمن ارا
    نوشته ها
    474
    تشکر
    268
    تشکر شده 608 بار در 256 پست

    پیش فرض

    علیک سلام
    نه دوست عزیز اصلا زمانش برام مهم نیست
    فقط برنامه ای که بتونه هر از چند گاهی جهت موتورو عوض کنه
    اینکه هر چند ثانیه یا دقیقه باشه مهم نیست
    اینکه بتونه جهت چرخش رو عوض کنه مهمه

  16. #13
    کاربر دائمی raminrayat آواتار ها
    تاریخ عضویت
    Dec 2009
    نام
    رامین چمن ارا
    نوشته ها
    474
    تشکر
    268
    تشکر شده 608 بار در 256 پست

    پیش فرض

    دوستان اصلا تایمو زمان رو بیخیال .زمان مهم نیست .تغییر جهت چرخش تو هر دفعه واسم مهمه

  17. #14
    Banned
    تاریخ عضویت
    Apr 2013
    نام
    صادق علی بخشی
    نوشته ها
    1,148
    تشکر
    1,183
    تشکر شده 1,276 بار در 702 پست

    پیش فرض

    خب اگر نمیتونید این کار رو با زبان بسکام انجام بدید
    یک چیزی مثل چرخ و فلک بسازید که دیگه موتور توی هر جهتی هم چرخید اهمیتی نداشته باشه
    تازه با چرخ و فلک هم خوش میگذره
    اگر هم حتما باید با بسکام باشه و بچرخه از آقای یک نفر (آقای هاشمی) یا اقا مرتضی آر کی کمک بگیرید
    این دو نفر رو فقط میشناسم که بسکام کار کردند

  18. کاربران : 2 تشکر کرده اند از شما sadeghbakhshi برای ارسال این پست سودمند:


  19. #15
    ناظم انجمن Ma3ood آواتار ها
    تاریخ عضویت
    Aug 2011
    نام
    مسعود
    نوشته ها
    2,248
    تشکر
    1,912
    تشکر شده 3,087 بار در 1,509 پست

    پیش فرض

    به نظر بنده اصلا نیازی به زمان گیری نیست
    شما کافیه به موتور فرمان بدهید و موتور به سمت دلخواه حرکت کند ، فقط کافیه قبل استپ کامل مثلا کمی بالاتر از ایستگاه میکروسوئیچ را قرار بدهید و موتور خاموش شود ( این عمل در اسانسور ها انجام میشه ) و برای فهمیدن چپ و راستش هم وضعیت دو میکروسوئیچ را بررسی کنید .

  20. کاربران : 2 تشکر کرده اند از شما Ma3ood برای ارسال این پست سودمند:


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

  1. پاسخ: 9
    آخرين نوشته: 22-05-2016, 15:15
  2. طراحی کنترلر موتور حلقه بسته با pid
    توسط alimf931 در انجمن موتورها و درایوها
    پاسخ: 10
    آخرين نوشته: 19-12-2013, 17:21
  3. تغییر جهت سریع موتور براشلس
    توسط saeed210 در انجمن AVR
    پاسخ: 0
    آخرين نوشته: 18-07-2013, 15:56
  4. پاسخ: 2
    آخرين نوشته: 19-02-2013, 20:31
  5. تغییر جهت سریع موتور
    توسط M3R در انجمن موتورها و درایوها
    پاسخ: 13
    آخرين نوشته: 04-02-2011, 10:49

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

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