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






| พิมพ์ | พารามิเตอร์ |
| เวลานำโรงงาน | 7 สัปดาห์ |
| ติดตั้ง | ผ่านรู |
| ประเภทการติดตั้ง | ผ่านรู |
| แพ็คเกจ / เคส | 40-dip (0.600, 15.24mm) |
| จำนวนพิน | 40 |
| ตัวแปลงข้อมูล | A/D 8x10b |
| จำนวน I/OS | 33 |
| ตัวจับเวลาสุนัขเฝ้าบ้าน | ใช่ |
| อุณหภูมิการทำงาน | -40C ~ 85c ta |
| การบรรจุหีบห่อ | หลอด |
| ชุด | รูปถ่าย 16F |
| ที่ตีพิมพ์ | ปี 1997 |
| รหัส JESD-609 | E3 |
| รหัส pbfree | ใช่ |
| สถานะชิ้นส่วน | คล่องแคล่ว |
| ระดับความไวต่อความชื้น (MSL) | 1 (ไม่ จำกัด ) |
| จำนวนการยุติ | 40 |
| รหัส ECCN | หู 99 |
| เทอร์มินัลเสร็จสิ้น | Matte Tin (SN) - อบอ่อน |
| คุณสมบัติเพิ่มเติม | ทำงานที่อุปทานขั้นต่ำ 4V |
| ตำแหน่งเทอร์มินัล | คู่ |
| แรงดันไฟฟ้า | 5V |
| ความถี่ | 20MHz |
| หมายเลขชิ้นส่วนฐาน | pic16f877a |
| จำนวนพิน | 40 |
| จัดหาแรงดันไฟฟ้า-แม็กซ์ (VSUP) | 5.5V |
| แหล่งจ่ายไฟ | 5V |
| จ่ายแรงดันไฟฟ้า-มิน (VSUP) | 4.5V |
| ส่วนต่อประสาน | i2c, spi, ssp, uart, usart |
| ขนาดหน่วยความจำ | 14KB |
| ประเภทออสซิลเลเตอร์ | ภายนอก |
| แหล่งจ่ายไฟเล็กน้อย | 1.6ma |
| ขนาดแรม | 368 x 8 |
| แรงดันไฟฟ้า - อุปทาน (VCC/VDD) | 4V ~ 5.5V |
| ประเภท UPS/UCS/อุปกรณ์ต่อพ่วง ICS | ไมโครคอนโทรลเลอร์, RISC |
| โปรเซสเซอร์หลัก | รูปถ่าย |
| อุปกรณ์ต่อพ่วง | การตรวจจับ/รีเซ็ตสีน้ำตาลออก, POR, PWM, WDT |
| ประเภทหน่วยความจำโปรแกรม | แฟลช |
| ขนาดหลัก | 8 บิต |
| ขนาดหน่วยความจำโปรแกรม | 14KB (8K x 14) |
| การเชื่อมต่อ | I2C, SPI, UART/USART |
| ขนาดบิต | 8 |
| เวลาเข้าถึง | 20 µS |
| มี ADC | ใช่ |
| ช่อง DMA | เลขที่ |
| ความกว้างของบัสข้อมูล | 8B |
| จำนวนตัวจับเวลา/เคาน์เตอร์ | 3 |
| ที่อยู่ความกว้างของรถบัส | 8B |
| ความหนาแน่น | 112 kb |
| ขนาด eeprom | 256 x 8 |
| ครอบครัว CPU | รูปถ่าย |
| จำนวนช่อง ADC | 8 |
| จำนวนช่อง PWM | 2 |
| จำนวนช่อง I2C | 1 |
| ความสูง | 4.06 มม. |
| ความยาว | 52.45 มม. |
| ความกว้าง | 14.22 มม. |
| ไปถึง SVHC | ไม่มี SVHC |
| การชุบแข็งของรังสี | เลขที่ |
| สถานะ ROHS | Rohs3 เป็นไปตามมาตรฐาน |
| นำฟรี | นำฟรี |
มอเตอร์สเต็ปเปอร์เป็นมอเตอร์ไฟฟ้าชนิดหนึ่งที่เคลื่อนที่ในขั้นตอนเฉพาะมากกว่าการเคลื่อนไหวอย่างต่อเนื่องเช่นมอเตอร์แบบดั้งเดิมการเคลื่อนไหวทีละขั้นตอนเหล่านี้วัดในองศาซึ่งอาจแตกต่างกันไปขึ้นอยู่กับแอปพลิเคชัน
Stepper Motors สามารถทำงานในโหมดต่าง ๆ : Wave Drive, Full Drive และ Half Driveแต่ละโหมดควบคุมว่าเฟสมอเตอร์มีพลังอย่างไรส่งผลต่อประสิทธิภาพและทำให้เหมาะสำหรับการใช้งานที่หลากหลาย
ในโหมด Wave Drive มีเพียงเฟสของมอเตอร์เท่านั้นที่ใช้พลังงานในแต่ละครั้งโหมดการควบคุมอย่างง่ายนี้มีประโยชน์สำหรับสถานการณ์ที่ประสิทธิภาพการใช้พลังงานถูกจัดลำดับความสำคัญมากกว่าแรงบิดเช่นในงานระบบอัตโนมัติขั้นพื้นฐานที่ต้องการกระแสเริ่มต้นน้อยที่สุด
โหมดไดรฟ์เต็มพลังสองเฟสพร้อมกันสิ่งนี้ส่งผลให้เกิดแรงบิดที่สูงขึ้นเนื่องจากขดลวดสองตัวทำงานร่วมกันทำให้เหมาะสำหรับการใช้งานที่จำเป็นต้องมีความแม่นยำและความแข็งแรงเช่นในหุ่นยนต์และเครื่องจักร CNC
โหมดไดรฟ์ครึ่งรวมคุณสมบัติของทั้งคลื่นและไดรฟ์เต็มรูปแบบโดยการสลับการใช้พลังงานหนึ่งเฟสและสองเฟสวิธีการนี้ให้ขนาดขั้นตอนที่เล็กลงเพิ่มความละเอียดของมอเตอร์เป็นสองเท่าHalf Drive เหมาะที่สุดสำหรับแอพพลิเคชั่นเช่นการพิมพ์ 3 มิติและเครื่องมือวัดที่ดีซึ่งการเคลื่อนไหวที่ราบรื่นและการวางตำแหน่งที่แม่นยำเป็นสิ่งจำเป็น
เมื่อเลือกมอเตอร์สเต็ปเปอร์สำหรับการใช้งานเฉพาะให้พิจารณาสภาพแวดล้อมการทำงานสำหรับงานที่มีความแม่นยำสูงแนะนำให้ใช้โหมดไดรฟ์ครึ่งเพื่อให้แน่ใจว่าการเปลี่ยนผ่านที่ราบรื่นและการสั่นสะเทือนลดลงสำหรับโครงการที่มุ่งเน้นการประหยัดพลังงานโหมดคลื่นอาจเหมาะสมกว่า
การเลือกโหมดที่เหมาะสมต้องใช้ปัจจัยที่สมดุลเช่นแรงบิดความเร็วและความซับซ้อนของระบบการเลือกโหมดที่ถูกต้องอาจมีผลต่อประสิทธิภาพของมอเตอร์และประสิทธิภาพโดยรวมของระบบของคุณ
เพื่อเชื่อมต่อมอเตอร์สเต็ปเปอร์กับไฟล์ pic16f877a ไมโครคอนโทรลเลอร์คุณสามารถใช้อาร์เรย์ทรานซิสเตอร์ ULN2003วงจรรวมนี้ออกแบบมาสำหรับมอเตอร์แรงบิดสูงมีเจ็ดคู่ดาร์ลิงตันบิตพอร์ตด์ที่ต่ำกว่าของไมโครคอนโทรลเลอร์เชื่อมโยงกับพินอินพุต (1B, 2B, 3B, 4B) ของ ULN2003 ในขณะที่พินเอาท์พุท (1C, 2C, 3C, 4C) เชื่อมต่อกับพินมอเตอร์ของ Stepperพินทั่วไปของมอเตอร์และหมุด Com ของ ULN2003 เชื่อมต่อกับแหล่งจ่ายไฟ 12V
มอเตอร์สเต็ปเปอร์มักใช้สำหรับแอพพลิเคชั่นที่ต้องการการควบคุมการเคลื่อนไหวที่แม่นยำพวกเขาแปลงพัลส์ดิจิตอลเป็นการหมุนเชิงกลทำให้เหมาะสำหรับอุปกรณ์เช่นเครื่องซีเอ็นซีและเครื่องพิมพ์ 3 มิติซึ่งจะต้องควบคุมตำแหน่งและความเร็วอย่างระมัดระวัง
ULN2003 มีบทบาทสำคัญในการควบคุมมอเตอร์สเต็ปเนื่องจากความสามารถในการจัดการกระแสไฟฟ้าสูงและการเชื่อมต่อที่ง่ายกับไมโครคอนโทรลเลอร์เมื่อเชื่อมต่อกับ PIC16F877A จะใช้บิตพอร์ตด์ที่ต่ำกว่าเพื่อควบคุมมอเตอร์สเต็ปเปอร์การกำหนดค่านี้ให้การควบคุมขั้นตอนที่แม่นยำเพื่อให้มั่นใจว่าการเคลื่อนไหวและการวางตำแหน่งที่แม่นยำ
การใช้ ULN2003 ในการตั้งค่าการควบคุมมอเตอร์มีความน่าเชื่อถือสูงในแอปพลิเคชันในโลกแห่งความเป็นจริงช่วยลดปัญหาเช่นขั้นตอนที่ไม่ได้รับหรือการวางตำแหน่งที่ไม่ถูกต้องปรับปรุงประสิทธิภาพโดยรวมการบำรุงรักษาและการสอบเทียบปกติตามข้อมูลการใช้งานสามารถเพิ่มประสิทธิภาพการทำงานของมอเตอร์ให้เหมาะสมที่สุดเพื่อให้มั่นใจว่ามีความเสถียรในระยะยาวและการทำงานที่แม่นยำ

ความเร็วมอเตอร์ Stepper สามารถปรับเปลี่ยนได้อย่างแม่นยำโดยใช้ซอฟต์แวร์จำลอง Proteusโดยการเข้าถึงการตั้งค่าของมอเตอร์ผ่าน 'การแก้ไขคุณสมบัติ' การปรับเปลี่ยนเป็นพารามิเตอร์เช่นจำนวนขั้นตอนและมุมขั้นตอนสามารถทำได้ตัวอย่างเช่นมอเตอร์ 200 ขั้นตอนแยกการหมุนเต็ม (360 °) ออกเป็น 200 ขั้นตอนทำให้แต่ละขั้นตอน 1.8 °การเปลี่ยนการตั้งค่าเหล่านี้ใน Proteus จะสะท้อนแบบไดนามิกในระหว่างการจำลอง
ในทางปฏิบัติมอเตอร์สเต็ปเปอร์มักใช้ในอุตสาหกรรมที่การควบคุมการเคลื่อนไหวที่แม่นยำเป็นสิ่งสำคัญเช่นในเครื่องจักรและหุ่นยนต์ CNCการปรับมุมขั้นตอนและจำนวนขั้นตอนการปรับจูนมอเตอร์เพื่อให้ได้การเคลื่อนไหวที่แน่นอนที่จำเป็นสำหรับงานเฉพาะ
การเปลี่ยนแปลงพารามิเตอร์มอเตอร์สเต็ปเปอร์มีผลต่อลักษณะประสิทธิภาพเช่นแรงบิดและความละเอียดตัวอย่างเช่นการเพิ่มจำนวนขั้นตอนโดยทั่วไปจะช่วยเพิ่มความละเอียด แต่อาจส่งผลกระทบต่อแรงบิดและเวลาตอบสนองการทำความเข้าใจกับการแลกเปลี่ยนเหล่านี้ผ่านการจำลองช่วยในการตัดสินใจอย่างชาญฉลาด
มุมมองที่เหมาะสมยิ่งขึ้นเผยให้เห็นว่าการปรับซ้ำ ๆ ตามด้วยการทดลองเชิงปฏิบัตินำไปสู่การออกแบบเครื่องยนต์ที่แข็งแกร่งยิ่งขึ้นการสร้างความมั่นใจว่าการจำลองแบบดิจิตอลสะท้อนผลลัพธ์ในโลกแห่งความเป็นจริงอย่างใกล้ชิดเป็นสิ่งสำคัญความแตกต่างของการกำหนดค่ามอเตอร์ Stepper นั้นอยู่ในความสมดุลระหว่างความแม่นยำทางทฤษฎีและความเป็นไปได้ในทางปฏิบัติ

ส่วนนี้ครอบคลุมวิธีการตั้งโปรแกรมมอเตอร์สเต็ปเปอร์โดยใช้ไมโครคอนโทรลเลอร์ PIC16F877A อธิบายโหมดการขับขี่ที่แตกต่างกันและให้คำแนะนำในทางปฏิบัติสำหรับการใช้งานที่มีประสิทธิภาพ
นี่คือรหัสตัวอย่างพื้นฐานเพื่อแสดงการควบคุมมอเตอร์สเต็ปด้วยโหมดไดรฟ์เต็ม:
เป็นโมฆะหลัก ()
-
trisd = 0b00000000;// ตั้งพอร์ตเป็นเอาต์พุต
portd = 0b11111111;// เริ่มต้นพอร์ตด์
ทำ
-
portd = 0b00000011;// เพิ่มพลังสองขั้นตอนพร้อมกัน
delay_ms (500);// การหน่วงเวลา 0.5 วินาที
portd = 0b00000110;
delay_ms (500);
portd = 0b00001100;
delay_ms (500);
portd = 0b00001001;
delay_ms (500);
} ในขณะที่ (1);// ลูปไปเรื่อย ๆ
-
ในรหัสนี้ PORTD ของ PIC16F877A ได้รับการกำหนดค่าเป็นพอร์ตเอาต์พุตเพื่อควบคุมมอเตอร์สเต็ปผ่านไดรเวอร์ ULN2003ลำดับของคำสั่งเพิ่มพลังให้กับมอเตอร์สเต็ปเปอร์สองเฟสในแต่ละครั้งซึ่งเป็นลักษณะของโหมดไดรฟ์เต็มโหมดนี้ถือโรเตอร์ในตำแหน่งคงที่ด้วยแรงบิดสูงสุด แต่โดยทั่วไปจะใช้พลังงานมากขึ้น
โหมดไดรฟ์เต็มไม่ใช่วิธีเดียวในการควบคุมมอเตอร์สเต็ปโหมด Wave Drive และ Half Drive ให้ทางเลือกตามข้อกำหนดเฉพาะไดรฟ์คลื่นพลังงานเพียงครั้งเดียวในแต่ละครั้งซึ่งจะช่วยลดการใช้พลังงาน แต่ส่งผลให้แรงบิดลดลงไดรฟ์ครึ่งทางเลือกระหว่างหนึ่งและสองขั้นตอนให้ความละเอียดสูงขึ้นและการเคลื่อนไหวที่ราบรื่นขึ้น
เมื่อการเขียนโปรแกรม Stepper Motors เลือกโหมดการขับขี่ที่เหมาะกับความต้องการของคุณมากที่สุดไม่ว่าจะเป็นการวางตำแหน่งที่แม่นยำประสิทธิภาพพลังงานหรือแรงบิดสูงสุด
มอเตอร์สเต็ปเปอร์มีการใช้กันอย่างแพร่หลายในหลายอุตสาหกรรมเนื่องจากความสามารถในการควบคุมและประสิทธิภาพที่เชื่อถือได้อย่างแม่นยำความเก่งกาจของพวกเขาทำให้พวกเขาเหมาะสำหรับทุกสิ่งตั้งแต่รถยนต์และเครื่องใช้ในครัวเรือนไปจนถึงเครื่องจักรอุตสาหกรรมและอุปกรณ์การแพทย์
ในโลกยานยนต์ Stepper Motors มีบทบาทสำคัญในการควบคุมระบบเช่นคันเร่งไฟหน้าและเครื่องปรับอากาศพวกเขาช่วยปรับแต่งส่วนประกอบเหล่านี้อย่างละเอียดเพื่อให้แน่ใจว่ายานพาหนะทำงานได้อย่างราบรื่นและมีประสิทธิภาพในขณะเดียวกันในอุปกรณ์สำนักงานเช่นเครื่องพิมพ์และเครื่องถ่ายเอกสาร Stepper Motors จัดการงานเช่นการให้อาหารกระดาษและการจัดวางหมึกความแม่นยำนี้ทำให้มั่นใจได้ว่าคุณภาพการพิมพ์ที่สอดคล้องกันและการทำงานที่ราบรื่นเมื่อเวลาผ่านไป
ที่บ้านเครื่องใช้ไฟฟ้าเช่นเครื่องซักผ้าและเครื่องล้างจานพึ่งพามอเตอร์สเต็ปเปอร์เพื่อควบคุมการไหลของน้ำและการหมุนกลองเพื่อให้มั่นใจว่าทุกอย่างทำงานได้อย่างราบรื่นในการตั้งค่าอุตสาหกรรมมอเตอร์สเต็ปเป็นสิ่งสำคัญสำหรับการใช้งานเครื่องซีเอ็นซีและแขนหุ่นยนต์ซึ่งพวกเขาให้การเคลื่อนไหวที่แน่นอนที่จำเป็นสำหรับการผลิตที่มีความแม่นยำสูง
ระบบรักษาความปลอดภัยยังได้รับประโยชน์จากการเคลื่อนที่ที่เชื่อถือได้ของมอเตอร์สเต็ปเปอร์ในอุปกรณ์เช่นกล้องวงจรปิดและล็อคอัตโนมัติมอเตอร์สเต็ปเปอร์ช่วยให้การวางตำแหน่งที่ราบรื่นและแม่นยำซึ่งเป็นสิ่งจำเป็นสำหรับการตรวจสอบและรักษาความปลอดภัยที่มีประสิทธิภาพในการดูแลสุขภาพมอเตอร์สเต็ปเปอร์ใช้ในอุปกรณ์การแพทย์เช่นปั๊มแช่และอุปกรณ์ถ่ายภาพซึ่งพวกเขาให้การควบคุมที่แม่นยำที่จำเป็นสำหรับการทำงานที่ปลอดภัยและแม่นยำ
ในขณะที่เทคโนโลยียังคงพัฒนาอย่างต่อเนื่องคาดว่า Stepper Motors จะพบแอพพลิเคชั่นมากขึ้นในสาขาที่เกิดขึ้นใหม่เช่นหุ่นยนต์และยานพาหนะอิสระการพัฒนาอย่างต่อเนื่องของพวกเขามีแนวโน้มที่จะนำไปสู่ความแม่นยำและประสิทธิภาพที่มากขึ้นการขยายบทบาทของพวกเขาในอุตสาหกรรมต่าง ๆ
| หมายเลขชิ้นส่วน | PIC16F877A-I/P | PIC16F77-I/P | PIC16F74-I/P | PIC16F777-I/P |
| ผู้ผลิต | เทคโนโลยีไมโครชิป | เทคโนโลยีไมโครชิป | เทคโนโลยีไมโครชิป | เทคโนโลยีไมโครชิป |
| แพ็คเกจ / เคส | 40-dip (0.600, 15.24mm) | 40-dip (0.600, 15.24mm) | 40-dip (0.600, 15.24mm) | 40-dip (0.600, 15.24mm) |
| จำนวนพิน | 40 | 40 | 40 | 40 |
| ความกว้างของบัสข้อมูล | 8 B | 8 B | 8 B | 8 B |
| จำนวน I/O | 33 | 33 | 33 | 36 |
| ส่วนต่อประสาน | i2c, spi, ssp, uart, usart | i2c, spi, ssp, uart, usart | i2c, spi, ssp, uart, usart | i2c, spi, uart, usart |
| ขนาดหน่วยความจำ | 14 kb | 7 kb | 14 kb | 14 kb |
| แรงดันไฟฟ้า | 5 V | 5 V | 5 V | 5 V |
| อุปกรณ์ต่อพ่วง | การตรวจจับ/รีเซ็ตสีน้ำตาลออก, POR, PWM, WDT | การตรวจจับ/รีเซ็ตสีน้ำตาลออก, POR, PWM, WDT | การตรวจจับ/รีเซ็ตสีน้ำตาลออก, POR, PWM, WDT | การตรวจจับ/รีเซ็ตสีน้ำตาลออก, POR, PWM, WDT |
| ดูเปรียบเทียบ | PIC16F877A-I/P VS PIC16F77-I/P | PIC16F877A-I/P VS PIC16F77-I/P | PIC16F877A-I/P VS PIC16F74-I/P | PIC16F877A-I/P VS PIC16F777-I/P |
มอเตอร์สเต็ปเปอร์สร้างการเคลื่อนไหวเชิงกลโดยใช้พัลส์ไฟฟ้า
มอเตอร์สเต็ปเปอร์เคลื่อนที่ในขั้นตอนที่ไม่ต่อเนื่อง
มอเตอร์สเต็ปเปอร์วัดในองศา
มอเตอร์ Stepper เคลื่อนที่ทีละขั้นตอน
มอเตอร์สเต็ปเปอร์มีโหมดการกระตุ้นสามโหมด
วิธีที่ง่ายที่สุดคือการเชื่อมต่อกับไมโครคอนโทรลเลอร์ PIC16F877A
หมุดอินพุตสี่ตัวเชื่อมต่อกับบิตที่สำคัญที่สุดของพอร์ตของไมโครคอนโทรลเลอร์
กรุณาส่งคำถามเราจะตอบกลับทันที
บน 10/10/2024
บน 10/10/2024
บน 18/04/8000 147750
บน 18/04/2000 111923
บน 18/04/1600 111349
บน 18/04/0400 83714
บน 01/01/1970 79502
บน 01/01/1970 66872
บน 01/01/1970 63005
บน 01/01/1970 62955
บน 01/01/1970 54078
บน 01/01/1970 52092