اطلاعیه

Collapse
No announcement yet.

کمک در ساختن ولت آمپرمتر با ال سی دی 2*16

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

    کمک در ساختن ولت آمپرمتر با ال سی دی 2*16

    سلام دوستان من یه پروژه ولتمتر آمپر متر پیدا کردم توی سایت iranledاما سازنده دیگه به اون سایت سر نمیزنه منم نمیتونم ازش سوال کنم!انجمنشون متروکه شده! :NO:
    حالا بریم سر اصل مطلب
    این یه پروژه ولت آمپرمتر دما وساعت هست!
    من این مدار رو روی برد بورد بستم راحت جواب میده قشنگ ولت آمپر ساعت ودما رو نشون میده
    اما این مدار باید تا 255ولت رو نشون بده ولی بیشتر از 5ولت بهش بدم قات میزنه مینویسه255 :angry:
    من این مدار رو واسه منبع تغذیه میخوام!
    فکر کنم کمی هم درست نمیزنه مقدار ولتاژ وآمپر رو با مولتی متر دیجیتال مقایسه کردم کمی کمتر میزنه!حالا نمیدونم اون درست میزنه یا مولتی متر!
    لینک دانلود مدار رو هم میزارم اگر کم کسری داره بهم بگید چون میخوام یه چیز کامل بی عیب نقص باشه!به نظرم اون مقاوت 3وات باید 5وات باشه درسته؟
    برای حل این مشکلش که بیشتر از 5ولت رو نشون نمیده هم ممنون میشم کمک کنید!
    سورس توی فایل دانلودی هم هست!
    این سورس
    کد:
    $regfile = "M8DEF.dat" : $crystal = 2000000
    
    Config Lcdpin = Pin , Db4 = Pinb.3 , Db5 = Pinb.2 , Db6 = Pinb.1 , Db7 = Pinb.0 , E = Pinb.4 , Rs = Pinb.5
    Config Lcd = 16 * 2 : Cursor Off : Cls
    
    Config Portd = &B11111000
    
    Config Adc = Single , Prescaler = Auto , Reference = Internal
    
       Deflcdchar 0 , 24 , 24 , 32 , 7 , 4 , 4 , 4 , 7    '.C
    
    '-------------------------------------------------------------------------------
    Dim Cc As Byte , Mm As Byte , Ss As Byte , B As Byte , F As Byte , T As Word , Tt As Byte
    Dim Ecc As Eram Byte At 5 , Emm As Eram Byte At 10 , Ft As Byte , W As Word , S As Single
    Dim A As Single , I As String * 8 , V As String * 8 , Fv As Byte
    '-------------------------------------------------------------------------------
      Cc = Ecc : Mm = Emm : Tt = 150
    
         If Cc > 23 Then Cc = 10
         If Mm > 59 Then Mm = 00
         Gosub Showcc : Gosub Showmm : Gosub Showss
    
    '-------------------------------------------------------------------------------
    Config Timer2 = Timer , Prescale = 32 , Async = On
    Enable Interrupts : Enable Timer2
    On Timer2 Sectic
    Start Timer2
    '-------------------------------------------------------------------------------
    '-------------------------------------------------------------------------------
    Star:
       F = 0 : Ft = 0
    Do
       Debounce Pind.0 , 1 , Ant
    Loop
    '-------------------------------------------------------------------------------
    Ant:
       For T = 0 To 1200
         If Pind.0 = 0 Then Goto Star
         Waitms 1
       Next
    Goto Cc
    '------------------------------------------------------------------------------- DESIGN BY A.N.T
    '-------------------------------------------------------------------------------
    Sectic:
    Incr B
    Select Case B
    Case 1:
          Start Adc : W = Getadc(1) : Stop Adc
          If W > 800 Then : Fv = 1 : Set Portd.6 : Reset Portd.7
          Else : S = W / 400 : S = S + 0.003 : V = Fusing(s , "#.###")
          End If
          Gosub Offlcd
    Case 2:
         Ss = Ss + 1 : Toggle Portd.3
         If Ss > 59 Then : Ss = 0 : Mm = Mm + 1 : Emm = Mm
         End If
         If Mm > 59 Then : Mm = 0 : Cc = Cc + 1 : Emm = Mm : Ecc = Cc
         End If
         If Cc > 23 Then : Cc = 0 : Ecc = Cc
         End If
         Gosub Onlcd
         If Fv = 1 Then :
            Start Adc : W = Getadc(1) : Stop Adc
            If W > 800 Then : Fv = 1 : Reset Portd.6 : Set Portd.7
            Else : S = W / 40 : S = S + 0.03 : Fv = 0 : V = Fusing(s , "##.##")
            End If
         End If
    Case 3:
         Gosub Offlcd
         Start Adc : W = Getadc(0) : Stop Adc : W = W / 2 : A = W / 2
         If Fv = 1 Then :
            Start Adc : W = Getadc(1) : Stop Adc
            S = W / 4 : Fv = 0 : V = Fusing(s , "###.#")
         End If
    Case 4:
         Start Adc : W = Getadc(2) : Stop Adc : S = W / 200 : I = Fusing(s , "#.###")
         B = 0 : Gosub Onlcd : Toggle Portd.3 : Reset Portd.6 : Reset Portd.7 : Fv = 0
    End Select
    Locate 2 , 22
    Return
    '------------------------------------------------------------------------------- DESIGN BY A.N.T
    '-------------------------------------------------------------------------------
    Cc:
         F = 2 : Ft = 0
    Do
         Debounce Pind.0 , 1 , Mm
         Debounce Pind.1 , 1 , Cc1
         Debounce Pind.2 , 1 , Cc2
    Loop
    '-------------------------------------------------------------------------------
    Cc1:
         Incr Cc : If Cc > 23 Then Cc = 0
          Gosub Showcc
         For T = 0 To Tt
          If Pind.1 = 0 Then Goto Cc
          Waitms 4
         Next
         Ft = 1
         Do
          Gosub Showcc
          For T = 0 To Tt
            If Pind.1 = 0 Then Goto Cc
            Waitms 1
          Next
          Incr Cc : If Cc > 23 Then Cc = 0
          Gosub Showcc
         Loop
    '-------------------------------------------------------------------------------
    Cc2:
         Decr Cc : If Cc > 23 Then Cc = 23
          Gosub Showcc
         For T = 0 To Tt
          If Pind.2 = 0 Then Goto Cc
          Waitms 4
         Next
         Ft = 1
         Do
          Gosub Showcc
          For T = 0 To Tt
            If Pind.2 = 0 Then Goto Cc
            Waitms 1
          Next
          Decr Cc : If Cc > 23 Then Cc = 23
          Gosub Showcc
         Loop
    '------------------------------------------------------------------------------- DESIGN BY A.N.T
    '-------------------------------------------------------------------------------
    Mm:
         F = 3 : Ecc = Cc : Ft = 0 : Gosub Showcc
    Do
         Debounce Pind.0 , 1 , Ss
         Debounce Pind.1 , 1 , Mm1
         Debounce Pind.2 , 1 , Mm2
    Loop
    '-------------------------------------------------------------------------------
    Mm1:
         Incr Mm : If Mm > 59 Then Mm = 0
          Gosub Showmm
         For T = 0 To Tt
          If Pind.1 = 0 Then Goto Mm
          Waitms 4
         Next
         Ft = 1
         Do
          Gosub Showmm
          For T = 0 To Tt
            If Pind.1 = 0 Then Goto Mm
            Waitms 1
          Next
          Incr Mm : If Mm > 59 Then Mm = 0
          Gosub Showmm
         Loop
    '-------------------------------------------------------------------------------
    Mm2:
         Decr Mm : If Mm > 59 Then Mm = 59
          Gosub Showmm
         For T = 0 To Tt
          If Pind.2 = 0 Then Goto Mm
          Waitms 4
         Next
         Ft = 1
         Do
          Gosub Showmm
          For T = 0 To Tt
            If Pind.2 = 0 Then Goto Mm
            Waitms 1
          Next
          Decr Mm : If Mm > 59 Then Mm = 59
          Gosub Showmm
         Loop
    '-------------------------------------------------------------------------------
    Ss:
         Ft = 0 : F = 4 : Emm = Mm : Gosub Showmm : Gosub Showss
    Do
         Debounce Pind.0 , 1 , Star
         Debounce Pind.1 , 1 , Ss1
         Debounce Pind.2 , 1 , Ss2
    Loop
    '-------------------------------------------------------------------------------
    Ss1:
          Timer2 = 0 : B = 0
          If Ss > 29 Then : Mm = Mm + 1
          End If
          If Mm = 60 Then : Mm = 0 : Incr Cc
          End If
          If Cc = 24 Then Cc = 0
          Ss = 0 : Goto Ss
    '-------------------------------------------------------------------------------
    Ss2:
          Timer2 = 0 : Ss = 0 : B = 0 : Goto Ss
    '-------------------------------------------------------------------------------
    '-------------------------------------------------------------------------------
    
    Onlcd:
      Gosub Showcc : Gosub Showmm : Gosub Showss : Gosub Showa : Gosub Showi
    Return
    '-------------------------------------------------------------------------------
    Offlcd:
         If Ft = 1 Then Return
         If F = 0 Then : Return
         Else :
          If F = 2 Then : Home : Lcd " "
          Elseif F = 3 Then : Locate 1 , 4 : Lcd " "
          Else :
            If F = 4 Then : Locate 1 , 7 : Lcd " "
            End If
          End If
         End If
    Return
    '------------------------------------------------------------------------------- DESIGN BY A.N.T
    '-------------------------------------------------------------------------------
    Showa:
      Locate 1 , 12
      If A < 10 Then : Lcd " " ; A ; Chr(0) ; "  "
      Else : Lcd A ; Chr(0) ; "  "
      End If
    Return
    '-------------------------------------------------------------------------------
    Showcc:
      Home
      If Cc < 10 Then : Lcd " " ; Cc
      Else : Lcd Cc
      End If
      Lcd ":"
    Return
    '-------------------------------------------------------------------------------
    Showmm:
      Locate 1 , 4
      If Mm < 10 Then : Lcd "0" ; Mm
      Else : Lcd Mm
      End If
      Lcd ":"
    Return
    '-------------------------------------------------------------------------------
    Showss:
      Locate 1 , 7
      If Ss < 10 Then : Lcd "0" ; Ss
      Else : Lcd Ss
      End If
      Lcd " "
    Return
    '------------------------------------------------------------------------------- DESIGN BY A.N.T
    Showi:
      Home L : Lcd V ; "v  "
      Locate 2 , 10 : Lcd I ; " A   "
    Return
    اینم لینک دانلود نتوسنستم توی انجمن پ کنم
    http://s07.uploadfa.com/files/5/29h23g0afmw30v/V%20&%20A%20-%20A.N.zip

    #2
    پاسخ : کمک در ساختن ولت آمپرمتر با ال سی دی 2*16

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

    دیدگاه


      #3
      پاسخ : کمک در ساختن ولت آمپرمتر با ال سی دی 2*16

      ممنون ساراجان
      اما ما که مثل شما کارشناسی ارشد نیستیم تازه رفتیم کاردانی! :nerd:
      از بسکام هم خوسم نمییاد!خودم با کدویژن کار میکنم!
      اگر بخوام خودم بسازم طول میکشه چون به کدویژن هم کامل مسلط نیستم ونمیتونم همچین پروژه ای رودرست کنم!
      اما من این پروژه رو دیدم دیگه گفتم همینو بسازم!
      حالا هم درست کار میکنه اما نمیدونم چرا بیشتر از 5ولت قاط میزنه!
      حالا اگه کمکم کنی این مشکلش حل بشه دیگه حله!
      میخوام بدونم مشکلش چیه![s][/s]

      دیدگاه


        #4
        پاسخ : کمک در ساختن ولت آمپرمتر با ال سی دی 2*16

        با سلام، :bye

        من نقشه مدار رو دیدم :eek: سخت افزارش خوبه :mrgreen: اگر مدار رو اینجوری بستی، مشکل سخت افزاری نیست. ( فقط پایه GND از LM35 مشکوکه !!! )
        یه سوئیچ آنالوگ گذاشته واسه انتخاب مقاومت تقسیم ولتاژ ورودی که با پایه های PD6 و PD7 کنترل میشه که حالت 3 زمینه و حالت 0 هم همونی که از ورودی میگیره میده به ADC میکرو ، پیشنهاد میکنم که برای کالیبره کردن مدارت، مقاومت 1K رو پتانسیومتر یا مولتی ترن بزاری. ( حالت 0 نسبت یک و حالت 1 نسبت یک دهم و حالت 2 نسبت یک صدم و حالت 3 GND )

        حدس میزنم مدار شما که قاط میزنه، همیشه روی حالت صفر باشه. ( در این حالت، ورودی بیشتر از 5 ولت نمیگیره )
        این مدار بالقوه توانائی انتخاب اتوماتیک حالت های ورودی رو داره، ولی چون من بسکام بلد نیستم، برنامه رو تحلیل نکردم! ولی توش دیدم که حالت های ورودی رو اتوماتیک یا با استفاده از کلیدها انتخاب میکنه... ( توی Select Case B ) برای تست، خودت دستی پایه های انتخاب حالت رو تغییر بده مثلا فیکس بزار روی حالت 2 که تقریبا نسبت 1 به 100 میشه. یا دو تا LED موقتی برای نشون دادن حالت های انتخاب روی پایه های PD6 و PD7 نصب کن!

        برای اینکه ADC نویزی نشه، پیشنهاد میکنم که پایه AVCC رو با یک خازن 100nF به زمین و با یک سلف 10uH به 5 ولت متصل کنی و پایه AREF رو هم با یک خازن 100nF به زمین و با یک مقاومت10K به 5 ولت متصل کنی.

        خوش گذشت ...
        مادامی که از شخصی یاد میشود، او و افکارش زنده اند ....

        Sh_Nourbakhsh@Yahoo.com

        http://s2.picofile.com/file/7170362468/_Wall_e_.jp

        دیدگاه


          #5
          پاسخ : کمک در ساختن ولت آمپرمتر با ال سی دی 2*16

          نوشته اصلی توسط omid_021
          سلام دوستان من یه پروژه ولتمتر آمپر متر پیدا کردم توی سایت iranledاما سازنده دیگه به اون سایت سر نمیزنه منم نمیتونم ازش سوال کنم!انجمنشون متروکه شده! :NO:
          حالا بریم سر اصل مطلب
          این یه پروژه ولت آمپرمتر دما وساعت هست!
          من این مدار رو روی برد بورد بستم راحت جواب میده قشنگ ولت آمپر ساعت ودما رو نشون میده
          اما این مدار باید تا 255ولت رو نشون بده ولی بیشتر از 5ولت بهش بدم قات میزنه مینویسه255 :angry:
          من این مدار رو واسه منبع تغذیه میخوام!
          فکر کنم کمی هم درست نمیزنه مقدار ولتاژ وآمپر رو با مولتی متر دیجیتال مقایسه کردم کمی کمتر میزنه!حالا نمیدونم اون درست میزنه یا مولتی متر!
          لینک دانلود مدار رو هم میزارم اگر کم کسری داره بهم بگید چون میخوام یه چیز کامل بی عیب نقص باشه!به نظرم اون مقاوت 3وات باید 5وات باشه درسته؟
          برای حل این مشکلش که بیشتر از 5ولت رو نشون نمیده هم ممنون میشم کمک کنید!
          دوست عزیز سخت افزار این مدار پر از اشکال هست.
          طرف یک چیزی به فکرش رسیده، طراحی! :angry: کرده و همونو اومده گذاشته تو سایت!
          آخه چه جوری یک آیسی 4052 سیموس میتونه 250 ولت رو تحمل کنه؟؟؟ :eek:
          نمونه جریان هم که مستقیم رفته به میکروکنترلر (یا بقول بعضی دوستان میکرو :mrgreen: )
          شما اگر تغییر رنج نمیخوای 4052 رو حذف کن و همونطور که دوستان گفتند از یک تقیسم کننده ولتاژ در ورودی استفاده کن.
          در مسیر تقسیم کننده یک پتانسیومتر سری کن تا بتونی دقت ولتمتر رو تنظیم (کالیبره) کنی

          دیدگاه


            #6
            پاسخ : کمک در ساختن ولت آمپرمتر با ال سی دی 2*16

            نوشته اصلی توسط Davood Kheradmand
            دوست عزیز سخت افزار این مدار پر از اشکال هست.
            طرف یک چیزی به فکرش رسیده، طراحی! :angry: کرده و همونو اومده گذاشته تو سایت!
            آخه چه جوری یک آیسی 4052 سیموس میتونه 250 ولت رو تحمل کنه؟؟؟ :eek:
            نمونه جریان هم که مستقیم رفته به میکروکنترلر (یا بقول بعضی دوستان میکرو :mrgreen: )
            شما اگر تغییر رنج نمیخوای 4052 رو حذف کن و همونطور که دوستان گفتند از یک تقیسم کننده ولتاژ در ورودی استفاده کن.
            در مسیر تقسیم کننده یک پتانسیومتر سری کن تا بتونی دقت ولتمتر رو تنظیم (کالیبره) کنی

            سلام دوست عزیز
            اگر چه این مدار از لحاظ تئوری در نگاه اول کاملا اشتباه به نظر برسد چون 4052 ماکزییمم ورودی آن vcc می باشد که vcc در بعضی نوع ها 5 ودر بعضی دیگر 10 می باشد

            ولی حالتی رو در نظر بگیر که ولتاژ ورودی 220 ولت باشد و ما با فرض این که رنج ولتاژ ورودی رو می دونیم در این هنگام اگر سوئیچ روی x2 صورت بگیرد مدار عمل کرد عادی خودش را دارد شاید به نظر برسد 220 ولت روی پایه x0 هم هست وباید آی سی بترکه :eek: اما در این لحظه جریان ورودی صفر هست و این ولتاژ به مشابه یک ولتاژ مثلا از جنس الکتریسیته ساکن می باشد خوب از انجا که() esd آی سی 2000 ولت هست بنابراین تا زمانی که در این ولتاز روی x0 سوئیچ نکرده باشیم مشکلی پیش نمی آید.
            نادانترين مردم کساني هستند که فکر مي کنند داناترين آنها هستند.

            دیدگاه


              #7
              پاسخ : کمک در ساختن ولت آمپرمتر با ال سی دی 2*16

              نوشته اصلی توسط سارا امامی فر

              سلام دوست عزیز
              اگر چه این مدار از لحاظ تئوری در نگاه اول کاملا اشتباه به نظر برسد چون 4052 ماکزییمم ورودی آن vcc می باشد که vcc در بعضی نوع ها 5 ودر بعضی دیگر 10 می باشد

              ولی حالتی رو در نظر بگیر که ولتاژ ورودی 220 ولت باشد و ما با فرض این که رنج ولتاژ ورودی رو می دونیم در این هنگام اگر سوئیچ روی x2 صورت بگیرد مدار عمل کرد عادی خودش را دارد شاید به نظر برسد 220 ولت روی پایه x0 هم هست وباید آی سی بترکه :eek: اما در این لحظه جریان ورودی صفر هست و این ولتاژ به مشابه یک ولتاژ مثلا از جنس الکتریسیته ساکن می باشد خوب از انجا که esd آی سی 2000 ولت هست بنابراین تا زمانی که در این ولتاز روی x0 سوئیچ نکرده باشیم مشکلی پیش نمی آید.
              سارا جان شما دیگه چرا این حرف رو میزنی
              ESD یا دیشارژ الکتروستاتیک با اینجا که ولتاژ دائمی قرار هست که اعمال بشه از زمین تا آسمون فرق داره.
              فرقش هم اینه که مثلا این 2000 ولتی که گفتی باید روی یک خازن فرضش کنی که در یک آن روی پایه آیسی قرار میگیره و تخلیه میشه.
              یعنی اولا جریانش صفر نیست. دوم اینکه وقتی این ولتاژ روی پایه قرار میگیره بسرعت تخلیه میشه. زمانش فکر کنم در حد میکروثانیه هست.
              حالا اگر ایشون و شما قانع نشدید میتونید امتحان کنید. :redface:

              دیدگاه


                #8
                پاسخ : کمک در ساختن ولت آمپرمتر با ال سی دی 2*16

                خوب داوود جان اگر ممکنه مدار رو با پرتئوس اصلاح کن ومدار اصلاح شده رو بزار واسه دانلود!
                من این ولت آمپر متر رو واسه منبع تغذیه 0-30ولت 3آمپر میخوام!
                تا این حد اگه جواب بده بسه!
                در ضمن سازنده هم توی یکی از پست هاش در جواب یه کاربر که پرسیده بود 250ولت رو 4052جواب میده یا نه گفته که جواب نمیده!
                سارا جان اون مدارlm35مشکلی نداره !
                ممنون

                دیدگاه


                  #9
                  پاسخ : کمک در ساختن ولت آمپرمتر با ال سی دی 2*16

                  من که راهنمایی کردم دیگه چی میخوای
                  یه کمی تلاش کنی میتونی انجامش بدی :nice:

                  نوشته اصلی توسط Davood Kheradmand
                  ...
                  شما اگر تغییر رنج نمیخوای 4052 رو حذف کن و همونطور که دوستان گفتند از یک تقیسم کننده ولتاژ در ورودی استفاده کن.
                  در مسیر تقسیم کننده یک پتانسیومتر سری کن تا بتونی دقت ولتمتر رو تنظیم (کالیبره) کنی

                  دیدگاه


                    #10
                    پاسخ : کمک در ساختن ولت آمپرمتر با ال سی دی 2*16

                    با سلام،

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

                    فکر کنم این بحث حالا-حالاها ادامه داشته باشه! شما هم برای اینکه فعلا مشکلت حل بشه به لینک زیر یه سری بزن. سرنخ خوبی بهت میده، اگر بخوای خیلی راحت میتونی بجای سون سگمنت LCD بزاری و جریان رو هم بهش اضافه کنی...
                    http://www.tuxgraphics.org/electronics/200706/mini-digital-voltmeter.shtml

                    اینم منبع تغذیه آزمایشگاهی هستش که ولتمتر و آمپر متر هم داره...
                    http://www.tuxgraphics.org/electronics/201005/bench-power-supply-v3.shtml

                    مرسی.....
                    مادامی که از شخصی یاد میشود، او و افکارش زنده اند ....

                    Sh_Nourbakhsh@Yahoo.com

                    http://s2.picofile.com/file/7170362468/_Wall_e_.jp

                    دیدگاه


                      #11
                      پاسخ : کمک در ساختن ولت آمپرمتر با ال سی دی 2*16

                      ممنون دوستان از پاسختون
                      راستش من قبلا یه ولت متر با آی سی 7107ساختم اما درست کار نمیکرد مقدار هایی که نشون میداد درست نبود!که با سون سگمنت کار میکرد!
                      این پروژه رو هم پیدا کردم به نظرتون این چطوره؟
                      سورسش هم نیست فقط فابل hexداره! :read:

                      دیدگاه


                        #12
                        پاسخ : کمک در ساختن ولت آمپرمتر با ال سی دی 2*16

                        نوشته اصلی توسط omid_021
                        ممنون دوستان از پاسختون
                        راستش من قبلا یه ولت متر با آی سی 7107ساختم اما درست کار نمیکرد مقدار هایی که نشون میداد درست نبود!که با سون سگمنت کار میکرد!
                        این پروژه رو هم پیدا کردم به نظرتون این چطوره؟
                        سورسش هم نیست فقط فابل hexداره! :read:
                        سخت افزار به نظر درست میاد.
                        اما نمیدونم چرا از دو تا تغذیه 5 ولت استفاده کرده.
                        میتونی یکیشو حذف کنی.

                        دیدگاه


                          #13
                          پاسخ : کمک در ساختن ولت آمپرمتر با ال سی دی 2*16

                          فایل پی سی بی رو هم دارم !
                          ورودی برقش یه 9ولت هست که میره واسه 2تا رگولاتورا!
                          منم نمیدونم چرا 2تا استفاده کرده شاید میخواسته مدار رو الکی شلوغش کنه!

                          دیدگاه


                            #14
                            پاسخ : کمک در ساختن ولت آمپرمتر با ال سی دی 2*16

                            پس به نطر شما مشکلی نداره؟
                            شروع کنم به ساختش؟ :read:

                            دیدگاه


                              #15
                              پاسخ : کمک در ساختن ولت آمپرمتر با ال سی دی 2*16

                              نوشته اصلی توسط omid_021
                              سلام دوستان من یه پروژه ولتمتر آمپر متر پیدا کردم توی سایت iranledاما سازنده دیگه به اون سایت سر نمیزنه منم نمیتونم ازش سوال کنم!انجمنشون متروکه شده! :NO:
                              حالا بریم سر اصل مطلب
                              این یه پروژه ولت آمپرمتر دما وساعت هست!
                              من این مدار رو روی برد بورد بستم راحت جواب میده قشنگ ولت آمپر ساعت ودما رو نشون میده
                              اما این مدار باید تا 255ولت رو نشون بده ولی بیشتر از 5ولت بهش بدم قات میزنه مینویسه255 :angry:
                              من این مدار رو واسه منبع تغذیه میخوام!
                              فکر کنم کمی هم درست نمیزنه مقدار ولتاژ وآمپر رو با مولتی متر دیجیتال مقایسه کردم کمی کمتر میزنه!حالا نمیدونم اون درست میزنه یا مولتی متر!
                              لینک دانلود مدار رو هم میزارم اگر کم کسری داره بهم بگید چون میخوام یه چیز کامل بی عیب نقص باشه!به نظرم اون مقاوت 3وات باید 5وات باشه درسته؟
                              برای حل این مشکلش که بیشتر از 5ولت رو نشون نمیده هم ممنون میشم کمک کنید!
                              سورس توی فایل دانلودی هم هست!
                              این سورس
                              کد:
                              $regfile = "M8DEF.dat" : $crystal = 2000000
                              
                              Config Lcdpin = Pin , Db4 = Pinb.3 , Db5 = Pinb.2 , Db6 = Pinb.1 , Db7 = Pinb.0 , E = Pinb.4 , Rs = Pinb.5
                              Config Lcd = 16 * 2 : Cursor Off : Cls
                              
                              Config Portd = &B11111000
                              
                              Config Adc = Single , Prescaler = Auto , Reference = Internal
                              
                                 Deflcdchar 0 , 24 , 24 , 32 , 7 , 4 , 4 , 4 , 7    '.C
                              
                              '-------------------------------------------------------------------------------
                              Dim Cc As Byte , Mm As Byte , Ss As Byte , B As Byte , F As Byte , T As Word , Tt As Byte
                              Dim Ecc As Eram Byte At 5 , Emm As Eram Byte At 10 , Ft As Byte , W As Word , S As Single
                              Dim A As Single , I As String * 8 , V As String * 8 , Fv As Byte
                              '-------------------------------------------------------------------------------
                                Cc = Ecc : Mm = Emm : Tt = 150
                              
                                   If Cc > 23 Then Cc = 10
                                   If Mm > 59 Then Mm = 00
                                   Gosub Showcc : Gosub Showmm : Gosub Showss
                              
                              '-------------------------------------------------------------------------------
                              Config Timer2 = Timer , Prescale = 32 , Async = On
                              Enable Interrupts : Enable Timer2
                              On Timer2 Sectic
                              Start Timer2
                              '-------------------------------------------------------------------------------
                              '-------------------------------------------------------------------------------
                              Star:
                                 F = 0 : Ft = 0
                              Do
                                 Debounce Pind.0 , 1 , Ant
                              Loop
                              '-------------------------------------------------------------------------------
                              Ant:
                                 For T = 0 To 1200
                                   If Pind.0 = 0 Then Goto Star
                                   Waitms 1
                                 Next
                              Goto Cc
                              '------------------------------------------------------------------------------- DESIGN BY A.N.T
                              '-------------------------------------------------------------------------------
                              Sectic:
                              Incr B
                              Select Case B
                              Case 1:
                                    Start Adc : W = Getadc(1) : Stop Adc
                                    If W > 800 Then : Fv = 1 : Set Portd.6 : Reset Portd.7
                                    Else : S = W / 400 : S = S + 0.003 : V = Fusing(s , "#.###")
                                    End If
                                    Gosub Offlcd
                              Case 2:
                                   Ss = Ss + 1 : Toggle Portd.3
                                   If Ss > 59 Then : Ss = 0 : Mm = Mm + 1 : Emm = Mm
                                   End If
                                   If Mm > 59 Then : Mm = 0 : Cc = Cc + 1 : Emm = Mm : Ecc = Cc
                                   End If
                                   If Cc > 23 Then : Cc = 0 : Ecc = Cc
                                   End If
                                   Gosub Onlcd
                                   If Fv = 1 Then :
                                      Start Adc : W = Getadc(1) : Stop Adc
                                      If W > 800 Then : Fv = 1 : Reset Portd.6 : Set Portd.7
                                      Else : S = W / 40 : S = S + 0.03 : Fv = 0 : V = Fusing(s , "##.##")
                                      End If
                                   End If
                              Case 3:
                                   Gosub Offlcd
                                   Start Adc : W = Getadc(0) : Stop Adc : W = W / 2 : A = W / 2
                                   If Fv = 1 Then :
                                      Start Adc : W = Getadc(1) : Stop Adc
                                      S = W / 4 : Fv = 0 : V = Fusing(s , "###.#")
                                   End If
                              Case 4:
                                   Start Adc : W = Getadc(2) : Stop Adc : S = W / 200 : I = Fusing(s , "#.###")
                                   B = 0 : Gosub Onlcd : Toggle Portd.3 : Reset Portd.6 : Reset Portd.7 : Fv = 0
                              End Select
                              Locate 2 , 22
                              Return
                              '------------------------------------------------------------------------------- DESIGN BY A.N.T
                              '-------------------------------------------------------------------------------
                              Cc:
                                   F = 2 : Ft = 0
                              Do
                                   Debounce Pind.0 , 1 , Mm
                                   Debounce Pind.1 , 1 , Cc1
                                   Debounce Pind.2 , 1 , Cc2
                              Loop
                              '-------------------------------------------------------------------------------
                              Cc1:
                                   Incr Cc : If Cc > 23 Then Cc = 0
                                    Gosub Showcc
                                   For T = 0 To Tt
                                    If Pind.1 = 0 Then Goto Cc
                                    Waitms 4
                                   Next
                                   Ft = 1
                                   Do
                                    Gosub Showcc
                                    For T = 0 To Tt
                                      If Pind.1 = 0 Then Goto Cc
                                      Waitms 1
                                    Next
                                    Incr Cc : If Cc > 23 Then Cc = 0
                                    Gosub Showcc
                                   Loop
                              '-------------------------------------------------------------------------------
                              Cc2:
                                   Decr Cc : If Cc > 23 Then Cc = 23
                                    Gosub Showcc
                                   For T = 0 To Tt
                                    If Pind.2 = 0 Then Goto Cc
                                    Waitms 4
                                   Next
                                   Ft = 1
                                   Do
                                    Gosub Showcc
                                    For T = 0 To Tt
                                      If Pind.2 = 0 Then Goto Cc
                                      Waitms 1
                                    Next
                                    Decr Cc : If Cc > 23 Then Cc = 23
                                    Gosub Showcc
                                   Loop
                              '------------------------------------------------------------------------------- DESIGN BY A.N.T
                              '-------------------------------------------------------------------------------
                              Mm:
                                   F = 3 : Ecc = Cc : Ft = 0 : Gosub Showcc
                              Do
                                   Debounce Pind.0 , 1 , Ss
                                   Debounce Pind.1 , 1 , Mm1
                                   Debounce Pind.2 , 1 , Mm2
                              Loop
                              '-------------------------------------------------------------------------------
                              Mm1:
                                   Incr Mm : If Mm > 59 Then Mm = 0
                                    Gosub Showmm
                                   For T = 0 To Tt
                                    If Pind.1 = 0 Then Goto Mm
                                    Waitms 4
                                   Next
                                   Ft = 1
                                   Do
                                    Gosub Showmm
                                    For T = 0 To Tt
                                      If Pind.1 = 0 Then Goto Mm
                                      Waitms 1
                                    Next
                                    Incr Mm : If Mm > 59 Then Mm = 0
                                    Gosub Showmm
                                   Loop
                              '-------------------------------------------------------------------------------
                              Mm2:
                                   Decr Mm : If Mm > 59 Then Mm = 59
                                    Gosub Showmm
                                   For T = 0 To Tt
                                    If Pind.2 = 0 Then Goto Mm
                                    Waitms 4
                                   Next
                                   Ft = 1
                                   Do
                                    Gosub Showmm
                                    For T = 0 To Tt
                                      If Pind.2 = 0 Then Goto Mm
                                      Waitms 1
                                    Next
                                    Decr Mm : If Mm > 59 Then Mm = 59
                                    Gosub Showmm
                                   Loop
                              '-------------------------------------------------------------------------------
                              Ss:
                                   Ft = 0 : F = 4 : Emm = Mm : Gosub Showmm : Gosub Showss
                              Do
                                   Debounce Pind.0 , 1 , Star
                                   Debounce Pind.1 , 1 , Ss1
                                   Debounce Pind.2 , 1 , Ss2
                              Loop
                              '-------------------------------------------------------------------------------
                              Ss1:
                                    Timer2 = 0 : B = 0
                                    If Ss > 29 Then : Mm = Mm + 1
                                    End If
                                    If Mm = 60 Then : Mm = 0 : Incr Cc
                                    End If
                                    If Cc = 24 Then Cc = 0
                                    Ss = 0 : Goto Ss
                              '-------------------------------------------------------------------------------
                              Ss2:
                                    Timer2 = 0 : Ss = 0 : B = 0 : Goto Ss
                              '-------------------------------------------------------------------------------
                              '-------------------------------------------------------------------------------
                              
                              Onlcd:
                                Gosub Showcc : Gosub Showmm : Gosub Showss : Gosub Showa : Gosub Showi
                              Return
                              '-------------------------------------------------------------------------------
                              Offlcd:
                                   If Ft = 1 Then Return
                                   If F = 0 Then : Return
                                   Else :
                                    If F = 2 Then : Home : Lcd " "
                                    Elseif F = 3 Then : Locate 1 , 4 : Lcd " "
                                    Else :
                                      If F = 4 Then : Locate 1 , 7 : Lcd " "
                                      End If
                                    End If
                                   End If
                              Return
                              '------------------------------------------------------------------------------- DESIGN BY A.N.T
                              '-------------------------------------------------------------------------------
                              Showa:
                                Locate 1 , 12
                                If A < 10 Then : Lcd " " ; A ; Chr(0) ; "  "
                                Else : Lcd A ; Chr(0) ; "  "
                                End If
                              Return
                              '-------------------------------------------------------------------------------
                              Showcc:
                                Home
                                If Cc < 10 Then : Lcd " " ; Cc
                                Else : Lcd Cc
                                End If
                                Lcd ":"
                              Return
                              '-------------------------------------------------------------------------------
                              Showmm:
                                Locate 1 , 4
                                If Mm < 10 Then : Lcd "0" ; Mm
                                Else : Lcd Mm
                                End If
                                Lcd ":"
                              Return
                              '-------------------------------------------------------------------------------
                              Showss:
                                Locate 1 , 7
                                If Ss < 10 Then : Lcd "0" ; Ss
                                Else : Lcd Ss
                                End If
                                Lcd " "
                              Return
                              '------------------------------------------------------------------------------- DESIGN BY A.N.T
                              Showi:
                                Home L : Lcd V ; "v  "
                                Locate 2 , 10 : Lcd I ; " A   "
                              Return
                              اینم لینک دانلود نتوسنستم توی انجمن پ کنم
                              http://s07.uploadfa.com/files/5/29h23g0afmw30v/V%20&%20A%20-%20A.N.zip
                              لینک دانلود کار نمیکنه
                              عزیزان دقت کنید پسورد تمامی فایلها و پروژه های من، در تاپیکشون موجوده(صفحات آخر) لطفا برای رمز فایلا پیام ندید!! چون خیلی دیر ب دیر میام انجمن و پیام چک نمیکنم
                              مخترع برتر شمال غرب سال 96
                              مدیر سابق منابع تغذیه انجمن ECA

                              دیدگاه

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