اطلاعیه

Collapse
No announcement yet.

درخواست راهنمایی برای اصلاح کد محافظ برق

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

    درخواست راهنمایی برای اصلاح کد محافظ برق

    سلام
    من محافظ برق کتاب جلد 6 آقای بخت آور رو درست کردم ولی یه مشکل بزرگی که کدهای این مدار داره اینه که وقتی ولتاژ در محدوده مجاز (180-240)نیست مدار به حالت تایمر میره و بعد از اتمام زمان تایمر 1 ثانیه رله رو وصل میکنه و بعد شرط رو چک میکنه اگه دوباره ولتاژ در محدوده مجاز نباشه دوباره میره رو تایمر و رله قطع میشه..یعنی هر 2 دقیقه 1 ثانیه رله وصل میشه و دوباره قطع میشه ..این سیکل تا زمانی که که ولتاژ به حالت عادی نرسه ادامه داره..
    دوستان بنده با بسکام آشنایی ندارم لطفا راهنماییم کنین تا مشکلو رفع کنم
    مرسی
    کد:
    
    $crystal = 8000000
    $regfile = "m8def.dat"
    Dim A As Byte , M As Byte , W As Long , N2 As Integer , N As Long , D1 As Integer , D2 As Integer , D3 As Integer , D4 As Integer , K2 As Long , K3 As Long , W3 As Long , W4 As Long , Wdown As Long , Wup As Long , L As Byte , Tt As Long , T As Long
    Dim Ww As Long , Www As Long
    
    
    A = 1
    
    
    
    
    
    
    Config Timer0 = Timer , Prescale = 8
    Enable Interrupts
    Enable Timer0
    On Ovf0 Disply
    Config Portd = Output
    Config Portb = Output
    Config Adc = Single , Prescaler = Auto , Reference = Avcc
    Start Adc
    
    
    
    
    
    
    
    
    ' pb6 = relay
    
    
    ' pd7= leds
    
    
    ' pb4=sw1
    
    
    ' pb3=sw2
    
    
    ' pb5=sw3
    
    
    
    
    Wdown = 180
    Wup = 240
    Tt = 150
    T = 0
    L = 2
    
    
    
    
    
    
    Debon:
    
    
    
    
    Do
    
    
    
    
    
    
    
    
    
    
    Ww = Getadc(0)
    Waitms 8
    Www = Www + Ww
    Ww = Getadc(0)
    Www = Www + Ww
    Waitms 8
    Ww = Getadc(0)
    Waitms 8
    Www = Www + Ww
    Ww = Getadc(0)
    Www = Www + Ww
    Waitms 8
    W = Www / 4
    Www = 0
    
    
    D3 = W / 100
    W3 = D3 * 100
    K2 = W - W3
    D2 = K2 / 10
    N = D2 * 10
    D1 = K2 - N
    
    
    Waitms 40
    
    
    If W < Wdown Then L = 3
    If W > Wup Then L = 2
    If L = 3 Then Goto Takhir
    If L = 2 Then Goto Takhir
    
    
    
    
    Loop
    
    
    
    
    Takhir:
    Incr T
    If T > Tt Then T = 0
    If T = 0 Then L = 1
    Goto Debon
    
    
    
    
    
    
    
    
    
    
    Disply:
    Incr A
    If A > 3 Then A = 1
    
    
    If A = 1 Then M = D1
    If A = 2 Then M = D2
    If A = 3 Then M = D3
    
    
    
    
    
    
    Portb = 0
    
    
    Portd = Lookup(m , Disp)
    Portb = Lookup(a , Jaroob)
    If L = 1 Then Portb = Portb + 64
    If L = 1 Then Goto Green
    If L = 2 Then Goto Red
    If L = 3 Then Goto Yellow
    
    
    Green:
    If A = 3 Then Portd = Portd - 128
    Goto Back
    
    
    Red:
    If A = 1 Then Portd = Portd - 128
    Goto Back
    
    
    Yellow:
    If A = 2 Then Portd = Portd - 128
    Goto Back
    
    
    Back:
    Return
    
    
    
    
    Jaroob:
    Data 0 , 1 , 2 , 4
    
    
    Disp:
    [LEFT][FONT=Yekan]Data 192 , 249 , 164 , 176 , 153 , 146 , 130 , 248 , 128 , 144[/FONT][/LEFT]

    #2
    پاسخ : درخواست راهنمایی برای اصلاح کد محافظ برق

    فقط می تونم بگم متاسفم برای کسی که این برنامه را نوشته
    و واقعا غم انگیزه که این برنامه در یک کتاب اموزشی چاپ شده،
    دادش عکس مدار بزار که برنامش را برات بنویسم.

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

    دیدگاه


      #3
      پاسخ : درخواست راهنمایی برای اصلاح کد محافظ برق

      نوشته اصلی توسط Esmail.dadkhah نمایش پست ها
      فقط می تونم بگم متاسفم برای کسی که این برنامه را نوشته
      و واقعا غم انگیزه که این برنامه در یک کتاب اموزشی چاپ شده،
      دادش عکس مدار بزار که برنامش را برات بنویسم.

      پ.ن:اولین مدار که با بردبرد ساختم یه مدار چشمک زن دو لامپی از کتاب اقای بخت اور بود.هیچ وقت آن مدار کار نکرد ، وقتی رفتم هنرستان تازه متوجه شدم مدار چشمک زن دولامپی اقای بخت اور کلا اشتباه است ، حالا می بینم که هنوز این راه را دارند ادامه می دهند،
      سلام دوست عزیز
      اینطورنیست آقای محمودبخت آورمشهوره به پدرالکترونیک ایران من چندین ساله ازکتابهای ایشان استفاده می کنم درتمام مدارهاش به جواب رسیدم حتی مدارگیرنده 950تا2000مگاهرتزبرنامه محافظ برق جلد6آقای بخت آورکارآقای محمدحسین رئوف است که آنهم بی ایرادکارمی کنه آن دوست عزیز شایددرمنتاژسخت افزارش اشتباه کرده باشه.موفق باشید

      دیدگاه


        #4
        پاسخ : درخواست راهنمایی برای اصلاح کد محافظ برق

        نوشته اصلی توسط Esmail.dadkhah نمایش پست ها
        فقط می تونم بگم متاسفم برای کسی که این برنامه را نوشته
        و واقعا غم انگیزه که این برنامه در یک کتاب اموزشی چاپ شده،
        دادش عکس مدار بزار که برنامش را برات بنویسم.

        پ.ن:اولین مدار که با بردبرد ساختم یه مدار چشمک زن دو لامپی از کتاب اقای بخت اور بود.هیچ وقت آن مدار کار نکرد ، وقتی رفتم هنرستان تازه متوجه شدم مدار چشمک زن دولامپی اقای بخت اور کلا اشتباه است ، حالا می بینم که هنوز این راه را دارند ادامه می دهند،
        مدار رو تو پروتئوس میکشم ...ممنون از لطفتون
        نوشته اصلی توسط aliavr1 نمایش پست ها
        سلام دوست عزیز
        اینطورنیست آقای محمودبخت آورمشهوره به پدرالکترونیک ایران من چندین ساله ازکتابهای ایشان استفاده می کنم درتمام مدارهاش به جواب رسیدم حتی مدارگیرنده 950تا2000مگاهرتزبرنامه محافظ برق جلد6آقای بخت آورکارآقای محمدحسین رئوف است که آنهم بی ایرادکارمی کنه آن دوست عزیز شایددرمنتاژسخت افزارش اشتباه کرده باشه.موفق باشید
        حرف شما درسته مدار بخوبی کار میکنه و لی مشکلی که گفتم باگ نرم افزاری هستش و شاید از دید کسانی که مدار رو ساختن مخفی مونده باشه. در منتاژ سخت افزار اشتباهی نکردم...دوستانی که مدار رو ساختن میتونن امتحان کنن و نتیجشو ببینن.اگه ولتاژ برق شهر 5 دقیقه بیشتر یا کمتر از محدوده مجاز باشه مدار از حالت تایمر 2 بار خارج میشه و 1 ثانیه رله وصل میشه و دوباره برمیگرده به حالت hi یا low ولی اگه این زمان کمتر از زمان تایمر باشه مدار بدون ایراد کار میکنه...
        این مشکل نمیتونه سخت افزاری باشه

        دیدگاه


          #5
          پاسخ : درخواست راهنمایی برای اصلاح کد محافظ برق

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

          دیدگاه


            #6
            پاسخ : درخواست راهنمایی برای اصلاح کد محافظ برق

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

            دیدگاه


              #7
              پاسخ : درخواست راهنمایی برای اصلاح کد محافظ برق

              نوشته اصلی توسط Esmail.dadkhah نمایش پست ها
              فقط می تونم بگم متاسفم برای کسی که این برنامه را نوشته
              و واقعا غم انگیزه که این برنامه در یک کتاب اموزشی چاپ شده،
              دادش عکس مدار بزار که برنامش را برات بنویسم.

              پ.ن:اولین مدار که با بردبرد ساختم یه مدار چشمک زن دو لامپی از کتاب اقای بخت اور بود.هیچ وقت آن مدار کار نکرد ، وقتی رفتم هنرستان تازه متوجه شدم مدار چشمک زن دولامپی اقای بخت اور کلا اشتباه است ، حالا می بینم که هنوز این راه را دارند ادامه می دهند،
              سلام
              از کتاب اسکن گرفتم..شماتیک مدار زیاد دقیق نیست و در قسمت اتصال سون سگمنت به میکرو یکی دو تا اشتباه داره...ال ای دی ها هم باید برعکس بشن...خازن 1000 میکرو هم برعکس گذاشته شده
              ولی قسمت pcb درسته و مشکلی نداره...
              ممنون
              جدیدترین ویرایش توسط persiastar; ۱۸:۱۴ ۱۳۹۵/۱۲/۰۷.

              دیدگاه


                #8
                پاسخ : درخواست راهنمایی برای اصلاح کد محافظ برق

                نوشته اصلی توسط persiastar نمایش پست ها
                سلام
                از کتاب اسکن گرفتم..شماتیک مدار زیاد دقیق نیست و در قسمت اتصال سون سگمنت به میکرو یکی دو تا اشتباه داره...ال ای دی ها هم باید برعکس بشن...خازن 1000 میکرو هم برعکس گذاشته شده
                ولی قسمت pcb درسته و مشکلی نداره...
                ممنون
                http://s4.picofile.com/file/82872433...D8%B8.rar.html
                تازه فهمیدم چرا توی پرتئوس شماتبک نکشیدی
                چشم دادش
                برات امادش می کنم

                دیدگاه


                  #9
                  پاسخ : درخواست راهنمایی برای اصلاح کد محافظ برق

                  نوشته اصلی توسط Esmail.dadkhah نمایش پست ها
                  فقط می تونم بگم متاسفم برای کسی که این برنامه را نوشته
                  و واقعا غم انگیزه که این برنامه در یک کتاب اموزشی چاپ شده،
                  دادش عکس مدار بزار که برنامش را برات بنویسم.

                  پ.ن:اولین مدار که با بردبرد ساختم یه مدار چشمک زن دو لامپی از کتاب اقای بخت اور بود.هیچ وقت آن مدار کار نکرد ، وقتی رفتم هنرستان تازه متوجه شدم مدار چشمک زن دولامپی اقای بخت اور کلا اشتباه است ، حالا می بینم که هنوز این راه را دارند ادامه می دهند،
                  سلام مجدد
                  دوست عزیزاگرزحمت اصلاح برنامه روبکشیدیایک برنامه درستوحسابی تری برای این کاربنویسی ممنون میشیم البته نوشتن برنامه محافظ جلد6آقای بخت آورکارخودش نیست کارآقای محمدحسین رئوف ازکاشان می باشد

                  دیدگاه


                    #10
                    پاسخ : درخواست راهنمایی برای اصلاح کد محافظ برق

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

                    دیدگاه


                      #11
                      پاسخ : درخواست راهنمایی برای اصلاح کد محافظ برق

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

                      دیدگاه


                        #12
                        پاسخ : درخواست راهنمایی برای اصلاح کد محافظ برق

                        سلامی دوباره
                        در مورد این پروژه بگم که خودم دارم با c برنامه نویسیش میکنم ولی چند تا سوال دارم
                        1-در مدار سه مقاومت 4.7 کیلو روی پایه های 17و18و19 رو بخاطر چی گذاشتن ؟
                        2-زنر 3 ولتی روی پایه aref واسه چیه.اگه به برنامه در اول تاپیک هم نگاه کنید برای ولتاژ مرجع از avcc استفاده کرده ..
                        3-این مدار رو برای استفاده شخصی خودم تو خونه دارم بهینه میکنم سوالم اینه که تو محافظهای دیجیتالی بازاری از avr استفاده شده یا از میکروهای دیگه؟(به خاطر نویز پذری و این جور چیزا)

                        جدیدترین ویرایش توسط persiastar; ۰۰:۰۹ ۱۳۹۶/۰۱/۰۸.

                        دیدگاه


                          #13
                          پاسخ : درخواست راهنمایی برای اصلاح کد محافظ برق

                          با سلام و تبریک سال نو به همه دوستان
                          پروژه محافظ برق بنده تموم شد و مدار و برنامه بخوبی کار میکنه ولی تنها مشکل(اگه مشکل بشه گفت) اینه که هنگام نمایش ولتاژ روی سون سگمنت مقداری پرش یا بازی بین دو عدد مثلا 7 و 8 اتفاق میفته که زیاد خوشایند نیست..البته ناگفته نمونه که این مدار اولین پروژه من با زبان سی و میکرو بود شاید برنامه ایراد داشته باشه..
                          فیلم عملکرد مدار (بازی بین دو عدد تا ثابت شدن اون هم بخوبی مشخصه) رو قرار میدم

                          راهی هست که بشه این ایراد رو برطرف کرد ؟
                          در برنامه noise reduction انالوگ به دیجیتال رو هم فعال کردم و از نظر محیطی هم نویزی وجود نداره..
                          تصویر مدار نمونه گیر adc

                          اینم کدهای adc و سون سگمنت
                          کد:
                          [FONT=Yekan]unsigned char adc_data;[/FONT]#define ADC_VREF_TYPE ((0<<REFS1) | (1<<REFS0) | (0<<ADLAR))
                          
                          
                          void adc_config(){
                          ADMUX=ADC_VREF_TYPE;
                          ADCSRA=(1<<ADEN) | (0<<ADSC) | (0<<ADFR) | (0<<ADIF) | (1<<ADIE) | (1<<ADPS2) | (1<<ADPS1) | (0<<ADPS0);
                          SFIOR=(0<<ACME);
                          }
                          interrupt [ADC_INT] void adc_isr(void)
                          {
                          adc_data=ADCW;
                          }
                          unsigned int read_adc(unsigned char adc_input)
                          {
                          ADMUX=adc_input | ADC_VREF_TYPE;
                          delay_us(10);
                          #asm
                              in   r30,mcucr
                              cbr  r30,__sm_mask
                              sbr  r30,__se_bit | __sm_adc_noise_red
                              out  mcucr,r30
                              sleep
                              cbr  r30,__se_bit
                              out  mcucr,r30
                          #endasm
                          return adc_data;
                          }
                          void seg_display(int valu){
                          unsigned char seg[]={0x40,0x79,0x24,0x30,0x19,0x12,0x02,0x78,0x00,0x10};
                          unsigned char data[3];
                          unsigned char i;
                          DDRB=0x7F;
                          DDRD=0x07;
                          PORTD=0x00;
                          data[0]=seg[valu/100];
                          data[1]=seg[(valu%100)/10];
                          data[2]=seg[(valu%100)%10];
                          for(i=0;i<3;i++){
                          PORTD=(1<<i);
                          PORTB=data[i];
                          delay_ms(1);
                          PORTD=(0<<i);
                          }
                          }
                          void main(void)
                          {
                          adc_config();
                          DDRC.3=1;
                          DDRC.4=1;
                          DDRC.5=1;
                          PORTC.3=0;
                          PORTC.4=0;
                          PORTC.5=0;
                          #asm("sei")
                          while(1)
                          {
                          seg_display(T);
                          T = read_adc(0);
                          
                          if(T>175){
                          PORTC.3=1;
                          PORTC.4=0;
                          PORTC.5=1;
                          }
                          if(T<245){
                          PORTC.3=1;
                          PORTC.4=0;
                          PORTC.5=1;
                          }
                          if(T>245){
                          PORTC.5=0;
                          PORTC.3=0;
                          PORTC.4=1;
                          }
                          if(T<175){
                          PORTC.5=0;
                          PORTC.3=0;
                          PORTC.4=1;
                          [FONT=Yekan]}
                          [/FONT]}
                          }
                          جدیدترین ویرایش توسط persiastar; ۱۹:۱۰ ۱۳۹۶/۰۱/۰۵.

                          دیدگاه


                            #14
                            پاسخ : درخواست راهنمایی برای اصلاح کد محافظ برق

                            قبل از ارسال عدد به 7سگمنت ، یک بار کد 00 یا FF را روی پورت قرار بدید برای چند میکروثانیه تا 7سگمنت کامل خاموش بشه- پایه مشترک فعال باشه-
                            سپس عدد را به پورت انتقال بدید
                            درکل یعنی قبل از هر ارسال به 7سگمنت یکبار سگمنت را خاموش کنید برای چند میکروثانیه

                            دیدگاه


                              #15
                              پاسخ : درخواست راهنمایی برای اصلاح کد محافظ برق

                              نوشته اصلی توسط yousef55 نمایش پست ها
                              قبل از ارسال عدد به 7سگمنت ، یک بار کد 00 یا FF را روی پورت قرار بدید برای چند میکروثانیه تا 7سگمنت کامل خاموش بشه- پایه مشترک فعال باشه-
                              سپس عدد را به پورت انتقال بدید
                              درکل یعنی قبل از هر ارسال به 7سگمنت یکبار سگمنت را خاموش کنید برای چند میکروثانیه
                              سلام
                              منظورتون اینه چند میکرو ثانیه عدد صفر رو در 7 سگمنت نمایش بدم بعد رقم ADC رو بذارم تو خروجی یا اینکه کلا چند میکرو ثانیه پایه های آند رو (در آند مشترک) صفر کنم تا کلا چند میکرو ثانیه 7 سگمنت خاموش بشه؟
                              اگه نمونه کد بذارید ممنون میشم

                              دیدگاه

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