فهرست مطالب:

IronForge تستر NetBSD: 9 مرحله (همراه با تصاویر)
IronForge تستر NetBSD: 9 مرحله (همراه با تصاویر)

تصویری: IronForge تستر NetBSD: 9 مرحله (همراه با تصاویر)

تصویری: IronForge تستر NetBSD: 9 مرحله (همراه با تصاویر)
تصویری: PRIMITIVE BLACKSMITH | Forging iron pan, Cooking 2024, نوامبر
Anonim
توستر NetBSD را IronForge کنید
توستر NetBSD را IronForge کنید
تستر NetBSD را IronForge کنید
تستر NetBSD را IronForge کنید
تستر NetBSD را IronForge کنید
تستر NetBSD را IronForge کنید

این پروژه به عنوان یک توستر شروع نشد و در نهایت به آن تبدیل شد.

این ایده زمانی به وجود آمد که کامپیوتر آشپزخانه من (یک سیستم عامل قدیمی Windows CE PDA) که برای نمایش دستورهای آشپزی من استفاده می شد ، مرد. ابتدا در فکر ایجاد یک صفحه نمایش کم مصرف مبتنی بر جوهر E بودم که با آهن ربا روی یخچال من ثابت می شد و برای مدت طولانی از باتری خالی می شد ، اما سپس یک سیستم فراگیر 2.1 قدیمی برای گوش دادن به موسیقی به آشپزخانه آوردم. خوب ، من فکر می کردم شاید یک کامپیوتر باشد که بتواند هر دو را به خوبی انجام دهد و سپس یک پروژه قدیمی دیگر به ذهنم برسد:

www.embeddedarm.com/blog/netbsd-toaster-powered-by-the-ts-7200-arm9-sbc/

تستر اصلی NetBSD. این پروژه به تنهایی یک شوخی است ، برای کسانی که نمی دانند:

"مدتهاست تصور می شود که سیستم عامل NetBSD شبیه UNIX قابل حمل برای هر نوع دستگاهی است ، به جز شاید توستر آشپزخانه شما."

بنابراین ، بگذارید یک توستر ایجاد کنیم که NetBSD را اجرا می کند و:

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

مرحله 1: عملکرد توستر و انتخاب سخت افزار

عملکرد توستر و انتخاب سخت افزار
عملکرد توستر و انتخاب سخت افزار
عملکرد توستر و انتخاب سخت افزار
عملکرد توستر و انتخاب سخت افزار
عملکرد توستر و انتخاب سخت افزار
عملکرد توستر و انتخاب سخت افزار
عملکرد توستر و انتخاب سخت افزار
عملکرد توستر و انتخاب سخت افزار

در اینجا ، بر خلاف هک قهوه قبلی ، من معتقدم که برای توستر انتخاب خوبی نکرده ام ، بنابراین به طور مختصر کار داخلی توستر را انتخاب می کنم ، معیارها و تجربه را به تنهایی انتخاب می کنم و به خواننده اجازه می دهم تاستر خود را انتخاب کند برای این هک

یکی از معیارهای اصلی من در مورد توستر این بود که بتوانم 4 تکه نان به طور همزمان درست کنم و خودکار باشم ، بنابراین پس از چند ساعت جست و خیز در وبای آلمانی ، تصمیم گرفتم در کنار

توستر Severin AT 2509 (1400W)

www.severin.de/fruehstueck/toaster/automati…

این یک مارک گسترده در آلمان است ، هزینه آن حدود 40-50 یورو در زمان نوشتن به عنوان نام تجاری جدید است.

ویژگی های کلیدی که سازنده تبلیغ می کند:

housing محفظه فولادی ضد زنگ عایق حرارتی

● پیوست رول یکپارچه برشته

● 2 شفت کباب بلند برای حداکثر 4 برش نان

● تفت دادن وسایل الکترونیکی زمان با سنسور دما

degree درجه برنزه قابل تنظیم

● سطح یخ زدایی با چراغ نشانگر

stage مرحله گرم کردن بدون برنزه اضافی با نور کنترل

button دکمه جداگانه رها با چراغ نشانگر

s برش دهنده نان برای قهوه ای شدن یکنواخت هر دو طرف نان

shut خاموش شدن خودکار هنگام بسته شدن دیسک نان

tra سینی خرده نان

. عقب کابل

اگرچه سازنده ادعا نمی کند که درجه حرارت قابل تنظیم است ، اما آنها به 2 نکته گمراه کننده اشاره می کنند:

stage مرحله گرم کردن بدون برنزه اضافی با نور کنترل

● تفت دادن وسایل الکترونیکی زمان با سنسور دما

برای استناد به این ادعاها ، بیایید نحوه عملکرد دستگاه را ببینیم:

1 ، در حالت عادی جریان اصلی 230 ولت به طور کامل قطع شده است ، هیچ قسمتی از توستر تغذیه نمی شود.

2 ، هنگامی که کاربر اهرم را پایین می آورد (که نان ها را نیز پایین می آورد) ، عنصر گرمایش را از هر دو طرف متصل می کند.

اکنون کاری که آنها در اینجا انجام دادند یک طراحی ارزان اما هوشمندانه است. در داخل توستر هیچ ترانسفورماتوری وجود ندارد بنابراین ممکن است تعجب کنید که چگونه ولتاژ پایین (10V AC ~) خود را دریافت می کند. یک سیم پیچ جداگانه به همراه یکی از عناصر گرمایش در سمت چپ توستر وجود دارد که مانند یک ترانسفورماتور گام به پایین 10 ولت متناوب ایجاد می کند.

سپس از یک یکسو کننده دیود برای ایجاد 10 ولت DC استفاده می کند که به برد کنترل اصلی توستر تغذیه می کند.

[ترجمه ترگمان] آنچه که من برای اولین بار فکر کردم - که یک شیر برقی + ترانس است با هم

به محض اینکه این شیر برقی نان را تمام کرد ، توستر اساساً برق خود را قطع می کند و در نتیجه فرآیند نان تست را به پایان می رساند.

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

اکنون که مدار کنترل درجه نظامی از راه خارج شده است ، بیایید FULL CONTROL را روی توستر بگذاریم.

مرحله 2: لیست سخت افزار

لیست سخت افزار
لیست سخت افزار
لیست سخت افزار
لیست سخت افزار
لیست سخت افزار
لیست سخت افزار

این باز هم کامل نیست ، همه اصول اولیه مانند سیم و پیچ را شامل نمی شود:

  • 1 عدد توستر AT 2509 (1400W) یا هر نوع دیگر تستری که انتخاب می کنید
  • 1x Arduino Pro Micro
  • 1X صفحه نمایش لمسی مقاوم در برابر صفحه نمایش 5 اینچی HDMI برای رزبری پای XPT2046 BE
  • 1x Raspberry PI 2 یا Raspberry PI 3
  • 1x SanDisk 16GB 32GB 64GB Ultra Micro SD SDHC Card 80MB/s UHS-I Class 10 w آداپتور (برای PI)
  • 2x رله سوئیچ نی SIP-1A05
  • 1x 1PCS MAX6675 ماژول + سنسور دما نوع ترموکوپل K برای آردوینو (برای خرید لوازم یدکی توصیه می شود)
  • 1x خروجی 24V-380V 25A SSR-25 DA رله حالت جامد PID کنترل دما
  • منبع تغذیه ماژول 1 Down Mini DC-DC Buck Converter برای مدل سازی هواپیما (برای تعویض بیشتر این موارد را خریداری کنید).
  • 2 برابر هیئت مدیره توسعه سنسور آجر ماژول Rotary Encoder Module برای آردوینو (Rotary + Middle Switch ، توصیه می شود بیشتر از اینها را برای جایگزینی خریداری کنید)
  • 2x WS2812B 5050 RGB LED حلقه 24Bit RGB LED
  • ورق اکریلیک پرسپکس 1x 1 میلی متر A5 شفاف پلکسی گلاس برش 148x210 میلی متر لات
  • آداپتور 1x12V 2A DC (1A همچنین باید برای Pi+Screen+Ardu کافی باشد ، اما بهتر است در صورت اتصال دستگاه های اضافی از طریق USB ، جریان اضافی را تخلیه کنند)
  • ماژول 1x PCS HC-SR501 IR پیرالکتریک مادون قرمز IR PIR حرکت سنسور تشخیص سنسور
  • 2x Jumper Wire 5 Pin زن تا زن کابل Dupont 20 سانتی متر برای آردوینو (برای چرخشی ها ارزش خرید بیشتر این موارد را دارد)
  • دستگیره حجم آلیاژ آلومینیوم 2x 38x22 میلی متر برای نقره شفت پتانسیومتر 6 میلی متری
  • رله 1x 230V
  • دسته ای از یک ردیف زن 2.54 میلی متری + اتصالات سربرگ شکستنی نر برای اتصالات
  • اختیاری برای حالت Xbee: 1X10P 10pin 2mm زن تنها ردیف پین هد هد نوار هد XBee سوکت
  • اختیاری برای حالت Xbee: 1 Xbee
  • اختیاری برای حالت Xbee: 1x Jumper Wire 4 Pin زن تا زن کابل Dupont 20 سانتی متر برای آردوینو (بین Xbee Raspi)

برای منبع تغذیه باید از ولتاژ 12 ولت به جای 5 ولت استفاده کنید زیرا شیر برقی در آن سطح ولتاژ پایین باقی نمی ماند ، فراموش نکنید که یک دیود فلای بک را بر روی شیر برقی اضافه کنید.

اگر تصمیم دارید از اجزای دیگر استفاده کنید ، به عنوان مثال: ماژول باک مختلف برای کاهش ولتاژ از 12V-> 5V شما باید صفحه را دوباره طراحی کنید ، این دستگاه برای یک مبدل کوچک باک مربعی خاص ساخته شده است.

مرحله 3: تغییر حالت: پشت جلو است

Modding the Case: Back Is the Front
Modding the Case: Back Is the Front
Modding the Case: Back Is the Front
Modding the Case: Back Is the Front
Modding the Case: Back Is the Front
Modding the Case: Back Is the Front

پس از برداشتن مدار کنترل اصلی ، هنوز یک سوراخ زشت بزرگ به محل سوئیچ ها نگاه می کرد ، بنابراین تصمیم گرفتم فقط از آن طرف به عنوان پشت استفاده کنم و جعبه اتصال را که SSR (رله حالت جامد -> برای کنترل گرمایش) + رله AC 230V (برای تشخیص قدرت) + آداپتور 12V تغذیه کننده کل مدار.

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

من انتهای آشکارساز ترموکوپل MAX6675 را در انتهای توستر در لبه مقابل اهرم اصلی (جایی که با مکانیسم اهرم مغایرت دارد) وارد کرده ام.

بدنه داخلی از جنس آلومینیوم است که شما حتی نیازی به سوراخ کردن آن ندارید ، یک سوراخ کوچک را می توان به راحتی با پیچ گوشتی بزرگ کرد و سپس سنسور را داخل آن قرار داد ، قسمت پیچیده این بود که آن را از سمت داخلی متقابل کنید. برای این کار باید راه حلی هوشمندانه ارائه دهم که در تصاویر نشان داده شده است.

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

سیمهای MAX6675 به اندازه کافی بلند بودند تا بتوانند به راحتی از قسمت پایین دستگاه به سوراخی که کابلها به بیرون منتقل می شدند ، تغذیه شوند.

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

  • 1 سیم از عنصر گرمایش -> به SSR می رود
  • 1 سیم از 230V (ترجیحاً نقطه قهوه ای داغ) -> به SSR می رود
  • 2 سیم از 230V با سوئیچ حالت بسته -> به رله شروع می رود
  • 2 سیم از 230V اصلی در -> به آداپتور 12V در پشت می رود
  • سیم های محافظت شده از سنسور حرارتی

و این تنها چیزی است که برای کنترل توستر نیاز دارید.

به دلیل لحیم کاری صنعتی ، تصمیم گرفتم سیم را بین عنصر گرمایش و یک سر اصلی (بعد از سوئیچ) قطع کنم و با نوارهای ترمینال آن را به SSR وصل کنم.

یک رله از 230V (ولتاژ اصلی) کار می کند. این رله شروع است که به آردوینو اطلاع می دهد که کاربر اهرم را پایین انداخته است و فرایند تست را شروع کرده است. فراموش نکنید که مدار کنترل دیگر سرجایش نیست ، شیر برقی قدرت لازم را برای اهرم پایین نمی آورد و بخاری نیز قطع می شود (از طریق SSR کنترل می شود). همه اینها از این پس وظیفه آردوینو خواهد بود.

آداپتور DC 12V مستقیماً به سیم اصلی متصل می شود (من یک سوئیچ ON/OFF اضافی در پشت اضافه کرده ام). این امر قدرت ثابت را برای مدار فراهم می کند. توستر در حالت آماده به کار فقط مصرف می کند: 5.5 وات با صفحه روشن و 5.4 وات با خاموش.

مرحله 4: هیئت مدیره Arcyclic جلو

تخته آرکیسیلیک جلو
تخته آرکیسیلیک جلو
تخته آرکیکلی جلو
تخته آرکیکلی جلو
تخته آرکیسیلیک جلو
تخته آرکیسیلیک جلو

من در کار با این مواد متخصص نیستم ، من توصیه کردم سوراخ های روی آن را با دورمل دور بالا در زیر آب جاری برش دهم ، اما نمی خواستم آن را بیش از حد کامل کنم ، بنابراین کاری که من انجام دادم فقط تمرین معمولی بود سوراخ ها را کاملاً کنار بگذارید و قسمت بین Raspi و صفحه را بیرون بیاورید ، در عوض من فقط در فاصله بین صفحه و در رابط Raspi سوراخ هایی ایجاد کردم و سپس مواد باقی مانده را به شکل مربع برای اتصال اتصالات بیرون آوردم. از طریق.

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

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

من هیچ نقشه طراحی مناسبی برای ورق پلکسی 148x210mm انجام ندادم ، فقط سعی کردم همه چیز را متقارن و در خط تنظیم کنم ، بنابراین عذرخواهی می کنم که نمی توانم هیچ طرحی برای این قسمت ارائه دهم ، شما باید آن را به تنهایی انجام دهید. اما من 1 توصیه دارم:

قبل از چسباندن حلقه های LED ، آنها را با آردوینو روشن کرده و روشن کنید و با قلم FIRST و LAST در پشت علامت گذاری کنید تا در نهایت مانند من آنها را کمی چرخان نصب نکنید (با این حال این از طریق نرم افزار قابل اصلاح است))

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

من از جدا کننده های مادربرد رایانه ای معمولی بین دوار و پنل پلکسی استفاده کرده ام ، همچنین 2-2 مورد دیگر را در پشت روتاری اضافه کرده ام تا هنگام فشار دادن دکمه ها به ثبات بیشتری برسد.

مرحله 5: مدار کنترل توستر

مدار کنترل توستر
مدار کنترل توستر
مدار کنترل توستر
مدار کنترل توستر
مدار کنترل توستر
مدار کنترل توستر

این یکی از پروژه هایی بود که در واقع تمام پین های آردوینو را افزایش داد:) RX و TX برای توسعه ماژول های ارتباطی آینده محفوظ بود.

برد اصلی از طریق مبدل باک (Arduino ، Raspi ، Screen ، SSR ، Relays) برای همه چیز نیرو می دهد. در اینجا باید توجه داشته باشم که این تنظیم کننده ولتاژ دقیقاً پیشرفته نیست ، نمی تواند بیش از حد ولتاژ ورودی 12 ولت DC را زیاد کند. اگر تصمیم دارید دقیقاً از همان نوع استفاده کنید ، مطمئن شوید که آداپتور شما ولتاژ مدار باز ثابت 12 ولت را تأمین می کند (نه مانند آداپتور WRT54G ، با این کار دود جادویی را در عرض چند ثانیه مشاهده خواهید کرد).

من برد را تا حد ممکن مدولار ساختم ، تا جایی که می توانستم از سوکت استفاده کنم. فراتر از 2 رله نی ، همه چیز دیگر را می توان به راحتی جایگزین کرد.

هر دوی این رله های نی عالی با دیودهای فلای بک ساخته شده و بیش از 7 میلی آمپر مصرف نمی کنند ، بنابراین می توانند مستقیماً به هر پین آردوینو متصل شوند (در پروژه های آینده نیز این توصیه ها را ادامه خواهم داد). عملکرد رله ها:

یکی برای روشن کردن شیر برقی در ابتدای فرآیند نان تست (برای پایین نگه داشتن آن اهرم).

یکی برای روشن و خاموش کردن خودکار صفحه در صورت تشخیص حرکت است.

من تصور کردم که اجرای آن صفحه نمایش HDMI به صورت 24 ساعته و 7 روز طول عمر زیادی را ارائه نمی دهد (مخصوصاً آنچه من استفاده می کنم فقط یک تقلبی ارزان است ، نه WaveShare اصلی:

و آیا کامپیوتر شما می تواند صفحه را هنگام ورود به اتاق روشن کند؟ من فکر نمی کنم ، توستر BSD می تواند!

اساساً صفحه نمایش دارای یک تایمر نگهدارنده 10 دقیقه ای است که هر بار که دوباره حرکت کرد به طور خودکار بالا می آید. بنابراین فرض کنید روشن شد و 9 دقیقه بعد دوباره حرکت کرد ، این بدان معناست که 10 دقیقه دیگر روشن می ماند. روشن و خاموش کردن برای هیچ مداری به جز SSR سالم نیست.

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

در طراحی اصلی یک رله دیگر برای روشن کردن یک بلندگوی 2.1 قبل از اینکه Raspberry pi زنگ ساعت صبح را پخش کند وجود داشت (همچنین اضافه کردن آهنگ هنگام پایان نان تست بسیار آسان است) اما از آنجا که این IoT است زحمت؟ فقط از raspi دیگری در شبکه من می خواهد که این کار را با یک استاندارد RCSwitch 433 مگاهرتز برای من انجام دهد.

همانطور که معمولاً برخی از خطاهای کوچکتر در نسخه 0.4 برد وجود داشت ، آنچه در تصاویر مشاهده می شود. یعنی 2 کانکتور 5 ولت دیگر و کانکتور رله ورودی در پین 10 آردوینو کنار گذاشته شد.

من اینها را در نسخه 0.5 تصحیح کرده ام و یک نسخه غیر Xbee نیز تهیه کرده ام.

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

مرحله 6: Xbee Mod

Xbee فقط اینجاست تا قهوه ساز را مستقیماً از طریق آن کنترل کند زیرا از نظر فاصله نسبتاً نزدیک به آن است و هیچ مانعی بین این دو وجود ندارد.

این هیچ ربطی به توستر یا کد توستر ندارد.

در مورد حالت Xbee: این کاملاً اختیاری است ، به همین دلیل است که من نمودارهای این برد را با و بدون Xbee اضافه می کنم. Xbee مستقیماً به پورت UART سخت افزاری Raspberry PI (ttyAMA0) لحیم می شود که اگرچه به کانکتورهای صفحه برداشته می شود ، اما صفحه از آن استفاده نمی کند (از رابط SPI برای ارتباط مختصات لمسی بین PI و خودش استفاده می کند) به

من به جای ارسال پیامها از طریق Raspberry -> Arduino -> مبدل 5v3v -> Xbee -> سایر دستگاهها ، یک پورت سریال جداگانه را برای ارتباط Xbee به PI اختصاص دادم. به این ترتیب نیز مسئله ای نیست که فرآیند برشته کردن کل MCU را مسدود می کند.

مرحله 7: کد کنترل توستر

کد نسبتاً ساده ای است که به این دلیل است که اساساً یک ارتباط یک طرفه بین Arduio وجود دارد -> Raspberry PI.

این دستگاه بر خلاف قهوه ساز نمی تواند از طریق تلفن یا رایانه فقط به صورت دستی با برخی از کنترل های فانتزی کنترل شود.

تنها عملکرد PI در اینجا ثبت اطلاعات و نمایش نمودارهای خوب است. برای عملکرد توستر ویال نیست ، می توان آن را به طور کامل خاموش یا حتی از این پروژه حذف کرد ، آردوینو همه کارها را انجام می دهد.

در ابتدا کد حلقه های led را بازنشانی می کند ، تایمرهای نگهدارنده مختلف را شروع می کند و در هر حلقه از ورودی 2 سوئیچ دوار نگاه می کند. این ورودی می تواند به معنای چرخش به جهت عقربه های ساعت یا خلاف جهت عقربه های ساعت یا فشار دادن هر یک از 2 سوئیچ (که در حالت بیکار فقط یک فرمان اولیه IRONFORGE_OFF_ALARM را به کامپیوتر ارسال می کند و سپس به حالت عادی IRONFORGE_OFF تنظیم می شود) باشد.

در داخل rotary_read_temp () و rotary_read_time () متغیرهای global_temp و global_time تغییر خواهند کرد. این تنها مکانی است که می توان این مقادیر را در کد تغییر داد و مقادیر خود را بین رویدادهای تست ذخیره می کند.

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

چراغ های LED نیز هر 10 دقیقه یکبار به صورت دوره ای خاموش می شوند در صورتی که هیچ رویداد دوار اخیر رخ نداده است.

ترکیب این دو عملکرد به شرح زیر است:

1 ، با فرض حالت بیکار

2 ، هر یک از دوارها جابجا شده است (اگر قبلاً تنظیم شده باشند ، این مقدار (ها) از حافظه بازیابی شده و در led ها نمایش داده می شود)

3 ، اگر فرآیند برشته کردن شروع نشود و دیگر رویدادهای تنظیم وجود نداشته باشد ، چراغ ها دوباره سیاه می شوند

من همچنین آنها را روی تایمر نگهدارنده جداگانه از صفحه منتقل کردم زیرا از رایانه برای نمایش داده های آب و هوا استفاده زیادی می شود ، اما من نمی خواهم LED های چرخشی دائماً بازیابی شوند زیرا نمی خواهم یک میلیون نان تست کنم روز

فرایند اصلی تست (سمت آردوینو):

این کار زمانی آغاز می شود که سیستم از رله شروع ورودی (230V) فعال شود (و زمان و دما با صفر متفاوت است). جریان برنامه در قسمت آردوینو به شرح زیر است:

1 ، برای نگه داشتن اهرم ، Solenoid را روشن کنید

2 ، SSR را برای گرم شدن روشن کنید

3 ، بسته به زمان شروع یک حلقه نان تست که شمارش معکوس دارد. در هر حلقه داده های زیر را به کامپیوتر ارسال کنید:

-TEMPERATURE (مقدار نقطه شناور در اصل اما به عنوان 2 رشته CSV ارسال می شود)

-TIME باقی می ماند (در ثانیه ، این حالت در طرف دیگر به قالب mm: ss تبدیل می شود)

4 ، در هر حلقه بسته به دمای تنظیم شده ، SSR را روشن یا خاموش کنید تا فرایند تست را کنترل کنید

5 ، در پایان حلقه نان تست ، فرمان IRONFORGE_OFF به رایانه ارسال می شود

6 ، SSR را خاموش کرده و شیر برقی را رها کنید

7 ، بازی LED برای نشان دادن (در اینجا شما همچنین می توانید موسیقی پخش یا هر اقدام دیگری را که دوست دارید اضافه کنید)

8 ، رهبری خاموشی

همانطور که قبلاً گفتم حلقه اصلی تست به طور کامل MCU را مسدود می کند ، در این مدت هیچ کار دیگری نمی توان انجام داد. همچنین ورودی های دوار را در این بازه زمانی نادیده می گیرد.

فرایند اصلی نان تست (سمت PI تمشک):

تمشک pi برنامه کنترل سر C را با یک کاربر غیرمجاز اجرا می کند که مسئول تمام تعاملات روی دسکتاپ است.

من تصمیم گرفتم از Conky برای همه نمایشگرهای گراف استفاده کنم زیرا از یک دهه گذشته از آن استفاده می کنم و به نظر می رسید ساده ترین راه برای کار باشد ، اما برخی از موارد زیر را دارد:

-دانه بندی گراف قابل تغییر نیست ، نمودار دانه بسیار ریز است ، حتی پس از حداکثر زمان تست (5 دقیقه) فقط به نصف میله می رسد

-کنک دوست دارد تصادف کند ، به ویژه هنگامی که شما مرتباً آن را می کشید و بارگیری می کنید

به دلیل دوم ، من تصمیم گرفتم که همه مخروط ها را از طریق فرایندهای نظارتی جداگانه ایجاد کنم تا از آن محافظت کنم.

lua اولیه بیکار از 2 کنکوی جداگانه استفاده می کند (1 عدد برای اطلاعات آب و هوا و دیگری برای ساعت).

هنگامی که نان تست شروع می شود:

1 ، آردوینو برنامه رزبری pi C را از طریق سریال با IRONFORGE_ON نشان می دهد

2 ، برنامه کنترل C 2 نخ کنکی را متوقف می کند و برای نان تست در لواک کنکی سوم بارگذاری می شود

3 ، برنامه کنترل C هر دو مقدار دما و زمان را برای جدا کردن فایل های متنی واقع در ramdisk (برای انجام عملیات RW غیر ضروری در SDcard) ، آنچه کونکی ها در حال خواندن و نمایش خودکار هستند ، می نویسد. این برنامه مسئول ایجاد زمان باقی مانده به فرمت MM: SS نیز می باشد.

4 ، در پایان نان تست برنامه C رشته فعلی نان تست را متوقف می کند و 2 کپی را دوباره راه اندازی می کند و دوباره به وضعیت آب و هوا و زمان باز می گردند.

5 ، برای تشخیص زنگ هشدار ، برنامه C می تواند مستقیماً فرآیند پخش موسیقی را از cron متوقف کند ، هنگامی که در حالت بیکاری هر یک از دوارها به داخل فشار داده شوند.

مرحله 8: همه نان تست های شما متعلق به ما است: NetBSD در مقابل Raspbian

همه نان تست های شما متعلق به ما است: NetBSD در مقابل Raspbian
همه نان تست های شما متعلق به ما است: NetBSD در مقابل Raspbian

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

تراشه لمسی LCD XPT2046 است. صفحه از SPI برای ارسال مختصات ورودی مکان نما به رزبری استفاده می کند.

www.raspberrypi.org/documentation/hardware…

  • 19 ورودی داده TP_SI SPI صفحه لمسی
  • 21 خروجی داده TP_SO SPI از صفحه لمسی
  • 22 TP_IRQ صفحه لمسی قطع می شود ، سطح پایین است در حالی که TouchPanel لمس را تشخیص می دهد
  • 23 ساعت TP_SCK SPI صفحه لمسی
  • 26 تراشه پنل لمسی TP_CS ، کم فعال

در زمان نگارش این مقاله ، من از هیچ صفحه لمسی سازگار با Raspberry PI (shield) که دارای راننده NetBSD برای صفحه لمسی است ، مطلع نیستم.

مرحله 9: بستن و ToDo List

بسته شدن و فهرست کارها
بسته شدن و فهرست کارها

مانند همیشه از هرگونه کمک ، مشارکت ، اصلاحات در کد استقبال می شود.

این یک هک بود که به تازگی تکمیل شده است ، بنابراین من پروژه را با قطعات کد گم شده بعداً (کد کنترل Raspberry pi C ، Conky luas و غیره) به روز خواهم کرد. همچنین من قصد دارم تصاویر sdcard 8GB/16GB با قابلیت تغییر اندازه خودکار ایجاد کنم که شامل همه چیز باشد. با توجه به این واقعیت که Raspberry PI یک سخت افزار استاندارد است ، هرکسی که تصمیم به ساخت پروژه داشته باشد می تواند تصاویر را بارگیری کند ، آنها را روی کارت SD بنویسد و بعد از بوت شدن ، توستر نیز مانند من کار می کند. راه اندازی شبکه فقط برای زمان صحیح (NTP) و نمایش دما مورد نیاز است.

یک مرحله باقی می ماند اندازه گیری دمای داخل با یک FLIR و افزودن تنظیمات به بازخوانی سنسور حرارتی MAX زیرا معتقدم که برای مدت زمان تست کوچک حداکثر 5 دقیقه بسیار آهسته گرم می شود.

همچنین برنامه ریزی برای افزودن مقیاس خودکار به بازه زمانی بسته به دمای تنظیم شده تا بتواند در صورت کاهش دما ، این پنجره حداکثر زمان 5 دقیقه را افزایش دهد.

توصیه شده: