สารบัญ:
- ขั้นตอนที่ 1: พื้นหลัง
- ขั้นตอนที่ 2: การออกแบบ GreenPAK
- ขั้นตอนที่ 3: การสร้างสัญญาณหลัก
- ขั้นตอนที่ 4: การสร้างสัญญาณเซ็กเมนต์
- ขั้นตอนที่ 5: การกำหนดค่า ASM
- ขั้นตอนที่ 6: การทดสอบ
วีดีโอ: DIY 4xN LED Driver: 6 ขั้นตอน
2024 ผู้เขียน: John Day | [email protected]. แก้ไขล่าสุด: 2024-01-30 13:04
จอแสดงผล LED ใช้กันอย่างแพร่หลายในระบบต่างๆ ตั้งแต่นาฬิกาดิจิตอล ตัวนับ ตัวจับเวลา มิเตอร์อิเล็กทรอนิกส์ เครื่องคิดเลขพื้นฐาน และอุปกรณ์อิเล็กทรอนิกส์อื่นๆ ที่สามารถแสดงข้อมูลตัวเลขได้ รูปที่ 1 แสดงตัวอย่างจอแสดงผล LED 7 ส่วนซึ่งสามารถแสดงตัวเลขและตัวอักษรทศนิยมได้ เนื่องจากแต่ละส่วนบนจอแสดงผล LED สามารถควบคุมแยกกันได้ การควบคุมนี้จึงต้องการสัญญาณจำนวนมาก โดยเฉพาะอย่างยิ่งสำหรับตัวเลขหลายหลัก คำแนะนำนี้อธิบายการใช้งาน GreenPAK™ เพื่อขับเคลื่อนตัวเลขหลายหลักด้วยอินเทอร์เฟซ I2C แบบ 2 สายจาก MCU
ด้านล่างนี้ เราได้อธิบายขั้นตอนที่จำเป็น ทำความเข้าใจว่าชิป GreenPAK ได้รับการตั้งโปรแกรมเพื่อสร้างไดรเวอร์ LED 4xN อย่างไร อย่างไรก็ตาม หากคุณต้องการเพียงแค่ผลลัพธ์ของการเขียนโปรแกรม ให้ดาวน์โหลดซอฟต์แวร์ GreenPAK เพื่อดูไฟล์การออกแบบ GreenPAK ที่เสร็จสมบูรณ์แล้ว เสียบ GreenPAK Development Kit เข้ากับคอมพิวเตอร์ของคุณและกดโปรแกรมเพื่อสร้าง IC แบบกำหนดเองสำหรับไดรเวอร์ 4xN LED
ขั้นตอนที่ 1: พื้นหลัง
จอแสดงผล LED แบ่งออกเป็นสองประเภท: แอโนดทั่วไปและแคโทดทั่วไป ในการกำหนดค่าแอโนดทั่วไป ขั้วแอโนดจะลัดวงจรภายในพร้อมกันดังแสดงในรูปที่ 2 ในการเปิดไฟ LED ขั้วแอโนดทั่วไปจะเชื่อมต่อกับแรงดันไฟฟ้าของระบบ VDD และขั้วแคโทดเชื่อมต่อกับกราวด์ผ่านตัวต้านทานจำกัดกระแส
การกำหนดค่าแคโทดทั่วไปจะคล้ายกับการกำหนดค่าแอโนดทั่วไป ยกเว้นขั้วแคโทดจะลัดวงจรพร้อมกันดังแสดงในรูปที่ 3 ในการเปิดจอแสดงผล LED แคโทดทั่วไป เทอร์มินัลแคโทดทั่วไปจะเชื่อมต่อกับกราวด์ และเทอร์มินัลแอโนดเชื่อมต่อกับระบบ จ่ายแรงดัน VDD ผ่านตัวต้านทานจำกัดกระแส
สามารถรับจอแสดงผล LED แบบมัลติเพล็กซ์ N หลักได้โดยการต่อจอแสดงผล LED 7 เซ็กเมนต์ N แต่ละรายการ รูปที่ 4 แสดงภาพตัวอย่างของจอแสดงผล LED 4x7 ที่ได้จากการรวมจอแสดงผล 7segment 4 จอในการกำหนดค่าแอโนดทั่วไป
ดังที่แสดงในรูปที่ 4 แต่ละหลักมีพินแอโนด / แบ็คเพลนทั่วไปที่สามารถใช้เพื่อเปิดใช้งานแต่ละหลักได้ หมุดแคโทดสำหรับแต่ละเซ็กเมนต์ (A, B, …G, DP) ควรลัดวงจรเข้าด้วยกันจากภายนอก ในการกำหนดค่าจอแสดงผล LED 4x7 นี้ ผู้ใช้ต้องการเพียง 12 พิน (พินทั่วไป 4 พินสำหรับแต่ละหลักและพิน 8 ส่วน) เพื่อควบคุม 32 เซ็กเมนต์ของจอแสดงผล 4x7 แบบมัลติเพล็กซ์ทั้งหมด
การออกแบบ GreenPAK ซึ่งมีรายละเอียดด้านล่าง แสดงวิธีสร้างสัญญาณควบคุมสำหรับจอแสดงผล LED นี้ การออกแบบนี้สามารถขยายเพื่อควบคุมได้ถึง 4 หลักและ 16 ส่วน โปรดดูส่วนการอ้างอิงสำหรับลิงก์ไปยังไฟล์การออกแบบ GreenPAK ที่มีอยู่ในเว็บไซต์ของ Dialog
ขั้นตอนที่ 2: การออกแบบ GreenPAK
การออกแบบ GreenPAK ที่แสดงในรูปที่ 5 มีทั้งการสร้างสัญญาณส่วนและตัวเลขในการออกแบบเดียว สัญญาณเซ็กเมนต์ถูกสร้างขึ้นจาก ASM และสัญญาณการเลือกตัวเลขจะถูกสร้างขึ้นจากเชน DFF สัญญาณเซกเมนต์เชื่อมต่อกับพินเซกเมนต์ผ่านตัวต้านทานจำกัดกระแส แต่สัญญาณการเลือกตัวเลขเชื่อมต่อกับพินทั่วไปของจอแสดงผล
ขั้นตอนที่ 3: การสร้างสัญญาณหลัก
ตามที่อธิบายไว้ในหัวข้อที่ 4 ตัวเลขแต่ละหลักบนจอแสดงผลแบบมัลติเพล็กซ์จะมีแบ็คเพลนแยกกัน ใน GreenPAK สัญญาณสำหรับแต่ละหลักจะถูกสร้างขึ้นจากห่วงโซ่ DFF ที่ขับเคลื่อนด้วยออสซิลเลเตอร์ภายใน
สัญญาณเหล่านี้ขับเคลื่อนหมุดทั่วไปของจอแสดงผล รูปที่ 6 แสดงสัญญาณการเลือกตัวเลข
ช่อง 1 (สีเหลือง) – พิน 6 (หลัก 1)
ช่อง 2 (สีเขียว) – พิน 3 (หลัก 2)
ช่อง 3 (สีน้ำเงิน) – พิน 4 (หลัก 3)
ช่อง 4 (สีม่วงแดง) – พิน 5 (หลัก 4)
ขั้นตอนที่ 4: การสร้างสัญญาณเซ็กเมนต์
GreenPAK ASM สร้างรูปแบบที่แตกต่างกันเพื่อขับเคลื่อนสัญญาณเซกเมนต์ ตัวนับ 7.5ms วนรอบสถานะ ASM เนื่องจาก ASM มีความไวต่อระดับ การออกแบบนี้จึงใช้ระบบควบคุมที่หลีกเลี่ยงความเป็นไปได้ในการสลับสถานะอย่างรวดเร็วผ่านหลายสถานะในช่วงเวลาที่สูงของนาฬิกา 7.5 มิลลิวินาที การใช้งานเฉพาะนี้ขึ้นอยู่กับสถานะ ASM ที่ต่อเนื่องกันซึ่งควบคุมโดยขั้วนาฬิกากลับด้าน ทั้งสัญญาณเซกเมนต์และตัวเลขถูกสร้างขึ้นโดยออสซิลเลเตอร์ภายใน 25kHz เดียวกัน
ขั้นตอนที่ 5: การกำหนดค่า ASM
รูปที่ 7 อธิบายแผนภาพสถานะของ ASM สถานะ 0 จะสลับเป็นสถานะ 1 โดยอัตโนมัติ สวิตช์ที่คล้ายกันเกิดขึ้นจากสถานะ 2 เป็นสถานะ 3, สถานะ 4 เป็นสถานะ 5 และสถานะ 6 เป็นสถานะ 7 ข้อมูลจากสถานะ 0, สถานะ 2, สถานะ 4 และสถานะ 6 จะถูกล็อคทันทีโดยใช้ DFF 1, DFF 2 และ DFF 7 ดังแสดงในรูปที่ 5 ก่อนที่ ASM จะเปลี่ยนเป็นสถานะถัดไป DFF เหล่านี้จะดึงข้อมูลจากสถานะคู่ของ ASM ซึ่งช่วยให้ผู้ใช้สามารถควบคุมการแสดงผลแบบขยาย 4x11/4xN (N สูงสุด 16 ส่วน) โดยใช้ ASM ของ GreenPAK
ตัวเลขแต่ละตัวบนจอแสดงผล 4xN ถูกควบคุมโดย ASM สองสถานะ สถานะ 0/1, สถานะ 2/3, สถานะ 4/5 และสถานะ 6/7 ตามลำดับควบคุม Digit 1, Digit 2, Digit 3 และ Digit 4 ตารางที่ 1 อธิบายสถานะ ASM พร้อมกับที่อยู่ RAM ตามลำดับเพื่อควบคุมแต่ละ ตัวเลข
แต่ละสถานะของ ASM RAM จะเก็บข้อมูลหนึ่งไบต์ ดังนั้น ในการกำหนดค่าการแสดงผล 4x7 สามส่วนของตัวเลข 1 จะถูกควบคุมโดยสถานะ 0 ของ ASM และห้าส่วนของตัวเลข 1 จะถูกควบคุมโดยสถานะ 1 ของ ASM เป็นผลให้ได้ส่วนทั้งหมดของแต่ละหลักบนจอแสดงผล LED โดยการต่อส่วนต่างๆ จากสองสถานะที่สอดคล้องกัน ตารางที่ 2 อธิบายตำแหน่งของแต่ละเซกเมนต์ของ Digit 1 ใน ASM RAM ในทำนองเดียวกัน ASM's State 2 ถึง State 7 จะรวมตำแหน่งเซกเมนต์ของ Digit 2 ถึง Digit 4 ตามลำดับ
ตามที่เห็นจากตารางที่ 2 OUT 3 ถึง OUT 7 ส่วนของสถานะ 0 และ OUT 0 ถึง OUT 2 ส่วนของสถานะ 1 ไม่ได้ใช้ การออกแบบ GreenPAK ในรูปที่ 5 สามารถควบคุมการแสดงผล 4x11 โดยการกำหนดค่าส่วน OUT 0 ถึง OUT 2 ของสถานะคี่ทั้งหมดของ ASM การออกแบบนี้สามารถขยายเพิ่มเติมเพื่อควบคุมการแสดงผลแบบขยาย 4xN (N สูงสุด 16 ส่วน) โดยใช้เซลล์ลอจิก DFF และ GPIO เพิ่มเติม
ขั้นตอนที่ 6: การทดสอบ
รูปที่ 8 แสดงแผนผังการทดสอบที่ใช้แสดงตัวเลขทศนิยมบนจอแสดงผล LED 4x7-segment Arduino Uno ใช้สำหรับ I2C ที่สื่อสารกับการลงทะเบียน ASM RAM ของ GreenPAK สำหรับข้อมูลเพิ่มเติมเกี่ยวกับการสื่อสาร I2C โปรดดูที่ [6] หมุดขั้วบวกทั่วไปของจอแสดงผลเชื่อมต่อกับ GPIO การเลือกตัวเลข หมุดส่วนเชื่อมต่อกับ ASM ผ่านตัวต้านทานจำกัดกระแส ขนาดตัวต้านทานจำกัดกระแสจะแปรผกผันกับความสว่างของจอแสดงผล LED ผู้ใช้สามารถเลือกความแรงของตัวต้านทานจำกัดกระแสได้ ขึ้นอยู่กับกระแสเฉลี่ยสูงสุดของ GreenPAK GPIO และกระแสไฟตรงสูงสุดของจอแสดงผล LED
ตารางที่ 3 อธิบายตัวเลขทศนิยม 0 ถึง 9 ในรูปแบบไบนารีและเลขฐานสิบหกที่จะแสดงบนจอแสดงผล 4x7 0 แสดงว่าเซ็กเมนต์เปิดอยู่ และ 1 บ่งชี้ว่าเซกเมนต์ปิดอยู่ ตามที่แสดงในตารางที่ 3 ต้องใช้สองไบต์เพื่อแสดงตัวเลขบนจอแสดงผล ด้วยการเชื่อมโยงตารางที่ 1 ตารางที่ 2 และตารางที่ 3 ผู้ใช้สามารถแก้ไขการลงทะเบียน RAM ของ ASM เพื่อแสดงตัวเลขต่างๆ บนหน้าจอได้
ตารางที่ 4 อธิบายโครงสร้างคำสั่ง I2C สำหรับ Digit 1 บนจอแสดงผล LED 4x7 คำสั่ง I2C ต้องใช้บิตเริ่มต้น ไบต์ควบคุม ที่อยู่คำ ไบต์ข้อมูล และบิตหยุด คำสั่ง I2C ที่คล้ายกันสามารถเขียนได้สำหรับ Digit 2, Digit 3 และ Digit 4
ตัวอย่างเช่น ในการเขียน 1234 บนจอแสดงผล LED 4x7 ให้เขียนคำสั่ง I2C ต่อไปนี้
[0x50 0xD0 0xF9 0xFF]
[0x50 0xD2 0xFC 0xA7]
[0x50 0xD4 0xF8 0xB7]
[0x50 0xD6 0xF9 0x9F]
ด้วยการเขียน ASM ทั้งแปดไบต์ซ้ำๆ ผู้ใช้สามารถแก้ไขรูปแบบที่แสดงได้ ตัวอย่างเช่น รหัสตัวนับจะรวมอยู่ในไฟล์ ZIP ของบันทึกการใช้งานบนเว็บไซต์ของ Dialog
บทสรุป
โซลูชัน GreenPAK ที่อธิบายไว้ในคำแนะนำนี้ช่วยให้ผู้ใช้ลดต้นทุน จำนวนส่วนประกอบ พื้นที่บอร์ด และการใช้พลังงานให้เหลือน้อยที่สุด
ส่วนใหญ่ MCU มีจำนวน GPIO ที่จำกัด ดังนั้นการนำ LED ที่ขับ GPIO ออกไปยัง GreenPAK IC ขนาดเล็กและราคาไม่แพงจะช่วยให้ผู้ใช้บันทึก IO สำหรับฟังก์ชันเพิ่มเติมได้
นอกจากนี้ GreenPAK IC นั้นง่ายต่อการทดสอบ ASM RAM สามารถแก้ไขได้ด้วยการคลิกปุ่มเพียงไม่กี่ปุ่มใน GreenPAK Designer Software ซึ่งบ่งชี้ถึงการปรับเปลี่ยนการออกแบบที่ยืดหยุ่น โดยการกำหนดค่า ASM ตามที่อธิบายไว้ในคำแนะนำนี้ ผู้ใช้สามารถควบคุมจอแสดงผล LED N-segment สี่จอ โดยแต่ละส่วนมีมากถึง 16 ส่วน
แนะนำ:
Romeo: Una Placa De Control Arduino Para Robótica Con Driver Incluidos - Robot Seguidor De Luz: 26 ขั้นตอน (พร้อมรูปภาพ)
โรมิโอ: Una Placa De Control Arduino Para Robótica Con Driver Incluidos - Robot Seguidor De Luz: Que tal amigos, siguiendo con la revisiones de placas y sensores, con el aporte de la empresa DFRobot, hoy veremos una placa con prestaciones muy interesante, เหมาะที่สุดสำหรับ el desarrollo de prototipos robóticos y el control de motores y servos, d
Raspberry Pi, Python และ TB6600 Stepper Motor Driver: 9 ขั้นตอน
Raspberry Pi, Python และ TB6600 Stepper Motor Driver: คำแนะนำนี้ทำตามขั้นตอนที่ฉันทำเพื่อเชื่อมต่อ Raspberry Pi 3b กับ TB6600 Stepper Motor Controller, แหล่งจ่ายไฟ 24 VDC และสเต็ปเปอร์มอเตอร์ 6 สาย ฉันคงเป็นเหมือนพวกคุณหลายๆ คน และบังเอิญมี "หยิบกระเป๋า" ของพาร์ที่เหลือ
28BYJ-48 5V Stepper Motor และ A4988 Driver: 4 ขั้นตอน
28BYJ-48 5V Stepper Motor และ A4988 Driver: เคยต้องการให้หุ่นยนต์หมุนในมุมที่แม่นยำโดยใช้ Arduino หรือ micro:bit เพียงเล็กน้อยหรือไม่? ทั้งหมดนี้ราคาถูก ? นั่นคือคำแนะนำสำหรับคุณ ! ในคำแนะนำนี้ เราจะมาดูวิธีการขับสเต็ปเปอร์มอเตอร์ราคาถูกมากโดยใช้เพียง
SCISSOR DRIVER SERVO Hat: 4 ขั้นตอน (พร้อมรูปภาพ)
Scissor Drive Servo Hat: โปรเจ็กต์การพิมพ์ 3 มิติและเซอร์โวมอเตอร์แบบง่ายๆ นี้เป็นความรู้สึกที่ดีสำหรับ Simone Giertz ผู้ผลิตที่ยอดเยี่ยมที่เพิ่งได้รับการผ่าตัดกำจัดเนื้องอกในสมอง อุปกรณ์กรรไกรนั้นขับเคลื่อนด้วยไมโครเซอร์โวมอเตอร์และไมโครคอนโทรลเลอร์ Trinket ที่ใช้งาน Ard
DIY High Current Motor Driver (h-bridge): 5 ขั้นตอน
DIY High Current Motor Driver (h-bridge): โปรเจ็กต์นี้คือการอัพเกรดมอเตอร์และอุปกรณ์อิเล็กทรอนิกส์ในจักรยานสี่ล้อสำหรับเด็ก Power Wheels นี้ เปี่ยมด้วยประสิทธิภาพของ 12V mini-quad เราวางแผนที่จะอัปเกรดเป็นระบบ 24v ด้วยมอเตอร์แบบมีแปรง traxxis 775 ใหม่ 2 ตัว หลังจากค้นคว้าวิจัยเชิงพาณิชย์