สารบัญ:
- ขั้นตอนที่ 1: หลักการทำงาน
- ขั้นตอนที่ 2: หลักการทำงาน ต่อ
- ขั้นตอนที่ 3: ถอดแยกชิ้นส่วนในทางปฏิบัติ 1
- ขั้นตอนที่ 4: ถอดแยกชิ้นส่วนในทางปฏิบัติ2
- ขั้นตอนที่ 5: ถอดแยกชิ้นส่วนในทางปฏิบัติ3
- ขั้นตอนที่ 6: ถอดแยกชิ้นส่วนในทางปฏิบัติ4
- ขั้นตอนที่ 7: ถอดแยกชิ้นส่วนในทางปฏิบัติ5
- ขั้นตอนที่ 8: ถอดแยกชิ้นส่วนในทางปฏิบัติ6
- ขั้นตอนที่ 9: ตัวอย่างการใช้งานนาฬิกาแขวน
- ขั้นตอนที่ 10: ตัวอย่างการใช้งานนาฬิกาแขวน PIC
- ขั้นตอนที่ 11: ตัวอย่างการใช้งานนาฬิกาแขวน Arduino
- ขั้นตอนที่ 12: นาฬิกาเร็วสำหรับฮาร์ดแวร์ Model Railroaders
- ขั้นตอนที่ 13: ซอฟต์แวร์
- ขั้นตอนที่ 14: ความอยากรู้
วีดีโอ: เล่นกับนาฬิกาแขวนมือ: 14 ขั้นตอน
2024 ผู้เขียน: John Day | [email protected]. แก้ไขล่าสุด: 2024-01-30 13:03
นาฬิกาแขวนแบบเข็มอิเล็กทรอนิกส์ (ควอตซ์เพื่อการค้า) ทุกวันนี้ไม่มีอะไรพิเศษ สามารถซื้อได้ในร้านค้าหลายแห่ง ในบางส่วนมีราคาถูกมาก ด้วยราคาประมาณ 2 ยูโร (50CZK) ราคาที่ต่ำนั้นสามารถเป็นแรงจูงใจให้มองเข้าไปใกล้พวกเขามากขึ้น จากนั้นฉันก็รู้ว่าพวกเขาสามารถเป็นของเล่นที่น่าสนใจสำหรับมือใหม่ในด้านอิเล็กทรอนิกส์ซึ่งมีทรัพยากรไม่มากนักและผู้ที่มีความสนใจในการเขียนโปรแกรมเป็นหลัก แต่ขอนำเสนอการพัฒนาตนเองให้ผู้อื่นทราบ เนื่องจากนาฬิกาแขวนราคาถูกมีความทนทานต่อการทดลองและการทดลองสำหรับผู้เริ่มต้นใช้งานมาก ฉันจึงตัดสินใจเขียนบทความนี้ซึ่งฉันต้องการนำเสนอแนวคิดพื้นฐาน
ขั้นตอนที่ 1: หลักการทำงาน
จำง่าย นาฬิกาที่ใช้สำหรับการเคลื่อนที่ของสเต็ปเปอร์มอเตอร์บางชนิด ผู้ที่แยกนาฬิกาบางส่วนออกแล้วจำได้ว่าเป็นคอยล์เดียวแทนที่จะเป็นสองในสเต็ปเปอร์มอเตอร์ปกติ ในกรณีนี้ เรากำลังพูดถึงสเต็ปเปอร์มอเตอร์ "เฟสเดียว" หรือ "ขั้วเดี่ยว" (ชื่อนี้ไม่ได้ใช้บ่อยนัก ส่วนใหญ่จะเป็นการมาที่คล้ายคลึงกันสำหรับการทำเครื่องหมายที่ใช้สำหรับสเต็ปเปอร์มอเตอร์แบบฟูลสแต็กอื่นๆ) คนที่เริ่มคิดเกี่ยวกับหลักการทำงานอยู่แล้วก็ต้องตั้งคำถามว่าเป็นไปได้อย่างไรที่มอเตอร์จะหมุนไปในทิศทางที่ถูกต้องเสมอ สำหรับหลักการทำงานคำอธิบายจะเป็นประโยชน์ตามภาพที่แสดงชนิดของมอเตอร์ที่เก่ากว่า
ในภาพแรกสามารถมองเห็นได้หนึ่งขดลวดที่มีขั้ว A และ B สเตเตอร์สีเทาและโรเตอร์สีแดงน้ำเงิน โรเตอร์ทำมาจากแม่เหล็กถาวร นั่นคือเหตุผลว่าทำไมจึงมีการทำเครื่องหมายสี ให้มองเห็นได้ ในทิศทางที่เป็นแม่เหล็ก (ไม่สำคัญนักว่าขั้วใดอยู่เหนือและใต้) บนสเตเตอร์ คุณจะเห็น "ร่อง" สองอันใกล้กับโรเตอร์ มีความสำคัญอย่างยิ่งต่อหลักการทำงาน มอเตอร์ทำงานในสี่ขั้นตอน เราจะอธิบายแต่ละขั้นตอนโดยใช้ภาพสี่ภาพ
ในระหว่างขั้นตอนแรก (ภาพที่สอง) ถูกกระตุ้นด้วยมอเตอร์ ขั้ว A นั้นเชื่อมต่อกับขั้วบวก และขั้ว B เชื่อมต่อกับขั้วลบ ทำให้เกิดฟลักซ์แม่เหล็ก เช่น ในทิศทางของลูกศร โรเตอร์จะหยุดอยู่ในตำแหน่ง ตำแหน่งนั้นจะสอดคล้องกับฟลักซ์แม่เหล็ก
ขั้นตอนที่สองจะตามมาหลังจากถอดสายไฟ จากนั้นฟลักซ์แม่เหล็กในสเตเตอร์จะหยุดลง และแม่เหล็กมีแนวโน้มที่จะหมุนไปยังตำแหน่ง โพลาไรซ์นั้นอยู่ในทิศทางของวัสดุอ่อนนุ่มแม่เหล็กที่มีปริมาตรสูงสุดของสเตเตอร์ และนี่คือสิ่งสำคัญสองร่องนั้น พวกเขาชี้ไปที่ส่วนเบี่ยงเบนเล็กน้อยของปริมาตรสูงสุด จากนั้นโรเตอร์จะหมุนตามเข็มนาฬิกาเล็กน้อย ดังแสดงในภาพที่ 3
ขั้นตอนต่อไป (ภาพที่สี่) คือการเชื่อมต่อด้วยแรงดันไฟฟ้าที่ขั้วย้อนกลับ (ขั้ว A ถึงขั้วลบ, ขั้ว B ถึงขั้วบวก) หมายความว่าแม่เหล็กในโรเตอร์จะหมุนไปในทิศทางของสนามแม่เหล็กด้วยขดลวด โรเตอร์ใช้ทิศทางที่สั้นที่สุด นั่นคือตามเข็มนาฬิกาอีกครั้ง
ขั้นตอนสุดท้าย (สี่) (ภาพที่ห้า) เหมือนกับขั้นตอนที่สอง มอเตอร์ไม่มีแรงดันไฟฟ้าอีกครั้ง ความแตกต่างเพียงอย่างเดียวคือ ตำแหน่งเริ่มต้นของแม่เหล็กอยู่ตรงข้าม แต่โรเตอร์จะเคลื่อนที่ไปยังทิศทางของปริมาตรวัสดุสูงสุดอีกครั้ง นั่นคือตำแหน่งตามเข็มนาฬิกาอีกครั้งเล็กน้อย
นั่นคือวัฏจักรทั้งหมด ขั้นตอนแรกจะตามมาอีกครั้ง สำหรับการเคลื่อนไหวของมอเตอร์เป็นขั้นตอนที่ 2 และ 4 เข้าใจว่ามีเสถียรภาพ จากนั้นกลไกจะถ่ายโอนไปยังตำแหน่งของเข็มวินาทีด้วยอัตราการถ่ายโอนเกียร์ 1:30 น.
ขั้นตอนที่ 2: หลักการทำงาน ต่อ
ตัวเลขแสดงรูปคลื่นแรงดันไฟที่ขั้วมอเตอร์ ตัวเลขหมายถึงวินาทีทั้งหมด ในความเป็นจริง พัลส์มีขนาดเล็กกว่ามากเมื่อเทียบกับช่องว่าง พวกมันมีขนาดประมาณหนึ่งมิลลิวินาที
ขั้นตอนที่ 3: ถอดแยกชิ้นส่วนในทางปฏิบัติ 1
ฉันใช้นาฬิกาแขวนผนังราคาถูกที่สุดในตลาดสำหรับการถอดแยกชิ้นส่วนในทางปฏิบัติ พวกเขามีข้อดีเล็กน้อย หนึ่งคือราคานั้นต่ำมากซึ่งเราสามารถซื้อได้บางส่วนสำหรับการทดลอง เนื่องจากการผลิตมุ่งเน้นที่ราคาอย่างมาก จึงไม่มีวิธีแก้ปัญหาที่ชาญฉลาดและไม่ต้องใช้สกรูที่ซับซ้อน ในความเป็นจริงพวกเขาไม่มีสกรูใด ๆ มีเพียงล็อคคลิกพลาสติก ที่เราต้องการเครื่องมือขั้นต่ำเท่านั้น ตัวอย่างเช่น เราต้องใช้ไขควงเพื่อควักกุญแจออกเท่านั้น
ในการถอดประกอบนาฬิกาแขวน เราต้องใช้ไขควงปากแบน (หรือไม้จิ้มฟันอื่นๆ) หมุดผ้าและแผ่นรองทำงานที่มีขอบยกสูง (ซึ่งไม่จำเป็น แต่ให้ค้นหาล้อและชิ้นส่วนขนาดเล็กอื่นๆ ได้ง่ายขึ้น)
ขั้นตอนที่ 4: ถอดแยกชิ้นส่วนในทางปฏิบัติ2
ที่ด้านหลังของนาฬิกาแขวนมีสลักสามตัว ตัวบนสองตัวที่ตำแหน่งหมายเลข 2 และ 10 สามารถปลดล็อคและเปิดฝากระจกได้ เมื่อเปิดกระจกสามารถดึงเข็มนาฬิกาออกได้ ไม่จำเป็นต้องทำเครื่องหมายตำแหน่งของพวกเขา เราจะกลับไปที่ตำแหน่ง 12:00:00 เสมอ เมื่อเข็มนาฬิกาปิดอยู่ เราสามารถยกเลิกการต่อเชื่อมการเคลื่อนไหวของนาฬิกาได้ มีสลักสองตัว (ที่ตำแหน่ง 6 และ 12) ขอแนะนำให้ดึงการเคลื่อนไหวออกให้ตรงที่สุด มิฉะนั้นการเคลื่อนไหวอาจติดขัด
ขั้นตอนที่ 5: ถอดแยกชิ้นส่วนในทางปฏิบัติ3
จากนั้นจึงเปิดการเคลื่อนไหวได้ มันมีสามสลัก สองในตำแหน่ง 3 และ 9 ชั่วโมง และที่สามใน 6 ชั่วโมง เมื่อเปิดออก ก็เพียงพอที่จะเอาฟันเฟืองที่โปร่งใสระหว่างมอเตอร์และกระปุกเกียร์ออก และจากนั้นปีกนกที่เชื่อมต่อกับโรเตอร์ของมอเตอร์
ขั้นตอนที่ 6: ถอดแยกชิ้นส่วนในทางปฏิบัติ4
คอยล์และสเตเตอร์ของมอเตอร์ยึดไว้กับสลักเดียวเท่านั้น (ที่ 12 ชั่วโมง) ไม่ยึดติดกับรางไฟฟ้าใดๆ ใช้กับรางไฟฟ้าโดยกดเท่านั้น จากนั้นถอดออกก็ไม่ยาก ขดลวดมีเกลียวบนสเตเตอร์โดยไม่มีที่ยึด สามารถถอดออกได้ง่าย
ขั้นตอนที่ 7: ถอดแยกชิ้นส่วนในทางปฏิบัติ5
ที่ด้านล่างของขดลวดติดแผ่นวงจรพิมพ์ขนาดเล็กที่มี CoB (Chip on Board) หนึ่งตัวพร้อมเอาต์พุตหกตัว สองอันมีไว้สำหรับจ่ายไฟและจะสิ้นสุดลงบนแผ่นสี่เหลี่ยมขนาดใหญ่บนกระดานเพื่อใช้รางไฟฟ้า สองเอาต์พุตเชื่อมต่อกับคริสตัล อย่างไรก็ตาม คริสตัลคือ 32768Hz และสามารถยกเลิกการบัดกรีเพื่อใช้ในอนาคตได้ เอาต์พุตสองตัวสุดท้ายเชื่อมต่อกับคอยล์ ฉันพบว่าปลอดภัยกว่าที่จะตัดรอยบนกระดานและบัดกรีสายไปยังแผ่นอิเล็กโทรดที่มีอยู่บนกระดาน เมื่อฉันพยายามเลิกขายคอยล์และต่อสายโดยตรงกับคอยล์ ฉันมักจะฉีกลวดคอยล์หรือคอยล์เสียหาย การบัดกรีสายไฟใหม่เข้ากับบอร์ดเป็นไปได้อย่างหนึ่ง ให้เราพูดที่ดั้งเดิมมากขึ้น วิธีที่สร้างสรรค์กว่าคือการเชื่อมต่อคอยล์กับแผ่นจ่ายไฟและเก็บรางจ่ายไฟไว้เพื่อเชื่อมต่อกับกล่องแบตเตอรี่ จากนั้นนำอุปกรณ์อิเล็กทรอนิกส์มาใส่ในกล่องแบตเตอรี่
ขั้นตอนที่ 8: ถอดแยกชิ้นส่วนในทางปฏิบัติ6
สามารถตรวจสอบคุณภาพของการบัดกรีโดยใช้โอห์มมิเตอร์ คอยล์มีความต้านทานประมาณ200Ω เมื่อทุกอย่างเรียบร้อย เราก็ประกอบนาฬิกาแขวนกลับเข้าไป ฉันมักจะโยนรางไฟออก จากนั้นฉันก็มีที่สำหรับวางสายไฟใหม่มากขึ้น ภาพถ่ายจะถูกถ่ายก่อนที่จะโยนรางไฟฟ้า ฉันลืมถ่ายรูปถัดไปเมื่อลบออก
เมื่อฉันเคลื่อนไหวจนเสร็จ ฉันกำลังทดสอบโดยใช้เข็มนาฬิกาที่สอง ฉันเอามือแตะเพลาแล้วต่อไฟ (ฉันใช้ถ่านกระดุม CR2032 แต่ AA 1, 5V ก็ใช้ได้เหมือนกัน) เพียงต่อไฟในขั้วเดียวกับสายไฟ แล้วต่อด้วยขั้วตรงข้ามอีกครั้ง นาฬิกาต้องติ๊กและเข็มจะเคลื่อนที่ไปหนึ่งวินาที เมื่อคุณมีปัญหาในการเคลื่อนตัวกลับให้สมบูรณ์ เนื่องจากสายไฟเข้าที่มากขึ้น เพียงแค่หมุนมดขดไปวางไว้ด้านตรงข้าม เมื่อไม่ใช้รางไฟฟ้าก็ไม่มีผลกับการเคลื่อนไหวของนาฬิกา อย่างที่บอกไปแล้วว่าตอนเอามือกลับต้องวางให้ชี้ไปที่ 12:00:00 น. คือต้องมีระยะห่างระหว่างเข็มชั่วโมงและเข็มนาทีที่ถูกต้อง
ขั้นตอนที่ 9: ตัวอย่างการใช้งานนาฬิกาแขวน
ตัวอย่างง่ายๆ ส่วนใหญ่เน้นแสดงเวลา แต่มีการปรับเปลี่ยนต่างๆ ที่นิยมมากคือการปรับเปลี่ยนที่เรียกว่า "นาฬิกา Vetinari" ชี้ไปที่หนังสือของ Terry Pratchett ที่ลอร์ด Vetinari มีนาฬิกาแขวนอยู่ในห้องรอของเขา ซึ่งกำลังเดินผิดปกติ ความผิดปกตินั้นทำให้คนรอไม่สงบ แอปพลิเคชั่นยอดนิยมอันดับสองคือ "นาฬิกาไซนัส" หมายถึงนาฬิกาที่เร่งและช้าลงตามเส้นโค้งไซนัส จากนั้นผู้คนก็มีความรู้สึก พวกเขากำลังแล่นไปตามคลื่น สิ่งหนึ่งที่ฉันชอบคือ "เวลาอาหารกลางวัน" การปรับเปลี่ยนนั้นหมายความว่านาฬิกานั้นเดินเร็วขึ้นเล็กน้อยระหว่าง 11 ถึง 12 ชั่วโมง (0.8 วินาที) เพื่อรับประทานอาหารกลางวันก่อนหน้านี้ และช้าลงเล็กน้อยในช่วงเวลาอาหารกลางวันระหว่าง 12 ถึง 13 ชั่วโมง (1, 2 วินาที) เพื่อให้มีเวลารับประทานอาหารกลางวันเพิ่มขึ้นเล็กน้อยและชดเชยเวลาที่เสียไป
สำหรับการดัดแปลงส่วนใหญ่นั้นเพียงพอที่จะใช้โปรเซสเซอร์ที่ง่ายที่สุดโดยใช้ความถี่ในการทำงาน 32768Hz ความถี่นี้เป็นที่นิยมอย่างมากสำหรับผู้ผลิตนาฬิกา เนื่องจากง่ายต่อการสร้างคริสตัลด้วยความถี่นี้ และแบนไบนารีอย่างง่ายที่หารด้วยวินาที มีประโยชน์สองประการในการใช้ความถี่นี้สำหรับโปรเซสเซอร์: เราสามารถรีไซเคิลคริสตัลจากนาฬิกาได้ง่ายๆ และโปรเซสเซอร์มักใช้ความถี่นี้น้อยที่สุด การบริโภคเป็นสิ่งที่เรากำลังแก้ไขอยู่บ่อยครั้งเมื่อเล่นกับนาฬิกาแขวน โดยเฉพาะอย่างยิ่งเพื่อให้สามารถนาฬิกาพลังงานจากแบตเตอรี่ที่เล็กที่สุดให้นานที่สุด ตามที่ระบุไว้แล้ว ขดลวดมีความต้านทาน 200Ω และออกแบบมาสำหรับ cca 1, 5V (แบตเตอรี่ AA หนึ่งก้อน) โปรเซสเซอร์ที่ถูกที่สุดมักจะทำงานด้วยแรงดันไฟฟ้าที่ใหญ่กว่าเล็กน้อย แต่ด้วยแบตเตอรี่สองก้อน (3V) ก็ใช้งานได้ทั้งหมด หนึ่งในโปรเซสเซอร์ที่ถูกที่สุดในตลาดของเราคือ Microchip PIC12F629 หรือโมดูล Arduino ยอดนิยม จากนั้นเราจะแสดงวิธีการใช้ทั้งสองแพลตฟอร์ม
ขั้นตอนที่ 10: ตัวอย่างการใช้งานนาฬิกาแขวน PIC
โปรเซสเซอร์ PIC12F629 มีแรงดันไฟฟ้าทำงาน 2.0V - 5.5V การใช้ "แบตเตอรี่ mignon" สองก้อน = เซลล์ AA (cca 3V) หรือตัวสะสม AA แบบชาร์จซ้ำได้ AA สองก้อน (cca 2, 4V) ก็เพียงพอแล้ว แต่สำหรับคอยล์นาฬิกานั้นมากกว่าการออกแบบสองเท่า ทำให้เกิดการบริโภคที่เพิ่มขึ้นอย่างไม่พึงประสงค์น้อยที่สุด จากนั้นจึงเป็นการดีที่จะเพิ่มตัวต้านทานแบบอนุกรมขั้นต่ำ ซึ่งจะสร้างตัวแบ่งแรงดันไฟที่เหมาะสม ค่าตัวต้านทานต้องอยู่ที่ประมาณ 120Ω สำหรับพลังงานสะสม หรือ 200Ω สำหรับพลังงานแบตเตอรี่ที่คำนวณสำหรับโหลดความต้านทานบริสุทธิ์ ในทางปฏิบัติ ค่าอาจน้อยกว่านี้เล็กน้อยประมาณ 100Ω ตามทฤษฎีแล้วตัวต้านทานหนึ่งตัวต่ออนุกรมกับขดลวดก็เพียงพอแล้ว ฉันยังคงมีแนวโน้มด้วยเหตุผลใดก็ตามที่จะเห็นมอเตอร์เป็นอุปกรณ์สมมาตรแล้ววางตัวต้านทานที่มีความต้านทานครึ่งหนึ่ง (47Ωหรือ51Ω) ถัดจากเทอร์มินัลคอยล์แต่ละอัน โครงสร้างบางอย่างเพิ่มไดโอดป้องกันเพื่อหลีกเลี่ยงแรงดันลบให้กับโปรเซสเซอร์เมื่อตัดการเชื่อมต่อคอยล์ จากอีกด้านกำลังขับของเอาท์พุตโปรเซสเซอร์ก็เพียงพอที่จะเชื่อมต่อคอยล์เข้ากับโปรเซสเซอร์โดยตรงโดยไม่ต้องใช้แอมพลิฟายเออร์ แผนผังที่สมบูรณ์สำหรับโปรเซสเซอร์ PIC12F629 จะมีลักษณะตามที่อธิบายไว้ใน รูปที่ 15 แผนผังนี้ใช้ได้กับนาฬิกาที่ไม่มีองค์ประกอบการควบคุมเพิ่มเติม เรายังคงมีพินอินพุต/เอาต์พุตหนึ่งพิน GP0 และหนึ่งอินพุต GP3 เท่านั้น
ขั้นตอนที่ 11: ตัวอย่างการใช้งานนาฬิกาแขวน Arduino
เมื่อเราต้องการใช้ Arduino เราสามารถดูที่แผ่นข้อมูลสำหรับโปรเซสเซอร์ ATmega328 โปรเซสเซอร์นั้นมีแรงดันใช้งานที่กำหนดเป็น 1.8V - 5.5V สำหรับความถี่สูงถึง 4MHz และ 2.7V - 5, 5V สำหรับความถี่สูงถึง 10MHz เราต้องระวังข้อบกพร่องอย่างหนึ่งของบอร์ด Arduino ข้อบกพร่องนั้นคือการมีตัวควบคุมแรงดันไฟฟ้าอยู่บนบอร์ด ตัวควบคุมแรงดันไฟฟ้าจำนวนมากมีปัญหากับแรงดันย้อนกลับ ปัญหานี้มีคำอธิบายอย่างกว้างขวางและอธิบายได้ดีที่สุดสำหรับตัวควบคุม 7805 สำหรับความต้องการของเรา เราต้องใช้บอร์ดที่มีเครื่องหมาย 3V3 (ออกแบบมาสำหรับการจ่ายไฟ 3.3V) โดยเฉพาะเนื่องจากบอร์ดนี้มีคริสตัล 8MHz และสามารถจ่ายไฟได้ตั้งแต่ 2, 7V (หมายถึง AA สองตัว แบตเตอรี่) ตัวกันโคลงที่ใช้แล้วจะไม่เท่ากับ 7805 แต่เทียบเท่ากับ 3.3V เมื่อเราต้องการพาวเวอร์บอร์ดโดยไม่ใช้โคลง เรามีสองทางเลือก ตัวเลือกแรกคือ เชื่อมต่อแรงดันไฟฟ้าเข้ากับหมุด "RAW" (หรือ "Vin") และ +3V3 (หรือ Vcc) เข้าด้วยกัน และเชื่อว่าตัวกันโคลงที่ใช้กับบอร์ดของคุณไม่มีการป้องกันไฟตก ตัวเลือกที่สองคือเพียงแค่กำจัดโคลง เพื่อเป็นการดีที่จะใช้ Arduino Pro Mini ตามแผนผังอ้างอิง แผนผังนั้นประกอบด้วยจัมเปอร์ SJ1 (ในรูปที่ 16 ในวงกลมสีแดง) ที่ออกแบบมาเพื่อตัดการเชื่อมต่อตัวกันโคลงภายใน น่าเสียดายที่โคลนส่วนใหญ่ไม่มีจัมเปอร์นี้
ข้อดีอีกประการของ Arduino Pro Mini คือไม่มีตัวแปลงเพิ่มเติมใด ๆ ที่สามารถใช้ไฟฟ้าได้ในระหว่างการทำงานปกติ (ซึ่งเป็นความซับซ้อนเล็กน้อยระหว่างการเขียนโปรแกรม) บอร์ด Arduino ได้รับการติดตั้งโดยโปรเซสเซอร์ที่สะดวกสบายมากขึ้น ซึ่งไม่มีพลังงานเพียงพอสำหรับเอาต์พุตเดี่ยว จากนั้นจะเป็นการดีที่จะเพิ่มแอมพลิฟายเออร์เอาต์พุตขนาดเล็กขั้นต่ำโดยใช้ทรานซิสเตอร์คู่ แผนผังพื้นฐานสำหรับพลังงานแบตเตอรี่จะมีลักษณะดังแสดงในรูป
เนื่องจากสภาพแวดล้อม Arduino (ภาษา "การเดินสายไฟ") มีคุณลักษณะของระบบปฏิบัติการสมัยใหม่ (จากนั้นมีปัญหาเรื่องเวลาที่แม่นยำ) จึงควรคำนึงถึงการใช้แหล่งสัญญาณนาฬิกาภายนอกสำหรับ Timer0 หรือ Timer1 หมายถึงอินพุต T0 และ T1 ถูกทำเครื่องหมายเป็น 4 (T0) และ 4 (T1) ออสซิลเลเตอร์อย่างง่ายที่ใช้คริสตัลจากนาฬิกาแขวนสามารถเชื่อมต่อกับอินพุตเหล่านั้นได้ ขึ้นอยู่กับว่าคุณต้องการสร้างนาฬิกาที่แม่นยำเพียงใด รูปที่ 18 แสดงความเป็นไปได้พื้นฐานสามประการ แผนผังแรกนั้นประหยัดมากในความหมายของส่วนประกอบที่ใช้แล้ว มันให้เอาท์พุตรูปสามเหลี่ยมน้อยกว่า แต่ในช่วงแรงดันไฟเต็ม มันดีสำหรับการจ่ายไฟให้กับอินพุต CMOS แผนผังที่สองโดยใช้อินเวอร์เตอร์ อาจเป็น CMOS 4096 หรือ TTL 74HC04 แผนผังมีความคล้ายคลึงกันน้อยกว่าซึ่งอยู่ในรูปแบบพื้นฐาน แผนผังที่สามโดยใช้ชิป CMOS 4060 ที่อนุญาตให้เชื่อมต่อโดยตรงของคริสตัล (เทียบเท่า 74HC4060 โดยใช้แผนผังเดียวกัน แต่ค่าตัวต้านทานต่างกัน) ข้อดีของวงจรนี้คือ มันมีตัวแบ่ง 14 บิต แล้วจึงตัดสินใจได้ว่าจะใช้ความถี่ใดเป็นอินพุตตัวจับเวลา
เอาต์พุตของวงจรนี้สามารถใช้สำหรับอินพุต T0 (พิน 4 พร้อมเครื่องหมาย Arduino) จากนั้นใช้ Timer0 กับอินพุตภายนอก นั่นใช้ไม่ได้จริงเพราะ Timer0 ใช้สำหรับฟังก์ชันต่างๆ เช่น delay(), milis() หรือ micros() ตัวเลือกที่สองเชื่อมต่อกับอินพุต T1 (พิน 5 พร้อมเครื่องหมาย Arduino) และใช้ Timer1 พร้อมอินพุตพิเศษ ตัวเลือกถัดไปคือเชื่อมต่อกับอินพุทอินพุท INT0 (พิน 2 ในเครื่องหมาย Arduino) หรือ INT1 (พิน 3) และใช้ฟังก์ชัน AttachInterrupt() และฟังก์ชันรีจิสเตอร์ซึ่งจะถูกเรียกเป็นระยะ นี่คือตัวแบ่งที่มีประโยชน์ที่นำเสนอโดยชิป 4060 แล้วการโทรจะต้องไม่บ่อยนัก
ขั้นตอนที่ 12: นาฬิกาเร็วสำหรับฮาร์ดแวร์ Model Railroaders
เพื่อความสนใจฉันจะนำเสนอแผนผังที่มีประโยชน์หนึ่งรายการ ฉันต้องการเชื่อมต่อนาฬิกาแขวนผนังเพิ่มเติมกับการควบคุมทั่วไป นาฬิกาแขวนผนังอยู่ห่างไกลกัน และเหนือสิ่งอื่นใด ลักษณะสิ่งแวดล้อมที่เป็นลักษณะทางอุตสาหกรรมมากกว่าด้วยสัญญาณรบกวนแม่เหล็กไฟฟ้าที่ใหญ่กว่า จากนั้นฉันก็กลับไปที่ระบบรถโดยสารเก่าโดยใช้แรงดันไฟฟ้าที่มากขึ้นในการสื่อสาร แน่นอนว่าฉันไม่ได้แก้ปัญหาเรื่องแบตเตอรี่ แต่ฉันใช้แหล่งจ่ายไฟเสถียร 12V ฉันขยายสัญญาณจากโปรเซสเซอร์โดยใช้ไดรเวอร์ TC4427 (มีความพร้อมใช้งานที่ดีและราคาดี) ฉันกำลังแบกสัญญาณ 12V ที่สามารถโหลดได้ถึง 0.5A ฉันเพิ่มตัวแบ่งตัวต้านทานอย่างง่ายให้กับนาฬิกาทาส (ในรูปที่ 18 ทำเครื่องหมายเป็น R101 และ R102; อีกครั้งฉันเข้าใจมอเตอร์ว่าสมมาตรซึ่งไม่จำเป็น) ฉันต้องการเพิ่มการลดสัญญาณรบกวนด้วยการแบกกระแสไฟให้มากขึ้น จากนั้นฉันจึงใช้ตัวต้านทาน 100Ω สองตัว เพื่อจำกัดแรงดันไฟบนคอยล์มอเตอร์เชื่อมต่อบริดจ์เรคติไฟเออร์ B101 ขนานกับคอยล์ สะพานมีช็อตด้าน DC จากนั้นจึงเป็นตัวแทนของไดโอดต้านขนานสองคู่ ไดโอดสองตัวหมายถึงแรงดันตกประมาณ 1.4V ซึ่งใกล้เคียงกับแรงดันไฟทำงานปกติของมอเตอร์มาก เราต้องการสารต้านขนานเพราะการจ่ายไฟจะสลับกันในขั้วเดียวและขั้วตรงข้าม กระแสทั้งหมดที่ใช้โดยนาฬิกาแขวนผนังหนึ่งตัวคือ (12V - 1.5V) / (100Ω + 100Ω) = 53mA นั่นคือค่าที่ยอมรับได้เพื่อหลีกเลี่ยงเสียงรบกวน
นี่คือสวิตช์สองสวิตช์บนแผนผัง ซึ่งใช้สำหรับควบคุมฟังก์ชันเพิ่มเติมของนาฬิกาแขวน (ตัวคูณความเร็วในกรณีของรางรถไฟจำลอง) นาฬิกาลูกสาวมีคุณสมบัติที่น่าสนใจอีกอย่างหนึ่ง เชื่อมต่อโดยใช้ขั้วต่อกล้วย 4 มม. สองตัว พวกเขากำลังถือนาฬิกาแขวนอยู่บนผนัง โดยเฉพาะอย่างยิ่งเมื่อคุณต้องการตั้งเวลาก่อนเริ่มใช้งาน คุณสามารถถอดปลั๊กแล้วเสียบกลับเข้าไปใหม่ (บล็อกไม้ยึดติดกับผนัง) หากคุณต้องการสร้าง "บิ๊กเบน" คุณต้องมีกล่องไม้ที่มีซ็อกเก็ตสี่คู่ กล่องนั้นสามารถใช้เป็นที่เก็บนาฬิกาเมื่อไม่ได้ใช้งาน
ขั้นตอนที่ 13: ซอฟต์แวร์
จากมุมมองของซอฟต์แวร์คือสถานการณ์ที่ค่อนข้างง่าย ให้เราอธิบายการใช้งานบนชิป PIC12F629 โดยใช้คริสตัล 32768Hz (รีไซเคิลจากนาฬิกาเดิม) โปรเซสเซอร์มีวงจรคำสั่งหนึ่งรอบ ออสซิลเลเตอร์สี่รอบยาว เมื่อเราจะใช้แหล่งสัญญาณนาฬิกาภายในสำหรับตัวจับเวลาใดๆ ก็หมายถึงรอบคำสั่ง (เรียกว่า fosc/4) เรามีให้เช่น Timer0 ความถี่อินพุตของตัวจับเวลาจะเป็น 32768 / 4 = 8192Hz ตัวจับเวลาแปดบิต (256 ขั้นตอน) และเราปล่อยให้ล้นโดยไม่มีอุปสรรคใดๆ เราจะเน้นเฉพาะเหตุการณ์โอเวอร์โฟลว์ตัวจับเวลา เหตุการณ์จะเกิดขึ้นกับความถี่ 8192 / 256 = 32Hz จากนั้นเมื่อเราต้องการพัลส์หนึ่งวินาที เราต้องสร้างพัลส์ทุกๆ 32 โอเวอร์โฟลว์ของ Timer0 หนึ่งเราต้องการให้นาฬิกาทำงานเร็วขึ้นสี่เท่าจากนั้นเราต้องการโอเวอร์โฟลว์ 32/4 = 8 สำหรับพัลส์ สำหรับกรณีที่เราสนใจที่จะออกแบบนาฬิกาที่ไม่สม่ำเสมอแต่แม่นยำ เราต้องมีผลรวมของโอเวอร์โฟลว์สำหรับพัลส์สองสามอันเช่นเดียวกับจำนวนพัลส์ 32 เท่า จากนั้นเราสามารถพบในเมทริกซ์นาฬิกาที่ผิดปกติเช่นนี้: [20, 40, 30, 38] ผลรวมคือ 128 ซึ่งเท่ากับ 32×4 สำหรับนาฬิกาไซนัส เช่น [37, 42, 47, 51, 55, 58, 60, 61, 62, 61, 60, 58, 55, 51, 47, 42, 37, 32, 27, 22, 17, 13, 9, 6, 4, 3, 2, 3, 4, 6, 9, 13, 17, 22, 27, 32] = 1152 = 36*32) สำหรับนาฬิกาของเรา เราจะใช้อินพุตฟรีสองช่องเป็นคำจำกัดความของตัวแบ่งเพื่อการวิ่งที่รวดเร็ว ตัวแบ่ง dith ตารางสำหรับความเร็วถูกเก็บไว้ในหน่วยความจำ EEPROM ส่วนหลักของโปรแกรมสามารถมีลักษณะดังนี้:
ลูปหลัก:
btfss INTCON, T0IF ไปที่ MainLoop; รอ Timer0 bcf INTCON, T0IF incf CLKCNT, f btfss SW_STOP; ถ้าสวิตช์ STOP ทำงานอยู่ clrf CLKCNT; ล้างตัวนับทุกครั้ง btfsc SW_FAST; หากไม่กดปุ่มเร็ว ให้ไปที่ NormalTime; คำนวณเฉพาะเวลาปกติ movf FCLK, w xorwf CLKCNT, w btfsc STATUS, Z; ถ้า FCLK และ CLKCNT เหมือนกัน ให้ไปที่ SendPulse NormalTime: movf CLKCNT, w andlw 0xE0; บิต 7, 6, 5 btfsc STATUS, Z; ถ้า CLKCNT>=32 ไปที่ MainLoop ไปที่ SendPulse
โปรแกรมที่ใช้ฟังก์ชัน SendPulse ฟังก์ชันนั้นจะสร้างชีพจรของมอเตอร์เอง ฟังก์ชันนับพัลส์คี่/คู่และอิงตามที่สร้างพัลส์บนเอาต์พุตหนึ่งหรือวินาที ฟังก์ชันที่ใช้ค่าคงที่ ENERGISE_TIME ค่าคงที่ที่กำหนดเวลาในระหว่างที่คอยล์มอเตอร์ได้รับพลังงาน จึงส่งผลกระทบอย่างมากต่อการบริโภค เมื่อมีขนาดเล็กมาก มอเตอร์จะไม่สามารถทำขั้นตอนให้เสร็จได้ และบางครั้งมันก็เกิดขึ้น วินาทีนั้นก็หายไป (โดยปกติเมื่อเข็มวินาทีเดินไปที่หมายเลข 9 เมื่อ "ขึ้นข้างบน")
ส่งพัลส์:
incf POLARITY, f clrf CLKCNT btfss POLARITY, 0 ไปที่ SendPulseB SendPulseB SendPulseA: bsf OUT_A ไปที่ SendPulseE SendPulseB: bsf OUT_B;goto SendPulseE SendPulseE SendPulseE: movlw 0x50 movwfntc ออกLed_dcL:
สามารถดาวน์โหลดซอร์สโค้ดแบบเต็มได้ที่ท้ายหน้า www.fucik.name สถานการณ์กับ Arduino นั้นซับซ้อนเล็กน้อย เนื่องจาก Arduino ใช้ภาษาการเขียนโปรแกรมที่สูงกว่าและใช้คริสตัล 8MHz ของตัวเอง เราจึงต้องระวังว่าเรากำลังใช้ฟังก์ชันอะไรอยู่ การใช้การหน่วงเวลาแบบคลาสสิก () มีความเสี่ยงเพียงเล็กน้อย (คำนวณเวลาตั้งแต่เริ่มต้นฟังก์ชัน) ผลลัพธ์ที่ดีขึ้นจะมีการใช้ไลบรารีเช่น Timer1 โครงการ Arduino จำนวนมากใช้อุปกรณ์ RTC ภายนอกเช่น PCF8563, DS1302 เป็นต้น
ขั้นตอนที่ 14: ความอยากรู้
ระบบการใช้งานมอเตอร์นาฬิกาแขวนนี้เป็นพื้นฐาน มีการปรับปรุงมากมาย ตัวอย่างเช่น ตามการวัด Back EMF (พลังงานไฟฟ้าที่เกิดจากการเคลื่อนที่ของแม่เหล็กโรเตอร์) จากนั้นระบบอิเล็กทรอนิกส์จะสามารถรับรู้ได้ เมื่อมือเคลื่อนไปข้างหน้า และหากไม่เป็นเช่นนั้น ให้ทำซ้ำชีพจรอย่างรวดเร็วหรืออัปเดตค่าของ "ENERGISE_TIME" ความอยากรู้ที่เป็นประโยชน์มากกว่าคือ "ขั้นตอนย้อนกลับ" ตามคำอธิบาย ดูเหมือนว่า มอเตอร์นั้นถูกออกแบบมาสำหรับทิศทางการหมุนเดียวเท่านั้น และไม่สามารถเปลี่ยนแปลงได้ แต่ตามที่แสดงในวิดีโอที่แนบมา สามารถเปลี่ยนทิศทางได้ หลักการนั้นง่าย ให้เรากลับไปที่หลักการของมอเตอร์ ลองนึกภาพว่ามอเตอร์นั้นอยู่ในสถานะเสถียรของขั้นตอนที่สอง (รูปที่ 3) เมื่อเราจะเชื่อมต่อแรงดันไฟฟ้าตามที่แสดงในขั้นตอนแรก (รูปที่ 2) มอเตอร์จะเริ่มหมุนตามตรรกะในทิศทางย้อนกลับ เมื่อพัลส์สั้นพอและจะจบลงเล็กน้อยก่อนที่มอเตอร์จะเข้าสู่สถานะเสถียร ตัวจะสั่นไหวเล็กน้อยตามหลักเหตุผล ในช่วงเวลาของการสั่นไหวนั้นจะมาถึงพัลส์แรงดันไฟถัดไปตามที่อธิบายไว้ในสถานะที่สาม (รูปที่ 4) จากนั้นมอเตอร์จะดำเนินต่อไปตามทิศทางที่สตาร์ทซึ่งหมายถึงทิศทางย้อนกลับ ปัญหาเล็กน้อยคือ วิธีการกำหนดระยะเวลาของพัลส์แรกและหนึ่งครั้งเพื่อสร้างระยะห่างระหว่างพัลส์ที่หนึ่งและที่สอง และที่แย่ที่สุดคือ ค่าคงที่เหล่านั้นแตกต่างกันไปตามการเคลื่อนไหวของนาฬิกาแต่ละครั้ง และบางครั้งก็แตกต่างกันไปสำหรับกรณี เข็มนาฬิกาจะ "ลง" (ประมาณหมายเลข 3) หรือสูงกว่า (ประมาณหมายเลข 9) และในตำแหน่งที่เป็นกลาง (ประมาณหมายเลข 12 และ 6). สำหรับกรณีที่นำเสนอในวิดีโอ ฉันใช้ค่าและอัลกอริธึมตามที่แสดงในโค้ดต่อไปนี้:
#define OUT_A_SET 0x02; กำหนดค่าสำหรับออก กำหนด ข ชัดเจน
#define OUT_B_SET 0x04; config สำหรับ out b กำหนด #define ENERGISE_TIME 0x30 #define REVERT_TIME 0x06 SendPulse: incf POLARITY, f clrf CLKCNT btfss POLARITY, 0 ไปที่ SendPulseB SendPulseA: movlw REVERT_TIME movwf ECNT movl เริ่มต้นด้วย pulse B movwf GPIO RevPulseLoopA:; รอสักครู่ decfsz ECNT, f ไปที่ RevPulseLoopA movlw OUT_A_SET; จากนั้นชีพจร A movwf GPIO ไปที่ SendPulseE SendPulseB: movlw REVERT_TIME movwf ECNT movlw OUT_A_SET; เริ่มต้นด้วย pulse A movwf GPIO RevPulseLoopB:; รอสักครู่ decfsz ECNT, f ไปที่ RevPulseLoopB movlw OUT_B_SET; จากนั้นชีพจร B movwf GPIO;ไปที่ SendPulseE SendPulseE: movlw ENERGISE_TIME movwf ECNT SendPulseLoop: decfsz ECNT, f ไปที่ SendPulseLoop bcf OUT_A bcf OUT_B ไปที่ MainLoop
การใช้ขั้นตอนย้อนกลับเพิ่มความเป็นไปได้ในการเล่นกับนาฬิกาแขวน บางครั้งเราอาจพบนาฬิกาแขวนที่มีการเคลื่อนไหวที่ราบรื่นของเข็มวินาที เราไม่กลัวนาฬิกาพวกนั้นหรอก พวกมันใช้กลอุบายง่ายๆ ตัวมอเตอร์เองก็เหมือนกับมอเตอร์ที่อธิบายไว้ในที่นี้ มีเพียงอัตราทดเกียร์ที่ใหญ่กว่า (ปกติจะมากกว่า 8:1) และมอเตอร์หมุนเร็วขึ้น (โดยปกติเร็วกว่า 8 เท่า) ซึ่งทำให้เอฟเฟกต์การเคลื่อนไหวราบรื่น เมื่อคุณตัดสินใจที่จะแก้ไขนาฬิกาแขวนเหล่านั้นแล้ว อย่าลืมคำนวณตัวคูณที่ร้องขอ
แนะนำ:
การออกแบบเกมในการสะบัดใน 5 ขั้นตอน: 5 ขั้นตอน
การออกแบบเกมในการสะบัดใน 5 ขั้นตอน: การตวัดเป็นวิธีง่ายๆ ในการสร้างเกม โดยเฉพาะอย่างยิ่งเกมปริศนา นิยายภาพ หรือเกมผจญภัย
การตรวจจับใบหน้าบน Raspberry Pi 4B ใน 3 ขั้นตอน: 3 ขั้นตอน
การตรวจจับใบหน้าบน Raspberry Pi 4B ใน 3 ขั้นตอน: ในคำแนะนำนี้ เราจะทำการตรวจจับใบหน้าบน Raspberry Pi 4 ด้วย Shunya O/S โดยใช้ Shunyaface Library Shunyaface เป็นห้องสมุดจดจำใบหน้า/ตรวจจับใบหน้า โปรเจ็กต์นี้มีจุดมุ่งหมายเพื่อให้เกิดความเร็วในการตรวจจับและจดจำได้เร็วที่สุดด้วย
วิธีการติดตั้งปลั๊กอินใน WordPress ใน 3 ขั้นตอน: 3 ขั้นตอน
วิธีการติดตั้งปลั๊กอินใน WordPress ใน 3 ขั้นตอน: ในบทช่วยสอนนี้ ฉันจะแสดงขั้นตอนสำคัญในการติดตั้งปลั๊กอิน WordPress ให้กับเว็บไซต์ของคุณ โดยทั่วไป คุณสามารถติดตั้งปลั๊กอินได้สองวิธี วิธีแรกคือผ่าน ftp หรือผ่าน cpanel แต่ฉันจะไม่แสดงมันเพราะมันสอดคล้องกับ
การลอยแบบอะคูสติกด้วย Arduino Uno ทีละขั้นตอน (8 ขั้นตอน): 8 ขั้นตอน
การลอยแบบอะคูสติกด้วย Arduino Uno ทีละขั้นตอน (8 ขั้นตอน): ตัวแปลงสัญญาณเสียงล้ำเสียง L298N Dc ตัวเมียอะแดปเตอร์จ่ายไฟพร้อมขา DC ตัวผู้ Arduino UNOBreadboardวิธีการทำงาน: ก่อนอื่น คุณอัปโหลดรหัสไปยัง Arduino Uno (เป็นไมโครคอนโทรลเลอร์ที่ติดตั้งดิจิตอล และพอร์ตแอนะล็อกเพื่อแปลงรหัส (C++)
เครื่อง Rube Goldberg 11 ขั้นตอน: 8 ขั้นตอน
เครื่อง 11 Step Rube Goldberg: โครงการนี้เป็นเครื่อง 11 Step Rube Goldberg ซึ่งออกแบบมาเพื่อสร้างงานง่ายๆ ในรูปแบบที่ซับซ้อน งานของโครงการนี้คือการจับสบู่ก้อนหนึ่ง