اطلاعیه

Collapse
No announcement yet.

مباحث مربوط به الکترونیک و ارتباط ان با کامپیوتر(طراحی نرم افزار و مدار)

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

    #16
    پاسخ : مباحث مربوط به الکترونیک و ارتباط ان ب

    نوشته اصلی توسط avr68

    یه سوال شما چه برنامه و زبانی را برای طراحی نرم افزار پیشنهاد می دهید؟
    همونطورکه اول هم گفته بودم پیشنهاد میکنم یک کنترل پنل کامل برای دستگاهای مبتنی بر میکروکنترلر درست بشه که همه ی این کارایی که میخوای رو توش انجام بده( پردازش تصویر - تبدیل به اطلاعات - تبدیل اطلاعات به زی کد - ارسال به دستگاه - ارائه خروجی از زی کد برای استفاده های بعدی - داشتن ورودی برای گرفتن زی کد - داشتن قسمتی برای تبدیل جی کد به زی کد - داشتن history - و............) و فکر کنم بهترین برنامه برای طراحی نرم افزار ویژوال استادیو یا بیسیک باشه و زبان هم جاوا یا C رو پیشهناد میدم.
    نوشته اصلی توسط avr68

    تقسیم رنگ های بین سیاه و سفید بر 10
    منظورت اینه که تصویر از ده رنگ بین سیاه و سفید تشکیل میشه دیگه درسته؟ اگه اینطور باشه خوبه.
    خوب حالا من یه الگوریتم اضافه میکنم:
    کد زیر که 0 و 1 هست رو پیکسل های ردیف اول یک عکس در نظر بگیریم یعنی 0 به ازای پیکسل سفید و 1 به ازای پیکسل سیاه.
    00000000001111100000000001111100000111111111100000
    خوب اگر بخوایم به ازای هر پیکسل یک خط کد قرار بدیم 50 خط کد داریم.
    پیکسل 1 /یک خونه به سمت راست با لیزر خاموش
    پیکسل 2 /یک خونه به سمت راست با لیزر خاموش
    پیکسل 3 /یک خونه به سمت راست با لیزر خاموش
    ...
    پیکسل 11 /یک خونه به سمت راست با لیزر روشن
    پیکسل 12 /یک خونه به سمت راست با لیزر روشن
    ...
    پیکسل 49 /یک خونه به سمت راست با لیزر خاموش
    پیکسل 50 /یک خونه به سمت راست با لیزر خاموش
    حالا اینو بخوایم خلاصه کنیم چی میشه؟
    میشه:
    پیکسل 1 تا 10 ،/10 خونه به سمت راست با لیزر خاموش
    پیکسل 11 تا 15 ،/5 خونه به سمت راست با لیزر روشن
    پیکسل 16 تا 25 ،/10 خونه به سمت راست با لیزر خاموش
    پیکسل 26 تا 30 ،/5 خونه به سمت راست با لیزر روشن
    پیکسل 31 تا 35 ،/5 خونه به سمت راست با لیزر خاموش
    پیکسل 36 تا 45 ،/10 خونه به سمت راست با لیزر روشن
    پیکسل 46 تا 50 ،/5 خونه به سمت راست با لیزر خاموش
    اینجا کد تبدیل میشه به 7 خط
    حالا مثلا یک عکس با رزولیشن 1000 *1000 توی هر ردیفش 1000 پیکسل وجود داره. فرض رو بر این بگیریم که ردیف اولش همه ی پیکسل هاش سفید باشه بجز پیکسل 1 و پیکسل 1000 ( مثلا کادر تصویر ) به این صورت:
    0000000000000000000001 ... 100000000000000000000
    قطعا این حالت توی هر عکسی وجود داره. حالا یا باید 1000 خط کد براش بنویسیم یا اینکه بنویسیم:
    پیکسل 1 ،/1 خونه به سمت راست با لیزر روشن
    پیکسل 2 تا 999 ،/998 خونه به سمت راست با لیزر خاموش
    پیکسل 1000 ،/1 خونه به سمت راست با لیزر روشن
    باید فکری به حال این قسمت کنی 4 واحد به سمت راست یا چپ اصلا معنی نداره در حد مثال هم کمتر از 100 نباید باشه.

    نوشته اصلی توسط avr68

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

    دیدگاه


      #17
      پاسخ : مباحث مربوط به الکترونیک و ارتباط ان با کامپیوتر(طراحی نرم افزار و مدار)

      IA(+_)XXX(+_)YYY(+_)ZZZB
      این چه طوره +و_ جهت رو مشخص می کنند
      و میشه +999و-999 خوبه
      آدلان پایا متخصص در حوضه ربات های پرنده
      https://adlanpaya.ir/

      دیدگاه


        #18
        پاسخ : مباحث مربوط به الکترونیک و ارتباط ان با کامپیوتر(طراحی نرم افزار و مدار)

        نوشته اصلی توسط avr68
        IA(+_)XXX(+_)YYY(+_)ZZZB
        این چه طوره +و_ جهت رو مشخص می کنند
        و میشه +999و-999 خوبه
        این بهتره
        + و - برای زمانیه که ما بخوایم طرح رو از وسط شروع کنیم به حکاکی پس زیاد معقول نیست ولی بدم نیست میتونه یه ایده نو باشه ولی سر پردازش تصویر به مشکل بر میخوریم مگر اینکه 999- به منظور 0 باشه و 0 به منظور999 باشه و 999 به منظور 1998 که در اینصورت یه چیزی حدود 0 تا 2000 داریم.
        یه سوال چرا نمیخوای طول رشته زیاد باشه؟ چه اشکالی داره؟ توی حکاکی پیکسلی اعشار خیلی مهمه کد به این صورت باشه چه مشکلی داره؟
        IA XXXXX.xxxxx YYYYY.yyyyy ZZZZZ.zzzzz B
        فقط خودمو خودشو خدامون...

        دیدگاه


          #19
          پاسخ : مباحث مربوط به الکترونیک و ارتباط ان با کامپیوتر(طراحی نرم افزار و مدار)

          منظور از مثبت و منفی به راست و چپ رفتن یا بالا و پایین و یا جلو عقب است(تو این استاندارد به جای اعداد زوج و فرو از+و_ استفاده شده واضحه؟)
          باید قبول کرد که کار کردن با اعداد طبعی خیلی راحت ار اعداد اعشاری است
          کوتاهی موجب افزایش سرعت پردازش و انتقال میشود
          آدلان پایا متخصص در حوضه ربات های پرنده
          https://adlanpaya.ir/

          دیدگاه


            #20
            پاسخ : مباحث مربوط به الکترونیک و ارتباط ان با کامپیوتر(طراحی نرم افزار و مدار)

            نوشته اصلی توسط avr68
            منظور از مثبت و منفی به راست و چپ رفتن یا بالا و پایین و یا جلو عقب است(تو این استاندارد به جای اعداد زوج و فرو از+و_ استفاده شده واضحه؟)
            باید قبول کرد که کار کردن با اعداد طبعی خیلی راحت ار اعداد اعشاری است
            کوتاهی موجب افزایش سرعت پردازش و انتقال میشود
            میدونم منظور چیه خوب اینطوری باید دستگاه طرح رو از وسط شروع کنه به زدن یعنی 0 میشه وسط طرحمون حالا منفی بهش بدیم میره سمت چپ مثبت بهش بدیم میره سمت راست اینطوری اولین خط از کدمون باید دقیقا وسط تصویر باشه که این کارو سخت میکنه و در کل اصلا معقول نیست اگر لازمه یک مثال دقیق بزنم تا روش کار در این الگوریتم معلوم بشه و متوجه بشید که چرا شدنی نیست. اما با این روش میشه دقت دستگاه رو از 0 تا 999 به 0 تا 2000 تغییر داد به همون صورتی که گفتم یعنی به دستگاه بفهمونیم که عدد 999- یعنی 0 و عدد 999 یعنی 2000 این کار رو میشه انجام داد ولی روش اول نمیشه.
            در این سیستم سختیه کار با اعداد اعشاری به ما مربوط نمیشه چون محاسبات و عدد گذاری رو نرم افزار انجام میده. اگرم بخوایم از اعشار استفاده نکنیم مقدار هر واحد باید با دقت بالایی قابل تغییر باشه و البته این حرفم رو قبول ندارم چون در اون صورت از مبنای اصلی یعنی میلی متر یا سانتی متر خیلی دور میشیم و مبنامون میره روی نانو متر.
            چرا میگم دقت باید بالا باشه؟
            به این کد دقت کن:
            کد:
            G0 X0.0 Y0.0
            M3
            G1 X99.83298 Y0.0
            M5
            G0 X99.99964 Y0.16666666
            M3
            G1 X0.16666451 Y0.16666666
            M5
            G0 X-2.1457672E-6 Y0.3333333
            M3
            G1 X0.33333117 Y0.3333333
            M5
            G0 X99.66631 Y0.3333333
            M3
            G1 X99.83298 Y0.3333333
            M5
            ببین اینجا توی خط پنجم X تا تقریبا 100 رفته:
            کد:
            G0 X99.99964 Y0.16666666
            دو خط بعد X برگشته نزدیک 0 ولی یک واحد مونده به 0 :
            کد:
            G1 X0.16666451 Y0.16666666
            دو خط بعدش X کاملا 0 هستش اما در عمل به دلیل دقت پایینی که داره از 0 رد شده و به مقدار خیلی کمی به منفی خورده:
            کد:
            G0 X-2.1457672E-6 Y0.3333333
            حالا شما حساب کن من دارم با دقت هر واحد 0.16666666 میلی متر کار میکنم و مقدار ها هم تا 8 رقم اعشار عدد گزاری میکنن ولی باز هم دچار خطا میشه.
            هشت رقم اعشار یعنی دقت در حد نانو
            پس دقت توی دستگاه مهمترین پارامتره که نباید از بغلش رد شد
            در ضمن فکر نمیکنم توی ارسال مشکل درست کنه اگر هم کنه قابله حله ولی دقت مهمتره...
            فقط خودمو خودشو خدامون...

            دیدگاه


              #21
              پاسخ : مباحث مربوط به الکترونیک و ارتباط ان با کامپیوتر(طراحی نرم افزار و مدار)

              حق با شماست برسی می کنم تا شب خبرش رو میدم
              آدلان پایا متخصص در حوضه ربات های پرنده
              https://adlanpaya.ir/

              دیدگاه


                #22
                پاسخ : مباحث مربوط به الکترونیک و ارتباط ان ب

                چند وقتی نبودم از بحث عقب افتادم
                برای زبان نظر من اینه که از پایتون استفاده کنیم :biggrin: خیلی سادست خیلی رون هست برای کار با مقادیر اعشاری و غیره بهینست پردازش تصویر خیلی خوب انجام میشه و در کل چیز خوبیه همه جا هم ازش استفاده میشه
                برای مشکل اعشار منم با احسان موافقم چون فرق نرم افزارای مهندسی و معمولی هم دقیقا تو همین دقت محاسبات هستش
                برای قضیه مثبت منفی و رنج 0 الی 2000 یا هرچند به نظرم با یه تبدیل مختصات مشکل خیلی راحت حل میشه ولی هرچی بار پردازش نهایی کم بشه بهتره یادمون نره که اینارو قرار نیست من و شما دستی انجام بدیم نرم افزاری که زی کد خروجی میده محاسبه میکنه پس زیاد رو این پافشاری نکنیم
                در مورد باد ریت :biggrin: الان دقیقا محاسبش خاطرم نیست ولی مثال خودت به اثبات حرفم بیشتر کممک کرد که !!! :redface: وقتی تونسنی اون حجم رو بفرستی پس پافشاری زیاد رو کم حجم بودن ضروری نیست به نظرم
                در کل چیزی که تا الان از زی کد به چشمم اومده اینه که انسان راحت درکش میکنه نه ماشین !!!
                در مورد مثال احسان
                قطعا نیاز داریم که کار ابزار رو مینیمم کنیم یعنی فقط جایی که نیازه نوک ابزار برسه اون هم با کمترین مسافت طی شده نسبت به نقطه پایان کار قبلی
                یعنی ΔD n,n-1 مینیمم باشه تا ابزار هرز نگرده واسه خودش چیزی که تو ابزارای سی ان سی یا سی ان سی روت الان هم زیاد میبینم اتفاق می افته دستگاه زمان زیادی رو واسه ی این ور به اون ور رفتن طی میکنه و در اصل حدر میده جالب اینجاست که تو جی کد اگه اشتباه نکنم واسه این قظیه تمهیدات خوبی در نظر گرفته شده
                و میشه پس از پردازش اون رو دستی هم کمی تغییر داد البته که حوصلشو کسی نداره
                حساسیت, اندازه نوک ابزار, نوع عملیات (برش حک ..........) اینا همش میاد اینجا به هم تلاقی میکنه
                2 تا راه کلی میشه در نظر گرفت بیت مپ و رستر
                راه اول حداکثر دقت حد اکثر کیفیت حداقل سرعت کمترین بازده کمترین سرعت بیشترین حجم پردازش متوسط
                راه دوم دقت معقول کیفیت خوب سرعت نسبتا بهینه بازده خوب سرعت خوب حجم بهینه پردازش سنگین
                تو راه اول میشه یه ماتریس 0 1 سه بعدی هم میتونه باشه صد در صد حجم حافظه زیادی میخواد که میشه محدود کرد کار بسیار کند میشه چون واسه هر خط دونه دونه ابزار میره و پروسه رو انجام میده
                راه دوم (تقریبا همون راه حل احسان) بر اساس تقریب انجام میشه (همون جی کد هست تقریبا) مختصات شروع و انتها سرعت قدرت و ..... خب خوبیش اینه که پروسه پردازش اون سمت طراح انجام میشه و خروجیش فقط یه متن هست همه شرایطش هم بهینس ولی مشکلات خاص خودش رو هم داره در کل داریم همون جی کد رو با سینتکس جدید مینویسیم
                جی کد چی نداره که ما برای زی کد بزاریم ؟
                منظورم اینه چی کار میشه برای زی کد کرد که بشه اون رو به عنوان یه راه حل بیرون داد و استفاده کرد؟؟
                من دوست ندارم خودم را درگیر مسئله بهشت یا جهنم بکنم ، چون در هر دو قسمت دوستان خوبی دارم !

                دیدگاه


                  #23
                  پاسخ : مباحث مربوط به الکترونیک و ارتباط ان با کامپیوتر(طراحی نرم افزار و مدار)

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

                  دیدگاه


                    #24
                    پاسخ : مباحث مربوط به الکترونیک و ارتباط ان با کامپیوتر(طراحی نرم افزار و مدار)

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

                    دیدگاه


                      #25
                      پاسخ : مباحث مربوط به الکترونیک و ارتباط ان با کامپیوتر(طراحی نرم افزار و مدار)

                      ممنون ار کمک ها بی دریغتون دوستان
                      بعد از یک سری بررسی ها استاندارد رو به صورت :
                      ;I:A:XXXX.xxxx:YYYY.yyyy:ZZZZ.zzzz:B:S.s
                      محدوده ارسال محور ها 0000.0000تا9999.9999تغییر کرد
                      تابع S.s برای تاخیر اضافه گشت
                      استاد ها ی محترم چه طور شد؟
                      ویژگی های زیادی دارد
                      ساده نیست؟
                      یکی از ویژگی هاش این هست که از کارکتر ها خاص استفاده نکرده
                      ولی از اونی که تو ذهنم هست خـــــــــــــــــــــــــــــــــــــــــــــــــ ــــــــــــــــــــــــــــــــــــــــــــیلی فاصله گرفت
                      آدلان پایا متخصص در حوضه ربات های پرنده
                      https://adlanpaya.ir/

                      دیدگاه


                        #26
                        پاسخ : مباحث مربوط به الکترونیک و ارتباط ان با کامپیوتر(طراحی نرم افزار و مدار)

                        کد به این شکل میشه
                        I:A:X:Y:Z:H:S:B:V:C
                        طول پارامتر ها اینکه هر کدوم چند کاراکتر هستند دیگه مهم نیست چون با یه خط دستور میشه اینهارو تبدیل کرد
                        یعنی
                        I:A:X:Y:Z:H:S:B:V:C
                        با
                        I:A:Xxxxxx:Yyyyyy:Z:H:S:bbbbbbbbB:V:C
                        هیچ فرقی نداره شما تو برنامه : رو به عنوان جدا ساز معرفی میکنی
                        واحد هم مثلا میلیمتر اینچ میکرون نانومتر یا هرچی که هست تو هدر فایل مشخض میشه به این شکل تمام چیزهایی که قراره تا آخر برنامه توافق بشن اینجا ذکر میشه
                        #هدر
                        #انتهای هدر

                        در ضمن اگه از اعشار استفاده نکنیم فقط و فقط یه فایده داره اونم تو میکرو های کوچیک که با اعشار رابطه خوبی ندارن باعث میشه پردازش میکرو کم شه
                        ولی اگه تو یه قسمت یه تقسیم نتیچه اعشار داشت تکلیف چیه ؟ میکرو میپوکه :biggrin: پس از اونهم فرار نکنیم بهتره

                        من دوست ندارم خودم را درگیر مسئله بهشت یا جهنم بکنم ، چون در هر دو قسمت دوستان خوبی دارم !

                        دیدگاه


                          #27
                          پاسخ : مباحث مربوط به الکترونیک و ارتباط ان با کامپیوتر(طراحی نرم افزار و مدار)

                          نوشته اصلی توسط avr68

                          چند وقتی هست که قصد ساخت یه سی ان سی رو دارم ولی هنوز فرصت نشده و خیلی در این باره تحقیق کردم ولی چیز زیادی درباره طراحی نرم افزار برای سی ان سی پیدا نکردم تا جایی که من فهمیدم اکثر افراد از نرم افزار های اماده استفاده می کنند
                          ولی ما این جا نیومدیم که استفاده از کامپیوتر رو یاد بگیریم ما امدیم کامپیوتر رو بسازیم پس درست نیست که همه چی رو بسازیم الا این یه قلم
                          خوب چرا خودمون شروع به ساخت نرم افزار قدرتمند و ساخت کنترولر هامون بر مبنای اون نکنیم
                          انگیزه و نوع نگاه شما در مورد خارج شدن از وضعیت یک مصرف کننده صرف بسیار ارزش مند و قابل تقدیر است. اما اگر این انگیزه در یک مسیر ناصحیح مصرف شود منجر به دلسردی و سرخوردگی می شود و در نهایت هم به نتیجه مورد نظر نمی رسد.
                          در مورد کدهای استاندارد برای cnc به این مورد توجه کنید که برای طرح های پیچیده نمی توان کدها را بصورت دستی نوشت و بلکه تولید کدها نیازمند استفاده از نرم افزارهای طراحی بسیار قدرتمندی است که گاهی برای یک طرح ممکن است هزاران و بلکه میلیون ها خط gcode را تولید کنند. بنابراین کد مورد استفاده در کنار نرم افزار تولید کننده کد معنا پیدا می کند و شما اگر قصد معرفی کد جدیدی را دارید، در کنار آن باید قادر باشید نرم افزار هایی با امکان رقابت با نرم افزارهای موجود را هم عرضه کنید که این کاری نیست که به سادگی میسر باشد و برای پیاده سازی چنین نرم افزارهایی پشتیبانی در حد شرکت های بسیار قوی با سرمایه های قابل توجه مورد نیاز است. مسئله مهم دیگر این است که برای یک طراحی انجام شده و کد خروجی ناشی از آن ممکن است وقت و هزینه زیادی صرف شود و خاصیت استاندارد بودن کدها سبب می شود که بتوان از آن برای انواع دستگاه های cnc که از قبل وجود دارند استفاده کرد و این مزیت بسیار مهمی است. بنابراین کدها و قراردادهای غیر استاندارد در عمل محدود به دستگاه های خاص می شوند و ارزش کاربردی خود را بصورت عمومی از دست می دهند. نتیجه اینکه ضمن احترام به انگیزه ارزشمند شما به نظر می رسد به جای صرف انرژی برای یک استاندارد جدید که به دلایل گفته شده ممکن است در عمل چندان هم کاربردی نباشد، تلاش برای پیاده سازی کنترلرهایی که بتوانند همین استاندارد موجود را اجرا کنند بسیار مفیدتر خواهد بود. برای اطلاع شما بد نیست بدانید که کنترلرهای cnc محدود به کنترلرهای PC based مانند mach3 نیستند و یکسری از کنترلرها دارای قیمت های بسیار زیاد و کیفیت عملکرد بسیار بالایی هستند که تلاش برای پیاده سازی چنین کنترلرهایی برای اجرای کدهای استاندارد موجود می تواند بسیار مورد نیاز تر و کاربردی تر باشد و به نتایج اقتصادی خوبی هم منجر شود.
                          اوژن: به معنای افکننده و شکست دهنده است
                          دانایی، توانایی است-Knowledge is POWER
                          برای حرفه ای شدن در الکترونیک باید با آن زندگی کرد
                          وضعمان بهتر می شود، اگر همه نسبت به جامعه و اطراف خود مسوول باشیم و نگوئیم به ما چه
                          قوی شدن و خوب ماندن - خوبی کردن به دیگران یک لذت ماندگار است
                          اگر قرار باشد نفت و منابع خام را بدهیم و چرخ بگیریم، بهتر است چرخ را از نو اختراع کنیم
                          ساعت کار بدن اکثر انسان ها کمتر از 800000 ساعت است و بعد از آن از کار می افتد

                          دیدگاه

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