สารบัญ:
- ขั้นตอนที่ 1: การทำงานของเครื่องปิ้งขนมปังและการเลือกฮาร์ดแวร์
- ขั้นตอนที่ 2: รายการฮาร์ดแวร์
- ขั้นตอนที่ 3: การดัดแปลงเคส: ด้านหลังคือด้านหน้า
- ขั้นตอนที่ 4: Front Arcyclic Board
- ขั้นตอนที่ 5: วงจรควบคุมเครื่องปิ้งขนมปัง
- ขั้นตอนที่ 6: Xbee Mod
- ขั้นตอนที่ 7: รหัสควบคุมเครื่องปิ้งขนมปัง
- ขั้นตอนที่ 8: ขนมปังปิ้งทั้งหมดของคุณเป็นของเรา: NetBSD Vs Raspbian
- ขั้นตอนที่ 9: ปิดรายการและสิ่งที่ต้องทำ
วีดีโอ: IronForge เครื่องปิ้งขนมปัง NetBSD: 9 ขั้นตอน (พร้อมรูปภาพ)
2024 ผู้เขียน: John Day | [email protected]. แก้ไขล่าสุด: 2024-01-30 13:07
โครงการนี้ไม่ได้เริ่มต้นเป็นเครื่องปิ้งขนมปัง แต่ในที่สุดก็กลายเป็นหนึ่งเดียว
แนวคิดนี้เกิดขึ้นเมื่อคอมพิวเตอร์ในครัวของฉัน (Windows CE PDA รุ่นเก่า) ซึ่งใช้แสดงสูตรการทำอาหารของฉันเสียชีวิต อันดับแรก ฉันกำลังคิดที่จะสร้างจอแสดงผลพลังงานต่ำที่ใช้หมึกอิเล็กทรอนิกส์ ซึ่งจะติดตู้เย็นของฉันด้วยแม่เหล็กและแบตเตอรี่จะหมดเป็นเวลานานมาก แต่แล้วฉันก็นำระบบเสียงรอบทิศทาง 2.1 แบบเก่าไปที่ห้องครัวเพื่อฟังเพลง ฉันก็เลยคิดว่าบางทีมันควรจะเป็นคอมพิวเตอร์ที่สามารถทำได้ทั้งสองอย่างเช่นกัน จากนั้นฉันก็นึกถึงโปรเจ็กต์เก่าอีกอันหนึ่ง:
www.embeddedarm.com/blog/netbsd-toaster-powered-by-the-ts-7200-arm9-sbc/
เครื่องปิ้งขนมปัง NetBSD ดั้งเดิม โครงการนี้เป็นเพียงเรื่องตลกสำหรับผู้ที่ไม่รู้:
“เป็นที่ทราบกันมานานแล้วว่าระบบปฏิบัติการ NetBSD ที่คล้ายกับ UNIX นั้นพกพาได้กับเครื่องทุกประเภท ยกเว้นเครื่องปิ้งขนมปังในครัวของคุณ”
มาสร้างเครื่องปิ้งขนมปังที่ใช้ NetBSD และ:
- ผู้ใช้สามารถปรับอุณหภูมิและเวลาในการปิ้งได้อย่างสมบูรณ์
- แม้ว่าจะไม่ได้ปิ้งขนมปัง แต่จะแสดงข้อมูลสภาพอากาศจากสถานีตรวจอากาศ 2 แห่งบนแดชบอร์ดที่มีสไตล์
- เมื่อปิ้งขนมปังจะแสดงเวลาและอุณหภูมิที่เหลืออยู่ทั้งบนกราฟและตัวเลข
- เมื่อไม่ปิ้งขนมปัง ยังสามารถใช้เป็นนาฬิกาปลุก ฟังเพลง หรือแม้แต่เล่นภาพยนตร์ได้อีกด้วย
- แสดงสูตรการทำอาหารหรือสามารถใช้สำหรับการเรียกดูปกติ
ขั้นตอนที่ 1: การทำงานของเครื่องปิ้งขนมปังและการเลือกฮาร์ดแวร์
ฉันไม่เชื่อว่าฉันเลือกเครื่องปิ้งขนมปังได้ดี ฉันจึงแนะนำการทำงานภายในของเครื่องปิ้งขนมปังคร่าวๆ โดยเลือกเกณฑ์และประสบการณ์ด้วยตัวเอง และให้ผู้อ่านเลือกเครื่องปิ้งขนมปังเอง สำหรับแฮ็คนี้
เกณฑ์หลักประการหนึ่งของฉันที่มีต่อเครื่องปิ้งขนมปังคือการทำขนมปังได้ 4 ชิ้นพร้อมกันและทำงานโดยอัตโนมัติ ดังนั้นหลังจากผ่านไปสองสามชั่วโมงในการอ่านผ่าน Ebay ของเยอรมัน ฉันจึงตัดสินใจถัดจาก
เครื่องปิ้งขนมปัง Severin AT 2509 (1400W)
www.severin.de/fruehstueck/toaster/automati…
นี่เป็นแบรนด์ที่แพร่หลายในเยอรมนี โดยมีราคาประมาณ 40-50 ยูโรในขณะที่เขียนว่าใหม่เอี่ยม
คุณลักษณะสำคัญที่ผู้ผลิตโฆษณา:
● ตัวเรือนสแตนเลสหุ้มฉนวนความร้อน
● สิ่งที่แนบมากับการคั่วกลิ้งแบบบูรณาการ
● ก้านย่างแบบสล็อตยาว 2 อันสำหรับขนมปัง 4 แผ่น
● อุปกรณ์อิเล็กทรอนิกส์เวลาย่างพร้อมเซ็นเซอร์อุณหภูมิ
● ปรับระดับการฟอกหนังได้
● ระดับการละลายน้ำแข็งพร้อมไฟแสดงสถานะ
● ขั้นตอนการวอร์มอัพโดยไม่ต้องฟอกเพิ่มเติมด้วยไฟควบคุม
● ปุ่มปลดล็อคแบบแยกพร้อมไฟแสดงสถานะ
● ตัวแบ่งส่วนข้อมูลขนมปังวางตรงกลางเพื่อให้ด้านทั้งสองด้านเป็นสีน้ำตาลเท่ากัน
● ปิดเครื่องอัตโนมัติเมื่อแผ่นขนมปังติดขัด
● ถาดรองเศษขนมปัง
● กรอสายเคเบิล
แม้ว่าผู้ผลิตไม่ได้อ้างว่าสามารถปรับอุณหภูมิได้ แต่ก็ทำให้เกิดความเข้าใจผิด 2 จุด:
● ขั้นตอนการวอร์มอัพโดยไม่ต้องฟอกเพิ่มเติมด้วยไฟควบคุม
● อุปกรณ์อิเล็กทรอนิกส์เวลาย่างพร้อมเซ็นเซอร์อุณหภูมิ
เพื่ออ้างถึงการอ้างสิทธิ์เหล่านี้ มาดูกันว่าเครื่องทำงานอย่างไร:
1 ในสถานะปกติ 230V หลักจะถูกตัดการเชื่อมต่ออย่างสมบูรณ์ ไม่มีส่วนใดของเครื่องปิ้งขนมปังถูกขับเคลื่อน
2 เมื่อผู้ใช้ดึงคันโยกลง (ซึ่งดึงขนมปังลงมาด้วย) อุปกรณ์จะเชื่อมต่อองค์ประกอบความร้อนทั้งสองด้าน
สิ่งที่พวกเขาทำในที่นี้คือการออกแบบที่ราคาถูกแต่ยังฉลาดอีกด้วย ไม่มีหม้อแปลงอยู่ภายในเครื่องปิ้งขนมปัง ดังนั้นคุณอาจสงสัยว่ามันได้รับแรงดันไฟต่ำ (10V AC ~) ได้อย่างไร มีขดลวดแยกต่างหากพร้อมกับองค์ประกอบความร้อนตัวใดตัวหนึ่งที่ด้านซ้ายของเครื่องปิ้งขนมปังที่ทำหน้าที่เหมือนหม้อแปลงแบบสเต็ปดาวน์ที่สร้าง 10V AC
จากนั้นจะใช้วงจรเรียงกระแสไดโอดตัวเดียวเพื่อสร้าง 10V DC ซึ่งจ่ายไฟให้กับแผงควบคุมหลักของเครื่องปิ้งขนมปัง
3, สิ่งแรกที่ฉันคิด - นั่นคือโซลินอยด์ + หม้อแปลงไฟฟ้า - กลายเป็นโซลินอยด์เดี่ยวที่อยู่ใต้คันโยกซึ่งตอนนี้ขับเคลื่อนโดยวงจรควบคุมและรับผิดชอบเพียงสิ่งเดียวเท่านั้น (เพื่อให้คันโยกนั้นดึงลง)
ทันทีที่โซลินอยด์นี้ปล่อยขนมปัง มันก็หมดสิ้น โดยพื้นฐานแล้ว เครื่องปิ้งขนมปังจะตัดกระแสไฟฟ้าของตัวเองออก ซึ่งจะทำให้กระบวนการปิ้งขนมปังเสร็จสิ้น
ดังนั้นคุณสามารถถามได้อย่างถูกต้องว่าปุ่มแฟนซีและข้อเรียกร้องในแผ่นข้อมูลมีอะไรบ้างที่สามารถละลายน้ำแข็ง อุ่นเครื่อง อุ่นเครื่อง และอะไรก็ตาม… ฉันจะบอกว่ามันเป็น BS การตลาดล้วนๆ พวกเขาสามารถใส่ตัวปรับเวลาและปุ่มเดียวได้ 1 ปุ่มเพราะในตอนท้ายของวันวงจรนี้ไม่มีอะไรมากไปกว่าตัวจับเวลา เนื่องจากวงจรนี้ป้อนจากแหล่งพลังงานเดียวกับตัวทำความร้อน และมันก็ไม่สามารถควบคุมสิ่งเดียวที่สำคัญในเครื่องนี้ (ฮีตเตอร์) ดังนั้นฉันจึงไม่ใส่ใจที่จะดัดแปลงวงจรนี้เพิ่มเติม เพียงแค่โยนมันไปในที่ที่มันอยู่ ถังขยะ
ตอนนี้วงจรควบคุมระดับทหารหมดหนทางแล้ว มาควบคุมเต็มรูปแบบบนเครื่องปิ้งขนมปังกันดีกว่า
ขั้นตอนที่ 2: รายการฮาร์ดแวร์
นี่ไม่ใช่ full bom อีกครั้ง ไม่รวมพื้นฐานทั้งหมดเช่นสายไฟและสกรู:
- เครื่องปิ้งขนมปัง 1x AT 2509 (1400W) หรือเครื่องปิ้งขนมปังอื่น ๆ ที่คุณเลือก
- 1x Arduino Pro Micro
- 1x5 นิ้วหน้าจอสัมผัสแบบ Resistive LCD แสดงผล HDMI สำหรับ Raspberry Pi XPT2046 BE
- 1x Raspberry PI 2 หรือ Raspberry PI 3
- 1x SanDisk 16GB 32GB 64GB การ์ด Ultra Micro SD SDHC 80MB/s UHS-I Class10 w Adapter (สำหรับ PI)
- 2x SIP-1A05 รีเลย์สวิตช์กก
- 1x1PCS MAX6675 โมดูล + K Type Thermocouple Temperature Sensor สำหรับ Arduino (แนะนำให้ซื้ออะไหล่)
- 1x เอาต์พุต 24V-380V 25A SSR-25 DA โซลิดสเตตรีเลย์ PID Temperature Controller
- 1x Mini DC-DC Buck Converter ขั้นตอนลงโมดูลพาวเวอร์ซัพพลายสำหรับ aeromodelling (ซื้อมากกว่านี้เพื่อทดแทน)
- 2x Rotary Encoder Module Brick Sensor Development Board สำหรับ Arduino (สวิตช์โรตารี่ + กลาง แนะนำให้ซื้อมากกว่านี้เพื่อทดแทน)
- 2x WS2812B 5050 RGB LED Ring 24บิตRGB LED
- 1x1mm A5 โปร่งใส Perspex แผ่นอะคริลิคพลาสติก Plexiglass Cut 148x210mm Lot
- อะแดปเตอร์ 1x12V 2A DC (1A ก็น่าจะเพียงพอสำหรับ Pi+Screen+Ardu แต่จะดีกว่าในกรณีที่คุณจะเชื่อมต่ออุปกรณ์เพิ่มเติมผ่าน USB ซึ่งจะทำให้กระแสไฟไหลออกมากเกินไป)
- 1x PCS HC-SR501 IR อินฟราเรดแบบไพโรอิเล็กทริก IR PIR Motion เซนเซอร์ โมดูลตรวจจับ
- 2x Jumper Wire 5 Pin Female to Female Dupont Cable 20cm for Arduino (สำหรับโรตารี่ควรซื้อมากกว่านี้)
- 2x อลูมิเนียมอัลลอยด์ Volume KNOB 38x22mm สำหรับ 6mm Potentiometer SHAFT Silver
- รีเลย์ 230V 1x
- กลุ่มตัวเมียแถวเดี่ยว 2.54 มม. + ตัวเชื่อมต่อส่วนหัวที่แตกหักได้สำหรับการเชื่อมต่อ
- อุปกรณ์เสริมสำหรับ Xbee mod: 1X10P 10pin 2mm Female Single Row Straight Pin Header Strip XBee Socket
- ตัวเลือกสำหรับ Xbee mod: 1 Xbee
- อุปกรณ์เสริมสำหรับ Xbee mod: 1x Jumper Wire 4 Pin Female to Female Dupont Cable 20 ซม. สำหรับ Arduino (ระหว่าง Xbee Raspi)
สำหรับแหล่งจ่ายไฟ คุณต้องใช้ 12V แทน 5V เนื่องจากโซลินอยด์จะไม่อยู่ที่ระดับแรงดันต่ำนั้น อย่าลืมเพิ่มฟลายแบ็คไดโอดบนโซลินอยด์
หากคุณตัดสินใจที่จะใช้ส่วนประกอบอื่นๆ เช่น โมดูลบั๊กที่แตกต่างกันสำหรับการลดแรงดันไฟฟ้าจาก 12V->5V คุณต้องออกแบบบอร์ดใหม่ บอร์ดนี้ถูกสร้างขึ้นสำหรับตัวแปลงบั๊กสี่เหลี่ยมขนาดเล็กเฉพาะตัวนั้น
ขั้นตอนที่ 3: การดัดแปลงเคส: ด้านหลังคือด้านหน้า
หลังจากถอดวงจรควบคุมหลักออกแล้ว ยังมีรูน่าเกลียดขนาดใหญ่ที่มองออกไปที่ตำแหน่งของสวิตช์ ดังนั้นฉันจึงตัดสินใจว่าจะใช้ด้านนั้นเป็นด้านหลังและแก้ไขกล่องรวมสัญญาณที่มี SSR (Solid State Relay -> สำหรับ การควบคุมความร้อน) + รีเลย์ 230V AC (สำหรับการตรวจจับพลังงาน) + อะแดปเตอร์ 12V ที่ให้พลังงานทั้งวงจร
เครื่องปิ้งขนมปังรุ่นนี้ค่อนข้างยากที่จะถอดประกอบและประกอบใหม่ ฉันไม่พบวิธีอื่นในการถอดเคสออก แต่ตัดด้วยเดรมเมลด้านขวาใต้คันโยกดึงหลักเพื่อให้สามารถยกปลอกขึ้นได้หลังจากคลายเกลียวและถอดคันโยก (โชคดีที่มีการเคลือบพลาสติกด้านนอกอยู่ในส่วนนั้น นี้จะไม่สังเกตเห็น)
ฉันได้เสียบปลายเครื่องตรวจจับของเทอร์โมคัปเปิล MAX6675 ที่ด้านล่างของเครื่องปิ้งขนมปังบนขอบตรงข้ามกับคันโยกหลัก (ซึ่งมันจะขัดแย้งกับกลไกของคันโยก)
ตัวเคสด้านในเป็นอะลูมิเนียมอย่างดีที่คุณไม่จำเป็นต้องเจาะด้วยซ้ำ สามารถเจาะรูเล็กๆ ให้กว้างขึ้นได้ง่ายๆ ด้วยไขควง จากนั้นจึงใส่เซ็นเซอร์เข้าไป ส่วนที่ทำได้ยากก็คือการไขเกลียวจากด้านใน ฉันต้องหาวิธีแก้ปัญหาที่ชาญฉลาดในการทำเช่นนั้น ดังแสดงในรูปภาพ
การแยกชิ้นส่วนเครื่องปิ้งขนมปังภายในหลักที่มีองค์ประกอบความร้อนนั้นมีไว้สำหรับผู้ที่มีเส้นประสาทแข็งแรงเท่านั้น และไม่แนะนำเป็นอย่างยิ่ง ไม่มีอะไรอื่นที่คุณต้องทำในนั้นอยู่แล้ว
สายไฟของ MAX6675 นั้นยาวพอที่จะป้อนผ่านด้านล่างของเครื่องไปยังรูที่นำสายเคเบิลออกได้อย่างง่ายดาย
การนำสายเคเบิลที่จำเป็นทั้งหมดจากที่หนึ่งไปยังอีกที่หนึ่งเป็นงานม็อดที่ท้าทายที่สุดงานหนึ่ง ฉันไม่ต้องเจาะรูอีกรูที่ด้านข้าง (ตอนนี้ด้านหลัง) เพราะสายเคเบิลสามารถใช้รูจากสวิตช์ได้ จากนั้นจึงจำเป็นต้องยึดสายเคเบิลไว้กับผนังของเคส นำลงไปด้านล่างผ่านพื้นที่แคบๆ ที่เชื่อมต่อเข้าด้วยกันด้วยสายไฟพิเศษอีกสองสามเส้นจากบอร์ดควบคุมไฟฟ้าแรงสูง ได้แก่:
- 1 สายจากองค์ประกอบความร้อน -> ไปที่SSR
- 1 สายจาก 230V (ควรจุดสีน้ำตาลร้อน) -> ไปที่SSR
- 2 สายจาก 230V พร้อมสถานะปิดสวิตช์ -> ไปที่ Start Relay
- 2 สายจาก 230V หลักใน -> ไปที่อะแดปเตอร์ 12V ที่ด้านหลัง
- สายไฟหุ้มฉนวนจากเทอร์โมเซนเซอร์
และนั่นคือทั้งหมดที่คุณต้องใช้ในการควบคุมเครื่องปิ้งขนมปัง
เนื่องจากการบัดกรีในอุตสาหกรรม ฉันจึงตัดสินใจตัดลวดระหว่างตัวทำความร้อนและปลายด้านหนึ่งของสายหลัก (ตามหลังสวิตช์) และต่อด้วยแถบขั้วต่อเข้ากับ SSR
ต้องใช้รีเลย์ที่ทำงานจาก 230V (แรงดันไฟหลัก) นี่คือรีเลย์สตาร์ทซึ่งจะทำให้ Arduino รู้ว่าผู้ใช้ได้ดึงคันโยกลงหรือเริ่มกระบวนการปิ้งขนมปัง อย่าลืมว่าวงจรควบคุมไม่เข้าที่แล้ว โซลินอยด์ไม่ได้รับพลังงานซึ่งจะกดคันโยกลงและเครื่องทำความร้อนก็ถูกตัดการเชื่อมต่อเช่นกัน (ควบคุมผ่าน SSR) จากนี้ไปจะเป็นงานของ Arduino ทั้งหมด
อะแดปเตอร์ DC 12V ต่อเข้ากับสายไฟหลักโดยตรง (ฉันได้เพิ่มสวิตช์เปิด/ปิดพิเศษที่ด้านหลัง) สิ่งนี้จะให้พลังงานคงที่สำหรับวงจร เครื่องปิ้งขนมปังในโหมดสแตนด์บายใช้พลังงานเพียง: 5.5 W เมื่อเปิดหน้าจอ และ 5.4W เมื่อปิดอยู่
ขั้นตอนที่ 4: Front Arcyclic Board
ฉันไม่ใช่ผู้เชี่ยวชาญในการทำงานกับวัสดุนี้ ฉันได้รับคำแนะนำในการเจาะมันด้วยเดรมเมลรอบต่อนาทีสูงใต้น้ำไหล แต่ฉันไม่ต้องการทำให้มันสมบูรณ์แบบเกินไป ดังนั้นสิ่งที่ฉันทำคือการเจาะตามปกติ หลุม ยอมแพ้โดยสมบูรณ์ด้วยการ dremmeling ส่วนระหว่าง Raspi กับหน้าจอ แต่ฉันเจาะรูเฉพาะที่ spacers ของหน้าจอและที่ตัวเชื่อมต่อของ Raspi จากนั้นฉันก็ยื่นสารที่เหลือเป็นสี่เหลี่ยมเพื่อให้ตัวเชื่อมต่อพอดี ผ่าน.
คุณจะเห็นว่าแผ่นเพล็กซี่มีรอยร้าวเล็กๆ รอบการเจาะ ดังนั้นคุณจึงรู้ว่าควรหลีกเลี่ยงสิ่งใดหากต้องการออกแบบให้สมบูรณ์แบบ
อย่างไรก็ตาม เนื่องจากความร้อน คุณจึงไม่สามารถใส่สิ่งของใดๆ ในกล่องของเครื่องปิ้งขนมปังได้ อุปกรณ์อิเล็กทรอนิกส์ทั้งหมดจะต้องติดตั้งไว้ในระยะที่ปลอดภัยจากเครื่องทำความร้อน
ฉันไม่ได้ทำแบบร่างการออกแบบที่เหมาะสมสำหรับแผ่น Plexiglass ขนาด 148x210 มม. แค่พยายามปรับทุกอย่างให้สมมาตรและอยู่ในแนวเดียวกัน ดังนั้นฉันขอโทษที่ฉันไม่สามารถจัดทำโครงร่างใดๆ สำหรับส่วนนี้ที่คุณต้องทำเองได้ อย่างไรก็ตาม ฉันมี 1 คำแนะนำ:
ก่อนที่จะติดกาววงแหวน LED ให้เปิดใช้งานด้วย Arduino และสว่างขึ้นและทำเครื่องหมายด้วยปากกาที่ไฟ LED FIRST และ LAST ที่ด้านหลัง ดังนั้นคุณจะไม่ลงเอยด้วยการติดตั้งโดยหมุนเล็กน้อยเหมือนที่ฉันทำ (แต่สิ่งนี้สามารถแก้ไขได้จากซอฟต์แวร์)
มีตัวเว้นวรรค 6 ตัวที่ออกแบบมาเพื่อยึดแผงด้านหน้าทั้งหมดให้เข้าที่ แต่ในตอนท้ายเนื่องจากตัวหมุนที่มีความยาวสั้น ตัวหมุนด้านล่าง 2 ตัวจะไม่ถูกป้อนผ่านแผง
ฉันใช้ตัวเว้นวรรคสำหรับเมนบอร์ดพีซีปกติระหว่างโรตารี่และแผง plexi และยังเพิ่มอีก 2-2 หลังโรตารีเพื่อเพิ่มความเสถียรเมื่อกดปุ่ม
ขั้นตอนที่ 5: วงจรควบคุมเครื่องปิ้งขนมปัง
นี่เป็นหนึ่งในโครงการที่ขยายพิน Arduino ทั้งหมดให้เต็มจริง ๆ:) RX และ TX ถูกสงวนไว้สำหรับส่วนขยายโมดูลการสื่อสารในอนาคต
แผงวงจรหลักจ่ายไฟให้กับทุกสิ่งผ่านตัวแปลงบั๊ก (Arduino, Raspi, Screen, SSR, รีเลย์) ที่นี่ฉันจะทราบว่าตัวควบคุมแรงดันไฟฟ้านี้ไม่ทันสมัยอย่างแน่นอน ไม่สามารถผ่านแรงดันไฟฟ้าขาเข้า 12V DC มากเกินไปได้ หากคุณตัดสินใจที่จะใช้ประเภทเดียวกันทุกประการ ตรวจสอบให้แน่ใจว่าอะแดปเตอร์ของคุณมีแรงดันไฟฟ้าวงจรเปิด 12V ที่เสถียร (ไม่เหมือนอะแดปเตอร์ WRT54G โดยที่คุณจะเห็นควันวิเศษออกมาในไม่กี่วินาที)
ฉันทำให้บอร์ดเป็นแบบโมดูลาร์มากที่สุดโดยใช้ซ็อกเก็ตที่ฉันทำได้ นอกเหนือจากรีเลย์ 2 กก. ทุกอย่างสามารถเปลี่ยนได้อย่างง่ายดาย
รีเลย์กกที่ยอดเยี่ยมทั้งสองนี้มาพร้อมกับฟลายแบ็คไดโอดและกินไฟไม่เกิน 7mA เพื่อให้สามารถเชื่อมต่อโดยตรงกับพิน Arduino ใดๆ (ฉันจะแนะนำสิ่งเหล่านี้ต่อไปในโครงการในอนาคตของฉันด้วย) หน้าที่ของรีเลย์:
หนึ่งคือการเปิดโซลินอยด์เมื่อเริ่มกระบวนการปิ้งขนมปัง (เพื่อดึงคันโยกลง)
หนึ่งคือการเปิดและปิดหน้าจอโดยอัตโนมัติในกรณีที่ตรวจพบการเคลื่อนไหว
ฉันคิดว่าการรันหน้าจอ HDMI ตลอด 24 ชั่วโมงทุกวันไม่ได้ให้อายุการใช้งานที่ยาวนาน (โดยเฉพาะสิ่งที่ฉันใช้นั้นเป็นเพียงของปลอมราคาถูก ไม่ใช่ WaveShare ดั้งเดิม:
และพีซีของคุณสามารถเปิดหน้าจอเมื่อคุณเข้าห้องได้หรือไม่ ฉันไม่คิดอย่างนั้น เครื่องปิ้งขนมปัง BSD ทำได้!
โดยทั่วไปแล้วหน้าจอจะจับเวลาค้างไว้ 10 นาทีซึ่งจะชนโดยอัตโนมัติทุกครั้งที่มีการเคลื่อนไหวอีกครั้ง สมมุติว่าเปิดเครื่องแล้วมีการเคลื่อนไหวอีกครั้งในอีก 9 นาทีต่อมา ซึ่งหมายความว่าเครื่องจะเปิดต่อไปอีก 10 นาที การเปิดและปิดไม่ดีต่อสุขภาพสำหรับวงจรใดๆ ยกเว้น SSR
ซึ่งนำเราไปสู่องค์ประกอบควบคุมที่ 3 และสุดท้ายสำหรับการควบคุมฮีตเตอร์ อุปกรณ์เล็กๆ เหล่านี้ถูกสร้างขึ้นมาโดยเฉพาะสำหรับการเปิดและปิดจำนวนมากเพื่อควบคุมอุณหภูมิให้อยู่ภายใต้การควบคุม สิ่งที่ฉันเลือกจะทำงานได้ดีโดยตรงจากพินเอาต์พุต Arduino
ในการออกแบบดั้งเดิม น่าจะมีรีเลย์อีกตัวบนบอร์ดสำหรับเปิดชุดลำโพง 2.1 ก่อนที่ Raspberry pi จะส่งเสียงเตือนในตอนเช้า (นอกจากนี้ยังเพิ่มเพลงได้ง่ายมากเมื่อการปิ้งขนมปังเสร็จสิ้น) แต่เนื่องจากนี่คือเหตุผล IoT รบกวน? มันแค่ขอให้ raspi อื่นในเครือข่ายของฉันทำสิ่งนั้นให้ฉันด้วย RCSwitch มาตรฐาน 433Mhz
ตามปกติแล้วจะมีข้อผิดพลาดเล็กๆ น้อยๆ เกิดขึ้นกับบอร์ดเวอร์ชัน 0.4 สิ่งที่สามารถเห็นได้จากรูปภาพ คือตัวเชื่อมต่อ 5V อีก 2 ตัวและตัวเชื่อมต่อสำหรับรีเลย์อินพุตบน Arduino pin 10 ถูกทิ้งไว้
ฉันได้แก้ไขสิ่งเหล่านี้ในเวอร์ชัน 0.5 และฉันยังสร้างเวอร์ชันที่ไม่ใช่ Xbee ด้วย
เนื่องจากนี่เป็นบอร์ด 2 ชั้นเพียงแค่ดาวน์โหลดเลย์เอาต์เหล่านี้และ DIY จะยาก คุณจะต้องพิมพ์ทั้ง 2 ด้านให้แม่นยำ แกะสลักบอร์ดและหาวิธีเชื่อมต่อด้านข้าง ดังนั้นฉันจะเชื่อมโยงในภายหลังในโปรเจ็กต์ที่แชร์ของ Easyeda. ขอแนะนำให้สั่งซื้อโดยตรงจากพวกเขา
ขั้นตอนที่ 6: Xbee Mod
Xbee อยู่ที่นี่เพียงเพื่อควบคุมเครื่องชงกาแฟโดยตรงผ่านมัน เพราะมันค่อนข้างใกล้กับในระยะไกลและไม่มีสิ่งกีดขวางระหว่างทั้งสอง
มันไม่เกี่ยวอะไรกับเครื่องปิ้งขนมปังหรือรหัสเครื่องปิ้งขนมปังเลย
เกี่ยวกับม็อด Xbee: นี่เป็นทางเลือกโดยสมบูรณ์ นั่นคือเหตุผลที่ฉันรวมแผนผังสำหรับบอร์ดนี้ทั้งที่มีและไม่มี Xbee Xbee ถูกบัดกรีโดยตรงในพอร์ต UART ฮาร์ดแวร์ RX/TX ของ Raspberry PI (ttyAMA0) ซึ่งแม้จะนำออกไปที่ขั้วต่อของหน้าจอ แต่หน้าจอไม่ได้ใช้งาน (ใช้อินเทอร์เฟซ SPI เพื่อสื่อสารพิกัดสัมผัสระหว่าง PI กับตัวมันเอง).
ฉันทุ่มเทพอร์ตอนุกรมแยกต่างหากบน PI สำหรับการสื่อสาร Xbee แทนที่จะส่งข้อความผ่าน Raspberry -> Arduino -> ตัวแปลง 5v3v -> Xbee -> อุปกรณ์อื่น ๆ วิธีนี้ไม่ใช่ปัญหาที่กระบวนการปิ้งขนมปังจะบล็อก MCU ทั้งหมด
ขั้นตอนที่ 7: รหัสควบคุมเครื่องปิ้งขนมปัง
โค้ดนี้ค่อนข้างง่ายเนื่องจากมีการสื่อสารทางเดียวระหว่าง Arduio -> Raspberry PI
อุปกรณ์นี้ไม่เหมือนกับเครื่องชงกาแฟที่ไม่สามารถควบคุมจากโทรศัพท์หรือคอมพิวเตอร์ได้ด้วยตนเองด้วยการควบคุมแบบแฟนซี
หน้าที่เดียวของ PI ที่นี่คือการบันทึกข้อมูลและแสดงกราฟที่ดี ไม่ใช่ขวดสำหรับการทำงานของเครื่องปิ้งขนมปัง มันสามารถปิดอย่างสมบูรณ์หรือลบออกจากโครงการนี้ Arduino ทำงานทั้งหมด
ในตอนเริ่มต้น โค้ดจะรีเซ็ตวงแหวนนำ เริ่มตัวจับเวลาพักแบบต่างๆ และในแต่ละลูปจะดูจากอินพุตจากสวิตช์แบบหมุน 2 ตัว อินพุตนี้อาจหมายถึงการหมุนตามเข็มนาฬิกาหรือทวนเข็มนาฬิกาหรือกดสวิตช์ 2 ตัว (ซึ่งในโหมดไม่ได้ใช้งานเพียงแค่ส่งคำสั่งพื้นฐาน IRONFORGE_OFF_ALARM ไปยังคอมพิวเตอร์แล้วตั้งค่ากลับเป็นสถานะ IRONFORGE_OFF ปกติ)
ภายใน rotary_read_temp() และ rotary_read_time() จะมีการเปลี่ยนแปลงตัวแปร global_temp และ global_time นี่เป็นที่เดียวในโค้ดที่ค่าเหล่านี้สามารถเปลี่ยนแปลงได้ และจะเก็บค่าไว้ระหว่างเหตุการณ์การฉลอง
ภายในฟังก์ชันทั้งสองนี้ rotary_memory() จะถูกเรียกเมื่อตรวจพบการเปลี่ยนแปลงในตำแหน่ง ทั้งนี้เพื่อวัตถุประสงค์ในการโหลดสถานะนำบนวงแหวนกลับคืน เนื่องจากหลังจากกระบวนการปิ้งแล้ว สถานะจะถูกรีเซ็ตกลับเป็นสีดำ เพื่อไม่ให้สิ้นเปลืองพลังงานและยืดอายุการใช้งาน
ไฟ LED จะถูกปิดเป็นระยะทุกๆ 10 นาทีในกรณีที่ไม่มีเหตุการณ์การหมุนล่าสุด
การรวมกันของ 2 ฟังก์ชันนี้จะส่งผลให้:
1, สมมติว่าสถานะว่าง
2, โรตารี่ใด ๆ ที่ย้าย (หากมีการปรับก่อนหน้านี้ ค่าเหล่านี้จะถูกเรียกคืนจากหน่วยความจำและแสดงบนไฟ LED)
3, หากกระบวนการปิ้งขนมปังไม่เริ่มต้นและไม่มีเหตุการณ์การปรับแต่งเพิ่มเติม ไฟจะดับลงอีกครั้ง
ฉันยังย้ายพวกมันไปยังตัวจับเวลาพักแยกจากหน้าจอเพราะคอมพิวเตอร์จะใช้มากในการแสดงข้อมูลสภาพอากาศ แต่ฉันไม่ต้องการให้ไฟ LED แบบหมุนถูกเรียกคืนตลอดเวลาเพราะฉันไม่ต้องการทำขนมปังปิ้งเป็นล้าน วัน.
กระบวนการปิ้งขนมปังหลัก (ด้าน Arduino):
สิ่งนี้จะเริ่มต้นเมื่อระบบถูกทริกเกอร์จากรีเลย์อินพุตเริ่มต้น (230V) (และทั้งเวลาและอุณหภูมิจะแตกต่างจากศูนย์) การไหลของโปรแกรมมีดังต่อไปนี้ที่ด้าน Arduino:
1, เปิดโซลินอยด์เพื่อกดคันโยก
2, เปิด SSR เพื่อให้ความร้อนขึ้น
3 ขึ้นอยู่กับเวลาที่เริ่มการปิ้งแบบวนซ้ำซึ่งนับถอยหลัง ในแต่ละลูปส่งข้อมูลต่อไปนี้ไปยังคอมพิวเตอร์:
-TEMPERATURE (เดิมเป็นค่าทศนิยม แต่ถูกส่งเป็น 2 สตริง CSV)
-TIME ยังคงอยู่ (เป็นวินาที ซึ่งจะถูกแปลงกลับเป็นรูปแบบ mm:ss อีกด้านหนึ่ง)
4, ในแต่ละวงขึ้นอยู่กับอุณหภูมิที่ตั้งไว้เปิดหรือปิด SSR เพื่อควบคุมกระบวนการปิ้ง
5 เมื่อสิ้นสุดลูปปิ้ง คำสั่ง IRONFORGE_OFF จะถูกส่งไปยังคอมพิวเตอร์
6, ปิด SSR แล้วปล่อยโซลินอยด์
7, เล่นเกม LED เพื่อโชว์ออฟ (ที่นี่คุณสามารถเพิ่มเล่นเพลงหรือการกระทำอื่น ๆ ที่คุณต้องการได้)
8, ไฟ LED ดับ
อย่างที่ฉันพูดไปก่อนหน้านี้ว่าการวนรอบการปิ้งหลักนั้นบล็อก MCU อย่างสมบูรณ์ ไม่มีงานอื่นใดที่สามารถทำได้ในช่วงเวลานี้ นอกจากนี้ยังจะละเว้นอินพุตแบบหมุนในช่วงเวลานี้ด้วย
กระบวนการปิ้งหลัก (Raspberry PI Side):
raspberry pi รันโปรแกรมควบคุม head C กับผู้ใช้ที่ไม่ได้รับสิทธิพิเศษซึ่งรับผิดชอบการโต้ตอบทั้งหมดบนเดสก์ท็อป
ฉันตัดสินใจใช้ Conky สำหรับการแสดงกราฟทั้งหมดเพราะฉันใช้มันมานับสิบปีแล้วและดูเหมือนว่าจะใช้งานง่ายที่สุดสำหรับงาน แต่ก็มีบางอย่างที่น่าสนใจ:
-ความละเอียดของกราฟไม่สามารถเปลี่ยนแปลงได้ กราฟมีเกรนที่ละเอียดเกินไป แม้หลังจากเวลาปิ้งสูงสุด (5 นาที) กราฟก็จะเหลือเพียงครึ่งหนึ่งของแถบ
-Conky ชอบที่จะพังโดยเฉพาะอย่างยิ่งเมื่อคุณฆ่าและโหลดซ้ำ
ด้วยเหตุผลประการที่สอง ฉันตัดสินใจวางไข่ลูกไก่ทั้งหมดผ่านกระบวนการควบคุมที่แยกจากกันเพื่อเฝ้าระวัง
lua ที่ไม่ได้ใช้งานพื้นฐานใช้ 2 conkies แยกกัน (1 สำหรับข้อมูลสภาพอากาศและอีกอันสำหรับนาฬิกา)
เมื่อการปิ้งเริ่มต้น:
1, Arduino ส่งสัญญาณโปรแกรมราสเบอร์รี่ pi C ผ่านซีเรียลด้วย IRONFORGE_ON
2, โปรแกรมควบคุม C หยุด 2 เธรด conky และโหลดใน conky lua ที่ 3 สำหรับการปิ้ง
3, โปรแกรมควบคุม C เขียนทั้งค่าอุณหภูมิและเวลาเพื่อแยกไฟล์ข้อความที่อยู่ใน ramdisk (เพื่อไม่ให้ดำเนินการ RW ที่ไม่จำเป็นใน SDcard) สิ่งที่ conkies กำลังอ่านและแสดงโดยอัตโนมัติ โปรแกรมมีหน้าที่สร้างเวลาที่เหลือให้อยู่ในรูปแบบ MM:SS เช่นกัน
4 เมื่อสิ้นสุดการปิ้งโปรแกรม C จะหยุดเธรดการปิ้งปัจจุบันและรีสตาร์ท 2 conkies เพื่อกลับไปที่การแสดงสภาพอากาศและเวลาอีกครั้ง
5, สำหรับการตรวจจับสัญญาณเตือนโปรแกรม C สามารถหยุดกระบวนการเล่นเพลงจาก cron ได้โดยตรงเมื่ออยู่ในสถานะไม่ได้ใช้งานใด ๆ ของโรตารี่จะถูกผลักเข้ามา
ขั้นตอนที่ 8: ขนมปังปิ้งทั้งหมดของคุณเป็นของเรา: NetBSD Vs Raspbian
แม้ว่าเครื่องปิ้งขนมปังจะทำขึ้นเพื่อใช้งาน NetBSD และการแสดงผลหน้าจอเป็นหลัก แต่ Arduino ก็ใช้งานได้ทั้งหมดโดยไม่มีการรองรับหน้าจอสัมผัส ฉันขอขอบคุณความช่วยเหลือจากทุกคนที่สนใจเขียนไดรเวอร์สำหรับสิ่งนี้
ชิปสัมผัสของ LCD คือ XPT2046 หน้าจอใช้ SPI เพื่อส่งพิกัดอินพุตเคอร์เซอร์กลับไปที่ Raspberry
www.raspberrypi.org/documentation/hardware…
- 19 อินพุตข้อมูล TP_SI SPI ของ Touch Panel
- 21 TP_SO SPI เอาต์พุตข้อมูลของ Touch Panel
- 22 TP_IRQ Touch Panel ขัดจังหวะ ระดับต่ำในขณะที่ TouchPanel ตรวจพบการสัมผัส
- 23 TP_SCK SPI นาฬิกาของ Touch Panel
- 26 TP_CS การเลือกชิปจอสัมผัส ใช้งานต่ำ
ในขณะที่เขียนนี้ฉันไม่ทราบหน้าจอสัมผัส (โล่) ที่เข้ากันได้กับ Raspberry PI ซึ่งมีไดรเวอร์ NetBSD ที่ใช้งานได้สำหรับทัชแพด
ขั้นตอนที่ 9: ปิดรายการและสิ่งที่ต้องทำ
ยินดีต้อนรับความช่วยเหลือ การสนับสนุน การแก้ไขในโค้ดเช่นเคย
นี่เป็นแฮ็คที่เพิ่งเสร็จสิ้น ดังนั้นฉันจะอัปเดตโปรเจ็กต์ด้วยโค้ดที่หายไปในภายหลัง (โค้ดควบคุม Raspberry pi C, Conky luas เป็นต้น) นอกจากนี้ ฉันวางแผนที่จะสร้างอิมเมจ sdcard ขนาด 8GB/16GB ที่ปรับขนาดได้อัตโนมัติซึ่งมีทุกอย่าง เนื่องจาก Raspberry PI เป็นฮาร์ดแวร์มาตรฐาน ใครก็ตามที่ตัดสินใจสร้างโปรเจ็กต์ก็สามารถดาวน์โหลดรูปภาพ เขียนมันลงใน sdcard และเครื่องปิ้งขนมปังจะทำงานได้หลังจากบูทเครื่องเหมือนกับของฉัน การตั้งค่าเครือข่ายจำเป็นสำหรับเวลาที่ถูกต้อง (NTP) และการแสดงอุณหภูมิเท่านั้น
ขั้นตอนที่เหลืออีกขั้นตอนหนึ่งคือการวัดอุณหภูมิภายในด้วย FLIR และเพิ่มการปรับค่าที่อ่านได้ของเซ็นเซอร์อุณหภูมิ MAX เพราะฉันเชื่อว่าอุณหภูมิจะอุ่นขึ้นช้าเกินไปสำหรับระยะเวลาปิ้งสูงสุด 5 นาทีที่เล็กที่สุด
นอกจากนี้ ยังวางแผนที่จะเพิ่มระยะเวลาการปรับขนาดอัตโนมัติตามอุณหภูมิที่ตั้งไว้เพื่อให้สามารถขยายกรอบเวลาสูงสุด 5 นาทีนี้หากอุณหภูมิลดลง
แนะนำ:
DIY 37 Leds เกมรูเล็ต Arduino: 3 ขั้นตอน (พร้อมรูปภาพ)
DIY 37 Leds เกมรูเล็ต Arduino: รูเล็ตเป็นเกมคาสิโนที่ตั้งชื่อตามคำภาษาฝรั่งเศสหมายถึงวงล้อเล็ก
Bolt - DIY Wireless Charging Night Clock (6 ขั้นตอน): 6 ขั้นตอน (พร้อมรูปภาพ)
Bolt - DIY Wireless Charging Night Clock (6 ขั้นตอน): การชาร์จแบบเหนี่ยวนำ (เรียกอีกอย่างว่าการชาร์จแบบไร้สายหรือการชาร์จแบบไร้สาย) เป็นการถ่ายโอนพลังงานแบบไร้สาย ใช้การเหนี่ยวนำแม่เหล็กไฟฟ้าเพื่อจ่ายกระแสไฟฟ้าให้กับอุปกรณ์พกพา แอปพลิเคชั่นที่พบบ่อยที่สุดคือ Qi Wireless Charging st
4 ขั้นตอน Digital Sequencer: 19 ขั้นตอน (พร้อมรูปภาพ)
4 ขั้นตอน Digital Sequencer: CPE 133, Cal Poly San Luis Obispo ผู้สร้างโปรเจ็กต์: Jayson Johnston และ Bjorn Nelson ในอุตสาหกรรมเพลงในปัจจุบัน ซึ่งเป็นหนึ่งใน “instruments” เป็นเครื่องสังเคราะห์เสียงดิจิตอล ดนตรีทุกประเภท ตั้งแต่ฮิปฮอป ป๊อป และอีฟ
เครื่องปิ้งขนมปัง Reflow Soldering (BGA): 10 ขั้นตอน (พร้อมรูปภาพ)
เครื่องปิ้งขนมปัง Reflow การบัดกรี (BGA): การทำงานแบบบัดกรีซ้ำอาจมีราคาแพงและยาก แต่โชคดีที่มีวิธีแก้ปัญหาที่เรียบง่ายและสง่างาม: เตาอบเครื่องปิ้งขนมปัง โปรเจ็กต์นี้แสดงการตั้งค่าที่ฉันต้องการและลูกเล่นที่ทำให้กระบวนการทำงานได้อย่างราบรื่น ในตัวอย่างนี้ ผมจะเน้นที่
ป้ายโฆษณาแบบพกพาราคาถูกเพียง 10 ขั้นตอน!!: 13 ขั้นตอน (พร้อมรูปภาพ)
ป้ายโฆษณาแบบพกพาราคาถูกเพียง 10 ขั้นตอน!!: ทำป้ายโฆษณาแบบพกพาราคาถูกด้วยตัวเอง ด้วยป้ายนี้ คุณสามารถแสดงข้อความหรือโลโก้ของคุณได้ทุกที่ทั่วทั้งเมือง คำแนะนำนี้เป็นการตอบสนองต่อ/ปรับปรุง/เปลี่ยนแปลงของ: https://www.instructables.com/id/Low-Cost-Illuminated-