ประเภท: อิเล็กทรอนิคส์ในทางปฏิบัติ, วงจรไมโครคอนโทรลเลอร์
จำนวนการดู: 21376
ความเห็นเกี่ยวกับบทความ: 0
ประเภทและการจัดเรียงของไมโครคอนโทรลเลอร์ AVR
AVR - นี่คือชื่อของตระกูลไมโครคอนโทรลเลอร์ยอดนิยมที่ บริษัท ผลิต Atmel. นอกเหนือจาก ABP ภายใต้แบรนด์นี้แล้ว ไมโครคอนโทรลเลอร์ และสถาปัตยกรรมอื่น ๆ เช่น ARM และ i8051
ไมโครคอนโทรลเลอร์ AVR คืออะไร?

ไมโครคอนโทรลเลอร์มีสามประเภท:
-
AVR 8-bit
-
AVR 32 บิต
-
AVR xMega
เป็นเวลามากกว่าทศวรรษที่ได้รับความนิยมมากที่สุดคือไมโครคอนโทรลเลอร์ตระกูล 8 บิต แฮมหลายตัวเริ่มศึกษาไมโครคอนโทรลเลอร์จากเขา พวกเขาเกือบทั้งหมดได้เรียนรู้โลกของตัวควบคุมที่ตั้งโปรแกรมได้โดยการทำงานฝีมือที่เรียบง่ายของพวกเขาเช่นไฟกระพริบ LED, เครื่องวัดอุณหภูมิ, นาฬิกา, เช่นเดียวกับระบบอัตโนมัติที่เรียบง่ายเช่นการควบคุมแสงและเครื่องทำความร้อน
ในทางกลับกัน Microcontrollers AVR 8 บิตแบ่งออกเป็นสองตระกูลยอดนิยม:
-
Attiny - ชื่อนี้แสดงให้เห็นว่าน้องคนสุดท้อง (เล็ก - หนุ่มสาวอายุน้อยที่สุด) โดยทั่วไปมี 8 พินหรือมากกว่า ระดับเสียงของหน่วยความจำและฟังก์ชั่นของพวกเขามักจะเจียมเนื้อเจียมตัวมากกว่าในต่อไปนี้;
-
ATMEGA - ไมโครคอนโทรลเลอร์ที่ทันสมัยกว่านี้มีหน่วยความจำหมุดและยูนิตการทำงานที่หลากหลาย

ตระกูลย่อยที่ทรงพลังที่สุดของไมโครคอนโทรลเลอร์คือ xMega - ไมโครคอนโทรลเลอร์เหล่านี้มีให้ใช้ในกรณีที่มีพินจำนวนมากจาก 44 ถึง 100 จำเป็นสำหรับโครงการที่มีเซ็นเซอร์และแอคชูเอเตอร์จำนวนมาก นอกจากนี้ความจุหน่วยความจำและความเร็วที่เพิ่มขึ้นช่วยให้คุณได้รับประสิทธิภาพสูง

Transcript: Pin (eng. Pin - needle, pin) เป็นเอาท์พุทของไมโครคอนโทรลเลอร์หรือตามที่พวกเขาบอกว่าขา ดังนั้นคำว่า "pinout" - เช่น ข้อมูลเกี่ยวกับวัตถุประสงค์ของแต่ละขา
ไมโครคอนโทรลเลอร์คืออะไรและมีไว้เพื่ออะไร
ไมโครคอนโทรลเลอร์ใช้งานได้เกือบทุกที่! เกือบทุกอุปกรณ์ในศตวรรษที่ 21 ทำงานบนไมโครคอนโทรลเลอร์: เครื่องมือวัด, เครื่องมือ, เครื่องใช้ในครัวเรือน, นาฬิกา, ของเล่น, กล่องดนตรีและโปสการ์ดรวมถึงอีกมากมาย การแจงนับอย่างเดียวจะใช้ข้อความหลายหน้า
ผู้พัฒนาสามารถใช้สัญญาณอะนาล็อกจากด้านล่างของมันไปยังอินพุตของไมโครคอนโทรลเลอร์และจัดการข้อมูลตามค่าของมัน งานนี้ดำเนินการโดยตัวแปลงแอนะล็อกเป็นดิจิทัล (ADC) ฟังก์ชั่นนี้ช่วยให้ผู้ใช้สื่อสารกับไมโครคอนโทรลเลอร์เช่นเดียวกับการรับรู้พารามิเตอร์ต่าง ๆ ของโลกโดยใช้เซ็นเซอร์

ในไมโครคอนโทรลเลอร์ AVR ทั่วไปตัวอย่างเช่น ATmega328ซึ่งในปี 2560 เป็นหัวใจของแผงวงจรจำนวนมาก Arduinoแต่เกี่ยวกับพวกเขาในภายหลัง ใช้แล้ว 8 ช่อง ADCด้วยความลึกบิต 10 บิต. หมายความว่าคุณสามารถอ่านค่าจากเซ็นเซอร์อะนาล็อก 8 ตัว และเซ็นเซอร์ดิจิตอลนั้นเชื่อมต่อกับเอาท์พุทดิจิตอลซึ่งอาจเห็นได้ชัด อย่างไรก็ตามสัญญาณดิจิตอลสามารถมีได้เพียง 1 (หน่วย) หรือ 0 (ศูนย์) ในขณะที่สัญญาณอะนาล็อกสามารถรับค่าจำนวนอนันต์

คำอธิบาย:
ความจุ เป็นค่าที่บอกลักษณะคุณภาพความแม่นยำและความไวของอินพุตแบบอะนาล็อก ไม่ได้เสียงที่ชัดเจนมาก แนวทางปฏิบัติเล็กน้อย: ADC ขนาด 10 บิตบันทึกข้อมูลอะนาล็อกจากพอร์ตในหน่วยความจำ 10 บิตกล่าวอีกอย่างหนึ่งว่าไมโครคอนโทรลเลอร์เป็นสัญญาณดิจิตอลที่เปลี่ยนแปลงอย่างราบรื่นซึ่งเป็นค่าตัวเลขตั้งแต่ 0 ถึง 1024
ADC แบบ 12 บิตจะเห็นสัญญาณเดียวกัน แต่มีความแม่นยำสูงกว่าในรูปแบบตั้งแต่ 0 ถึง 4096 ซึ่งหมายความว่าค่าที่วัดได้ของสัญญาณอินพุตนั้นมีความแม่นยำมากกว่าเดิมถึง 4 เท่า เพื่อให้เข้าใจว่ามาจากไหน 1024 และ 4096 เพียงเพิ่ม 2 ถึงพลังของความลึกบิตของ ADC (2 เป็นกำลัง 10 สำหรับ 10 บิตเป็นต้น)
เพื่อควบคุมกำลังโหลดมีช่อง PWM ให้คุณเลือกใช้เช่นเพื่อปรับความสว่างอุณหภูมิหรือความเร็วของเครื่องยนต์ ในคอนโทรลเลอร์ 328 ตัวเดียวกันมี 6 ตัว
โดยทั่วไปแล้วโครงสร้างของไมโครคอนโทรลเลอร์ AVR นั้นจะปรากฎในแผนภาพ:

โหนดทั้งหมดมีการเซ็นชื่อ แต่ยังมีบางชื่อที่อาจไม่ชัดเจน ลองดูสัญกรณ์ของพวกเขา
-
ALU - อุปกรณ์ทางคณิตศาสตร์ - ตรรกะ จำเป็นต้องทำการคำนวณ
-
รีจิสเตอร์วัตถุประสงค์ทั่วไป (RON) - การลงทะเบียนที่สามารถรับข้อมูลและเก็บไว้ในขณะที่ไมโครคอนโทรลเลอร์เชื่อมต่อกับพลังงานจะถูกลบหลังจากรีบูต ทำหน้าที่เป็นเซลล์ชั่วคราวสำหรับการดำเนินการข้อมูล
-
ขัดจังหวะ - บางอย่างเช่นเหตุการณ์ที่เกิดขึ้นเนื่องจากอิทธิพลภายในหรือภายนอกที่มีต่อไมโครคอนโทรลเลอร์ - ตัวจับเวลาล้น, การขัดจังหวะภายนอกจากขา MK ฯลฯ
-
JTAG - อินเตอร์เฟสสำหรับการเขียนโปรแกรมในวงจรโดยไม่ต้องถอดไมโครคอนโทรลเลอร์ออกจากบอร์ด
-
แฟลช, RAM, EEPROM - ประเภทของหน่วยความจำ - โปรแกรมข้อมูลการทำงานชั่วคราวการจัดเก็บระยะยาวที่เป็นอิสระจากแหล่งจ่ายไฟไปยังไมโครคอนโทรลเลอร์ตามคำสั่งในชื่อ
-
ตัวจับเวลาและตัวนับ - โหนดที่สำคัญที่สุดในไมโครคอนโทรลเลอร์ในบางรุ่นจำนวนของมันอาจมีมากถึงหนึ่งโหล พวกเขาต้องการเพื่อรายงานจำนวนการวัดตามลำดับช่วงเวลาและตัวนับเพิ่มมูลค่าสำหรับเหตุการณ์ใด ๆ งานและโหมดของพวกเขาขึ้นอยู่กับโปรแกรมอย่างไรก็ตามการกระทำเหล่านี้จะดำเนินการในฮาร์ดแวร์เช่น ขนานกับข้อความหลักของโปรแกรมพวกเขาสามารถทำให้เกิดการขัดจังหวะ (โดยตัวจับเวลาล้นเป็นตัวเลือก) ในทุกขั้นตอนของการเรียกใช้โค้ดในบรรทัดใด ๆ ของมัน
-
A / D (อนาล็อก / ดิจิตอล) - ADC เราได้อธิบายวัตถุประสงค์ของมันไว้แล้ว
-
WatchDogTime (ตัวจับเวลา Watchdog) - RC oscillator ที่เป็นอิสระจากไมโครคอนโทรลเลอร์และแม้กระทั่งตัวกำเนิดสัญญาณนาฬิกาซึ่งนับระยะเวลาหนึ่งและสร้างสัญญาณรีเซ็ต MK หากใช้งานได้และจะกลับมาทำงานหากอยู่ในโหมดสลีป (ประหยัดพลังงาน) การดำเนินการสามารถปิดใช้งานได้โดยการตั้งค่าบิต WDTE เป็น 0
เอาต์พุตของไมโครคอนโทรลเลอร์ค่อนข้างอ่อนแอซึ่งหมายความว่ากระแสที่ผ่านมามักจะสูงถึง 20-40 มิลลิแอมป์ซึ่งเพียงพอที่จะส่องไฟ LED และไฟแสดงสถานะ LED สำหรับการโหลดที่มีประสิทธิภาพยิ่งขึ้นจำเป็นต้องใช้เครื่องขยายเสียงกระแสหรือแรงดันเช่นทรานซิสเตอร์เดียวกัน
คุณต้องเริ่มเรียนไมโครคอนโทรลเลอร์อย่างไร?
ก่อนอื่นคุณต้องซื้อไมโครคอนโทรลเลอร์ก่อน บทบาทของไมโครคอนโทรลเลอร์ตัวแรกสามารถเป็น Attiny2313, Attiny85, Atmega328 และอื่น ๆ มันจะดีกว่าที่จะเลือกรูปแบบที่อธิบายไว้ในบทเรียนที่คุณจะมีส่วนร่วม

สิ่งต่อไปที่คุณต้องการคือ โปรแกรมเมอร์. มันเป็นสิ่งจำเป็นในการดาวน์โหลดเฟิร์มแวร์ไปยังหน่วยความจำของ MK ก็ถือว่าถูกที่สุดและเป็นที่นิยมที่สุด USBASP.

แพงกว่านิดหน่อย แต่ก็ไม่ธรรมดาเหมือนกันโปรแกรมเมอร์ AVRISP MKIIซึ่งคุณสามารถทำเองได้ - จากกระดานปกติ Arduino

ตัวเลือกอื่นคือการกระพริบผ่าน USB UART อะแดปเตอร์ซึ่งมักจะทำกับหนึ่งในตัวแปลง: FT232RL, CH340, PL2303 และ CP2102
ในบางกรณีคอนโทรลเลอร์ไมโครคอนโทรลเลอร์ AVR พร้อมกับการสนับสนุนฮาร์ดแวร์ USB จะใช้สำหรับตัวแปลงดังกล่าวมีรุ่นดังกล่าวไม่มากเกินไป นี่คือบางส่วน:
-
ATmega8U2;
-
ATmega16U2;
-
ATmega32U2

เพียงหนึ่ง“ แต่” - bootloader ของ UART จะต้องโหลดลงในหน่วยความจำของไมโครคอนโทรลเลอร์ก่อน แน่นอนว่าสำหรับเรื่องนี้คุณยังต้องมีโปรแกรมเมอร์สำหรับไมโครคอนโทรลเลอร์ AVR
ที่น่าสนใจ: Bootloader - นี่เป็นโปรแกรมปกติสำหรับไมโครคอนโทรลเลอร์ แต่ด้วยงานที่ผิดปกติ - หลังจากการเปิดตัว (เชื่อมต่อกับพลังงาน) มันคาดว่าในบางครั้งที่เฟิร์มแวร์สามารถโหลดเข้าไปได้ ข้อดีของวิธีนี้คือคุณสามารถแฟลชอะแดปเตอร์ USB-UART และมีราคาถูกมาก ข้อเสียคือเฟิร์มแวร์ใช้เวลาโหลดนาน
สำหรับการทำงาน UART (RS-232) อินเตอร์เฟสในตัวควบคุมไมโครคอนโทรลเลอร์ AVR จัดสรร UDR แบบลงทะเบียนทั้งหมด (การลงทะเบียนข้อมูล UART). UCSRA (การตั้งค่าบิตตัวรับส่งสัญญาณ RX, TX), UCSRB และUCSRС - ชุดของรีจิสเตอร์ที่รับผิดชอบการตั้งค่าอินเตอร์เฟสทั้งหมด
ฉันจะเขียนโปรแกรมได้อย่างไร
นอกจากนี้โปรแกรมเมอร์สำหรับการเขียนและดาวน์โหลดโปรแกรมที่คุณต้องการ IDE - สภาพแวดล้อมการพัฒนา แน่นอนคุณสามารถเขียนโค้ดในแผ่นจดบันทึกผ่านคอมไพเลอร์ ฯลฯ ทำไมจึงจำเป็นเมื่อมีตัวเลือกสำเร็จรูปยอดเยี่ยม บางทีหนึ่งในผู้ที่ทรงพลังที่สุดคือ IAR แต่ได้รับค่าตอบแทน
Atmel IDE อย่างเป็นทางการคือ AVR Studio ซึ่งเปลี่ยนชื่อเป็นสตูดิโอ Atmel ในเวอร์ชัน 6 รองรับไมโครคอนโทรลเลอร์ AVR ทั้งหมด (8, 32, xMega) ตรวจจับคำสั่งโดยอัตโนมัติและช่วยในการป้อนเน้นไวยากรณ์ที่ถูกต้องและอื่น ๆ อีกมากมายด้วยความช่วยเหลือของมันคุณสามารถแฟลช MK
ที่พบมากที่สุดคือ C AVR ดังนั้นหาบทเรียนเกี่ยวกับมันมีตัวเลือกภาษารัสเซียมากมายและหนึ่งในนั้นคือ Khartov V.Ya “ ไมโครคอนโทรลเลอร์ AVR การประชุมเชิงปฏิบัติการสำหรับผู้เริ่มต้น "

วิธีที่ง่ายที่สุดในการเรียนรู้ AVR
ซื้อหรือทำเอง บอร์ด Arduino. โครงการ arduino ออกแบบมาโดยเฉพาะเพื่อการศึกษา มีหลายสิบบอร์ดที่มีรูปร่างและจำนวนผู้ติดต่อที่หลากหลาย สิ่งที่สำคัญที่สุดใน arduino คือคุณไม่ได้ซื้อแค่ไมโครคอนโทรลเลอร์เท่านั้น แต่ยังมีบอร์ด debug ที่เต็มเปี่ยมไปยังแผงวงจรพิมพ์ textolite คุณภาพสูงปกคลุมด้วยหน้ากากและส่วนประกอบ SMD ที่ติดตั้ง
ที่พบมากที่สุดคือ Arduino Nano และ Arduino UNO ซึ่งเหมือนกันเป็นหลักยกเว้นว่านาโนมีขนาดเล็กกว่า Uno ประมาณ 3 เท่า

ข้อเท็จจริงบางประการ:
-
Arduino สามารถตั้งโปรแกรมในภาษามาตรฐาน -“ C AVR”;
-
การเดินสายของเขาเอง
-
สภาพแวดล้อมการพัฒนามาตรฐาน - Arduino IDE;
-
ในการเชื่อมต่อกับคอมพิวเตอร์คุณเพียงแค่ต้องเชื่อมต่อสายเคเบิล USB เข้ากับช่องเสียบ micro-USB บนบอร์ดนาโน Arduino ติดตั้งไดรเวอร์ (ส่วนใหญ่จะเกิดขึ้นโดยอัตโนมัติยกเว้นเมื่อตัวแปลงบน CH340 ฉันไม่มีไดรเวอร์ใน 8.1 8.1 ฉันต้องดาวน์โหลด แต่มัน ใช้เวลาไม่นาน) จากนั้นคุณสามารถอัปโหลด "ภาพร่าง" ของคุณ
-
“ ภาพร่าง” เป็นชื่อของโปรแกรมสำหรับ arduino

ผลการวิจัย
ไมโครคอนโทรลเลอร์จะช่วยได้มากในการฝึกวิทยุสมัครเล่นของคุณซึ่งจะช่วยให้คุณค้นพบโลกของอิเล็คทรอนิคส์ดิจิตอลออกแบบเครื่องมือวัดของคุณเองและอุปกรณ์อัตโนมัติในบ้าน
ดูได้ที่ e.imadeself.com
: