فهرست مطالب:
- مرحله 1: کد آردوینو - ایستگاه فرمان با صفحه کلید
- مرحله 2: کد آردوینو - نمایش TFT
- مرحله 3: کنترل کننده مشارکت
تصویری: مدل راه آهن - ایستگاه فرماندهی DCC با استفاده از آردوینو :: 3 مرحله
2024 نویسنده: John Day | [email protected]. آخرین اصلاح شده: 2024-01-30 08:56
به روز شده در آگوست 2018-دستورالعمل جدید را ببینید:
به روز رسانی 28 آوریل 2016: در حال حاضر 16 قابلیت حضور / کنترل نقاط در ایستگاه فرماندهی. خروجی های T1 - T8 از طریق کلید "B" در دسترس است Toutings T9 - T16 از طریق کلید "C" در دسترس است
به روز رسانی 10 مارس 2016:
اکنون 8 قابلیت کنترل مشارکت / امتیاز به ایستگاه فرماندهی اضافه شده است. کد آردوینو بر این اساس با استفاده از بسته استاندارد NMRA برای شرکت کنندگان در برنامه به روز شده است (همچنین بر اساس مطالعه بسته های داده Lenz / Atlas Compact برای کنترل مشارکت).
مشارکت مردم T1 - T8 از طریق کلید "B" در دسترس است
در مدار گیرنده بسته بسته داده مورد استفاده و کد آردوینو مورد نیاز را ببینید.
به روز رسانی 18 ژانویه 2016:
من یک مقاومت حسگر جریان (1k5 اهم) و یک خازن (10 uf) به مدار اضافه کرده و کد آردوینو را برای قطع برق در صورت تشخیص جریان پیک بیش از 3200 میلی آمپر در ثانیه اصلاح کرده ام. مشخصات H-bridge یک جریان حس خروجی 377 uA در 1 آمپر در بار را بیان می کند.
مقاومت 1.5 کیلو اهم 0.565 ولت بر آمپر بر روی پین آنالوگ 6 ارائه می دهد. با 1023 مرحله در ورودی آنالوگ ، این 0.565 * 1023 /5 = 116 در هر آمپر بار می دهد.
A = 100 * (analogRead (AN_CURRENT)) / 116 ؛ A = A * 10 ؛ (برای نتیجه در میلی آمپر)
جریان بار بر حسب میلی آمپر بر روی TFT نمایش داده می شود
صفحه کلید کامل 4x4 شامل توابع F1 تا F8 و 10 لوکوی دیگر (1-19) از طریق کلید '#' (برای افزودن 10 به کلیدهای عددی شروع شده از محل 10).
کد آردوینو شامل استاندارد NMRA برای بایت های آموزشی است.
پیوند را ببینید
www.nmra.org/sites/default/files/s-9.2.1_20…
(صفحه 6 ارتباط خاصی دارد)
بسته ها با توجه به تعداد مراحل سرعت ، آدرس طولانی / کوتاه و دستورالعمل های گروه عملکرد مرتب شده اند.
قبل از همه بایت های آموزشی مقدمه ای از بیت های "1" 11111111 (یا بسته بیکار) به دنبال آن وجود دارد.
به عنوان مثال، آدرس 4 بایت 0 00000011 0 00111111 0 10000011 0 10111111
برابر با loco 3 ، 128 مرحله سرعت ، جهت جلو و سرعت مرحله 3 (بایت انتهایی بررسی خطا XOR است)
به عنوان مثال آدرس 3 بایت 0 00000011 0 10010000 0 10110011
برابر با loco 3 ، گروه عملکرد 1 ، چراغ های FL به علاوه بایت XOR روشن می شود (یک بیت '0' هر بایت را جدا می کند)
فیلم ضمیمه تظاهرات محل 12 را مشاهده کنید.
توابع F1 - F8 از طریق کلید 'A' ، DIR ('*' key = جهت) FL ('0' کلید = چراغ) و کلید '#' محل های 10 تا 19 را بر روی صفحه کلید عددی در اختیار شما قرار می دهد. کلید "D" اکنون برای "توقف اضطراری" استفاده می شود.
با تشکر از ارائه دهندگان مختلف وب برای منابع اطلاعات DCC و کد آردوینو.
به طور خاص ، این پروژه از مایکل بلانک و "Simple DCC - a command station" الهام گرفته شده است.
www.oscale.net/fa/simpledcc
4x4 Matrix Array 16 Key Membrane Switch Keypad (ebay) 1.75 پوند
ماژول نمایش صفحه نمایش 2.2 اینچی 240x320 Serial SPI TFT LCD (ebay) 7.19 پوند
UNIVERSAL 12V 5A 60W POWER SUPPLY AC آداپتور (ebay) 6.49 پوند
Nano V3.0 برای آردوینو با CH340G 5V 16M سازگار ATmega328P (ebay) 2 x £ 3.30 = 6.60 £
ماژول درایور موتور LMD18200T برای Arduino R3 (ebay) 6.99 پوند
اتصالات ، سیم ، برد ورو ، پتانسیومتر تقریباً 3.50 پوند
مجموع 32.52 پوند
ایستگاه فرمان اصلی بدون صفحه نمایش tft و 1 x نانو 22.03 پوند خواهد بود
[توجه: امکان افزودن کارت حافظه به صفحه TFT و اصلاح کد برای نمایش تصاویر موتورهای منتخب وجود دارد ، اگرچه برای ایجاد حافظه بیشتر برای طرح ، کدهای کتابخانه باید ویرایش شوند. اندازه طرح فعلی حداکثر برای TFT Arduino Nano است]
کد اصلی آردوینو توسط Michael Blank برای یک موتور بود ، فقط به جلو / عقب بدون کنترل عملکرد ، بدون صفحه کلید و بدون صفحه نمایش.
من کد را شامل 1 تا 19 موتور ، صفحه نمایش ، جهت ، چراغ ها ، 8 عملکرد ، توقف اضطراری و محدودیت جریان خودکار تغییر دادم.
پل LMD18200T می تواند تا 3 آمپر حمل کند که آن را برای همه مقیاس ها از جمله مقیاس G (قطارهای باغی) مناسب می کند. منبع تغذیه اصلی و وسایل الکترونیکی فقط برای استفاده در محیط داخلی مناسب است مگر اینکه بتوانید همه آن را در برابر آب و هوا مقاوم کنید. من ایستگاه فرماندهی را در خانه ییلاقی دارم که سیم های ریل آنها از دیوار به مسیر عبور می کند.
مرحله 1: کد آردوینو - ایستگاه فرمان با صفحه کلید
از tvantenna2759 به خاطر اشاره به 2 خطا در نمودار مدار که در آن کد آردوینو با سیم کشی مطابقت نداشت ، تشکر می کنم ، اکنون به روز شده است (21 اکتبر 2017).
اکنون 16 شرکت کننده به ایستگاه فرماندهی اضافه شده است. با استفاده از ماژول Arduino Mini Pro در نمودار میزان مشارکت / نقاط را مشاهده کنید.
کد اصلاح شده شامل کنترل مشارکت در زیر پیوست شده است.
بسته رمزگشایی Accessory Basic عبارت است از: 0 10AAAAAA 0 1AAACDDD 0 EEEEEEEE 1 از تجزیه و تحلیل بسته مورد استفاده Lenz (Compact / Atlas) برای کنترل نقاط ، از فرمت بسته باینری زیر برای بایت 1 و 2 استفاده کرده ام: tunAddr = 1 Turnout 1a: 1000 0001 1111 1000 / مشارکت 1b: 1000 0001 1111 1001 مشارکت 2a: 1000 0001 1111 1010 / مشارکت 2b: 1000 0001 1111 1011 مشارکت 3a: 1000 0001 1111 1100 / مشارکت 3b: 1000 0001 1111 1101 مشارکت 4a: 1000 0001 1111 1110 / میزان مشارکت 4b: 1000 0001 1111 1111 tunAddr = 2 --------------------------------------------- ------------------------------------------------------ ------------ 1000 0010 1111 1100 / مشارکت 7b: 1000 0010 1111 1101 مشارکت 8a: 1000 0010 1111 1110 / مشارکت 8b: 1000 0010 1111 1111 ----------------------- ------------------------------------------------------ -------------------------------------- مشارکت 9a: 1000 0011 1111 1000 / مشارکت 9b: 1000 0011 1111 1001 و غیره ………
استخراج از کد اصلاح شده: 2 مورد دیگر به روز رسانی پیام "struct" اضافه کنید. جلوگیری از amend_tun1 (ساختار پیام & x) {x.data [0] = 0x81؛ // رمزگشای لوازم جانبی 0x80 و آدرس 1 x.data [1] = 0؛ }
void amend_tun2 (struct Message & x) {x.data [0] = 0x82؛ // رمزگشای لوازم جانبی 0x80 و آدرس 2 x.data [1] = 0؛ }
اضافه کردن خلأ جدید برای شرکت کنندگان: boolean read_turnout () {delay (20)؛
boolean change_t = false؛ get_key ()؛
if (key_val> = 101 && key_val <= 404 && turn == 1) {
داده = 0xf8؛ // = باینری 1111 1000
amend_tun1 (msg [1])؛
}
if (key_val> = 505 && key_val <= 808 && turn == 1) {
داده = 0xf8؛ // = باینری 1111 1000
amend_tun2 (msg [1])؛
}
if (key_val == 101 && turn == 1) {
if (tun1 == 1) {
داده | = 0؛ // t1a
change_t = true؛}
if (tun1 == 0) {
داده | = 0x01؛ // t1b
change_t = true؛}
}
if (key_val == 202 && turn == 1) {
if (tun2 == 1) {
داده | = 0x02؛ // t2a
change_t = true؛
}
if (tun2 == 0) {
داده | = 0x03؛ // t2b
change_t = true؛ }
}
if (key_val == 303 && turn == 1) {
if (tun3 == 1) {
داده | = 0x04؛ // t3a
change_t = true؛
}
if (tun3 == 0) {
داده | = 0x05؛ // t3b
change_t = true؛}
}
if (key_val == 404 && turn == 1) {
if (tun4 == 1) {
داده | = 0x06؛ // t4a
change_t = true؛
}
if (tun4 == 0) {
داده | = 0x07؛ // f4b
change_t = true؛}
}
if (key_val == 505 && turn == 1) {
if (tun5 == 1) {
داده | = 0؛ // t5a
change_t = true؛
}
if (tun5 == 0) {
داده | = 0x01؛ // t5b
change_t = true؛}
}
و غیره ………………….
مرحله 2: کد آردوینو - نمایش TFT
مدار نمایشگر با کد اصلاح شده یکسان باقی می ماند تا وضعیت 16 شرکت کننده را نشان دهد. توجه: کد کتابخانه تقریباً تمام حافظه طرح طرح را اشغال می کند و فضای کمی برای ویژگی های جدید باقی می گذارد. اگر کسی فایل کتابخانه ای کارآمدتری برای TFT مورد استفاده در اینجا دارد ، لطفاً به من اطلاع دهید.
مرحله 3: کنترل کننده مشارکت
نحوه ساخت کنترل کننده Turnout / Points را ببینید.
مدار کامل 16 نقطه و 15 لوازم جانبی مانند چراغ ، صدا ، صفحه گردان و غیره را کنترل می کند.
توصیه شده:
مدل خودکار طرح راه آهن در حال اجرا دو قطار (V2.0) - مبتنی بر آردوینو: 15 مرحله (همراه با تصاویر)
مدل خودکار طرح راه آهن در حال اجرا دو قطار (V2.0) | مبتنی بر آردوینو: خودکار طرح بندی راه آهن با استفاده از میکروکنترلرهای آردوینو راهی عالی برای ادغام میکروکنترلرها ، برنامه نویسی و مدل راه آهن در یک سرگرمی است. مجموعه ای از پروژه های موجود برای راه اندازی قطار به صورت خودکار در مدل راه آهن موجود است
طرح راه آهن مدل اتوماتیک ساده - آردوینو کنترل شده: 11 مرحله (همراه با تصاویر)
طرح راه آهن مدل اتوماتیک ساده | کنترل آردوینو: میکروکنترلرهای آردوینو یک افزودنی عالی برای راه آهن مدل هستند ، به ویژه هنگام برخورد با اتوماسیون. در اینجا راهی ساده و آسان برای شروع کار با مدل اتوماسیون راه آهن با آردوینو وجود دارد. بنابراین ، بدون هیچ گونه توضیح بیشتر ، بیایید شروع کنیم
راه آهن مدل کنترل شده تاچ پد لپ تاپ - PS/2 رابط آردوینو: 14 مرحله
راه آهن مدل کنترل شده تاچ پد لپ تاپ | PS/2 رابط آردوینو: صفحه لمسی لپ تاپ یکی از دستگاه های فوق العاده ای است که به عنوان ورودی برای پروژه های میکروکنترلر استفاده می شود. بنابراین امروز ، اجازه دهید این دستگاه را با میکروکنترلر آردوینو برای کنترل راه آهن مدل پیاده سازی کنیم. با استفاده از تاچ پد PS/2 ، می توانیم 3 تن را کنترل کنیم
مدل راه آهن مدل خودکار با حلقه های معکوس: 14 مرحله
طرح خودکار مدل راه آهن با حلقه های معکوس: در یکی از دستورالعمل های قبلی من ، نحوه ساخت یک راه آهن ساده نقطه ای به نقطه مدل ساده را نشان دادم. یکی از معایب اصلی آن پروژه این بود که قطار برای برگشت به نقطه شروع باید در جهت معکوس حرکت کند. آر
نحوه تنظیم یک وسیله نقلیه راه آهن راه آهن در مسیر: 10 مرحله (همراه با تصاویر)
نحوه تنظیم وسیله نقلیه راه آهن راه آهن در مسیر: اقدامات احتیاطی ایمنی: شخصی که کامیون را روی ریل قرار می دهد و شخص کمک کننده باید برای دیده شدن لباس های با دید بالا (مانند جلیقه ، پیراهن ، کت) بپوشد. با ترافیک احتمالی رو به رو هاردات و دستکش نیز باید پوشیده شود تا