ฉันจะสร้างแอปพลิเคชั่นถาวรจากบางสิ่งที่ต้นแบบกับ Arduino ได้อย่างไร


22

ส่วนหนึ่งของชุดสามส่วนที่เกี่ยวกับการเปลี่ยนจาก Arduino จะธรรมดาไมโครคอนโทรลเลอร์ AVR และต่ำสุดส่วนประกอบสนับสนุน ( ส่วนที่สอง , สามส่วน )

ฉันได้สร้างโครงการใน Arduino Uno ของฉันเพื่อควบคุมแง่มุมต่าง ๆ ของระบบการผลิตเบียร์ของฉัน ณ จุดนี้ดูเหมือนว่าจะทำสิ่งที่ฉันต้องการ แต่ฉันต้องการที่จะนำ Uno ของฉันกลับมาใช้สำหรับโครงการอื่น ฉันจะย้ายโครงการจาก Uno และ breadboard ไปยัง PCB, perfboard หรืออะไรได้อย่างไร มีทางออกที่ดีออกไปบ้างไหม?


1
เฮ้ฉันมีซีรี่ย์สองส่วน ( arduino.stackexchange.com/q/207/6 , arduino.stackexchange.com/q/221/6 ) ในการเปลี่ยนจาก Arduino เป็นการพัฒนา ATmega ธรรมดา มันอาจเป็นความคิดที่ดีที่จะเพิ่มคำถามนี้ให้กับซีรี่ส์ในฐานะส่วนใหม่ 1 เนื่องจากเป็นหนึ่งในขั้นตอนสำคัญของการเปลี่ยนเป็น atmega ต้องการทำเช่นนั้น?
Manishearth

แน่นอน! ฉันควรแก้ไขคำถามของฉันเพื่อเป็นส่วนหนึ่งและชี้ไปที่ส่วนที่สองและสามหรือไม่

ฉันจะทำมันฉันจะต้องรักษาคนอื่น ๆ ในรูปแบบเดียวกัน :)
Manishearth

... และมันก็เสร็จแล้ว ในขณะที่แต่ละคำถามมีการใช้งานที่กว้างขึ้นด้านนอกของการเปลี่ยนจาก Arduino กับการเขียนโปรแกรมไมโครคอนโทรลเลอร์บริสุทธิ์มีชุดเชื่อมโยงยืมไหลบางอย่างเพื่อให้กระบวนการ :)
Manishearth

คำตอบ:


23

นี่คือคำแนะนำบางอย่าง หากคุณเพียงต้องการที่จะรู้ว่าสิ่งที่เกิดขึ้นใน perfboard ของคุณอ่านต่อ

นี่คือ pinout สำหรับ ATmega328:

ป้อนคำอธิบายรูปภาพที่นี่

ก่อนอื่นคุณต้องใช้LM7805หรืออะไรที่คล้ายกันเพื่อรับ 5V หากคุณไม่ทราบวิธีการทำงานให้อ้างอิงภาพนี้

อำนาจ

ตอนนี้เชื่อมต่อปลาย + ของแบตเตอรี่ 12V เข้ากับ IN ของ 7805 และ - เข้ากับ COM ต่อจากนี้ฉันจะอ้างถึงการเชื่อมต่อใด ๆ จาก COM ว่า "GND" และการเชื่อมต่อใด ๆ จาก OUT เป็น "Vcc"

ตั้งค่าใหม่

เชื่อมต่อ Vcc กับ Pin 7 และ 20 ของ ATmega328 และ GND เพื่อ pin 8 และ 22 เชื่อมต่อ Vcc กับตัวต้านทาน ~ 10 kiloohm และเชื่อมต่อปลายอีกด้านหนึ่งกับขา RST (ขา 1) นอกจากนี้ให้เชื่อมต่อ GND กับสวิตช์รีเซ็ตและขั้วอื่น ๆ ของสวิตช์รีเซ็ตไปที่ขา 1 เมื่อเปิดสวิตช์รีเซ็ต Arduino จะเริ่มต้นใหม่ หากคุณไม่ต้องการสวิตช์รีเซ็ตเพียงเชื่อมต่อ Vcc โดยตรงกับขา 1

ป้อนคำอธิบายรูปภาพที่นี่

นาฬิกา

เชื่อมต่อ GND กับขั้วลบของตัวเก็บประจุ 22 picofarad สองตัว เชื่อมต่อตัวเก็บประจุหนึ่งตัวเพื่อ pin 9 และตัวเก็บประจุอื่น ๆ เพื่อ pin 10

ตอนนี้เชื่อมต่อนาฬิกา 16MHz ระหว่างหมุด 9 และ 10:

ป้อนคำอธิบายรูปภาพที่นี่

ป้อนคำอธิบายรูปภาพที่นี่

การอ้างอิงแบบอะนาล็อก

หากคุณใช้ PIN AREF เพียงเชื่อมต่อ AREF ของคุณกับ pin 21

ส่วนที่เหลือของหมุด

สิ่งเหล่านี้มีป้ายกำกับในแผนภาพด้านบน พิน 23-28 คือ A0-A5 พิน 2-6 เป็นดิจิตอล 1-4, 11-19 เป็นดิจิตอล 5-13 ใช้สิ่งเหล่านี้ตามปกติ โปรดทราบว่า Digital pin 13 (pin 19 บนไมโครคอนโทรลเลอร์) จะไม่มี LED อีกต่อไป แต่ถ้าคุณต้องการเชื่อมต่อมันให้เชื่อมต่อกับ LED ตามด้วยตัวต้านทาน 200-300 ohm ตามด้วยกราวด์:

ป้อนคำอธิบายรูปภาพที่นี่

การเขียนโปรแกรม

ถ้า Arduino ของคุณเป็น DIP Arduino (ATmega นั้นถอดออกได้) ให้ตั้งโปรแกรมโดยใช้ IDE ลบ ATmega และวางไว้ในวงจร perfboard ของคุณ (ฉันถือว่าคุณกำลังใช้ตัวยึด IC) หาก Arduino มี Surface Mount ATmega ให้ดูที่ฉันจะใช้ SMD Arduino ของฉันเพื่อตั้งโปรแกรม DIP ATmega328 ได้อย่างไร .

แค่นั้นแหละ! ตอนนี้คุณสามารถนำโครงการ Arduino ไปสู่ ​​perfboard ได้อย่างง่ายดาย!

นี่คือแผนผังสุดท้าย:

ป้อนคำอธิบายรูปภาพที่นี่


9

โครงการของคุณดูเหมือนจะเป็นสิ่งที่หลาย ๆ คนเรียกร้องให้มีเกราะป้องกัน ในกรณีนั้นฉันจะซื้อ arduino รุ่นราคาไม่แพงและเปลี่ยนเป็น Uno มันขึ้นอยู่กับฟังก์ชั่นที่คุณต้องการ

มีโคลนจำนวนมากอยู่ที่นั่นและฉันกลัวที่จะเริ่มฟังดูเหมือนเป็นสแปมเมอร์เพราะพูดถึงโคลนที่ฉันใช้และชอบในการตอบกลับของฉันมากมาย แต่...

หากคุณต้องการการตรวจสอบพอร์ต USB สตูดิโอที่เห็นมีรุ่นสองรุ่นที่ดูสมบูรณ์เพียงพอและมีแจ็คมินิ USB แตกต่างกันเล็กน้อยบอร์ดเล็กมีขนาดเล็กและราคาถูก

หากคุณไม่ต้องการการตรวจสอบพอร์ตอนุกรม USB คุณสามารถใช้โคลนที่มีเพียงอินเตอร์เฟส ttl / FTDI digistark digistump มีขนาดเล็กมากราคาถูกมาก emsl diavolino นั้นยอดเยี่ยมเช่นเดียวกับ BBB ของอุปกรณ์ที่ทันสมัย

หากคุณเลือกเส้นทางนี้และเลือกโคลนที่รักษาตำแหน่ง "มาตรฐาน" ของอาร์ดิโนคุณสามารถรับ "โปรโตฟิลด์" ได้ครึ่งโหล นี่คือสิ่งที่ดูดีมากหากวงจรของคุณเกี่ยวข้องกับชิปเลย:

Arduino กันได้ Protoshield Prototyping Shield ... แต่แน่นอนว่ามีทางเลือกที่ถูกกว่า ขึ้นอยู่กับชนิดของความสะดวกสบายของวงจรที่คุณต้องการสำหรับการออกแบบของคุณ ... รางไฟฟ้าและกราวด์สายสำหรับพินชิป ฯลฯ


5

นี่คือแนวคิดหนึ่งฉันมั่นใจว่าจะมีอีกหลายคน:

คุณสามารถดาวน์โหลดและใช้Express PCBเพื่อออกแบบแผงวงจรพิมพ์ได้ ซอฟต์แวร์นี้ฟรีและให้บริการซึ่งพวกเขาจะผลิตบอร์ดให้คุณ สำหรับบอร์ดเดียวแม้ว่าจะมีราคาแพง หรือคุณสามารถพิมพ์การออกแบบ (โดยตรงจากซอฟต์แวร์นั้น) ไปยังเครื่องพิมพ์เลเซอร์และจากนั้นก็มีหลายวิธีที่คุณสามารถใช้แผนภาพพิมพ์ด้วยเลเซอร์เพื่อกัด PCB ด้วยตัวคุณเอง นี่คือวิดีโอ YouTubeหนึ่งรายการที่แสดงวิธีการทำ


ยากแค่ไหนที่จะออกแบบ PCB สำหรับคนที่มีระดับอินโทรถึงอุปกรณ์อิเล็กทรอนิกส์?
taco

@taco: ไม่ยากเกินไปที่จะออกแบบ PCB พื้นฐานที่ใช้เช่นซอฟต์แวร์ EagleCAD (ฟรี) คุณสามารถเริ่มต้นด้วยวิดีโอชุดการสอนและหาทางแก้ไข อีกทางหนึ่ง Jeremy Blum ยังมีบทช่วยสอนสองสามบทในหน้าเว็บของเขาที่ค่อนข้างดี
boardbite

3
@Taco โปรแกรมที่ง่ายที่สุดสำหรับผู้เริ่มต้นเป็นfritzing.org คุณสามารถออกแบบมันบนเขียงหั่นขนมจากนั้นคุณก็สามารถจัดเรียงชิ้นส่วนทั้งหมดบน PCB และมันจะบอกคุณว่าคุณต้องเพิ่มร่องรอยอะไร มันมีกราฟิกที่ดีมากด้วยดังนั้นมันจึงเป็นมิตรกับผู้ใช้ มันเป็นสิ่งที่ Arduino ใช้สำหรับรูปภาพเขียงหั่นขนมของพวกเขา ส่วนที่ดีที่สุด: มันฟรีและโอเพ่นซอร์ส!
Penguin Penguin ไม่ระบุชื่อ

ขอบคุณ @ Annonomous Personฉันได้ดาวน์โหลด Fritzing ฉันจะไปเอง
taco
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.