اطلاعیه

Collapse
No announcement yet.

پروتکل CAN در AVR

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

    پروتکل CAN در AVR

    با سلام

    دارم درایور و کنترلر یه موتور Brushless رو طراحی می کنم و بخش میکرو اون رو با ATmega16 و با bascome کار کردم.در کل برنامه جمع و جوری شده. حالا لازم تا یه سری دیتا رو از طریق باس CAN به بیرون بفرسیتم.به نظر شما بهتر زمان بزارم و روی CAN درAVR کار کنم (تا حالا کسی اینکار رو کرده؟) یا کلا میکرو رو عوض کنم , مثلا تز PIC استفاده کنم. و دیگه اینکه چون PIC از لحاظ سرعت کندتر از AVR بنظرتون اگه از PIC استفاده کنم در کار موتور و سرعت آن اختلال ایجاد نمی شود؟
    لطفا مزایا و معایب هر کدوم رو بهم بگشید.با تشکر

    #2
    پاسخ : پروتکل CAN در AVR

    با استفاده از pic مشکلی در کار موتور نخواهی داشت
    ولی
    تا جایی که میدونم با can و avr تا حالا خیلی ها کار کردن حتی avr هایی هستن که در داخل خودشون ماجول can دارن

    دیدگاه


      #3
      پاسخ : پروتکل CAN در AVR

      نوشته اصلی توسط ghasedak2716
      حتی avr هایی هستن که در داخل خودشون ماجول can دارن
      کسی این نوع avr ها رو میشناسه

      دیدگاه


        #4
        پاسخ : پروتکل CAN در AVR

        نمونه این AVR ها AT90CAn128/64/32 اشت.
        ولی میکرویی که من استفاده می کنمATmega16 هست.بنظرتون بدن تغییر میکرو میتونم روی همین میکرو CAN راه اندازی کنم.از چه طریقی؟
        موضوع دیگه اینه که برنامه نویسی پروتکل can فکر کنم خودش پروسه ایه.کسی میدونه که آیا bascome کتابخانه ای در این زمینه داره یا نه و اگه داره تحت چه عنوانیه؟
        با تشکر

        دیدگاه


          #5
          پاسخ : پروتکل CAN در AVR

          من با باس CAN زیاد کار کردم آخرین پروژه هم که داشتم با استفاده از CAN-AVR انجامش دادم که روی یه روبات بود. شما دو روش کار می تونی انتخاب کنی:
          1- استفاده از میکروکنترلرهایی که ماژول رو خودشون دارن
          2- استفاده از ماژول جانبی

          1- برای این کار میکروهای ARM بیشترشون روی خودشون ماژول دارن ولی تو میکروهای AVR ویا PIC همشون ندارن و یه تعدادیشون ایم ماژولو دارن برای مثال از AVR همونطور که گفته شده AT90CAN32/64/128 هستش که در حال حاظر فقط AT90CAN128 تو ایران موجوده و قیمتش هم 11000 نومن بود (آخرین بار که من گرفتم) از میکروهای PIC هم PIC18F458 یه زمانی تو بازار بود که ما استفاده میکردیم ولی واقعا باهاش مشکل داشتیم البته خود MICROCHIP هم این میرو رو obsolete کرده و ذکر کرده بود که به دلیل پاره ای از مشکلات این میکرو دیگه تولید نمیشه ولی یه ورژن جدید داد بیرون که من دیگه دنبالش نرفتم. البته یه 10 تایی از همون PIC مونده تو انبارمون.

          2- استفاده از ماژول جانبی که تو ایران اگه اشتباه نکنم MCP2515 Microchip موجود بود که اونم آی سی خوبی بود ولی از وقتی از CAN-AVR استفاده کردم دیگه اونو نمی پسندم.

          حالا پیشنهادم اینه که اگه میتونید از AVR استفاده کنید. ولی کتابخونه تحت BASCOME نداره ولی تحت AVR-GCC خود اتمل یه Platform ارایه کرده که میتونید ازش استفاده کنید البته اینم بگم که این پلات فرم اتمل فقط جهت راه اندازی و ارتباط از طریق باس CAN هست و نمیشه از پروتکل های CAN BUS مثل TTC یا .. استفاده کرد و باید اون قسمتشو خودتون بنویسید که پیشنهادم اینه که سراغش نرید و به همون ارتباط ساده دیتا اکتفا کنید که توسط همون پلات فرم امکان پذیره اگه مشکلی هم باشه من خوشحال میشم کمکی کرده باشم.

          این هم همون پلات فرم ارایه شده توسط اتمله:
          http://www.atmel.com/dyn/resources/p...plgin_v106.zip

          دیدگاه


            #6
            پاسخ : پروتکل CAN در AVR

            سلام
            آیا avr هست که modbus داشته باشه میخوام به یک plc وصل بشم

            دیدگاه


              #7
              پاسخ : پروتکل CAN در AVR

              ModeBUS در حقیقت یه پروتکل نرم افزاریه و میتونید اونو رو هر ارتباط سریالی پیاده سازی کنید و ربطی ب هسخت افزار نداره. CAN یه پروتکل با یه لایه سخت افزاری و یه لایه نرم افزاری ولی این پروتکل فقط لایه سخت افزاریه که عموما به استفاده از لایه سخت افزاری RS485 یا همون EIA-485 اجرا میشه ولی شما میتونید از هر لایه سخت افزاری سریال دیگه ای هم برای این کار استفاده کنید. تا اونجایی که من یادمه PLC از EIA-485 استفاده میکنه. :nerd:

              دیدگاه


                #8
                پاسخ : پروتکل CAN در AVR

                سلام
                درباره rs485 میشه بیشتر توضیح بدین که چه جوری با avr اون اجرا کنم یا اگر برنامه ای دارین برام بذارین با تشکر

                دیدگاه


                  #9
                  پاسخ : پروتکل CAN در AVR

                  ارسال و دریافت به صورت تفاضلی میشه rs485 که با 4 سیم منتقل میشه و سیمها دو به دو تفاضل همدیگر هستند

                  دیدگاه


                    #10
                    پاسخ : پروتکل CAN در AVR

                    [این هم همون پلات فرم ارایه شده توسط اتمله:
                    http://www.atmel.com/dyn/resources/p...plgin_v106.zip

                    [/quote]

                    این لینک اجرا میشه ولی هیچ خروجی خاصی نمیده, وقتی فایل exe رو اجرا میکنیم.باید برنامه ای نصب بشه؟؟؟؟؟؟؟؟میشه توضیح بدید؟

                    دیدگاه


                      #11
                      پاسخ : پروتکل CAN در AVR

                      نوشته اصلی توسط 7910354zt
                      [این هم همون پلات فرم ارایه شده توسط اتمله:
                      http://www.atmel.com/dyn/resources/p...plgin_v106.zip
                      این لینک اجرا میشه ولی هیچ خروجی خاصی نمیده, وقتی فایل exe رو اجرا میکنیم.باید برنامه ای نصب بشه؟؟؟؟؟؟؟؟میشه توضیح بدید؟
                      [/quote]

                      مهندس جان این فایل ZIP است باید بازش کنی و کدها و کتابخونه های مربوط به CAN توشه.
                      در مورد RS485 هم تو سایت بگرد همه چی نوشته شده نیازی نیست من دوباره بگم. :angry:

                      دیدگاه


                        #12
                        پاسخ : پروتکل CAN در AVR

                        با سلام مجدد
                        این لینکی که گذاشتید حاوی سه تا فایله.یه فایله data1.zip که حاوی یه سری فایل دیگه با پسوند .bmp و .xml1 است که نمیدونم برای چیه؟یه فایل at90can128plug که نه اجرا میشه و نه ار خاصی میکنه.با یه فایل setup.exe که وقتی run میکنیم چیزی نصب نمیشه .میشه لطف کنید بگید کدوم قسمتش library CANe???? و چطوری میتونم ازشون استفاده کنم؟؟؟؟

                        یه سوال دیگه ....از بین sampelhaye موجود در bascome یکی چیدا کردم که مربوط به cane.....آیا میشه این دستورات را برای can استفاده کرد؟؟؟؟؟؟؟چه چیزایه دیگه لازمه بهش اضافه کنم؟؟؟؟


                        با تشکر.


                        [left
                        ]'-----------------------------------------------------------------------------------------
                        'name : m128can.bas
                        'copyright : (c) 1995-2005, MCS Electronics
                        'purpose : MegaCAN (AT90CAN128) test file
                        'micro : AT90CAN128
                        'suited for demo : yes
                        'commercial addon needed : no
                        '-----------------------------------------------------------------------------------------

                        $regfile = "m128can.dat" ' specify the used micro
                        $crystal = 1000000 ' used crystal frequency
                        $baud = 19200 ' use baud rate
                        $baud1 = 19200
                        $hwstack = 32 ' default use 32 for the hardware stack
                        $swstack = 10 ' default use 10 for the SW stack
                        $framesize = 40 ' default use 40 for the frame space

                        Config Com1 = Dummy , Synchrone = 0 , Parity = None , Stopbits = 1 , Databits = 8 , Clockpol = 0
                        Config Com2 = Dummy , Synchrone = 0 , Parity = None , Stopbits = 1 , Databits = 8 , Clockpol = 0
                        Open "COM2:" For Binary As #1

                        Osccal = 75
                        Do
                        Print "Hello world : " ; Osccal
                        Print #1 , "Hello MegaCAN"
                        Waitms 1000
                        Loop
                        [/left]

                        دیدگاه


                          #13
                          پاسخ : پروتکل CAN

                          با سلام
                          من نیاز دارم با میکرو PIC18F452 یک ارتباط CAN بین چندین میکرو مشابه ایجاد نمایم و نیازمند یک سری اطلاعات در مورد این پروتکل (ترجیها به فارسی) هستم. اگر کسی داره خواهشا دریغ نکنه.

                          دیدگاه


                            #14
                            پاسخ : پروتکل CAN در AVR

                            نوشته اصلی توسط Some one like me
                            ModeBUS در حقیقت یه پروتکل نرم افزاریه و میتونید اونو رو هر ارتباط سریالی پیاده سازی کنید و ربطی ب هسخت افزار نداره. CAN یه پروتکل با یه لایه سخت افزاری و یه لایه نرم افزاری ولی این پروتکل فقط لایه سخت افزاریه که عموما به استفاده از لایه سخت افزاری RS485 یا همون EIA-485 اجرا میشه ولی شما میتونید از هر لایه سخت افزاری سریال دیگه ای هم برای این کار استفاده کنید. تا اونجایی که من یادمه PLC از EIA-485 استفاده میکنه. :nerd:


                            سلام
                            من یه مبدل RS232 به RS485 و یه مبدل دیگه CAN به USB دارم. باس RS485 رو به باس CAN اتصال دادم و و با استفاده از pc داده به باس can می دهم و یا بالعکس. ولی متاسفانه داده ای دریافت نمی کنم. نمیدونم باید چه تنظیمات خاصی رو از لحاظ سخت افزاری و نرم افزاری انجام بدم. سطح ولتاژ انها؟ نرخ داده؟
                            میشه کمکم کنید؟

                            دیدگاه


                              #15
                              پاسخ : پروتکل CAN در AVR

                              salam,mishe dar morede can bus haye mazhol khareji bishtar shbat ****n, esme modelhashon va in chetor mishe be micro vasl kard, az koja mishe tahiye kard. khahes mikonam begid, man sariyan lazem daram. :cry: :cry:


                              نوشته اصلی توسط Some one like me
                              من با باس CAN زیاد کار کردم آخرین پروژه هم که داشتم با استفاده از CAN-AVR انجامش دادم که روی یه روبات بود. شما دو روش کار می تونی انتخاب کنی:
                              1- استفاده از میکروکنترلرهایی که ماژول رو خودشون دارن
                              2- استفاده از ماژول جانبی

                              1- برای این کار میکروهای ARM بیشترشون روی خودشون ماژول دارن ولی تو میکروهای AVR ویا PIC همشون ندارن و یه تعدادیشون ایم ماژولو دارن برای مثال از AVR همونطور که گفته شده AT90CAN32/64/128 هستش که در حال حاظر فقط AT90CAN128 تو ایران موجوده و قیمتش هم 11000 نومن بود (آخرین بار که من گرفتم) از میکروهای PIC هم PIC18F458 یه زمانی تو بازار بود که ما استفاده میکردیم ولی واقعا باهاش مشکل داشتیم البته خود MICROCHIP هم این میرو رو obsolete کرده و ذکر کرده بود که به دلیل پاره ای از مشکلات این میکرو دیگه تولید نمیشه ولی یه ورژن جدید داد بیرون که من دیگه دنبالش نرفتم. البته یه 10 تایی از همون PIC مونده تو انبارمون.

                              2- استفاده از ماژول جانبی که تو ایران اگه اشتباه نکنم MCP2515 Microchip موجود بود که اونم آی سی خوبی بود ولی از وقتی از CAN-AVR استفاده کردم دیگه اونو نمی پسندم.

                              حالا پیشنهادم اینه که اگه میتونید از AVR استفاده کنید. ولی کتابخونه تحت BASCOME نداره ولی تحت AVR-GCC خود اتمل یه Platform ارایه کرده که میتونید ازش استفاده کنید البته اینم بگم که این پلات فرم اتمل فقط جهت راه اندازی و ارتباط از طریق باس CAN هست و نمیشه از پروتکل های CAN BUS مثل TTC یا .. استفاده کرد و باید اون قسمتشو خودتون بنویسید که پیشنهادم اینه که سراغش نرید و به همون ارتباط ساده دیتا اکتفا کنید که توسط همون پلات فرم امکان پذیره اگه مشکلی هم باشه من خوشحال میشم کمکی کرده باشم.

                              این هم همون پلات فرم ارایه شده توسط اتمله:
                              http://www.atmel.com/dyn/resources/p...plgin_v106.zip

                              دیدگاه

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