คำถามติดแท็ก microcontroller

อุปกรณ์ซึ่งรวมถึงหน่วยประมวลผลกลาง (CPU) หน่วยความจำและ (โดยทั่วไป) ชุดอุปกรณ์ต่อพ่วง I / O (UART, ADC, DAC, I / O วัตถุประสงค์ทั่วไป, I2C และอื่น ๆ ) ในสแตนด์อะโลน บรรจุภัณฑ์

5
นี่เป็นการออกแบบที่ดีสำหรับ MOSFET H-Bridge หรือไม่?
ฉันพยายามมองหาการออกแบบ H-Bridge ที่เรียบง่าย แต่ใช้งานได้สำหรับมอเตอร์ RC ในรถยนต์ (12V และ 2 ~ 3A) สะพานนี้จะถูกขับเคลื่อนจากไมโครคอนโทรลเลอร์และต้องการความรวดเร็วในการรองรับ PWM ดังนั้นจากการอ่านของฉัน Power MOSFET เป็นตัวเลือกที่ดีที่สุดเมื่อพูดถึงการสลับที่รวดเร็วและความต้านทานต่ำ ดังนั้นฉันจะซื้อเพาเวอร์มอสเฟต P และ N แบบมอสเฟตที่ได้รับการจัดอันดับที่ 24V + และ 6A +, ระดับลอจิก, มีDSon ที่ต่ำและการสลับอย่างรวดเร็ว มีอะไรอีกบ้างที่ฉันควรพิจารณาอีก ตกลงดังนั้นในการออกแบบสะพาน H: ตั้งแต่ MCU ของฉันจะทำงานที่ 5V จะมีปัญหากับการเปลี่ยน MOSFET P-ช่องปิดตั้งแต่วีGSความต้องการที่จะเป็นที่ 12V + เพื่อปิดโดยสิ้นเชิง ฉันเห็นว่าเว็บไซต์หลายแห่งกำลังแก้ไขปัญหานี้โดยใช้ทรานซิสเตอร์ NPN เพื่อขับเคลื่อน P-channel FET ฉันรู้ว่าสิ่งนี้ควรใช้งานได้ แต่ความเร็วในการสลับช้าของ …

2
opto isolated arduino input
ฉันต้องการปกป้องพินด้วย opto isolator เพื่อรับสัญญาณภายนอกจากมิเตอร์ไฟฟ้า (35VDC สูงสุด, 50mA สูงสุด, กว้างชีพจร 240ms) จุดประสงค์คือการนับพัลส์ คุณมีตัวอย่างแผนงานบ้างไหม? ขอบคุณ

4
วิธีการเปลี่ยนพลังงานของไมโครคอนโทรลเลอร์ด้วยปุ่ม?
ฉันมีอุปกรณ์ไมโครคอนโทรลเลอร์พร้อมพลังงานแบตเตอรี่ ขณะนี้ฉันสลับกำลังไฟด้วยสวิตช์เปิด / ปิดง่าย ฉันต้องการสลับการใช้พลังงานด้วยปุ่มกดเพียงปุ่มเดียวโดยปรับเปลี่ยนแบบแผนน้อยที่สุด (และอาจเป็นโปรแกรมไมโครคอนโทรลเลอร์) และไม่มีการสิ้นเปลืองเมื่ออุปกรณ์ปิดอยู่ ฉันจะทำมันได้อย่างไร ADDED ฉันรู้เคล็ดลับต่อไปนี้: ที่นี่เมื่อเริ่มต้นไมโครคอนโทรลเลอร์ตั้งค่า PB3 ให้สูงและถือพลังงานสำหรับอุปกรณ์ แต่นี่ไม่ใช่วิธีแก้ปัญหาของฉันเพราะฉันต้องปิดอุปกรณ์ด้วยการกด S1 ADDED ฉันสามารถแยก VT2 ออกจากวงจร (เช่นฐานขับไมโครคอนโทรลเลอร์ของ VT1 โดยตรง) ได้หรือไม่?

3
ไมโครคอนโทรลเลอร์ SMD มีการโหลดรหัสล่วงหน้าอย่างไร
บ่อยครั้งเมื่อคุณซื้อไมโครคอนโทรลเลอร์ SMD (เช่น AVR) หรือ PCB ที่มีไมโครคอนโทรลเลอร์ SMD มันมาพร้อมกับโปรแกรมใด ๆ ก็ตามที่บอร์ดใช้เพื่อทำงาน ฉันสงสัยว่ามันถูกโหลดไว้ล่วงหน้าแล้ว - ฉันคิดว่า DIP ICs สามารถตั้งโปรแกรมโดยใช้ซ็อกเก็ต DIP ดังนั้นจึงมีซ็อกเก็ต SMD พิเศษหรือไม่

5
คลาส C ++ สำหรับ Abstraction pin I / O
ฉันกำลังมองหา abstractions C ++ สำหรับจุดหรือพิน I / O ของฮาร์ดแวร์ สิ่งต่างๆเช่น in_pin, out_pin, inout_pin, open_collector_pin เป็นต้น แน่นอนว่าฉันสามารถสร้างชุด abstractions ของตัวเองขึ้นมาได้ดังนั้นฉันจึงไม่ได้มองหาคำตอบประเภท 'เฮ้คุณอาจทำแบบนี้' แต่ตอบว่า 'ดูที่ห้องสมุดนี้ซึ่งถูกใช้ในสิ่งนี้และสิ่งนี้และ โครงการนี้'. Google ไม่ได้ทำอะไรเลยอาจเป็นเพราะฉันไม่รู้ว่าคนอื่นจะเรียกสิ่งนี้อย่างไร จุดประสงค์ของฉันคือการสร้างไลบรารี I / O ที่ยึดตามจุดดังกล่าว แต่ยังให้คะแนนเช่นนั้นดังนั้นจึงง่ายต่อการเชื่อมต่อ HD44780 LCd กับทั้ง IO IO ของชิปหรือ I2C (หรือ SPI) ตัวขยาย I / O หรือจุดอื่นใดที่สามารถควบคุมได้โดยไม่ต้องเปลี่ยนคลาส LCD ฉันรู้ว่านี่อยู่บนขอบของอิเล็กทรอนิกส์ / ซอฟต์แวร์ขออภัยถ้ามันไม่ได้อยู่ที่นี่ @ leon: …
13 microcontroller  pins  c++  io 

4
ฉันจะรู้สึกถึงกระแสของมอเตอร์ได้อย่างไร
ฉันต้องขับมอเตอร์ DC ที่ 24V, 6A ด้วย MOSFET ฉันจะตรวจจับกระแสไฟฟ้าที่มอเตอร์วาดด้วยไมโครคอนโทรลเลอร์ได้อย่างไร ฉันต้องรู้ว่าเมื่อไรที่มอเตอร์หยุดทำงาน

5
การออกแบบแหล่งจ่ายไฟ 24VAC / 5VDC
ฉันวางแผนที่จะสร้างตัวควบคุมวาล์วน้ำโดยใช้ MCU และชุดของวาล์วควบคุมโซลินอยด์ solenoids ทำงานบน 24VAC (40mA การไหลเข้าถือ 20mA) MCU อยู่บนบอร์ดที่ดึง ~ 100mA และมีตัวควบคุมออนบอร์ดดังนั้นฉันสามารถจ่าย 5V ได้โดยตรง (บายพาสตัวควบคุม) หรือ 6-12V ผ่านตัวควบคุมออนบอร์ด ฉันต้องการใช้อุปกรณ์ต่อพ่วง 5V อื่น ๆ (เช่นเซ็นเซอร์, จอแสดงผล, LED บางอันและอะไรก็ตาม) ดังนั้นสมมติว่าฉันต้องการ 5VDC ที่ควบคุม 500mA ในทางทฤษฎีฉันสามารถใช้เอาท์พุทที่ถูกแก้ไข / กรองจากหม้อแปลง 24VAC และควบคุมมันลง ~ ~ ~ ~ ~ ~ ~ ~ และใช้ตัวควบคุมออนบอร์ดเพื่อควบคุมมันต่อไปที่ 5V แต่ฉันจะกระจายพลังงานมาก (เปรียบเทียบ) เป็นความร้อนเหลือทิ้ง …

4
ตื่นขึ้นจากโหมดหลับลึก
ไมโครคอนโทรลเลอร์ส่วนใหญ่ (เช่น AVR, MSP430s, PICs และอื่น ๆ ) สนับสนุนโหมดสลีปจำนวนหนึ่ง โหมดสลีป "ที่ลึกที่สุด" เป็นโหมดที่ให้พลังงานต่ำที่สุด (เช่น "ปิดเครื่อง", "ปิดเครื่อง") แต่โดยทั่วไประบบนาฬิกาจะหยุดในโหมดเหล่านี้และดูเหมือนว่าฉันจะเป็นวิธีเดียวที่จะ " ตื่นขึ้น "จากพวกเขาคือผ่านการกระตุ้นภายนอก (เช่นการขัดจังหวะการเปลี่ยนพินการรีเซ็ตชิป) ฉันพลาดอะไรไปรึเปล่า? มีวิธีพลังงานต่ำอย่างไม่น่าเชื่อในการสร้างสัญญาณปลุกเป็นระยะสำหรับ MCU หรือไม่ สมมติว่าเป้าหมายของฉันคือลดการใช้พลังงานให้น้อยที่สุด (เช่นนอนหลับให้ลึกที่สุดเท่าที่จะเป็นไปได้ตื่นตัวให้สั้นที่สุดเท่าที่จะทำได้) ในขณะที่ตื่นขึ้นมาทำงานฟังก์ชั่นเป็นระยะ ๆ เพื่อให้เรื่องต่าง ๆ ง่ายขึ้นสมมติว่าหน้าที่ของฉันไร้สัญชาติ (ฉันไม่ต้องจำอะไรจากอดีตเพื่อที่จะทำมัน) ฉันประสบความสำเร็จในการใช้ WDT ใน MSP430 เพื่อรับผลกระทบนี้ ฉันเพิ่งทำกิจวัตรหลักของฉันเป็นหน้าที่ของฉันด้วยบรรทัดสุดท้ายที่ทำให้ตัวจับเวลาจ้องจับผิดจะหมดอายุหลังจากระยะเวลาหนึ่งและเข้าสู่ LPM4.5 หรืออะไรก็ตามที่เรียกว่าโหมด "Deep sleep" ผลลัพธ์สุทธิคือการใช้งานฟังก์ชั่น, MCU หลับ, WDT หมดอายุและชิปรีเซ็ต, คลื่นไส้โฆษณา ดูเหมือนว่าจะทำงานแค่สงสัยว่ามีวิธี "ดีกว่า" …

11
วิทยุพลังงานต่ำ + คำแนะนำไมโครคอนโทรลเลอร์? [ปิด]
ปิด. คำถามนี้เป็นคำถามปิดหัวข้อ ไม่ยอมรับคำตอบในขณะนี้ ต้องการปรับปรุงคำถามนี้หรือไม่ อัปเดตคำถามเพื่อให้เป็นหัวข้อสำหรับการแลกเปลี่ยนกองวิศวกรรมไฟฟ้า ปิดให้บริการใน3 ปีที่ผ่านมา ฉันกำลังค้นหาชิประบบที่ใช้พลังงานต่ำที่รวม: หน่วยประมวลผล (achitecture ใด ๆ ) วิทยุ (ใด ๆ ความถี่ / บิตเรต / กำลัง TX) หมุด I / O อย่างน้อย 2 ตัว (ADC จะเป็นโบนัส) ใครสามารถแนะนำอุปกรณ์ได้บ้าง ฉันควรดู บริษัท ชิปใด

7
ไมโครคอนโทรลเลอร์ที่มีลอจิกที่โปรแกรมได้ในตัว (เช่น FPGA / CPLD) มีอยู่ในตลาดหรือไม่
ได้รับแรงบันดาลใจจากคำถามฉันอยากถามไมโครคอนโทรลเลอร์ที่มีฟังก์ชั่น CPLD หรือ FPGA เหมือนอะไรบ้าง สิ่งที่น่าสนใจที่สุดก็คือแพ็คเกจที่เป็นมิตร (ไม่ใช่ BGA) ส่วน CPLD / FPGA ควรมีขนาดใหญ่พอที่จะอนุญาตให้ใช้งานกลไกของรัฐที่ค่อนข้างซับซ้อน (10+ รัฐ), ฟังก์ชั่นลอจิกที่ค่อนข้างใหญ่ (อินพุต 10+), เคาน์เตอร์ขนาดใหญ่และตัวลงทะเบียนกะ (8+ บิต) ของความถี่ MHz วิธีการอินพุตที่ออกแบบได้ดีกว่าสำหรับฟังก์ชันลอจิกแบบโปรแกรมได้ควรเป็นแบบ HDL (Verilog หรือ VHDL) จนถึงตอนนี้ฉันได้พบสองตัวอย่าง: 1) FPSLIC จาก Atmel 2) PSOC3 และ PSOC5 จาก Cypress (ยังไม่พร้อมใช้งานยกเว้นในปริมาณตัวอย่าง)

6
เริ่มต้นการเขียนโปรแกรม PIC
ฉันได้มองหาการเขียนโปรแกรม PIC แต่ไม่เหมือนกับไมโครคอนโทรลเลอร์อื่น ๆ ที่มีอยู่จำนวนชิปที่แตกต่างกันที่มีอยู่ทำให้ฉันสับสน นอกจากนี้ยังปรากฏว่าชิปบางตัวที่แนะนำในบางเว็บไซต์เป็นตัวเลือกที่ดีสำหรับผู้ที่เริ่มต้นด้วยการเขียนโปรแกรม PIC อาจถูกแทนที่ (หรือฉันอาจสับสนมากขึ้น) ดังนั้นคำถามของฉันเดือดถึงสามส่วน: ชิพ PIC ที่ดีสำหรับการเริ่มต้นคืออะไร ฉันมีความสุขที่ได้ทำทั้งแอสเซมเบลอร์หรือภาษาอื่น ๆ ดังนั้นคุณควรแนะนำ IDE / ภาษาใดสำหรับ Linux สิ่งที่คุณจะแนะนำในแง่ของการรับโค้ดไปยังชิปผ่านการเชื่อมต่อ USB จากแล็ปท็อป Linux (PicKit 2 มีความเป็นไปได้เพียงอย่างเดียว) และการกำหนดค่าวงจร / บอร์ดใดที่ฉันต้องทำ แก้ไข: หลังจากคุยกับ Kortuk นาน (ดูความคิดเห็นด้านล่าง) เกี่ยวกับข้อดีของชุดบิตต่าง ๆ ฉันตัดสินใจเริ่มต้นด้วย PicKit2 Starter Kit สิ่งนี้มาพร้อมกับชิป PIC16F690 ที่ติดตั้ง

6
หลีกเลี่ยงตัวแปรโกลบอลเมื่อใช้อินเตอร์รัปต์ในระบบฝังตัว
มีวิธีที่ดีในการใช้การสื่อสารระหว่าง ISR และส่วนที่เหลือของโปรแกรมสำหรับระบบฝังตัวที่หลีกเลี่ยงตัวแปรทั่วโลกหรือไม่? ดูเหมือนว่ารูปแบบทั่วไปคือการมีตัวแปรทั่วโลกซึ่งใช้ร่วมกันระหว่าง ISR และส่วนที่เหลือของโปรแกรมและใช้เป็นธง แต่การใช้ตัวแปรทั่วโลกนี้ขัดแย้งกับธัญพืชให้ฉัน ฉันได้รวมตัวอย่างง่ายๆโดยใช้ ISR สไตล์ avr-libc: volatile uint8_t flag; int main() { ... if (flag == 1) { ... } ... } ISR(...) { ... flag = 1; ... } ฉันไม่สามารถเห็นสิ่งที่เป็นปัญหาในการกำหนดขอบเขต ตัวแปรใดที่สามารถเข้าถึงได้โดยทั้ง ISR และส่วนที่เหลือของโปรแกรมจะต้องเป็นสากลโดยแท้จริง? แม้จะมีสิ่งนี้ฉันก็มักจะเห็นคนพูดถึงสิ่งต่าง ๆ ตามแนว "ตัวแปรทั่วโลกเป็นวิธีหนึ่งในการนำการสื่อสารระหว่าง ISRs และส่วนที่เหลือของโปรแกรม" (เน้นที่เหมือง) ซึ่งดูเหมือนจะบ่งบอกว่ามีวิธีอื่น ๆ ถ้ามีวิธีอื่นพวกมันคืออะไร?

7
ต้องการ IC หน่วยความจำแบบไม่ลบเลือนที่มีความสามารถในการอ่าน / เขียนไม่ จำกัด
ฉันต้องการโซลูชันหน่วยความจำที่จะใช้ในการติดตามจำนวนที่สะสมในโปรเจคไมโครคอนโทรลเลอร์ ด้วยการนับสะสมผมหมายถึงว่าไมโครคอนโทรลเลอร์ใช้ตำแหน่งหน่วยความจำนี้เพื่อนับเหตุการณ์ที่เกิดขึ้น การนับจะต้องถูกเก็บรักษาไว้ในระหว่างที่ไฟฟ้าดับดังนั้นจึงจำเป็นที่จะต้องมีหน่วยความจำแบบ Non-VOLATILE อีกทั้งการเกิดเหตุการณ์ที่เพิ่มจำนวนขึ้นบ่อยครั้งดังนั้นจึงมีการเขียนจำนวนมากไปยังหน่วยความจำดังนั้นฉันลังเลที่จะใช้ EEPROM อินเทอร์เฟซการสื่อสารที่ต้องการจะเป็น I2C แต่ทางเลือกอื่น ๆ ยินดีต้อนรับ ด้านบนของหัวของฉันฉันจินตนาการถึง SRAM หน่วยความจำระเหยพลังงานต่ำ IC พร้อมตัวเลือกในการใช้พลังงานจากแบตเตอรี่สำรองเช่นเซลล์เหรียญเมื่อปิดเครื่อง

3
โปรเซสเซอร์สามารถควบคุมความเร็วสัญญาณนาฬิกาได้อย่างไร
ฉันเพิ่งเจอโปรเซสเซอร์ STM ที่มีออสซิลเลเตอร์ 2 ตัวบนวงจร - ฉันคาดว่าตัวหนึ่งจะทำงานด้วยความเร็วสูงและอีกตัวใช้พลังงานต่ำ สำหรับสิ่งที่ต้องการการประมวลผลสก์ท็อปที่ความเร็วสัญญาณนาฬิกาที่สามารถเปลี่ยนเป็นความถี่ที่ต้องการ (ภายในเหตุผล) - วิธีการไม่ได้ร่างกายทำเช่นนี้?

5
ทำไมต้องรำคาญกับความเท่าเทียม
ฉันกำลังใช้อุปกรณ์ต่อพ่วง SPI ในแอปพลิเคชันของฉัน อุปกรณ์ต่อพ่วงส่งคืนแพ็คเก็ตที่มีบิตข้อมูล 15 บิตบวกบิตคู่สำหรับการตรวจจับข้อผิดพลาด ดังนั้นศูนย์ทั้งหมดและทุกคนผ่านการตรวจสอบความเท่าเทียมกัน ซึ่งหมายความว่าไมโครคอนโทรลเลอร์ของฉันไม่สามารถตรวจพบข้อผิดพลาดประเภทที่พบบ่อยที่สุด: อุปกรณ์ต่อพ่วงถูกตัดการเชื่อมต่อ! ในกรณีนี้บิตที่ได้รับจะเป็นศูนย์ทั้งหมดซึ่งผ่านการตรวจสอบพาริตี้ ทะนงว่ามันจะได้รับเพียงเป็นเรื่องง่ายสำหรับผู้ผลิตอุปกรณ์ต่อพ่วงที่จะใช้แปลกเท่าเทียมกันคำถามของฉันคือ: ทำไมพวกเขาจะได้เลือกที่จะใช้ความเท่าเทียมกันแม้ในกรณีนี้ ? มีข้อได้เปรียบอื่น ๆ ของ Even Parity ในกรณีนี้เพื่อชดเชยข้อเท็จจริงที่ว่ามันไม่สามารถตรวจพบข้อผิดพลาดประเภทที่พบบ่อยที่สุดได้หรือไม่?

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