فهرست مطالب:

وورت-اور: 5 قدم
وورت-اور: 5 قدم

تصویری: وورت-اور: 5 قدم

تصویری: وورت-اور: 5 قدم
تصویری: Легендарное блюдо из Средней Азии! Рецепт на любой случай жизни - баранина в казане на костре 2024, نوامبر
Anonim
وورت-اور
وورت-اور

سلام به هم!

این اولین دستورالعمل من خواهد بود و اگر ایده ای دارید که چگونه می توان آن را بهبود بخشید یا درک آن را آسان تر کرد ، لطفاً از تماس با من دریغ نکنید!

خوب در ابتدا ، این نوع "ساعت" ایده من نیست! من تعداد زیادی از اینترنت را در اینترنت دیده ام و می توان آنها را فقط با چند دلار در فروشگاه های اینترنتی متفاوت سفارش داد. اما من نمی خواستم یکی بخرم ، می خواستم یکی از آنها را برای یادگیری و درک نحوه عملکرد آن تهیه کنم.

یک کلمه به اعضای "غیر آلمانی" … متأسفم برای این واقعیت که این فقط یک "German Wort Uhr" است. ممکن است به راحتی به انگلیسی یا هر زبان دیگری تبدیل شود ، اما چون من آلمانی هستم ، آن را به زبان خود ساختم. اگر برای زبان خود به پشتیبانی نیاز دارید با من تماس بگیرید و من سعی خواهم کرد به شما کمک کنم.

پس بیایید شروع کنیم…

مرحله 1: شماتیک

شماتیک
شماتیک

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

بیایید از گوشه پایین سمت چپ شروع کنیم. یک منبع تغذیه ساده با استفاده از LM7805 برای تولید خروجی 5V پایدار برای PIC ، رجیسترهای شیفت (74HC164) و تراشه زمان واقعی DS3231 وجود دارد. تمام LED ها نیز از این قسمت تامین می شوند. D22 در انتهای سمت راست فقط برای نشان دادن منبع تغذیه است و در صورت عدم تمایل می تواند به راحتی جدا شود.

می توانید از هر منبع تغذیه DC برای ساعت با کمتر از 40 ولت استفاده کنید ، اما سپس باید مقدار مناسب برای C7 را انتخاب کنید. باید دارای ولتاژ حداقل دو برابر ولتاژ ورودی باشد و به یاد داشته باشید که در LM7805 گرما ایجاد می کنید ، بنابراین باید سعی کنید ولتاژ ورودی را تا آنجا که ممکن است پایین نگه دارید زیرا سایر موارد فقط اتلاف انرژی است. بهترین تناسب چیزی بین 9 ولت و 12 ولت DC است.

نگران قطبیت منبع تغذیه خود نباشید … P-channel MOSFET (Q1) به عنوان محافظ قطبی کاذب عمل می کند و ساعت کار نمی کند و آسیبی نمی بیند. در صورت نصب LED D22 می توانید این را بررسی کنید.

در سمت راست شماتیک ، رجیسترهای تغییر سری به موازات خروجی قرار دارند. من تصمیم گرفتم از آنها استفاده کنم زیرا نمی خواستم از یک PIC بزرگ با تعداد زیادی پورت I/O استفاده کنم. من می خواستم از یکی کوچکتر استفاده کنم و هنوز 16F1829 در خانه داشتم ، بنابراین انتخاب از قبل مشخص بود. داده ها (IN_1 ، IN_2 و IN_3) توسط PIC (بخش کد زیر را ببینید) و REGISTER_CLK نیز ارائه می شود. برای سادگی در کد و طرح PCB ، من دو ساعت از 74HC164 را برای ساعت ها و آخرین را برای "منطق" استفاده کردم.

در گوشه سمت چپ بالا PIC و تمام قطعات لازم وجود دارد. من از ساعت داخلی استفاده کردم بنابراین نیازی به اسیلاتور نیست. فقط سه مقاومت برای SCL ، SDA و MCLR. از آنجا که من از 32 کیلوهرتز به عنوان نشانه ای از "ثانیه های دقیق" استفاده کردم ، نیازی به فرکانس کاملاً پایدار و دقیق برای PIC نیست.

در وسط DS3231 با حداقل قطعات خارجی وجود دارد. در واقع من فقط از ورودی های SDA و SCL برای ارتباط با I²C و خروجی 32kHZ به عنوان مرجع ساعت خارجی برای تایمر 1 PIC16F1829 استفاده کردم. برای این خروجی ، برگه داده می گوید که یک مقاومت کششی خارجی مورد نیاز است. سایر خروجی هایی که من در این پروژه استفاده نکردم و آنها را وصل نکردم.

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

مرحله 2: چیدمان

چیدمان
چیدمان
چیدمان
چیدمان
چیدمان
چیدمان

پس از اتمام شماتیک ، زمان مسیریابی PCB است. برای این منظور از KiCAD استفاده کردم (برای شماتیک نیز). چیزهای زیادی برای گفتن وجود ندارد ، فقط خطوط را مسیریابی کنید.

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

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

اگر شما علاقه مند هستید … امکان صادرات KiCAD PCB به Eagle وجود دارد و سپس ساخت مسکن بسیار آسان است ، زیرا شما مرجعی از PCB دارید.

مرحله 3: "منطق" "Wort-Uhr"

بزرگترین بخش این پروژه کد PIC بود…

در ابتدا "منطق" زمان گفتار را به زبان آلمانی بیابید و آن را به کد ترجمه کنید.

متأسفانه امکان بارگذاری مستقیم فایل Excel وجود نداشت ، اما امیدوارم فایل PDF به اندازه کافی برای شما قابل خواندن باشد. اگر نه ، لطفاً با من تماس بگیرید و من فایل اصلی Excel را برای شما ارسال می کنم. در PDF می توانید نحوه منطق ساعت خود را تنظیم کنید. شما می توانید ببینید که چگونه من در طول گام های مختلف رفتم و چگونه املا است. محاسبه داخل کد (عمدتا دستور if-else) را می توان از اطلاعات سمت راست جدول استخراج کرد. یک قسمت دقیقه است و یک قسمت ساعت ها.

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

برای کد نویسی از MPLABX به عنوان IDE انتخابی خود استفاده کردم.

مرحله 4: قطعات کد

قطعات کد
قطعات کد
قطعات کد
قطعات کد

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

ابتدا "ثبت"-پر کردن:

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

کد پر کردن رجیسترها در تصویر بالا آمده است. همانطور که می بینید من هر 3 ثبات را به صورت موازی پر می کنم بنابراین به 3 پین PIC برای داده ها و 1 پین برای CLK نیاز دارم. 74HC164 داده های جدیدی را در مورد انتقال در خط CLK از 0 به 1 دریافت می کند.

بقیه کد عمدتا موارد وابسته به PIC ، "زمان گفتار"-منطق و مدیریت ارتباطات و دکمه ها است. ارتباطات عمدتا توسط Microchip MPLABX انجام می شود زیرا من از ماژول MSSP استفاده کردم.

یک ایده خوب خواندن برگه اطلاعات DS3231 است زیرا داده ها در داخل به عنوان BCD ذخیره می شوند ، بنابراین ممکن است مجبور شوید این را در کد خود "تبدیل" کنید. بنابراین تا آنجا که به من مربوط می شود ، من یک "یادگیری با انجام" هستم و قطعاً برگه اطلاعات را نخوانده ام.

همانطور که ممکن است متوجه شده باشید ، دو روش "نگه داشتن زمان در مسیر" با این اجرا وجود دارد.

  1. می توانید زمان واقعی DS3231 را بخوانید
  2. شما می توانید در PIC خود ثانیه شمارش کنید و فقط زمان را با DS3231 همزمان کنید

این به شما بستگی دارد و هر دو روش عملی و مستقیم هستند. من از گزینه اول استفاده کردم و فقط زمان را هنگام تنظیم زمان از طریق دکمه ها (زمان نوشتن به DS3231) یا هر 24 ساعت (زمان خواندن از DS3231) همزمان کردم ، زیرا می خواستم منطق بیشتری را به تنهایی پیاده کنم. من همچنین ساعت خود را در طول شب (23:00 تا 05:00) می چرخانم ، بنابراین به نظر من کمی راحت تر بود.

مرحله 5: مسکن

آخرین و مهمترین زمان این است که نگاهی کوتاه به مسکن بیندازید.

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

درصورت تمایل می توانید از فایل های STL استفاده کنید.

امیدوارم این دستورالعمل به شما در ساختن "Wort-Uhr" شخصی شما کمک کند. اگر هنوز "س openالات باز" وجود دارد ، با من تماس بگیرید. بهترین راه برای نظر دادن در زیر ، زیرا ممکن است شما تنها کسی نباشید که س specificال خاصی دارید.

توصیه شده: