فهرست مطالب:

ساعت نیکسی بارگراف: 6 مرحله (همراه با تصاویر)
ساعت نیکسی بارگراف: 6 مرحله (همراه با تصاویر)

تصویری: ساعت نیکسی بارگراف: 6 مرحله (همراه با تصاویر)

تصویری: ساعت نیکسی بارگراف: 6 مرحله (همراه با تصاویر)
تصویری: ساعت لامپی نیکسی in-18 /in-18 nixie 2024, جولای
Anonim
ساعت نیکسی بارگراف
ساعت نیکسی بارگراف
ساعت نیکسی بارگراف
ساعت نیکسی بارگراف

ویرایش 9/11/17 با کمک Kickstarter من اکنون یک کیت برای این کیت ساعت منتشر کرده ام! این شامل یک تخته راننده و 2 لوله Nixie IN-9 است. تنها چیزی که باید اضافه کنید Arduino/Raspberry Pi/other خودتان است. کیت را می توانید پیدا کنید اما روی این پیوند کلیک کنید!

بنابراین من بسیاری از ساعت های نیکسی را به صورت آنلاین دیده ام و فکر می کردم که بسیار زیبا به نظر می رسند ، با این حال من نمی خواهم 100 دلار+ برای ساعتی که حتی لوله ها را شامل نمی شود ، خرج کنم! بنابراین با کمی دانش الکترونیکی ، در اطراف لوله های مختلف نیکسی شکار کردم. و مدارها من می خواستم چیزی را با طیف گسترده ای از ساعتهای نیکسی که به طور کلی شبیه به هم هستند ، متفاوت کنم. در پایان ، من از لوله های بارگراف Nixie IN-9 استفاده کردم. این لوله های باریک بلند هستند و ارتفاع پلاسمای درخشان بستگی به جریان لوله ها دارد. لوله در سمت چپ بر حسب افزایش ساعت و لوله در سمت راست بر حسب دقیقه است. آنها فقط دو سر دارند و بنابراین ساخت یک مدار را مستقیم تر به جلو انجام می دهید. در این طرح ، یک ساعت و یک دقیقه لوله وجود دارد که ارتفاع پلاسما در هر لوله نشان دهنده زمان فعلی است. زمان با استفاده از میکروکنترلر Adafruit Trinket و ساعت زمان واقعی (RTC) نگهداری می شود.

مرحله 1: مونتاژ قطعات

مونتاژ قطعات
مونتاژ قطعات

دو بخش وجود دارد ، اول قطعات الکترونیکی و دوم نصب و تکمیل. قطعات الکترونیکی مورد نیاز عبارتند از: Adafruit Trinket 5V - 7.95 دلار (www.adafruit.com/products/1501) Adafruit RTC - 9 دلار (www.adafruit.com/products/264) 2 بار Nixie IN -9 bargraph ~ 3 دلار در هر لوله در eBay 1x منبع تغذیه Nixie 140v 12 12 دلار در eBay 4x 47 uF خازن های الکترولیت 4x 3.9 کیلو اهم مقاومت 2x 1 کیلو اهم پتانسیومتر 2x ترانزیستور MJE340 NPN ولتاژ بالا 1 1 دلار هر 1x 1M LM7805 5v ~ 1 $ 1x سوکت 2.1mm ~ 1 $ 1x $ 1x جعبه پروژه با pc منبع تغذیه 12 ولت DC (یک دستگاه قدیمی را که قبلاً فراموش شده بود پیدا کردم) لحیم ، سیم اتصال ، و غیره نصب: تصمیم گرفتم وسایل برقی را در یک جعبه کوچک پلاستیکی مشکی نصب کنم ، سپس لوله ها را روی یک حرکت ساعت عتیقه سوار کنم. برای علامت گذاری ساعت و دقیقه از سیم مسی که دور لوله ها پیچیده شده بود استفاده کردم. قطعات نصب: حرکت ساعت عتیقه - 10 دلار سیم مسی eBay - 3 دلار eBay تفنگ چسب داغ

مرحله 2: مدار

جریان
جریان
جریان
جریان
جریان
جریان
جریان
جریان

اولین قدم ساخت منبع تغذیه نیکسی است. این به عنوان یک کیت کوچک زیبا از eBay ، شامل یک PCB کوچک بود و فقط باید قطعات را روی برد لحیم کرد. این منبع خاص بین 110-180v متغیر است و با یک قابلمه کوچک روی برد قابل کنترل است. با استفاده از یک درایور پیچ کوچک ، خروجی را به 140 ولت تنظیم کنید. قبل از اینکه تمام راه را طی کنم می خواستم لوله های نیکسی خود را آزمایش کنم ، برای انجام این کار یک مدار آزمایشی ساده با استفاده از یک لوله ، ترانزیستور و یک پتانسیومتر 10k ایجاد کردم. همانطور که در شکل اول مشاهده می شود ، منبع تغذیه 140 ولت به آند لوله (پای راست) متصل شده است. سپس کاتد (پای چپ) به پایه جمع کننده ترانزیستور MJE340 متصل می شود. منبع تغذیه 5 ولت به یک گلدان 10k متصل شده و به پایه به ترانزیستور متصل می شود. سرانجام ساطع کننده ترانزیستور از طریق مقاومت محدود کننده جریان 300 اهم به زمین متصل می شود. اگر با ترانزیستورها و وسایل الکترونیکی آشنایی ندارید ، واقعاً مهم نیست ، فقط آن را سیم کشی کرده و ارتفاع پلاسما را با دستگیره قابلمه تغییر دهید! هنگامی که کار کرد ، می توانیم به ساخت ساعت خود نگاه کنیم. مدار ساعت کامل را می توانید در نمودار مدار دوم مشاهده کنید. پس از برخی تحقیقات ، من یک آموزش کامل در وب سایت Adafruit learn پیدا کردم که تقریباً همان کاری را انجام می داد که می خواستم انجام دهم. این آموزش را می توانید در اینجا پیدا کنید: https://learn.adafruit.com/trinket-powered-analog-m… این آموزش از کنترلر Trinket و RTC برای کنترل دو آمپر متر آنالوگ استفاده می کند. استفاده از مدولاسیون عرض پالس (PWM) برای کنترل انحراف سوزن. سیم پیچ آمپر متر به طور متوسط PWM را به یک سیگنال DC م effectiveثر تبدیل می کند. اما اگر ما مستقیماً از PWM برای هدایت لوله ها استفاده کنیم ، تعدیل فرکانس بالا به این معنی است که نوار پلاسما به پایه لوله "محکم" نمی ماند و شما یک نوار معلق خواهید داشت. برای جلوگیری از این امر ، من به طور متوسط از PWM با استفاده از یک فیلتر کم گذر با ثابت زمان طولانی برای دریافت سیگنال تقریباً DC استفاده کردم. این فرکانس قطع 0.8 هرتز دارد ، این خوب است زیرا ما فقط ساعت را هر 5 ثانیه به روز می کنیم. علاوه بر این از آنجا که بارگراف ها دارای طول عمر محدود هستند و ممکن است نیاز به تعویض داشته باشند و هر لوله دقیقاً یکسان نیست ، من یک گلدان 1k بعد از لوله قرار دادم. این اجازه می دهد تا تنظیم ارتفاع پلاسما برای دو لوله تنظیم شود. برای سیم کشی به ساعت واقعی (RCT) Trinket-pin 0 را به RTC-SDA ، Trinket-pin 2 را به RTC-SCL و Trinket-5v را به RTC-5v و Trinket GND را به زمین RTC وصل کنید. در این قسمت ، مشاهده دستور ساعت Adafruit ، https://learn.adafruit.com/trinket-powered-analog-… ، مفید خواهد بود. هنگامی که Trinket و RTC به درستی وصل شده اند ، لوله های نیکسی ، ترانزیستورها ، فیلترها و غیره را روی یک تخته نان وصل کنید و نمودار مدار را با دقت دنبال کنید.

برای صحبت RTC و Trinket ابتدا باید کتابخانه های صحیح را از Adafruit Github بارگیری کنید. شما به TinyWireM.h و TInyRTClib.h نیاز دارید. ابتدا می خواهیم لوله ها را کالیبره کنیم ، طرح کالیبراسیون را در انتهای این دستورالعمل بارگذاری کنیم. اگر هیچ کدام از طرح ها در پایان کار نمی کنند ، طرح ساعت Adafruit را امتحان کنید. من طرح ساعت Adafruit را تغییر داده ام تا با لوله های نیکسی به بهترین شکل کار کنم ، اما طرح Adafruit به خوبی کار می کند.

مرحله 3: کالیبراسیون

تنظیم
تنظیم

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

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

تنظیم دوم لوله دقیقه را کالیبره می کند. هر 0 ثانیه بین 0 ، 15 ، 30 ، 45 و 60 دقیقه تغییر می کند.

آخرین تنظیم این کار را برای هر افزایش ساعت تکرار می کند. بر خلاف ساعت آدافروت ، شاخص ساعت هر یک ساعت یکبار با افزایش ثابت حرکت می کند. هنگام استفاده از متر آنالوگ دریافت خطی برای هر ساعت دشوار بود.

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

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

مرحله 4: نصب و تکمیل

نصب و تکمیل
نصب و تکمیل
نصب و تکمیل
نصب و تکمیل
نصب و تکمیل
نصب و تکمیل

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

مرحله 5: طرح آردوینو - کالیبراسیون

#تعریف HOUR_PIN 1 // نمایش ساعت از طریق PWM در Trinket GPIO #1

#تعریف MINUTE_PIN 4 // نمایش دقیقه از طریق PWM در Trinket GPIO #4 (از طریق تایمر 1 تماس)

int ساعت = 57 ؛ دقیقه دقیقه = 57 ؛ // حداقل pwm را تنظیم کنید

void setup () {pinMode (HOUR_PIN ، OUTPUT) ؛ pinMode (MINUTE_PIN ، OUTPUT) ؛ PWM4_init ()؛ // تنظیم خروجی های PWM

}

void loop () {// با استفاده از این مورد ، گلدان های نیکسی را تغییر دهید تا مطمئن شوید حداکثر ارتفاع لوله با analogWrite مطابقت دارد (HOUR_PIN ، 255) ؛ analogWrite4 (255) ؛ // از این برای کالیبراسیون افزایش های دقیقه استفاده کنید

/*

analogWrite4 (57) ؛ // دقیقه 0 تاخیر (5000) ؛ analogWrite4 (107) ؛ // دقیقه 15 تاخیر (5000) ؛ analogWrite4 (156) ؛ // دقیقه 30 تاخیر (5000) ؛ analogWrite4 (206) ؛ // دقیقه 45 تاخیر (5000) ؛ analogWrite4 (255) ؛ // دقیقه 60 تاخیر (5000) ؛

*/

// از این برای کالیبراسیون افزایش ساعت /* استفاده کنید

analogWrite (HOUR_PIN ، 57) ؛ // 57 حداقل خروجی است و مربوط به تاخیر 1 صبح/بعد از ظهر (4000) است. // تأخیر 4 ثانیه analogWrite (HOUR_PIN ، 75) ؛ // 75 خروجی است که مربوط به 2 صبح/بعد از ظهر (4000) است. analogWrite (HOUR_PIN ، 93) ؛ // 93 خروجی مربوط به 3 صبح/بعد از ظهر (4000) است. analogWrite (HOUR_PIN ، 111) ؛ // 111 خروجی مربوط به 4 صبح/بعد از ظهر (4000) است. analogWrite (HOUR_PIN ، 129) ؛ // 129 خروجی است که مربوط به 5 صبح/بعد از ظهر (4000) است. analogWrite (HOUR_PIN ، 147) ؛ // 147 خروجی است که مربوط به 6 صبح/بعد از ظهر (4000) است. analogWrite (HOUR_PIN ، 165) ؛ // 165 خروجی مربوط به 7 صبح/بعد از ظهر (4000) است. analogWrite (HOUR_PIN ، 183) ؛ // 183 خروجی است که مربوط به 8 صبح/بعد از ظهر (4000) است. analogWrite (HOUR_PIN ، 201) ؛ // 201 خروجی است که مربوط به 9 صبح/بعد از ظهر (4000) است. analogWrite (HOUR_PIN ، 219) ؛ // 219 خروجی مربوط به 10 صبح/بعد از ظهر (4000) است. analogWrite (HOUR_PIN ، 237) ؛ // 237 خروجی مربوط به 11 صبح/بعد از ظهر (4000) است. analogWrite (HOUR_PIN ، 255) ؛ // 255 خروجی است که مربوط به 12 صبح/بعد از ظهر است

*/

}

void PWM4_init () {// راه اندازی PWM در Trinket GPIO #4 (PB4 ، پین 3) با استفاده از تایمر 1 TCCR1 = _BV (CS10) ؛ // بدون پیش فروش GTCCR = _BV (COM1B1) | _BV (PWM1B) ؛ // پاک کردن OC1B در مقایسه OCR1B = 127 ؛ // چرخه وظیفه مقداردهی اولیه تا 50٪ OCR1C = 255؛ // فرکانس }

// تابع مجاز analogWrite در Trinket GPIO #4 void analogWrite4 (uint8_t duty_value) {OCR1B = duty_value؛ // وظیفه ممکن است 0 تا 255 (0 تا 100))} باشد

مرحله 6: طرح آردوینو - ساعت

// ساعت سنج آنالوگ Adafruit Trinket

// عملکردهای تاریخ و زمان با استفاده از RTC DS1307 که از طریق I2C و lib TinyWireM متصل شده است

// این کتابخانه ها را از مخزن Adafruit's Github بارگیری کرده و // در فهرست کتابخانه های آردوینو خود نصب کنید #شامل #شامل

// برای اشکال زدایی ، کد سریال بدون نظر ، از FTDI Friend استفاده کنید که پین RX آن به پین 3 متصل است // شما به یک برنامه ترمینال (مانند PuTTY رایگان برای Windows) نیاز دارید که روی // درگاه USB دوست FTDI در 9600 تنظیم شده است. باود دستورات سریال را برای مشاهده آنچه در جریان است // نظر دهید (3) ؛ // انتقال سریال در Trinket Pin 3 RTC_DS1307 rtc؛ // ساعت واقعی را تنظیم کنید

void setup () {pinMode (HOUR_PIN ، OUTPUT) ؛ // پین متر PWM را به عنوان pinMode خروجی تعریف کنید (MINUTE_PIN ، OUTPUT) ؛ PWM4_init ()؛ // تایمر 1 را برای کار PWM در Trinket Pin 4 TinyWireM.begin () تنظیم کنید. // شروع I2C rtc.begin ()؛ // شروع ساعت واقعی DS1307 //Serial.begin(9600)؛ // در صورتی که (! rtc.isrunning ()) {/Serial.println("RTC اجرا نمی شود! "، Serial Monitor را در 9600 baud آغاز کنید!")؛ // خط زیر RTC را به تاریخ و زمان تنظیم این طرح تنظیم می کند rtc.adjust (DateTime (_ DATE_، _TIME_)) ؛ }}

void loop () {uint8_t hourvalue، minutevalue؛ uint8_t ساعت ولتاژ ، دقیقه ولتاژ ؛

DateTime now = rtc.now ()؛ // ساعت RTC info = now.hour () را دریافت کنید // ساعت (ifvalvalue> 12) hourvalue -= 12؛ // این ساعت 12 ساعت دقیقه دقیقه = now.minute () است. // صورتجلسه را دریافت کنید

دقیقه ولتاژ = نقشه (مقدار دقیقه ، 1 ، 60 ، 57 ، 255) ؛ // تبدیل دقیقه به چرخه وظیفه PWM

if (ساعت ساعتی == 1) {analogWrite (HOUR_PIN ، 57) ؛ } if (hourvalue == 2) {analogWrite (HOUR_PIN ، 75) ؛ // هر ساعت مربوط به +18} if (hourvalue == 3) {analogWrite (HOUR_PIN، 91)؛ }

if (ساعت ساعتی == 4) {analogWrite (HOUR_PIN ، 111) ؛ } if (hourvalue == 5) {analogWrite (HOUR_PIN، 126)؛ } if (hourvalue == 6) {analogWrite (HOUR_PIN، 147)؛ } if (hourvalue == 7) {analogWrite (HOUR_PIN، 165)؛ } if (hourvalue == 8) {analogWrite (HOUR_PIN، 183)؛ } if (hourvalue == 9) {analogWrite (HOUR_PIN، 201)؛ } if (ساعت ساعتی == 10) {analogWrite (HOUR_PIN ، 215) ؛ } if (ساعت ساعتی == 11) {analogWrite (HOUR_PIN ، 237) ؛ } if (ساعت ساعتی == 12) {analogWrite (HOUR_PIN ، 255) ؛ }

analogWrite4 (ولتاژ دقیقه) ؛ // دقیقه آنالوگ رایت می تواند همانند نقشه برداری باقی بماند. // زمان بررسی هر 5 ثانیه. شما می توانید این را تغییر دهید. }

void PWM4_init () {// راه اندازی PWM در Trinket GPIO #4 (PB4 ، پین 3) با استفاده از تایمر 1 TCCR1 = _BV (CS10) ؛ // بدون پیش فروش GTCCR = _BV (COM1B1) | _BV (PWM1B) ؛ // پاک کردن OC1B در مقایسه OCR1B = 127 ؛ // چرخه وظیفه مقداردهی اولیه تا 50٪ OCR1C = 255؛ // فرکانس }

// تابع مجاز analogWrite در Trinket GPIO #4 void analogWrite4 (uint8_t duty_value) {OCR1B = duty_value؛ // وظیفه ممکن است 0 تا 255 (0 تا 100))}

توصیه شده: