اطلاعیه

Collapse
No announcement yet.

سروو؟؟؟؟؟!!!!!!

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

    #16
    پاسخ : سروو؟؟؟؟؟!!!!!!

    سلام و عرض احترام.
    دوستان بنده با همه ی زحمتهایی که اساتید کشیدند و راهنمائیهاشون بابت اینکه بتونم مشکل سرووها رو برطرف کنم، منتها به هیچ جا نرسیدم و مجبور شدم سرووهام رو عوض کنم...
    الان انتخابمون برای سرووی جدید محدود شده به چند نوع که برای استفاده در محیط خودرویی مناسبند، منتها باز هم این سوال بزرگ وجود داره که از کجا مطمئن بشیم که این سرووی جدیدی که میخوایم بگیریم مشکل قبلیها رو ندارند، یعنی به محض گرفتن تغذیه شروع به حرکت نمیکنند و منتظر رسیدن شرطشون میشن؟
    یادم هست یکی از دوستان این پیشنهاد رو دادند که سروویی که دارید رو vcc, gnd رو بزنید و دیتاش رو به چیزی وصل نکنید و ببینید سروو حرکت داره یا نه، اگر به این ترتیب حرکتی نداشت در نتیجه حین کارکرد اصلی و با برنامه ی میکرو هم اذیتمون نمیکنه و حرکت اولیه نداره و صبر میکنه تا شرط مربوط به حرکتش برسه و بعد میره تو زاویه...
    به نظر شما این کا برای تست کردن سرووی جدیدی که میخوایم بخریم درست هست یا خیر؟
    روش دیگه ای رو در نظر ندارید دوستان؟
    بسیار متشکرم ازتون.
    زندگی برگ بودن در مسیر باد نیست
    امتحان ریشه هاست
    ریشه هم هرگز اسیر باد نیست
    زندگی چون پیچک است
    انتهایش میرسد پیش خدا!

    دیدگاه


      #17
      پاسخ : سروو؟؟؟؟؟!!!!!!

      نوشته اصلی توسط pama
      سلام و عرض احترام.
      دوستان بنده با همه ی زحمتهایی که اساتید کشیدند و راهنمائیهاشون بابت اینکه بتونم مشکل سرووها رو برطرف کنم، منتها به هیچ جا نرسیدم و مجبور شدم سرووهام رو عوض کنم...
      الان انتخابمون برای سرووی جدید محدود شده به چند نوع که برای استفاده در محیط خودرویی مناسبند، منتها باز هم این سوال بزرگ وجود داره که از کجا مطمئن بشیم که این سرووی جدیدی که میخوایم بگیریم مشکل قبلیها رو ندارند، یعنی به محض گرفتن تغذیه شروع به حرکت نمیکنند و منتظر رسیدن شرطشون میشن؟
      یادم هست یکی از دوستان این پیشنهاد رو دادند که سروویی که دارید رو vcc, gnd رو بزنید و دیتاش رو به چیزی وصل نکنید و ببینید سروو حرکت داره یا نه، اگر به این ترتیب حرکتی نداشت در نتیجه حین کارکرد اصلی و با برنامه ی میکرو هم اذیتمون نمیکنه و حرکت اولیه نداره و صبر میکنه تا شرط مربوط به حرکتش برسه و بعد میره تو زاویه...
      به نظر شما این کا برای تست کردن سرووی جدیدی که میخوایم بخریم درست هست یا خیر؟
      روش دیگه ای رو در نظر ندارید دوستان؟
      بسیار متشکرم ازتون.
      :-??
      زندگی برگ بودن در مسیر باد نیست
      امتحان ریشه هاست
      ریشه هم هرگز اسیر باد نیست
      زندگی چون پیچک است
      انتهایش میرسد پیش خدا!

      دیدگاه


        #18
        پاسخ : سروو؟؟؟؟؟!!!!!!

        با سلام و عرض احترام.
        از دوستان با تجربه تمنا دارم بنده رو یاری بفرمایند، چون واقعا این موتورها حیرونم کردند...
        زندگی برگ بودن در مسیر باد نیست
        امتحان ریشه هاست
        ریشه هم هرگز اسیر باد نیست
        زندگی چون پیچک است
        انتهایش میرسد پیش خدا!

        دیدگاه


          #19
          پاسخ : سروو؟؟؟؟؟!!!!!!

          سلام من یه سروو دارم که با میکرو ATmega16بهش برنامه میدم و یه بازو به سرووم وصل کردم و خود موتور رو هم به جایی فیکس کردم میخام وقتی موتور رو راه اندازی می کنم اهرم من در حالت عمودی باشه ولی موتورم صرف نظر از اینکه من چه زاویه اولیه بهش میدم میره در حالت افقی قرار میگیره!همه جور زاویه اولیه رو چک کردم
          من با تایمر کانتر یک در حالتph&fr pwm با زبان cکار میکنم .کسی میدونه مشکل کجاست؟من خیلی فوری نیاز به کمک دارم.




          چرا کسی جواب نمیده؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟ ؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟

          دیدگاه


            #20
            پاسخ : سروو؟؟؟؟؟!!!!!!

            سلام به برادر خوبم pama
            همون طور که قبلا با هم صحبت کرده بودیم قول دادم مشکل رو حل کنم.
            شما همون طور که گفته بودید نباید + و - رو به سروو مستقیم بدید. + ایرادی نداره ، بیاین gnd سروو رو با یه mosfet مثل irf250 یا 840 به زمین وصل کنید و پایه گیت ماسفت رو بعد از دستور پالس توسط یکی از پورتهای میکرو در برنامه 1 کنید.من چند ده بار امتحان کردم 100% جواب داده.(سورس به زمین)

            جاوید باد ایران اسلامی
            *_**_**_* دانش اگر در ثریا هم باشد مردانی از سرزمین پارس بدان دست خواهند یافت پیامبراعظم(ص) *_**_**_*

            دیدگاه


              #21
              پاسخ : سروو؟؟؟؟؟!!!!!!

              نوشته اصلی توسط 0121takpa
              سلام به برادر خوبم pama
              همون طور که قبلا با هم صحبت کرده بودیم قول دادم مشکل رو حل کنم.
              شما همون طور که گفته بودید نباید + و - رو به سروو مستقیم بدید. + ایرادی نداره ، بیاین gnd سروو رو با یه mosfet مثل irf250 یا 840 به زمین وصل کنید و پایه گیت ماسفت رو بعد از دستور پالس توسط یکی از پورتهای میکرو در برنامه 1 کنید.من چند ده بار امتحان کردم 100% جواب داده.(سورس به زمین)

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

              پس باید سر راه رگلاتورهای 7806 ای که تغذیه ی سرووها رو تامین میکنند( و بازای هر سروو هم یه رگلاتور دارم)، یه ماسفت بذارم که gnd سروو رو با اون ماسفت به زمین بیارم، ok؟
              اما نفهمیدم گیت ماسفتو باید چه بلایی سرش بیارم؟
              اینقده ذوق زده ام که اصلا نمیدونم چی نوشتم!!
              زندگی برگ بودن در مسیر باد نیست
              امتحان ریشه هاست
              ریشه هم هرگز اسیر باد نیست
              زندگی چون پیچک است
              انتهایش میرسد پیش خدا!

              دیدگاه


                #22
                پاسخ : سروو؟؟؟؟؟!!!!!!

                سلام
                موفق شدی ؟ :smile:
                *_**_**_* دانش اگر در ثریا هم باشد مردانی از سرزمین پارس بدان دست خواهند یافت پیامبراعظم(ص) *_**_**_*

                دیدگاه


                  #23
                  پاسخ : سروو؟؟؟؟؟!!!!!!

                  نوشته اصلی توسط 0121takpa
                  سلام
                  موفق شدی ؟ :smile:
                  نه دوست من!
                  هنوز تست نکردم، آخه هیچ ماسفتی الان دم دست ندارم :angry:
                  دقیقا هم نفهمیدم باید چه کار کنم؟
                  میشه لطفا یه دور دیگه مثل اینکه واسه آدمای خنگ توضیح بدید oo: واسه منم توضیح بدید؟!
                  زندگی برگ بودن در مسیر باد نیست
                  امتحان ریشه هاست
                  ریشه هم هرگز اسیر باد نیست
                  زندگی چون پیچک است
                  انتهایش میرسد پیش خدا!

                  دیدگاه


                    #24
                    پاسخ : سروو؟؟؟؟؟!!!!!!

                    با سلام

                    این لینک را هم ببینید.

                    http://www.openservo.com/

                    با سپاس
                    گشتی در لاله زار
                    http://www.eca.ir/forum2/index.php?topic=76138.0

                    http://www.eca.ir/forum2/index.php?topic=76141

                    دیدگاه


                      #25
                      پاسخ : سروو؟؟؟؟؟!!!!!!

                      با سلام مجدد
                      پایه پالس سروو رو که مستقیم به میکرو میدی
                      پایه Vcc سروو رو هم مستقیم به خروجی رگولاتور وصل میکنی(تا اینجا رو که قبلا انجام داده بودین)
                      درین ماسفت رو وصل کن به سیم GND سروو ؛ سورس رو هم به زمین رگولاتور وصل کن.
                      میمونه گیت ماسفت
                      وقتی + و - رو به مدار میدی چون سروو زمین نداره جریانی هم ازش عبور نمیکنه که بتونه حرکت کنه
                      گیت ماسفت رو به یکی از پایه های میکرو که فکر کنم گفتین PIC کار میکنین وصل کنین این پایه رو تو برنامه کانفیگ OUTPUT کنین.
                      حالا ؛ وقتی مدار کار میکنه سروو بدون حرکته و وتتی شما میخواین سروو کار کنه ؛ شما باید اول در برنامه نویسی
                      دستور پالس رو بدین بعد بلافاصله اون پایه ای رو که OUTPUT کانفیگ کردین 1 کنید چون پایه گیت شما رو 1 مکنه
                      و سروو بعد از دریافت پالس به زمین متصل شده و حرکت اضافی نمیکنه. با MG995 و MEGA32 و بسکام امتحان کردم. موفق باشید
                      *_**_**_* دانش اگر در ثریا هم باشد مردانی از سرزمین پارس بدان دست خواهند یافت پیامبراعظم(ص) *_**_**_*

                      دیدگاه


                        #26
                        پاسخ : سروو؟؟؟؟؟!!!!!!

                        نوشته اصلی توسط Solsal
                        با سلام

                        این لینک را هم ببینید.

                        http://www.openservo.com/

                        با سپاس
                        سلام از بنده است جناب مهندس.
                        بسیار متشکرم از حضور و پیگیریهاتون.
                        چشم حتما.

                        نوشته اصلی توسط 0121takpa
                        با سلام مجدد
                        پایه پالس سروو رو که مستقیم به میکرو میدی
                        پایه Vcc سروو رو هم مستقیم به خروجی رگولاتور وصل میکنی(تا اینجا رو که قبلا انجام داده بودین)
                        درین ماسفت رو وصل کن به سیم GND سروو ؛ سورس رو هم به زمین رگولاتور وصل کن.
                        میمونه گیت ماسفت
                        وقتی + و - رو به مدار میدی چون سروو زمین نداره جریانی هم ازش عبور نمیکنه که بتونه حرکت کنه
                        گیت ماسفت رو به یکی از پایه های میکرو که فکر کنم گفتین PIC کار میکنین وصل کنین این پایه رو تو برنامه کانفیگ OUTPUT کنین.
                        حالا ؛ وقتی مدار کار میکنه سروو بدون حرکته و وتتی شما میخواین سروو کار کنه ؛ شما باید اول در برنامه نویسی
                        دستور پالس رو بدین بعد بلافاصله اون پایه ای رو که OUTPUT کانفیگ کردین 1 کنید چون پایه گیت شما رو 1 مکنه
                        و سروو بعد از دریافت پالس به زمین متصل شده و حرکت اضافی نمیکنه. با MG995 و MEGA32 و بسکام امتحان کردم. موفق باشید
                        سلام از بنده است آقا.
                        خیلی لطف کردید که باز هم پاسخ گو بودید.
                        یک دنیا ازتون سپاسگذارم.
                        بسیار عالی کاملا متوجه شدم.
                        فقط فرمودید ماسفتی که میگیرم irf250 یا 840 باشه، درست عرض میکنم؟
                        منتها چون اینجا شهر کوچیکیه و بنده برای خرید باید به یه شهر دیگه برم، میشه ازتون خواهش کنم که بفرمائید اگه اینها رو نداشتن، بهترین جایگزین چی میتونه باشه براشون؟
                        باز هم متشکرم از این لطفتون.
                        زندگی برگ بودن در مسیر باد نیست
                        امتحان ریشه هاست
                        ریشه هم هرگز اسیر باد نیست
                        زندگی چون پیچک است
                        انتهایش میرسد پیش خدا!

                        دیدگاه


                          #27
                          پاسخ : سروو؟؟؟؟؟!!!!!!

                          سلام
                          حقیقتش من ماسفت رو انتخاب کردم واسه اینکه جریان نمیکشه از نظر اتلاف انرژی بهتره
                          irf250 یا 840 از نوع قدرت محسوب میشن و تا 8-7 آمپر رو تحمل میکنن و فکر نکنم شما تا این اندازه نیاز داشته
                          باشین. باید هر ماسفت N-Channel همین نتیجه رو بده و برای چند تاسروو که سرهم 3 آمپر هم بیشتر نمیکشن
                          Power یا همون قدرت بودن کافیه. برادر من حفظ نیستم ولی به روی چشم نگاه میکنم چند تا دیگه معرفی میکنم.
                          موفق باشید
                          *_**_**_* دانش اگر در ثریا هم باشد مردانی از سرزمین پارس بدان دست خواهند یافت پیامبراعظم(ص) *_**_**_*

                          دیدگاه


                            #28
                            پاسخ : سروو؟؟؟؟؟!!!!!!

                            با سلام مجدد
                            irfp250 ؛ irf450 ؛540 ؛ 640 ؛ 630 ؛ 631 ؛ 730 ؛ 830 ؛840؛ irf9640 ؛ir2131 ماسفت های موجود بازار هستن
                            که گران و ارزان بودنشون به میزان تحمل ماکزیمم ولتاژ و جریانه مثلا irf 250 جریان 30 آمپر رو عبور میده 840 جریان 7
                            آمپر رو هر دو هم N-Channel هستن. پس نگران نوعش زیاد نباش.
                            *_**_**_* دانش اگر در ثریا هم باشد مردانی از سرزمین پارس بدان دست خواهند یافت پیامبراعظم(ص) *_**_**_*

                            دیدگاه


                              #29
                              پاسخ : سروو؟؟؟؟؟!!!!!!

                              متشکرم از لطفتون دوست من.
                              بنده همون irf250 رو گرفتم، الان تست میکنم و نتیجه رو میگذارم.
                              بسیار متشکرم از لطفتون و معذرت میخوام که براتون ایجاد درد سر کردم.
                              زندگی برگ بودن در مسیر باد نیست
                              امتحان ریشه هاست
                              ریشه هم هرگز اسیر باد نیست
                              زندگی چون پیچک است
                              انتهایش میرسد پیش خدا!

                              دیدگاه


                                #30
                                پاسخ : سروو؟؟؟؟؟!!!!!!

                                متاسفانه نشد...
                                فکر میکنم ایراد از برنامم باشه، ماسفت رو همونطور که گفتید قرار دادم، زمین میکرو و سروو هم برای هم پتانسیل شدنشون یکی هست، خازنهای ورودی رگلاتور(که البته ربطی هم به ماجرا ندارند) یه 100 نانوی عدسی موازی با 1 میکروی الکترولیت هست، تو خروجی هم یه 100 میکروی الکترولیت، همین!

                                من چرا همش با این سرووها رو مود جواب نگرفتنم؟!

                                مطمئنم که از برناممه، اما کجاش؟!
                                شما گفتید تو برنامه اول دستور پالس رو بدیم، بعد اون پایه رو 1 کنیم،pwm ای که به سروو اعمال میشه با تایمر میکرو ساخته میشه، اونم با سرریز تایمر 2، به عبارتی تو زیر برنامه ی وقفه، انجایی که سرریز تایمر 2 اتفاق افتاد با کمک یه تایمر دیگه پالس رو میسازیم، بعد تو لوپ اصلی به سرووها مقدار میدیم، من هم تو همین لوپ بعد از اینکه مقدار دهی به سرووها انجام شد، بعدش اون پایه رو یک میکنم اما مثل قبل حرکت اولیه رو داره، اینم برناممه، البته واسه تست یه سروو:

                                کد:
                                 DEFINE OSC 8
                                @ DEVICE pic16f877a,WDT_OFF ,PWRT_ON ,PROTECT_OFF ,LVP_OFF ,HS_OSC ,BOD_OFF
                                
                                servo1 var byte 
                                servo2 var byte 
                                servo3 var byte 
                                servo4 var byte 
                                servo5 var byte 
                                servo6 var byte 
                                servo7 var byte
                                
                                a var byte
                                f var word
                                flag var bit
                                
                                ON INTERRUPT GOTO _interrupt
                                ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
                                
                                
                                  TRISD=$00
                                  PORTD=$00
                                  TRISc.0=1
                                  TRISc.1=0
                                  TRISB=0
                                  
                                 ;;;;;;;;;       
                                 TMR1L=0
                                 TMR1H=0
                                 T1CON=$03 ;turn on timer1 in counter mode
                                 ;;;;;;;;;
                                 
                                 PIR1.1=0 ; TMR2IF=0
                                 TMR2=0
                                 PR2=249
                                 PIE1.1=1
                                 T2CON=$4F
                                   ;;;;;;;;;
                                  INTCON.6=1  
                                  INTCON.7=1  
                                  
                                  ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; 
                                 
                                again:
                                
                                if flag=1 then 
                                
                                 
                                 if f <= 25 then
                                 servo3 = 250
                                 high portc.1
                                 endif
                                 
                                
                                  if f >= 26 and f <= 40 then
                                 servo3 = 50
                                 high portc.1
                                 endif
                                 
                                 
                                  if f >= 41 and f <= 60 then
                                 servo3 = 150
                                 high portc.1
                                 endif
                                 
                                 
                                  if f >= 61 and f <= 80 then
                                 servo3 = 50
                                 high portc.1
                                 endif
                                 
                                 
                                  if f >= 81 and f <= 100 then
                                 servo3 = 250
                                 high portc.1
                                 endif
                                 
                                 
                                  if f >= 101 and f <= 115 then
                                 servo3 = 50
                                 high portc.1
                                 endif
                                 
                                 if f >= 116 then
                                 servo3 = 170
                                 high portc.1
                                 endif
                                 
                                 
                                 
                                flag=0 
                                endif 
                                   
                                goto again
                                
                                
                                
                                ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
                                
                                  DISABLE 
                                _interrupt:            ; interrupt service
                                
                                if PIR1.1=1 then     ; if TMR2IF=1 then
                                 
                                 
                                 a=a+1
                                
                                 
                                 if a>=40 then 
                                 F.byte1=TMR1H
                                 F.byte0=TMR1L      
                                 TMR1L=0
                                 TMR1H=0
                                 T1CON=$03
                                 a=0 
                                 flag=1
                                 PORTB=f
                                 endif  
                                   
                                          
                                     PORTD = $01
                                     PAUSEUS 990 
                                     INTCON.2=0
                                     TMR0 = 255-servo1
                                     OPTION_REG = OPTION_REG & $c0 
                                     OPTION_REG = OPTION_REG | $02 
                                     while INTCON.2=0
                                     wend   
                                     PORTD=$00
                                     ;;;;;;;;;;;;;;;;;;;;;;;;;;
                                      PORTD=$02;
                                      PAUSEUS 990 
                                      INTCON.2=0
                                      TMR0 = 255-servo2 
                                      OPTION_REG = OPTION_REG & $c0 
                                      OPTION_REG = OPTION_REG | $02 
                                      while INTCON.2=0
                                      wend
                                       PORTD=$00    
                                     ;;;;;;;;;;;;;;;;;;;;;;;;;; 
                                      PORTD=$04;
                                      PAUSEUS 990 
                                      INTCON.2=0
                                      TMR0 = 255-servo3
                                      OPTION_REG = OPTION_REG & $c0 
                                      OPTION_REG = OPTION_REG | $02
                                      while INTCON.2=0
                                      wend
                                       PORTD=$00
                                     ;;;;;;;;;;;;;;;;;;;;;;;;;;  
                                      PORTD=$08;
                                      PAUSEUS 990  
                                      INTCON.2=0
                                      TMR0 = 255-servo4 
                                      OPTION_REG = OPTION_REG & $c0 
                                      OPTION_REG = OPTION_REG | $02
                                      while INTCON.2=0
                                      wend
                                       PORTD=$00
                                     ;;;;;;;;;;;;;;;;;;;;;;;;;;  
                                      PORTD=$10
                                      PAUSEUS 990  
                                      INTCON.2=0
                                      TMR0 = 255-servo5
                                      OPTION_REG = OPTION_REG & $c0 
                                      OPTION_REG = OPTION_REG | $02
                                      while INTCON.2=0
                                      wend
                                       PORTD=$00
                                     ;;;;;;;;;;;;;;;;;;;;;;;;;; 
                                      PORTD=$20
                                      PAUSEUS 990  
                                      INTCON.2=0
                                      TMR0 = 255-servo6 
                                      OPTION_REG = OPTION_REG & $c0 
                                      OPTION_REG = OPTION_REG | $02
                                      while INTCON.2=0
                                      wend
                                       PORTD=$00
                                     ;;;;;;;;;;;;;;;;;;;;;;;;;;  
                                      PORTD=$40
                                      PAUSEUS 990  
                                      INTCON.2=0
                                      TMR0 = 255-servo7
                                      OPTION_REG = OPTION_REG & $c0 
                                      OPTION_REG = OPTION_REG | $02
                                      while INTCON.2=0
                                      wend
                                      PORTD=$00
                                     ;;;;;;;;;;;;;;;;;;;;;;;;;; 
                                   PIR1.1=0  ; clear TMR2IF
                                   endif
                                  
                                      
                                  RESUME     ;return from interrapt 
                                  ENABLE 
                                ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
                                
                                end
                                دوستان pic بلد میشه لطف کنن یه نگاهی بهش بندازند، که آیا بنده تو محل درستی pin رو 1 کردم یا خیر؟
                                زندگی برگ بودن در مسیر باد نیست
                                امتحان ریشه هاست
                                ریشه هم هرگز اسیر باد نیست
                                زندگی چون پیچک است
                                انتهایش میرسد پیش خدا!

                                دیدگاه

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