اطلاعیه

Collapse
No announcement yet.

کنترل رله 6 ولتی از طریق کامپیوتر

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

    کنترل رله 6 ولتی از طریق کامپیوتر

    سلام دوستان لطفا کمک کنین خیلی واجبه
    میخوام یک یا چند تا رله رو از طریق کامپیوتر روشن یا خاموش کنم ، و اگه ممکنه بتونم وظعیت برقراری جریان تقریبا 6~12 ولت رو توی یک مدار تشخیص بدم و توی برنامه یی که با وی بی دات نت نوشتم نشون بدم
    متاسفانه نمیدونم که این کار شدنیه با نه چون اظلاعاتم در باره الکترونیک تقریبا صفره
    ولی از نظر برنامه نویسی مشکلی نیست
    لطفا راهنمایی کنین
    در صورت لزوم میتونم تا یه جاهایی کار با ای وی ار رو هم یاد بگیرم واسه این پروژه

    ممنون



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

    #2
    پاسخ : کنترل رله 6 ولتی از طریق کامپیوتر

    شما که تو برنامه نویسی دستت بازه،باید از پورت com کامپیوتر rs232 استفاده کنی، و از این طریق با AVR ارتباط برقرار کنی، برای تشخیص ولتاژ از ADC میکرو استفاده کنی و مقدار متناسب با ولتاژ رو از طریق USART میکرو بدی به PC و رله ها رو به میکرو وصل کنی و تو برنامه VB.NET کد هر رله رو بفرستی رو پورت RS232 تا وارد USART میکرو بشه و میکرو کد مورد نظر رو تشخیص بده و رله متناظر با هر کد رو روشن یا خاموش کنه، شرمنده از این ساده تر بلد نیستم بگم :rolleyes:

    دیدگاه


      #3
      پاسخ : کنترل رله 6 ولتی از طریق کامپیوتر

      نوشته اصلی توسط kaveh.s
      سلام دوستان لطفا کمک کنین خیلی واجبه
      میخوام یک یا چند تا رله رو از طریق کامپیوتر روشن یا خاموش کنم ، و اگه ممکنه بتونم وظعیت برقراری جریان تقریبا 6~12 ولت رو توی یک مدار تشخیص بدم و توی برنامه یی که با وی بی دات نت نوشتم نشون بدم
      متاسفانه نمیدونم که این کار شدنیه با نه چون اظلاعاتم در باره الکترونیک تقریبا صفره
      ولی از نظر برنامه نویسی مشکلی نیست
      لطفا راهنمایی کنین
      در صورت لزوم میتونم تا یه جاهایی کار با ای وی ار رو هم یاد بگیرم واسه این پروژه
      با سلام

      منظورتون اینه که کامپیوتر به طور اتوماتیک رله هارا خاموش و روشن کنه یا ........ به هر حال روش های مختلفی وجود دارد.
      پیشنهاد من اینه که از پرت com استفاده کنید.بدین شرح که با این پورت با میکروی avr یا هر میکروی دیگر ارتباط برقرار میکنی و اطلاعتتو میفرستی میکرو،میکرو با توجه به برنامه اش دستور لازم برای روشن شدن هر کدوم از رله ها را میدهد.

      همچنین میتونی ولتاژ 6~12 را با adc میکرو اندازه بگیری و بفرستی به کامپیوتر.


      البته با پورت lpt هم متونی بدون میکرو نیز این کار را انجام دهی.

      پی نوشت:
      من با vb.net کار نکردم.


      اینم مدار رابط پورت com و میکرو :NO:



      يادش بخير يه وقتايي هر روز ميومدم اينجا !

      دیدگاه


        #4
        پاسخ : کنترل رله 6 ولتی از طریق کامپیوتر

        متشکرم دوستان
        حل شد , توفیق اجباری شد ما میکرو هم یاد گرفتیم
        ممنون از کمکتون دوستان
        حالا یه چی دیگه x

        البته باید ببخشید پررویی منو

        میخوام با یه سنسور دما , دما رو هم به برنامه بفرستم
        دما تقریبا بین 20 تا 40 درجه زیر صفره

        دیدگاه


          #5
          پاسخ : کنترل رله 6 ولتی از طریق کامپیوتر

          :mrgreen:
          فقط چاره شما یاد گیر برنامه نویسی برای میکرو هستش در صورت یاد گیری میکرو
          همه ی اینها اسونه
          هیچ مشکلی نداره فقط میکرو باید بلد باشین
          [move][img width=133 height=100]http://bargiri.persiangig.com/aks/0.306310001356499787_taknaz_ir.gif[/img][/move]

          دیدگاه


            #6
            پاسخ : کنترل رله 6 ولتی از طریق کامپیوتر

            با سلام خدمت اساتید گفتم الکی موضوع جدید باز نکنم من میخوام تعداد 24 رله رو با میکرو و از طریق کامپی.تر کنترل کنم
            میخوام پروژه رو به کمک شما دوستان مرحلهبه مرحله جلو ببرم
            پیشنهادتون برای کنترل خاموش و روشن شدن این تعداد رله با پایه های محدود میکرو چیه کسی تجربه مشابهی داشته خوشحال میشم راهنماییم کنید با استفاده از مولتی پلکسر و لچ میشه این کار رو انجام دادبه طوز که روی هر رله به صورت مجزا کنترل داشته باشیم؟
            جدیدترین ویرایش توسط saeedgreat; ۱۴:۳۷ ۱۳۹۷/۰۶/۱۶.
            خدایا چگونه زیستن را به من بیاموز ، چگونه مردن را خود خواهم آموخت
            "دکتر علی شریعتی"

            دیدگاه


              #7
              پاسخ : کنترل رله 6 ولتی از طریق کامپیوتر

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

              دیدگاه


                #8
                پاسخ : کنترل رله 6 ولتی از طریق کامپیوتر

                نه تابع خاصی در کار نیست میخوام داخل یه برنامه مشخص که با ویژوال بیسیک بنویسم هر کدوم از رله ها به یک کلید قابل کنترل باشه و به عنوان مثال 24 کلید کنار هم و کاربر بتونه با کلیک روی هر کلید رله مورد نظر رو خاموش یا روشن کنه
                خدایا چگونه زیستن را به من بیاموز ، چگونه مردن را خود خواهم آموخت
                "دکتر علی شریعتی"

                دیدگاه


                  #9
                  پاسخ : کنترل رله 6 ولتی از طریق کامپیوتر

                  نوشته اصلی توسط saeedgreat نمایش پست ها
                  نه تابع خاصی در کار نیست میخوام داخل یه برنامه مشخص که با ویژوال بیسیک بنویسم هر کدوم از رله ها به یک کلید قابل کنترل باشه و به عنوان مثال 24 کلید کنار هم و کاربر بتونه با کلیک روی هر کلید رله مورد نظر رو خاموش یا روشن کنه
                  برای این کار باید از ای سی دیکودر استفاده کنیم چون شما نیاز به ۲۴ خروجی متمایز برای رله ها دارید پس باید با ۵ خروجی میکرو کد هر رله رو به دیکودرها بفرستیم ای سی مناسب برا دیکودر فعلاً سراغ ندارم ولی می تونیم از چندتا میکرو به عنوان دیکودر استفاده کنیم یا براتون آی سی مناسب رو پیدا کنم

                  دیدگاه


                    #10
                    پاسخ : کنترل رله 6 ولتی از طریق کامپیوتر

                    مرسی از پاسخگویی شما
                    نظرت رد مورد 74159 چیه
                    یکی از راههایی که به ذهنم میرسه استفاده از 74159 و یک لچ برای هر کدوم از رله ها هست ولی محاسبات چجوری بستن مدار یه مقداری سخته
                    یا اینکه برای هر رله یه مقاومت بزارم و با استفاده از ADC با اندازه گیری مفاومت شماره رله مورد نظر رو به میکرو بفهمونم و تو برنامه مثلا تعریف کنم فلان مقاومت مربوط به فلان رله هست شما هم اگر نظری دارین ممنون میشم بیان کنید
                    خدایا چگونه زیستن را به من بیاموز ، چگونه مردن را خود خواهم آموخت
                    "دکتر علی شریعتی"

                    دیدگاه


                      #11
                      پاسخ : کنترل رله 6 ولتی از طریق کامپیوتر

                      نوشته اصلی توسط saeedgreat نمایش پست ها
                      مرسی از پاسخگویی شما
                      نظرت رد مورد 74159 چیه
                      یکی از راههایی که به ذهنم میرسه استفاده از 74159 و یک لچ برای هر کدوم از رله ها هست ولی محاسبات چجوری بستن مدار یه مقداری سخته
                      یا اینکه برای هر رله یه مقاومت بزارم و با استفاده از ADC با اندازه گیری مفاومت شماره رله مورد نظر رو به میکرو بفهمونم و تو برنامه مثلا تعریف کنم فلان مقاومت مربوط به فلان رله هست شما هم اگر نظری دارین ممنون میشم بیان کنید
                      اگه شما فقط بخواین ۲۴ رله رو با کامپیوتر کنترل کنید البته یه atmega32 یا atmega16 هم کفایت می کنه چون دو پایه pd0 وpd1 فقط برای ارتباط سریال با کامپیوتر به کار می ره و شما می تونید از پورت های a و b و c برای این منظور استفاده کنید با رسیدن دستور از طرف کامپیوتر هر کدوم از پایه ها ی پورت های گفته شده که به عنوان خروجی تنظیم شده اند یک می شن و یک می مونن تا کاربر دستور خاموش به اون رله بده برای خروجی هر پایه یه ترانزیستور راه انداز رله بصورت بوت استروپ هم می ذاریم به همین راحتی

                      دیدگاه


                        #12
                        پاسخ : کنترل رله 6 ولتی از طریق کامپیوتر

                        با سلام خدمت اساتید من تصمیم گرفتم برای این کار از ای سی atmega16 استفاده کنم و از سه تا از پورتاش که حدود 24 پایه میشه برای 24 رله استفاده کنم برای برنامه نویسیش هم از یک محیط گرافیکی تو بسکام میخوام استفاده کنم با توجه به چیزهایی که پیدا کردم و اینکه میخوام از usb جهت ارتباط استفاده کنم برنامه گرافیکی رو به صورت 24 تا چک باکس که وضعیت تیک خوردن یا نخوردن هر چک باکس که نشان دهنده تقاضای روشن یا خاموش شدن رله هست رو قرار دادم که در نهایت با زدن دکمه ok اطلاعات ارسال بشن به میکرو
                        ولی مشکلی که هست اینه که من هر بار میتونم یک بایت اطلاعات رو از برنامه ارسال کنم
                        و با توجه به اینکه من اطلاعات چک باکس ها رو درنهایت تو یه آرایه 23 اندیس ذخیره کردم نمیدونم چطور باید 8 بایت 8بایت جدا کنم اگر قبلا تجربه ایی داشتید خوشحال میشم راهنماییم کنید

                        کد:
                        Public Class Form1
                        
                            ' vendor and product IDs
                            Private Const VendorID = &HAAAA     'Replace with your device's
                            Private Const ProductID = &HEF02    'product and vendor IDs
                        
                            ' read and write buffers
                            Private Const BufferInSize As Short = 1     'Size of the data buffer coming IN to the PC 
                            Private Const BufferOutSize As Short = 1    'Size of the data buffer going OUT from the PC 
                            Dim BufferIn(BufferInSize) As Byte          'Received data will be stored here - the first byte in the array is unused
                            Dim BufferOut(BufferOutSize) As Byte        'Transmitted data is stored here - the first item in the array must be 0
                            Dim a(23) As Long
                            Dim b1 As Long
                            Dim b11 As Byte
                            Dim b2 As Long
                            Dim b22 As Byte
                            Dim b3 As Long
                            Dim b33 As Byte
                        
                        
                        
                        
                            '*****************************************************************
                            Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
                                ' do not remove!
                                ConnectToHID(Me)
                            End Sub
                        
                            '*****************************************************************
                            Private Sub Form1_FormClosed(ByVal sender As Object, ByVal e As System.Windows.Forms.FormClosedEventArgs)
                                DisconnectFromHID()
                            End Sub
                        
                            '*****************************************************************
                            Public Sub OnPlugged(ByVal pHandle As Integer)
                                If hidGetVendorID(pHandle) = VendorID And hidGetProductID(pHandle) = ProductID Then
                                    ' ** YOUR CODE HERE **
                                    TextBox1.Text = "Device Attached!"
                                    TextBox2.Text = "!دستگاه متصل شد"
                                End If
                            End Sub
                        
                            '*****************************************************************
                            Public Sub OnUnplugged(ByVal pHandle As Integer)
                                If hidGetVendorID(pHandle) = VendorID And hidGetProductID(pHandle) = ProductID Then
                                    hidSetReadNotify(hidGetHandle(VendorID, ProductID), False)
                                    ' ** YOUR CODE HERE **
                                    TextBox1.Text = "Device Not Attached!"
                                    TextBox2.Text = "!دستگاه جدا شد"
                                End If
                            End Sub
                            '************************************************************************
                            Private Sub CheckBox1_CheckedChanged(sender As Object, e As EventArgs) Handles CheckBox1.CheckedChanged
                                If a(0) = 1 Then
                                    a(0) = 0
                                Else
                                    a(0) = 1
                                End If
                            End Sub
                            Private Sub CheckBox2_CheckedChanged(sender As Object, e As EventArgs) Handles CheckBox2.CheckedChanged
                                If a(1) = 1 Then
                                    a(1) = 0
                                Else
                                    a(1) = 1
                                End If
                            End Sub
                        
                            Private Sub CheckBox3_CheckedChanged(sender As Object, e As EventArgs) Handles CheckBox3.CheckedChanged
                                If a(2) = 1 Then
                                    a(2) = 0
                                Else
                                    a(2) = 1
                                End If
                            End Sub
                        
                            Private Sub CheckBox4_CheckedChanged(sender As Object, e As EventArgs) Handles CheckBox4.CheckedChanged
                                If a(3) = 1 Then
                                    a(3) = 0
                                Else
                                    a(3) = 1
                                End If
                            End Sub
                        
                            Private Sub CheckBox5_CheckedChanged(sender As Object, e As EventArgs) Handles CheckBox5.CheckedChanged
                                If a(4) = 1 Then
                                    a(4) = 0
                                Else
                                    a(4) = 1
                                End If
                            End Sub
                        
                            Private Sub CheckBox6_CheckedChanged(sender As Object, e As EventArgs) Handles CheckBox6.CheckedChanged
                                If a(5) = 1 Then
                                    a(5) = 0
                                Else
                                    a(5) = 1
                                End If
                            End Sub
                        
                            Private Sub CheckBox7_CheckedChanged(sender As Object, e As EventArgs) Handles CheckBox7.CheckedChanged
                                If a(6) = 1 Then
                                    a(6) = 0
                                Else
                                    a(6) = 1
                                End If
                            End Sub
                        
                            Private Sub CheckBox8_CheckedChanged(sender As Object, e As EventArgs) Handles CheckBox8.CheckedChanged
                                If a(7) = 1 Then
                                    a(7) = 0
                                Else
                                    a(7) = 1
                                End If
                            End Sub
                        
                            Private Sub CheckBox9_CheckedChanged(sender As Object, e As EventArgs) Handles CheckBox9.CheckedChanged
                                If a(8) = 1 Then
                                    a(8) = 0
                                Else
                                    a(8) = 1
                                End If
                            End Sub
                        
                            Private Sub CheckBox10_CheckedChanged(sender As Object, e As EventArgs) Handles CheckBox10.CheckedChanged
                                If a(9) = 1 Then
                                    a(9) = 0
                                Else
                                    a(9) = 1
                                End If
                            End Sub
                        
                            Private Sub CheckBox11_CheckedChanged(sender As Object, e As EventArgs) Handles CheckBox11.CheckedChanged
                                If a(10) = 1 Then
                                    a(10) = 0
                                Else
                                    a(10) = 1
                                End If
                            End Sub
                        
                            Private Sub CheckBox12_CheckedChanged(sender As Object, e As EventArgs) Handles CheckBox12.CheckedChanged
                                If a(11) = 1 Then
                                    a(11) = 0
                                Else
                                    a(11) = 1
                                End If
                            End Sub
                        
                            Private Sub CheckBox13_CheckedChanged(sender As Object, e As EventArgs) Handles CheckBox13.CheckedChanged
                                If a(12) = 1 Then
                                    a(12) = 0
                                Else
                                    a(12) = 1
                                End If
                            End Sub
                        
                            Private Sub CheckBox14_CheckedChanged(sender As Object, e As EventArgs) Handles CheckBox14.CheckedChanged
                                If a(13) = 1 Then
                                    a(13) = 0
                                Else
                                    a(13) = 1
                                End If
                            End Sub
                        
                            Private Sub CheckBox15_CheckedChanged(sender As Object, e As EventArgs) Handles CheckBox15.CheckedChanged
                                If a(14) = 1 Then
                                    a(14) = 0
                                Else
                                    a(14) = 1
                                End If
                            End Sub
                        
                            Private Sub CheckBox16_CheckedChanged(sender As Object, e As EventArgs) Handles CheckBox16.CheckedChanged
                                If a(15) = 1 Then
                                    a(15) = 0
                                Else
                                    a(15) = 1
                                End If
                            End Sub
                        
                            Private Sub CheckBox17_CheckedChanged(sender As Object, e As EventArgs) Handles CheckBox17.CheckedChanged
                                If a(16) = 1 Then
                                    a(16) = 0
                                Else
                                    a(16) = 1
                                End If
                            End Sub
                        
                            Private Sub CheckBox18_CheckedChanged(sender As Object, e As EventArgs) Handles CheckBox18.CheckedChanged
                                If a(17) = 1 Then
                                    a(17) = 0
                                Else
                                    a(17) = 1
                                End If
                            End Sub
                        
                            Private Sub CheckBox19_CheckedChanged(sender As Object, e As EventArgs) Handles CheckBox19.CheckedChanged
                                If a(18) = 1 Then
                                    a(18) = 0
                                Else
                                    a(18) = 1
                                End If
                            End Sub
                        
                            Private Sub CheckBox20_CheckedChanged(sender As Object, e As EventArgs) Handles CheckBox20.CheckedChanged
                                If a(19) = 1 Then
                                    a(19) = 0
                                Else
                                    a(19) = 1
                                End If
                            End Sub
                        
                            Private Sub CheckBox21_CheckedChanged(sender As Object, e As EventArgs) Handles CheckBox21.CheckedChanged
                                If a(20) = 1 Then
                                    a(20) = 0
                                Else
                                    a(20) = 1
                                End If
                            End Sub
                        
                            Private Sub CheckBox22_CheckedChanged(sender As Object, e As EventArgs) Handles CheckBox22.CheckedChanged
                                If a(21) = 1 Then
                                    a(21) = 0
                                Else
                                    a(21) = 1
                                End If
                            End Sub
                        
                            Private Sub CheckBox23_CheckedChanged(sender As Object, e As EventArgs) Handles CheckBox23.CheckedChanged
                                If a(22) = 1 Then
                                    a(22) = 0
                                Else
                                    a(22) = 1
                                End If
                            End Sub
                        
                            Private Sub CheckBox24_CheckedChanged(sender As Object, e As EventArgs) Handles CheckBox24.CheckedChanged
                                If a(23) = 1 Then
                                    a(23) = 0
                                Else
                                    a(23) = 1
                                End If
                            End Sub
                        
                            Public Sub OnRead(ByVal pHandle As Integer)
                        
                                Dim port_status As Byte
                        
                                If hidRead(pHandle, BufferIn(0)) Then
                                    ' ** YOUR CODE HERE **
                                    port_status = BufferIn(1)
                                End If
                        
                            End Sub
                        
                            Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click
                        
                                a = {a(0), a(1), a(2), a(3), a(4), a(5), a(6), a(7), a(8), a(9), a(10), a(11), a(12), a(13), a(14), a(15), a(16), a(17), a(15), a(19), a(20), a(21), a(22), a(23)}
                                Console.WriteLine(a)
                                For i = 0 To 7
                        
                        
                                    b1 = a(i) * 10 ^ i
                                    b2 = a(i + 8) * 10 ^ i
                                    b3 = a(i + 16) * 10 ^ i
                                    Console.WriteLine(b1)
                                    Console.WriteLine(b2)
                                    Console.WriteLine(b3)
                        
                        
                                Next
                        
                                Console.WriteLine("abc")
                        
                        
                        
                        
                        
                        
                        
                                hidWriteEx(VendorID, ProductID, BufferOut(0))
                        
                            End Sub
                        
                            '*****************************************************************
                            Public Sub OnChanged()
                                Dim pHandle As Integer
                                pHandle = hidGetHandle(VendorID, ProductID)
                                hidSetReadNotify(hidGetHandle(VendorID, ProductID), True)
                            End Sub
                        
                        
                        End Class
                        خدایا چگونه زیستن را به من بیاموز ، چگونه مردن را خود خواهم آموخت
                        "دکتر علی شریعتی"

                        دیدگاه


                          #13
                          پاسخ : کنترل رله 6 ولتی از طریق کامپیوتر

                          خوب دوستان با توجه به مشکلات در برنامه بسکام اومدم سراخ کد ویژن الان به وسیله c# یه برنام نوشتم که همون چک باک سها رو داره و با تیک خوردن همه یک داده رشته ایی به صورت 1111111111111111111111بیست و چهارتا یک رو میفرسته با پورت سریال به میکرو البته با یه مبدل مبتنی بر pl2203 که به usb وصل میشه و یه پورت مجازی ایجاد میکنه الان مشکلم سمت میکرو هست که چطور این داده رو باید جدا کنم
                          من میخوام هشتا هشتا جداشون کنم و 8 تای اول رو بدم به پرت مثلا A و همینطور ادامه بدم یعنی هشتای دوم به b و هشت تای سوم به پورت c ولی نمیدونم چطور باید این کار رو بکنم اگر روش دیگه ایی جهت ارسال وضعیت 24 تا ایه به ذهنتون میرسه ممنون میشم راهنماییم کنید
                          مرسی
                          خدایا چگونه زیستن را به من بیاموز ، چگونه مردن را خود خواهم آموخت
                          "دکتر علی شریعتی"

                          دیدگاه


                            #14
                            پاسخ : کنترل رله 6 ولتی از طریق کامپیوتر

                            ظاهرا باید تک تک اعداد رو منهای 48 میکردم!
                            خدایا چگونه زیستن را به من بیاموز ، چگونه مردن را خود خواهم آموخت
                            "دکتر علی شریعتی"

                            دیدگاه


                              #15
                              پاسخ : کنترل رله 6 ولتی از طریق کامپیوتر

                              یکسر به این لینک بزن شاید کمکت کنه
                              جدیدترین ویرایش توسط Maeedh; ۰۹:۰۵ ۱۳۹۸/۰۹/۱۳.

                              دیدگاه

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