نحن شركة ناشئة صغيرة تطور الإلكترونيات الحديثة. بالطبع ، نقوم بانتظام بعمل دفعات اختبار صغيرة لتصنيعها لا معنى لها لطلب إنتاج كامل - ستكون تكلفة التحضير أكبر بند في الميزانية. لذلك ، نتوصل بانتظام إلى كيفية جمع هذه الدفعات بمفردنا بشكل أسرع وأرخص وأكثر كفاءة. في بعض الأحيان في العملية يولد شيء جديد أو يضاف شيء قديم. سنقوم بمشاركة النتيجة معك بشكل دوري.تتمثل إحدى طرق تقليل تكلفة تصنيع لوحات الدوائر المطبوعة في دمج عدة لوحات في قطعة عمل واحدة وإرسال قطعة العمل هذه إلى المصنع كمشروع واحد. الحيلة هي أن المصانع الجادة تأخذ المال لتحضير إنتاج كل لوحة ، وغالباً ما يقدم الصينيون الموجهون إلى الأعمال اليدوية (Seeedstudio ، على سبيل المثال) سعرًا ثابتًا لحجم ثنائي الفينيل متعدد الكلور الثابت. في الحالة الأولى ، سيتم اعتبار مشروع واحد ، حتى إذا تم قطعه في نهاية المطاف إلى عدة لوحات ، كلوحة واحدة ، وفي الحالة الثانية ، من الممكن استيعاب عدة لوحات صغيرة في قطعة عمل قياسية واحدة.بالإضافة إلى ذلك ، يعد الجمع بين اللوحات أمرًا مريحًا إذا قمت بعمل مجموعات ثابتة - على سبيل المثال ، لديك وحدة تحكم واحدة وأربع وحدات تنفيذية في مشروعك ؛ في هذه الحالة ، من الشائع أن تضعها على فراغ واحد وترتيبها دائمًا باستخدام هذه المجموعة فقط.في هذه الحالة ، كان لدينا واحد والآخر - كل من المجموعة والرغبة في توفير إنتاج دفعة تجريبية.
هذا مشروع واحد. لديها 32 لوحة من 13 نوعًا مختلفًا. كيفية تجميع مثل هذا المشروع في ربع ساعة - أدناه.والمثير للدهشة أن محاولة العثور على برنامج جاهز وبأسعار معقولة نسبيًا على الأقل لمثل هذه العملية تؤدي بسرعة إلى إصابة الشخص بالاكتئاب - بعد المواقع الخمسة الأولى التي تعرض الاتصال برقم الهاتف المحدد لتلقي عرض سعر فردي. تكمن المشكلة في أن المصانع عادة ما تشارك في العمل المباشر مع ملفات تنسيق Gerber RS-274X ، وبالتالي فإن تكلفة جميع هذه البرامج تقليدية للاستخدام التجاري ، من بضع مئات من الدولارات لكل محطة عمل.يمكن لمقترحات الميزانية إما مضاعفة لوحة واحدة فقط بالعديد من النسخ (في Eagle ، على سبيل المثال ، هذه وظيفة أصلية) ، ولكن لا تجمع العديد من الملفات من مشاريع مختلفة. أو - في كثير من الأحيان - لا يعرفون أي شيء. من الرخيص نسبيًا ، تمكنت من العثور على ViewMate Deluxe فقط ، والذي كان يستحق ذلك ، على الرغم من أنه ليس كثيرًا ، ولكنه لا يزال أقل من 100 دولار وقادر على تحرير الجربارات - وهذا يعمل فقط في أماكن تشبه إلى حد كبير التعذيب المعقد.بالإضافة إلى كل هذه العظمة ، هناك حزمة واحدة مجانية تمامًا - GPLv3 - وتم إنشاؤها خصيصًا لهذه المهمة: ابتلاع مجموعة من جربيرا من مشاريع مختلفة ووضعها على ورقة واحدة.هذا هو GerbMerge ، وهو نص بيثون . تلتهم جربر الخاصة بك، لعدة دقائق يحاول ترتيبها بآلاف الطرق المختلفة ، والاختيار من بينها الأفضل - من وجهة نظره.يمكن أن يعمل GerbMerge فقط مع ملفات Gerber RS-274X و Excellon ، ولكن من الصعب التفكير في عيب - أي CAD يمكن استخدامه على الأقل نظريًا يمكنه تصدير اللوحات بهذه التنسيقات ، ويمكن لأي مصنع قبولها. علاوة على ذلك ، إذا كنت تريد أقصى ضمان للنتيجة والحد الأدنى من الفرص للأيدي المعوجة للمصنع - فمن Gerber + Excellon الذي قمت بفحصه مسبقًا ، وتحتاج إلى إرساله.لا أقدم رابطًا إلى موقع GerbMerge الآن ، لأنه ليس من الواضح ما الذي يجب اعتباره موقعًا - استنادًا إلى تاريخ التعديلات وحقوق الطبع والنشر ، فقد تم تبديل يديه عدة مرات مع فترات توقف لمدة عام أو عامين ، وفي كل مرة يتم التخلي عنه. ونتيجة لذلك ، عندما حاولت تشغيله ، اكتشفت بسرعة أن:- لم يتم تثبيته
- بمجرد التثبيت ، لا يبدأ
- عند التشغيل ، فإنه لا يستوعب ملفات DipTrace
- يتم دفعها ، الملفات في وحدات متري لا تهضمها
- تحت Cygwin لا يعمل على الإطلاق
- هناك محاولات لترتيب المثبت - في الاتجاه الصحيح ، ولكنها غير مكتملة
- هناك محاولات لترتيب وحدات القياس - في الاتجاه الصحيح ، ولكنها غير مكتملة
- كانت جميع الروابط المؤدية إلى حزم التثبيت الجاهزة لنظام التشغيل Windows تسوء بشكل عام منذ سنوات
ومع ذلك ، لم تكن هناك بدائل على الإطلاق. لذلك ، بعد بعض المداولات ، جلس فريق من المسوقين المحترفين ، الذين لم يسبق لهم كتابة سطر في Python ، ووضعوا نظام gerbmerge في النظام.والآن - الرابط: github.com/unwireddevices/gerbmergeفي الإصدار 1.9.4 ، والذي يتوفر الآن على هذا الرابط ، gerbmerge:- يعمل بنجاح على Linux و Windows و Cygwin
- يتم تثبيته في جميع الأنظمة باستخدام أدوات قياسية دون تحرير أي شيء يدويًا.
- يفهم ملفات DipTrace المولدة
- يعمل بالبوصة والمليمترات
تثبيت GerbMerge
GerbMerge هو نص بايثون ، لذلك التثبيت له خصائصه الخاصة. يمكن إطلاقه على Linux و Windows (أصلي وتحت Cygwin) ، نظريًا أيضًا على MacOS ، لكنني لم أتحقق - لا يوجد شيء.لينكس .نظرًا لأنه من شبه المؤكد أن لديك تثبيت python و pip و gcc ، يبقى تثبيت simpleparse - تثبيت تثبيت simpleparse ، ثم الانتقال إلى gerbmerge. قم بتنزيل أرشيف المصدر من github ، قم بفك ضغطه ، اذهب إلى الداخل:python setup.py sdist
sudo pip install dist/gerbmerge-1.9.4.tar_gz
يقوم الأمر الأول بإعداد حزمة التثبيت لنظامك ، بينما يقوم الأمر الثاني بتثبيتها. يمكنك ، بالطبع ، إجراء sudo python setup.py على الفور ، ولكن إذا كنت ترغب في التخلي عن gerbmerge أو تحديثه ، فستحذف ملفاته باستخدام مقابض.ويندوز / سيجوين .قم بتثبيت Cygwin باستخدام python و python-setuptools وحزم gcc (الأخيرة مطلوبة لبناء simpleparse). قم بتنزيل أرشيف مصدر gerbmerge ، قم بفك ضغطه ، قم بتشغيل Cygwin وانتقل إلى دليل المصدر.easy_install-x.y pip
pip install simpleparse
python setup.py sdist
pip install dist/gerbmerge-1.9.4.tar_gz
سيكون الأمر الأول (بدلاً من xy هو إصدار python الخاص بك ، أي على الأرجح 2.7) سيقوم بتثبيت النقطة ، والباقي سيكون كما هو في Linux.Windows الأصلي .قم بتنزيل مثبت python لنظامك وقم بتثبيته - افتراضيًا يتم تثبيته في C: \ Python27 \ واسحب النقطة التي نحتاجها معك. تنزيل gerbmerge ، بفك. قم بتشغيل cmd.exe وانتقل إلى مجلد مصدر gerbmerge:c:\python27\scripts\pip.exe install simpleparse
c:\python27\python.exe setyp.py sdist
c:\python27\scripts\pip.exe istall dist\gerbmerge-1.9.4.zip
هذا كل شيء. إذا تم تشغيل gerbmerge في حالات سابقة ، في الواقع ، بواسطة الأمر gerbmerge ، ثم لتشغيله ، فأنت بحاجة إلى استدعاء الملف c: \ Python27 \ gerbmerge.bat (إذا قمت بوضع Python في مجلد مختلف ، يجب تغيير المسار وفقًا لذلك).باستخدام GerbMerge
يتطلب Gerbmerge ملف تكوين ومجموعات من الملفات مع gerberas من لوحات المصدر. على github في مجلد الأمثلة هناك أمثلة على كل منهما ، لكل من gerberas البوصة والمتري.يصف ملف التكوين العديد من المعلمات الأساسية ، وبعد ذلك يسرد جميع الألواح التي ستحتاج إلى تجميعها - مما يشير إلى مكان وجود ملفاتهم وما يطلق عليها ، بالإضافة إلى عدد قطع كل منها لوضعها في المشروع النهائي:[DEFAULT]
projdir = .
[Options]
ExcellonLeadingZeros = 1
PanelWidth = 400
PanelHeight = 300
XSpacing = 2
YSpacing = 2
MeasurementUnits = mm
AllowMissingLayers = 0
[MergeOutputFiles]
Prefix = %(projdir)s/merged
*TopLayer=%(prefix)s/Top.gbr
*BottomLayer=%(prefix)s/Bottom.gbr
*TopSilkscreen=%(prefix)s/TopSilk.gbr
*BottomSilkscreen=%(prefix)s/BottomSilk.gbr
*TopSoldermask=%(prefix)s/TopMask.gbr
*BottomSoldermask=%(prefix)s/BottomMask.gbr
Drills=%(prefix)s/Drills.txt
BoardOutline=%(prefix)s/BoardOutline.gbr
ToolList = %(prefix)s/Tools.drl
Placement = %(prefix)s/Placement.txt
[aa]
Prefix=%(projdir)s/aa
*TopLayer=%(prefix)s/Top.gbr
*BottomLayer=%(prefix)s/Bottom.gbr
*TopSilkscreen=%(prefix)s/TopSilk.gbr
*TopSoldermask=%(prefix)s/TopMask.gbr
*BottomSilkscreen=%(prefix)s/BottomSilk.gbr
*BottomSoldermask=%(prefix)s/BottomMask.gbr
Drills=%(prefix)s/Through.drl
BoardOutline=%(prefix)s/BoardOutline.gbr
Repeat = 10
[bb]
Prefix=%(projdir)s/bb
*TopLayer=%(prefix)s/Top.gbr
*BottomLayer=%(prefix)s/Bottom.gbr
*TopSilkscreen=%(prefix)s/TopSilk.gbr
*TopSoldermask=%(prefix)s/TopMask.gbr
*BottomSilkscreen=%(prefix)s/BottomSilk.gbr
*BottomSoldermask=%(prefix)s/BottomMask.gbr
Drills=%(prefix)s/Through.drl
BoardOutline=%(prefix)s/BoardOutline.gbr
Repeat = 6
في هذا المثال ، يوجد لوحتان موجودتان في المجلدات aa و bb ، الملفات الموجودة فيها بأسماء تصدير DipTrace القياسية. المجلدات قريبة ، يبدأ gerbmerge هناك ، لذا فإن دليل المشروع هو "." فقط ، ومسارات المجلدات هي ، على التوالي ، "./aa" و "./bb". تحتاج اللوحة الأولى إلى 10 قطع على قطعة واحدة ، الثانية - ستة. يبلغ حجم Gerberas بالملليمتر ، ويبلغ الحد الأقصى لحجم اللوحة 400 × 300 مم ، ويجب عمل فجوات 2 مم بين الألواح بحيث يقطعها المصنع بقاطع الطحن (اسأل المصنع المحدد عن أبعاد الألواح والفجوات). تسجيل تنسيق اكسيلون لآلة الحفر مع الأصفار في البداية ، في حالة عدم وجود أي ملف من أعلاه - أقسم. يجب حفظ النتيجة في المجلد المدمج بأسماء الملفات المحددة.يرجى ملاحظة أن جميع الملفات باستثناء BoardOutline و Drills تبدأ بعلامة النجمة - هذه هي الطريقة التي يجب اتباعها. إذا قمت بوضع AllowMissingLayers في الوحدة ، فقد تكون الملفات ذات العلامات النجمية مفقودة. لكن يجب أن تكون العلامة النجمية على أي حال (ليست منطقية جدًا ، ولكن مثل هذه التفاهات هي بالفعل كسولة جدًا بحيث لا يمكن إصلاحها ، فهي لا تزعج أي شخص).بعد إنشاء التكوين ، يبقى فقط لتشغيل gerbmerge معها كمعلمة فقط:gerbmerge layout.cfg
أو ، إذا كنت لا تزال لم تنضم إلى عالم الحرية والمساواة والإخوان (مثلي) ، ولا تحب Cygwin (ليس مثلي) ، فعندئذٍ:C:\Python27\gerbmerge.bat layout.cfg
عند بدء gerbmerge ، قم بتعليق ورقة إخلاء المسؤولية وتنتظر الضغط على "y" ، إذا تعبت من ذلك ، قم بإضافة المعلمة "-s".
يعمل gerbmerge إلى الأبد ، ما لم يذكر خلاف ذلك في التهيئة ، ويبلغ بشكل دوري أنه لم يمت. يمكنك إيقافه في أي وقت بالضغط على Ctrl-C - سيحفظ تكوين الألواح ، والتي ستعتبر في هذه المرحلة الأكثر نجاحًا ، في الملفات ، وكاملة. لسوء الحظ ، من المستحيل تتبع مدى نجاح النتيجة ، لذا امنحه فقط وقتًا كافيًا - من خمس دقائق في المتوسط Core i * إلى خمسة عشر على AMD Sempron يكفي للحصول على وضع أنيق حتى بالنسبة لمشروع مثل المشروع الموصوف قبل القطع.ميزة لطيفة من gerbmerge هي أنه يقطع تلقائيًا ما يخرج من حواف لوحة معينة. لذلك ، على سبيل المثال ، إذا كان لديك مكونات مع بروز الشاشة الحريرية للخارج (موصل بارز خارج الحواف ، على سبيل المثال) ، فلن تصل طباعة الشاشة الحريرية هذه في المشروع النهائي إلى اللوحة المجاورة. يمكن تعطيل تقليم الثقب وطباعة الشاشة في خيارات سطر الأوامر.يجب فحص الملفات الناتجة بشكل مألوف من قبل أي عارض Gerber (عادة ما أستخدم Viewplot ) - وإذا لم يحدث أي خطأ ، فأرسله إلى المصنع.القيود
- : , - .
, , , Placement.txt — . , gerbmerge (--place-file=), . : gerbmerge . - لا يفهم النص المزيج من الملفات بالبوصة والقياس. يجب أن تكون جميع gerberas الواردة في نفس النظام الذي يطابق النظام المحدد في التكوين. من حيث المبدأ ، هذه مناسبة لمزيد من التطوير ، ولكن بسبب داخل gerbmerge مع العمل مع وحدات القياس الآن التي لا تزال عصيدة ، بالكاد سأقوم بها على الإطلاق.
بروفيك
نفس المشروع لـ 32 لوحة من 13 نوعًا ، تم تنفيذها في PCB من قبل شركة Microlit:
لم تكن هناك أسئلة من المصنع ، ولم تكن هناك شكاوى حول الجودة.التعليمات
س: إلى الجحيم هناك الكثير من المجالس ؟؟؟ج: هنا لهذا المشروع .