اطلاعیه

Collapse
No announcement yet.

پیشامدی عجیب

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

    پیشامدی عجیب

    با سلام خدمت دوستان و مهندسان عزیز.
    چند وقتی میشه که یه برنامه واسه دستگاه جوجه کشی نوشتم ولی یه اتفاق خیلی جالب در حین اجرا می افته.
    اینم برنامه:
    https://drive.google.com/file/d/0B2C...ew?usp=sharing
    برنامه تو هر ثانیه به sectic میره و شمارش معکوس میکنه
    وقتی شمارش تموم شد میره به motor و یه رله 5 ولت رو با ترانزیستور راه میندازه
    تا اینجا درست کار میکنه.
    وقتی موتور تا انتها میچرخه به یه میخ میخوره و از اونجا پایه pinb.5 یا s_m تو برنامه به گراند وصل میشه.
    وقتی به گراند وصل میشه ای سی باید رله رو متوقف کنه و تایمر رو از eram تازه سازی کنه و شروع به شمردن کنه ولی به محض اتصال به گراند ای سی ریست میشه
    چرا؟؟؟؟
    در ضمن مدار رو هم چند بار چک کردم
    برنامه ی خوبیه ولی کمی تغییرات میخواد کمک کنید می خوام یه برد صنعتی بسازم.

    #2
    پاسخ : پیشامدی عجیب

    شماتیک رو بزار به احتمال زیاد مال مدار باشه

    دیدگاه


      #3
      پاسخ : پیشامدی عجیب

      نوشته اصلی توسط fghfgh
      با سلام خدمت دوستان و مهندسان عزیز.
      چند وقتی میشه که یه برنامه واسه دستگاه جوجه کشی نوشتم ولی یه اتفاق خیلی جالب در حین اجرا می افته.
      اینم برنامه:
      https://drive.google.com/file/d/0B2C...ew?usp=sharing
      برنامه تو هر ثانیه به sectic میره و شمارش معکوس میکنه
      وقتی شمارش تموم شد میره به motor و یه رله 5 ولت رو با ترانزیستور راه میندازه
      تا اینجا درست کار میکنه.
      وقتی موتور تا انتها میچرخه به یه میخ میخوره و از اونجا پایه pinb.5 یا s_m تو برنامه به گراند وصل میشه.
      وقتی به گراند وصل میشه ای سی باید رله رو متوقف کنه و تایمر رو از eram تازه سازی کنه و شروع به شمردن کنه ولی به محض اتصال به گراند ای سی ریست میشه
      چرا؟؟؟؟
      در ضمن مدار رو هم چند بار چک کردم
      برنامه ی خوبیه ولی کمی تغییرات میخواد کمک کنید می خوام یه برد صنعتی بسازم.
      اگر از برنامت مطمئنی پس به احتمال زیاد جریان برگشتی موتور تو بردت تاثیر میزاره و باعث ایجاد نویز و ریست میکرو میشه که باید با قرار دادن اسنابر نویز رو حذف کنی
      برد جوجه کشی:
      مطالعه پست 1 (حتما مطالعه کنید)


      مطالعه پست 2 (برای مطلع شدن از تغییرات برنامه مطالعه کنید)

      دانلود

      توجه:
      این برد نیمه صنعتی و خانگی هست...
      برای صنعتی شدن حتما برد مخصوص خودتون رو بزنید...

      آی دی کانال تلگرامی مربوط به برد جوجه کشی : electr0o0nic@

      دیدگاه


        #4
        پاسخ : پیشامدی عجیب

        نه واسه موتور رله گذاشتم.
        اینم شماتیک:
        https://drive.google.com/file/d/0B2C...ew?usp=sharing
        ببخشید دیگه شماتیک رو با عجله کشیدم ولی مشکل از برد نمی تونه باشه چون با دقت طراحی کردم
        مشکل از ای سی نباشه؟؟
        شاید نیم سوز باشه؟؟؟
        چون چند تا mega16 هم دارم که پروگرام هم میشه ولی ال سی دی یا سنسور یا هر چیزی وصل میکنم راه نمیندازه

        دیدگاه


          #5
          پاسخ : پیشامدی عجیب

          نوشته اصلی توسط fghfgh
          نه واسه موتور رله گذاشتم.
          اینم شماتیک:
          https://drive.google.com/file/d/0B2C...ew?usp=sharing
          ببخشید دیگه شماتیک رو با عجله کشیدم ولی مشکل از برد نمی تونه باشه چون با دقت طراحی کردم
          مشکل از ای سی نباشه؟؟
          شاید نیم سوز باشه؟؟؟
          چون چند تا mega16 هم دارم که پروگرام هم میشه ولی ال سی دی یا سنسور یا هر چیزی وصل میکنم راه نمیندازه
          متاسفانه عکستون باز نمیشه
          برد جوجه کشی:
          مطالعه پست 1 (حتما مطالعه کنید)


          مطالعه پست 2 (برای مطلع شدن از تغییرات برنامه مطالعه کنید)

          دانلود

          توجه:
          این برد نیمه صنعتی و خانگی هست...
          برای صنعتی شدن حتما برد مخصوص خودتون رو بزنید...

          آی دی کانال تلگرامی مربوط به برد جوجه کشی : electr0o0nic@

          دیدگاه


            #6
            پاسخ : پیشامدی عجیب

            دلیل رست شدن میتونه نوسان ولتاز تغذیه باشه.اگه از رله 5ولت استفاده میکنی تغذیشو از میکرو جداکن.
            در ضمن عکسی که گذاشتی نمیشه دید

            دیدگاه


              #7
              پاسخ : پیشامدی عجیب

              از گزینه دانلود توی لینک استفاده کنین فایل پروتوس رو براتون گذاشتم
              در ضمن من با مداری مثل این تا حالا 6 تا رله رو اون هم با ادابتور 820mA راه انداختم
              اشکال از اون نیست
              لطفا شماتیک رو هم مطالعه بفرمایید :biggrin:

              دیدگاه


                #8
                پاسخ : پیشامدی عجیب

                نوشته اصلی توسط fghfgh
                لطفا کمک کنین پروژه تو بد جایی گیر کرده :angry: :angry: :angry: :angry: :angry: :angry: :angry:
                شماتیک برنامه رو درست پلود کن تا عکس رو بتونیم باز کنیم

                یه سوال فنی وقتی موترو رو از رله جدا می کنی بازم همین مشکل ریست شدن هست
                یعنی پریز موتور رو از برق بکش بزار رله یه بار قطع و وصل کنه ببین بازم مشکل ریست هست
                برد جوجه کشی:
                مطالعه پست 1 (حتما مطالعه کنید)


                مطالعه پست 2 (برای مطلع شدن از تغییرات برنامه مطالعه کنید)

                دانلود

                توجه:
                این برد نیمه صنعتی و خانگی هست...
                برای صنعتی شدن حتما برد مخصوص خودتون رو بزنید...

                آی دی کانال تلگرامی مربوط به برد جوجه کشی : electr0o0nic@

                دیدگاه


                  #9
                  پاسخ : پیشامدی عجیب

                  مشکل رو پیدا کردم.برنامه وقتی به وقفه تایمر 2 میره اگر هر شه متغیر صفر باشن موتور رو راه میندازه و با یه دستور Return تو وسط شرط از وقفه خارج میشه.
                  من این return رو حذف کردم دیگه ایراد نداد
                  این کد رو هم واسه اون قسمت نوشتم:
                  Sectic:
                  Do
                  If _sec = 0 Then
                  If _min = 0 Then
                  If _hour = 0 Then
                  Stop Timer2
                  _hour = E_hour
                  _min = E_min
                  _sec = E_sec
                  Gosub Motor
                  Timer2 = 0
                  Start Timer2
                  Exit Do
                  End If
                  _min = 60
                  Decr _hour
                  End If
                  _sec = 60
                  Decr _min
                  End If
                  Decr _sec
                  Exit Do
                  Loop
                  Return
                  سوالم اینه که چرا وقتی تو وسط وقفه به یه return برمی گردیم برنامه ارور میده؟؟؟
                  من که نفهمیدم چرا؟کلا گیج شدم

                  دیدگاه


                    #10
                    پاسخ : پیشامدی عجیب

                    نوشته اصلی توسط fghfgh
                    مشکل رو پیدا کردم.برنامه وقتی به وقفه تایمر 2 میره اگر هر شه متغیر صفر باشن موتور رو راه میندازه و با یه دستور Return تو وسط شرط از وقفه خارج میشه.
                    من این return رو حذف کردم دیگه ایراد نداد
                    این کد رو هم واسه اون قسمت نوشتم:
                    Sectic:
                    Do
                    If _sec = 0 Then
                    If _min = 0 Then
                    If _hour = 0 Then
                    Stop Timer2
                    _hour = E_hour
                    _min = E_min
                    _sec = E_sec
                    Gosub Motor
                    Timer2 = 0
                    Start Timer2
                    Exit Do
                    End If
                    _min = 60
                    Decr _hour
                    End If
                    _sec = 60
                    Decr _min
                    End If
                    Decr _sec
                    Exit Do
                    Loop
                    Return
                    سوالم اینه که چرا وقتی تو وسط وقفه به یه return برمی گردیم برنامه ارور میده؟؟؟
                    من که نفهمیدم چرا؟کلا گیج شدم
                    سلام بر همه.
                    شما از دستور goto استفاده میکنید؟؟؟
                    اگه جوابتون بله هست از دستور gosub استفاده کنید.
                    یک بزرگی میگفت گو ساب با بازگشت هست ولی گوتو بدون باز گشت.
                    بازم امتحان کنید
                    مشخصات : http://www.eca.ir/forum2/index.php?topic=1721.msg638969#msg638969

                    هیچ وقت از یادگیری نترس
                    [move] :agree: :biggrin: :sad: :rolleyes:[/move]

                    دیدگاه


                      #11
                      پاسخ : پیشامدی عجیب

                      بله این رو میدونم درضمن در این صورت خود برنامه ارور میده.
                      این رو وصل کردم به وقفه تایمر 2 که هر وقت سر ریز شد(تو هر ثانیه) یه شمارش معکوس رو راه بندازه
                      مشکل از همون Return که توی شرط نوشتم بود نمی دونم چرا ولی ارور میداد حذف کردم درست شد
                      اینم برنامه قبلی موندم چرا واسه یان برنامه ارور میده:
                      Sectic:
                      If _sec = 0 Then
                      If _min = 0 Then
                      If _hour = 0 Then
                      Stop Timer2
                      _hour = E_hour
                      _min = E_min
                      _sec = E_sec
                      Gosub Motor
                      Timer2 = 0
                      Start Timer2
                      Return
                      End If
                      _min = 60
                      Decr _hour
                      End If
                      _sec = 60
                      Decr _min
                      End If
                      Decr _sec
                      Return
                      دوست عزیز شما که زحمت کشیدی این برنامه رو خوندی برنامه رو از لینک بالا هم دان کن اون کامله و همه چی توش هست بازم ممنون از لطف تون.

                      دیدگاه

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