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

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

1
วิธีเริ่มต้นด้วยบอร์ด STM32F103C8T6
ฉันใช้ไมโครคอนโทรลเลอร์ AVR 8 บิตเพื่อสร้างหุ่นยนต์ผู้ติดตามสายกับนักเรียนมาหลายปีแล้ว ตอนนี้ฉันต้องการที่จะก้าวขึ้นสู่ ARM Cortex-M3 เพราะฉันต้องการที่จะเพิ่มคุณสมบัติที่ใช้งาน CPU มากขึ้นเช่น odometry และฟิวชั่นเซ็นเซอร์ ข้อกำหนดคือ: 8 อินพุตอะนาล็อก เอาต์พุต 4 PWM ฉัน2 C 2 อินพุทการเข้ารหัสพื้นที่สี่เหลี่ยมจัตุรัส อนุกรม I / O การตั้งโปรแกรมด้วยตนเองแบบไร้สายโดยไม่ต้องเข้าถึงหุ่นยนต์ toolchain + IDE หลากหลายแพลตฟอร์ม (OS X, Linux, Windows) ขั้นตอนที่ฉันทำไปคือ: ฉันใช้บอร์ดรุ่น STM32F103C8 นี้ ฉันเชื่อว่า MCU นี้มีทุกสิ่งที่ฉันต้องการรวมถึง 2 x QEI ที่ฉันวางแผนที่จะใช้ในซอฟต์แวร์ แต่อันนี้เกิดขึ้นเพื่อให้มีในฮาร์ดแวร์ที่ดีมาก: คณะhttp://eud.dx.com/product/high-quality-cortex-m3-stm32-stm32f103c8t6-development-board-w-swd-interface-844380789 โปรแกรมเมอร์http://eud.dx.com/product/st-link-v2-programmer-emulator-mini-stlink-downloader-for-stm8-stm32-mcu-development-board-844380733 ฉันได้ติดตามสิ่งนี้เพื่อตั้งค่า …

8
ไมโครคอนโทรลเลอร์แต่ละสายมีภาษาโปรแกรม / ไวยากรณ์ของตัวเองหรือไม่?
ฉันได้ตั้งโปรแกรม Arduino และเริ่มเขียนโปรแกรม Teensy แล้ว พวกเขาคล้ายกับ C แต่มีความแตกต่างเล็กน้อยในภาษาการเขียนโปรแกรม ตัวอย่างเช่นใน C ของ Arduino คุณเรียกฟังก์ชั่น pinMode (pin #, Output / Input) เพื่อกำหนดพินดิจิตอลให้เป็นสัญญาณเอาต์พุตหรือรับสัญญาณ ใน Teensy's C คุณตั้งค่าการลงทะเบียน "DDR" ที่เชื่อมโยงกับหนึ่งในสี่พอร์ต (ซึ่งแต่ละอันแทนคอลเลกชันของพิน) ซึ่งคุณกำหนดโดยรวมว่าเป็นอินพุตหรือเอาต์พุต ( ไวยากรณ์ Teensy IO ) ฉันต้องการทราบว่าเป็นกรณีที่เมื่อคุณใช้ไมโครคอนโทรลเลอร์ที่ใหม่สำหรับคุณคุณจำเป็นต้องเรียนรู้ "ภาษา" ใหม่อย่างมีประสิทธิภาพ ฉันใส่คำว่า "ภาษา" ในเครื่องหมายคำพูดเพราะแม้จะมีความแตกต่างในรูปแบบขององค์ประกอบและวิธีการที่พวกเขาตั้งค่าในซอฟต์แวร์ที่มีพื้นฐานเทียบเท่าเช่นความคิดของพอร์ตและหมุดยังคงหมายถึงขั้วที่คุณสามารถส่งออก / อินพุตดิจิตอล สัญญาณ ในวาทกรรมเดียวกัน: มีไมโครคอนโทรลเลอร์ที่ไม่ได้ตั้งโปรแกรมไว้ในซอฟต์แวร์หรือจะมีเลเยอร์ซอฟต์แวร์ที่ใช้ในการเขียนโปรแกรม uController หรือไม่? หากหลังใครเป็นผู้เขียน / เตรียมเอกสารสำหรับพวกเขา

2
การเชื่อมต่อพิน MCU สองตัวเข้าด้วยกันโดยตรงนั้นปลอดภัยหรือไม่
ฉันกำลังทำงานกับโครงการ MSP430 ที่ต้องการให้ฉันกำหนดเส้นทางเอาต์พุตของอุปกรณ์ต่อพ่วงหนึ่งไปยังอินพุตของอุปกรณ์ต่อพ่วงอื่น ดังนั้นฉันมีพิน MCU สองตัวเชื่อมต่อกันโดยตรง สิ่งนี้ดูน่าสงสัยสำหรับฉันเนื่องจากมีความเป็นไปได้ที่จะเกิดข้อผิดพลาดในการเขียนโปรแกรมซึ่งทำให้ทั้งคู่เป็นเอาต์พุต (อาจขัดแย้งกัน) นอกจากนี้ยังมีปัญหาของการเริ่มต้นและสถานะการเขียนโปรแกรม ในกรณีที่เลวร้ายที่สุดหากพินหนึ่งขับ HI อีกอันหนึ่งกำลังขับ LO พินของ GPIO มีความสามารถในการจมมากกว่าความสามารถของแหล่งข้อมูล ... ดังนั้นมันจะค่อนข้างเหมือนกับการเอาท์พุท HI พื้น. อันไหนไม่ดี ... แต่มันแย่ขนาดไหน? มีแนวโน้มที่จะทำให้เกิดความเสียหายต่อ MCU หรือไม่ ฉันมักจะเห็นตัวอย่างบนเว็บของผู้คนที่ใช้ Arduinos เพื่อส่องไฟ LED ระหว่างสองพินโดยไม่มีตัวต้านทานและฉันไม่เคยได้ยินเรื่องราวใด ๆ ของใครที่ทอดอะไรเลยนอกจากไฟ LED เห็นได้ชัดว่าคุณไม่ต้องการทำสิ่งนี้ในผลิตภัณฑ์ แต่โดยทั่วไปแล้วผู้ผลิตพยายามปกป้อง MCU จากพิน GPIO ว่ามีการโอเวอร์โหลดหรือไม่ เมื่อพิจารณาย้อนหลังการวางตัวต้านทานที่ จำกัด กระแสระหว่างหมุดทั้งสองจะป้องกันความกังวล แต่การเปลี่ยนฮาร์ดแวร์เล็กน้อยก็เป็นเรื่องยากที่จะทำในจุดนี้ สำหรับการอ้างอิงในอนาคตและประโยชน์ของลูกหลานใครมีความคิดเห็นอื่นเกี่ยวกับวิธีที่เหมาะสมในการลดความเสี่ยงในการเชื่อมต่อพิน MCU สองตัวเข้าด้วยกันและโดยทั่วไปจะช่วยลดความเสี่ยงที่อาจเกิดขึ้นจากความเป็นไปได้

4
การทำให้บัสที่ใช้ร่วมกันทำหน้าที่เป็น OR
สำหรับคนที่ใจร้อนคุณสามารถข้ามพื้นหลังได้ พื้นหลัง ฉันกำลังเขียนโปรแกรมชุดไมโครคอนโทรลเลอร์ที่สื่อสารกับ SPI มีเจ้านายและnทาสหนึ่งคนที่แชร์รถบัส ไม่มีการเลือกชิป (ไม่ใช่การออกแบบที่ไม่ดี แต่nมีขนาดใหญ่และมีพื้นที่ไม่เพียงพอสำหรับnบรรทัดเพิ่มเติม) ดังนั้นจึงเป็นความรับผิดชอบของพวกทาสที่จะรักษามิโซะของพวกเขาไว้ในอิมพีแดนซ์สูงและพวกเขาส่วนใหญ่พูด สิ่งนี้ทำได้โดยการตอบกลับเฉพาะเมื่อมีการลงคะแนน id ตอนนี้เราต้องการที่จะมีขั้นตอนการค้นพบครั้งแรกที่อาจารย์ค้นพบทาสที่มีรหัสที่แนบมากับมัน เพื่อให้ชีวิตง่ายขึ้น (ในบางแง่มุม) เราต้องการมี id ที่ไม่ซ้ำกัน (และเช่น 32 บิต) สิ่งนี้ทำให้เป็นไปไม่ได้ที่อาจารย์จะหยั่งเสียงรหัสต่อหนึ่งและดูว่าใครตอบกลับ (มีความเป็นไปได้มากเกินไป) เพื่อแก้ปัญหานี้ฉันได้วางแผนการค้นหาแบบไบนารีที่ทาสตอบสนองโดยรวมและต้นแบบสามารถค้นหารหัสขั้นต่ำได้อย่างรวดเร็ว ทาสที่มี ID นั้นจะถูกบอกว่าจะไม่เข้าร่วมอีกต่อไปและอัลกอริทึมจะทำซ้ำ (รายละเอียดที่ไม่สำคัญ) แม้ว่าจะมีปัญหาอย่างหนึ่ง การตอบกลับแบบรวมจำเป็นต้องเป็นตรรกะหรือ (หรือตรรกะ AND) ของการตอบกลับทั้งหมด ฉันได้รับแจ้งว่าสามารถกำหนดค่าสายในลักษณะที่บัส MISO สามารถทำหน้าที่เป็นตรรกะหรือ สิ่งที่ฉันบอกคือ: ตั้งค่า MISO เป็น master เป็น Pull-up และ ตั้ง MISO บนทาสทุกคนเป็นแบบเปิด ฉันเคยลองมาแล้ว แต่ถึงแม้จะเป็นแค่ทาสคนเดียวการปรับแต่งนี้ก็ใช้ไม่ได้ (ออสซิลโลสโคปแสดงค่าคงที่เป็นศูนย์ในบรรทัด) ถ้าฉันกำหนดค่า …

2
การลดเสียงรบกวนทางไฟฟ้าที่เกิดจากพัดลมไฟฟ้ากระแสตรงขนาดเล็ก
อะไรคือวิธีการบัญญัติมาตรฐานสำหรับการลด / กำจัดสัญญาณรบกวนไฟฟ้าที่เกิดขึ้นใน ADC จากพัดลมDC brushless ขนาดเล็ก สำหรับการอ้างอิงด้านล่างฉันยังใช้นี้ผนังหูดและนี้ 5V เชิงเส้นควบคุม ระบบพื้นฐานของฉันมีลักษณะเช่นนี้: ฉันมีตัวเลือกบางอย่างในหัวของฉันและฉันสงสัยว่าสิ่งที่ดีที่สุดอาจเป็น ความคิดแรกของฉันคือ [ตัวเลือก]: แนวคิดที่สองของฉันคือ [OPTION B]: แนวคิดที่สามของฉันคือ [ตัวเลือก C]: อาจมีตัวเลือกอื่น ๆ ที่ฉันไม่ได้คิดรวมถึงการเรียงสับเปลี่ยนและการรวมกันของตัวเลือกเหล่านี้ ข้อดีและข้อเสียของตัวเลือกเหล่านี้คืออะไร คุณจะเลือกตัวเลือกใดและทำไม

3
ทฤษฎีการควบคุมนำไปใช้กับตัวแปลงบูสเตอร์ในโลกแห่งความเป็นจริงได้อย่างไร
ฉันมีความเข้าใจ จำกัด เกี่ยวกับทฤษฎีการควบคุม ฉันจัดการกับเสาและศูนย์และถ่ายโอนฟังก์ชั่นในโรงเรียน ฉันใช้ไมโครโปรเซสเซอร์ที่มีรูปแบบการควบคุมหลายแบบสำหรับตัวแปลง DC / DC สิ่งทั้งสองเกี่ยวข้องกันอย่างไรฉันยังไม่เข้าใจและฉันต้องการ การออกแบบการอ้างอิงในการทดลองและข้อผิดพลาดสามารถทำงานได้ แต่ฉันชอบที่จะมีความเข้าใจในสิ่งที่ฉันทำมากขึ้นและผลที่ตามมาคืออะไร คำตอบควรจะมุ่งเน้นเกี่ยวกับวิธีการวิเคราะห์ระบบที่ไม่เกี่ยวกับวิธีการที่จะปรับปรุงมัน ที่กล่าวว่าหากคุณมีข้อเสนอแนะในการปรับปรุงระบบและต้องการให้เหตุผลในการวิเคราะห์ว่าทำไมมันจะยอดเยี่ยม! เพียงแค่ตราบใดที่การปรับปรุงยังเป็นเรื่องรองสำหรับการวิเคราะห์ ระบบตัวอย่างของฉันสำหรับวัตถุประสงค์ของคำถามนี้: C1: 1,000 ยูเอฟ C2: 500uF L1: 500 uH ความถี่ในการสลับ: 4 kHz R1: ตัวแปร แรงดันไฟฟ้าอินพุต: 400 โวลต์ เป้าหมายแรงดันเอาท์พุท: 500 โวลต์ ขีด จำกัด กระแสไฟขาออก: 20 แอมป์ ฉันพยายามควบคุมแรงดันขาออกโดยไม่เกินขีด จำกัด กระแสไฟขาออก ฉันมีการตรวจจับแรงดันและกระแสไฟฟ้าซึ่งผ่านขั้นตอนการขยายสัญญาณที่หลากหลายฉันไม่ได้วิเคราะห์ที่จุดเชื่อมต่อนี้ แต่รวมถึงการกรองบางอย่าง ตามด้วยตัวกรอง lowpass RC ที่ 100 โอห์มและ …

4
การป้องกันขาอินพุตของไมโครคอนโทรลเลอร์จากสวิตช์ไฟอ่อน
ฉันกำลังทำงานกับสวิตช์ไฟอ่อนสำหรับไมโครคอนโทรลเลอร์ที่สวิตช์ชั่วขณะสามารถเปิดวงจร (รวมถึงไมโครคอนโทรลเลอร์) และเมื่อสวิตช์ถูกกดอีกครั้งไมโครคอนโทรลเลอร์สามารถปิดตัวเองได้หลังจากทำความสะอาดแล้ว ฉันมีวงจรข้างต้นจนถึงตอนนี้ แต่ฉันไม่แน่ใจว่ามันจะเชื่อถือได้หรือไม่ ฉันใช้แบตเตอรี่ลิเธียมไอออน (3.7-4.2V) และตัวควบคุม TC1015 (เอาต์พุต 3.0V) แนวคิดคือเมื่อกดสวิตช์ตัวควบคุมจะเปิดขึ้นจากนั้นไมโครคอนโทรลเลอร์จะตั้งค่าuC Powerสูง เมื่อสวิตช์ถูกกดเป็นครั้งที่สองจะเป็นการขัดจังหวะuC Switchจะช่วยให้ไมโครคอนโทรลเลอร์ตั้งค่าuC Powerต่ำปิดตัวเอง สิ่งที่ฉันไม่แน่ใจคือถ้าฉันต้องการปกป้องไมโครคอนโทรลเลอร์จากแรงดันไฟฟ้าของแบตเตอรี่ ไมโครคอนโทรลเลอร์ที่ฉันใช้มีแรงดันไฟฟ้าสูงสุดที่แน่นอนบนหมุด I / O ของ Vdd + 0.4V ดังนั้นฉันไม่แน่ใจว่าจะจัดการกับสิ่งที่ดีที่สุดได้อย่างไร ประการที่สองวงจรนี้จะป้องกันไม่ให้ตัวควบคุมเปิดเมื่ออยู่ในสถานะ "ปิด" หรือไม่? ฉันคิดเกี่ยวกับการใช้ตัวต้านทานแบบเลื่อนลงบนบรรทัดเปิดใช้งาน แต่ฉันกังวลเกี่ยวกับการวาดปัจจุบันในขณะที่ชิปเปิดอยู่ แก้ไข:ไมโครคอนโทรลเลอร์เป็นโหลดหลักที่จะเปลี่ยนดังนั้นการวางลงในโหมดพลังงานต่ำน่าเสียดายที่จะไม่ทำงานที่นี่ แก้ไข # 2 (หลังจากคำตอบถูกโพสต์): ฉันสิ้นสุดการใช้วงจรด้านล่าง: วงจรที่โพสต์ก่อนหน้านี้ทำงานได้ไม่ดีนักและมีปัญหากับสายการเปิดใช้งานแบบลอยตัวเมื่อไมโครคอนโทรลเลอร์ไม่เปิดเครื่อง วงจรใหม่ใช้ฟลิปฟล็อปโดยปกติแล้วสายข้อมูลจะดึงต่ำ การกดสวิตช์จะทำให้นาฬิกากระทบกับการเปิดระบบ การกดครั้งต่อไปของสวิตช์ทำให้ไดรฟ์CLOCKสูงขึ้น (ปล่อยให้ไมโครคอนโทรลเลอร์สัมผัสกับการกด) แต่จะไม่ส่งผลกระทบต่อเอาท์พุทของตัวควบคุม เมื่อไมโครคอนโทรลเลอร์พร้อมที่จะปิดแล้วมันจะทำการตั้งค่าDATAสายสูงแล้วตั้งค่าCLOCKสายสูงซึ่งจะทำให้หน่วยงานกำกับดูแลจะปิดตัวลง หนึ่งในสิ่งที่ดีจริงๆเกี่ยวกับการตั้งค่านี้คือการกดปุ่มแรกจะเปิดตัวควบคุมและเปิดไว้จนกระทั่งไมโครคอนโทรลเลอร์พร้อมที่จะปิด การตีกลับไม่ใช่ปัญหาเพราะไม่ว่าจะมีกี่ครั้งที่นาฬิกาสายสูงสายดาต้าไลน์ก็ยังคงอยู่ในระดับต่ำโดยการดึงลง นอกจากนี้การจับกระแสในปัจจุบันควรมีน้อยมาก (เพียงแค่ฟล็อปฟล็อปและ TC1015 ขณะที่ดับ) …

3
อะไรคือชุดชิ้นส่วนที่น้อยที่สุดสำหรับวงจรที่ใช้ไมโครคอนโทรลเลอร์ AVR นี้?
Arduino Uno ของฉันมีไมโครคอนโทรลเลอร์ ATMEGA328P-PU และสิ่งอื่น ๆ อีกมากมายบนกระดาน ฉันต้องการเขียนโปรแกรมชิปโดยไม่ต้องใช้ซอฟต์แวร์ Arduino และส่วนประกอบขั้นต่ำเท่านั้น ในที่สุดฉันก็ต้องการสร้างสิ่งต่าง ๆ โดยไม่ต้องเสียค่าใช้จ่ายจาก Arduino และฉันต้องการเรียนรู้เกี่ยวกับส่วนอื่น ๆ บนกระดานและเพิ่มกลับเข้าไปได้ตามต้องการ ฉันสบายกับ C และ gcc ดังนั้นฉันจึงสามารถหาส่วนซอฟต์แวร์ได้ แต่ถ้ามีอะไรนอกเหนือจากผลิตภัณฑ์ทั้งสองด้านล่างนี้ฉันต้องมีไมโครคอนโทรลเลอร์ไว้ในเขียงหั่นขนมหรือไม่? Atmel โปรแกรมเมอร์ ไมโครคอนโทรลเลอร์

3
ข้อดีของไมโครโปรเซสเซอร์ 32- บิต 48-96 Mhz (เช่นใน Arduino เนื่องจาก)
ต้องการปรับปรุงโพสต์นี้หรือไม่? ให้คำตอบโดยละเอียดสำหรับคำถามนี้รวมถึงการอ้างอิงและคำอธิบายว่าทำไมคำตอบของคุณถึงถูกต้อง คำตอบที่ไม่มีรายละเอียดเพียงพออาจแก้ไขหรือลบออกได้ ดูเหมือนว่าArduino ครบกำหนดแล้ว (32 บิต, 84 Mhz, ARM-Cortex-M3-based SAM3X8E) ได้เปิดตัวแล้ววันนี้ นอกจากนี้เห็นได้ชัดว่ามีโปรเซสเซอร์มากมายในหมวดหมู่นี้ (32- บิต / 48-96 Mhz / ARM) เช่นเดียวกับบอร์ดต้นแบบที่สอดคล้องกัน: NXP LPC1768 / mBed STM32 / การค้นพบ PIC32 / ChipKit PIC32 / Parallax Propeller Launchpad LM4F120 / TI เป็นต้น ฉันพยายามที่จะเข้าใจถึงความดึงดูดของไมโครโปรเซสเซอร์ "ที่อยู่ระหว่าง" ซึ่งสำหรับฉันดูเหมือนจะอยู่ระหว่าง AVR / MSP430 / etc ระดับล่าง (ข้อดี: …

2
จะเลือกไมโครคอนโทรลเลอร์ที่ใช้พลังงานต่ำได้อย่างไร?
Cortex-M0 +จากNXPและFreescaleอ้างว่าพวกเขามีประสิทธิภาพการใช้พลังงานชั้นนำของโลก TI Wolverineอ้างว่าพวกเขาลดการใช้พลังงานลงครึ่งหนึ่งและมีพลังงานต่ำสุดในหน่วยความจำอุปกรณ์ต่อพ่วงสแตนด์บายและแอคทีฟ ในแอปพลิเคชันบันทึกข้อมูลบางแพลตฟอร์มที่ใช้พลังงานต่ำกว่า ฉันมีเซ็นเซอร์ 3 ช่องด้วยอัตราการสุ่มตัวอย่างประมาณ 3200hz

5
วิธีที่คุ้มค่าที่สุดในการผลิตแผงวงจรแบบกำหนดเองคืออะไร?
อัพเดท 21 มิถุนายน 2555: ฉันซื้อเฟอร์ริกคลอไรด์ผู้พัฒนาเชิงบวกและบอร์ด PCB บวกจากMG Chemicalsและใช้กระบวนการกัดรูปถ่าย ผลลัพธ์ที่ได้เป็นที่โดดเด่น! คุณไม่ต้องการรถถังขนาดใหญ่หรือชุดรับแสง ฉันเพียงแค่สัมผัส pcb ของฉันภายใต้หลอดฟลูออเรสเซนต์ขนาดกะทัดรัด 20W เป็นเวลา 10 นาทีพัฒนา pcb ในจานทัปเปอร์แวร์ตามคำแนะนำจากนั้นฝังลงในจานทัปเปอร์แวร์เดียวกัน (ล้างออก) เป็นเวลา 15 นาทีในขณะปั่นแปรงแปรงโฟม นอกจากนี้ฉันใช้เครื่องพิมพ์อิงค์เจ็ท คำแนะนำบอกว่าจะใช้เครื่องพิมพ์เลเซอร์เท่านั้น แต่ฉันพบว่าถ้าฉันตั้งเครื่องพิมพ์ให้พิมพ์ความโปร่งใสโดยใช้การตั้งค่า dpi ที่มืดมาก ๆ ซึ่งฉันมีคอนทราสต์เพียงพอ ผลลัพธ์ที่ได้นั้นยอดเยี่ยม - ร่องรอยบางและละเอียดมาก !! พื้นหลัง ฉันเพิ่งซื้อเฮลิคอปเตอร์ RC ในร่มยี่ห้อ Symaสำหรับหลานชายของฉัน ฉันสนุกมากกับเด็ก ๆ ที่ฉันมีตั้งแต่เริ่มสะสมของตัวเอง ถึงแม้ว่าจะสนุกและทนทานได้ แต่ของเล่นเหล่านี้ยังใช้อุปกรณ์อิเล็กทรอนิกส์ราคาถูก: ตัวส่ง / ตัวรับสัญญาณอินฟราเรดที่ดูเหมือนจะสูญเสียคุณภาพของสัญญาณในห้องที่มีแสงสว่างเพียงพอ ช่องทางเดียวเพื่อให้คุณและคนอื่นไม่สามารถบินได้ในเวลาเดียวกันโดยไม่รบกวนซึ่งกันและกัน เกี่ยวกับฉัน: ไม่ใช่วิศวกรอิเล็กทรอนิคส์ …

5
การสร้างแบบจำลองความผิดพลาดสำหรับระบบฝังตัว
ฉันมีวงจรเซ็นเซอร์ไร้สายพร้อมไมโครคอนโทรลเลอร์และโมดูลรับส่งสัญญาณ 2.4 GHz เซ็นเซอร์ในตัวบางตัวที่มีอินเตอร์เฟซI²Cพอร์ต UART และส่วนประกอบแยกที่จำเป็น บอร์ดนี้ถูกออกแบบมาสำหรับการขับไฟฟ้าจากพลังงานแสงอาทิตย์ (PV) แผงกับแบตเตอรี่ LiPo และชาร์จปัด สิ่งนี้ทำให้เซ็นเซอร์สามารถขับเคลื่อนด้วยตัวเองและทำงานเป็นเวลาไม่ จำกัด โดยต้องการการบำรุงรักษาน้อยที่สุด ฉันต้องการสำรวจข้อบกพร่องที่เป็นไปได้ที่อาจเกิดขึ้นในระบบเช่นนี้และอาจเกิดจากอายุการละเมิดข้อกำหนดทางสิ่งแวดล้อม (อุณหภูมิความชื้นและอื่น ๆ ) หรือการบำรุงรักษาที่ไม่ถูกต้อง (ไม่ใช่ปัญหาการออกแบบ / ข้อบกพร่อง) ใน เพื่อเพิ่มอายุการใช้งาน สภาพแวดล้อมที่โหนดเซ็นเซอร์ทำงานคือสิ่งปลูกสร้างติดกับเพดานหรือผนัง ดังนั้นอุณหภูมิที่สูงหรือฝนจะไม่ถูกพิจารณา สิ่งที่ฉันคิดขึ้นมาคือความผิดพลาดบางอย่างที่ฉันพยายามสรุป: ส่วนประกอบขาด -> วงจรเปิด \ สั้น เซ็นเซอร์ผิดปกติ -> ค่าเอาต์พุตไม่ถูกต้อง (แต่ผิดอย่างไร) การแยกข้อบกพร่องเนื่องจากฝุ่น \ น้ำ -> การรั่วไหลเพิ่มขึ้น อุณหภูมิอยู่นอกช่วง -> ??? ฉันจะประเมินว่าโหนดเซ็นเซอร์จะล้มเหลวได้อย่างไรและเพราะเหตุใด

1
วงจรแหล่งจ่ายไฟทำงานอย่างไร (MCU + LM317)
ฉันกำลังศึกษาแผนผังนี้ที่ฉันพบขณะค้นหาเว็บ ฉันเข้าใจจุดของ PWM - มันช่วยให้เราสามารถปรับค่าแรงดันเฉลี่ยที่ป้อนให้กับแอมป์ได้อย่างแม่นยำ ตัวกรอง R1, R2 และ C1 รวมรูปคลื่นของ PWM แต่ประเด็นของ op-amp คืออะไร? ดูเหมือนแอมพลิฟายเออร์ที่ไม่มีการพลิกกลับสำหรับฉันโดยการเพิ่มค่าที่กำหนดโดย R6 และ R7 - ถ้าฉันไม่ผิด แต่ทำไมแรงดันไฟฟ้ากระแสตรงในตัวจึงต้องมีการขยายสัญญาณ? บางทีฉันไม่เข้าใจส่วนนั้นเพราะฉันไม่เข้าใจว่า Lm317 ทำงานร่วมกับ MCU ได้อย่างไร ฉันเข้าใจว่า LM317 ลดลง 1.25V อ้างอิงระหว่างขาออกและ ADJ ขา (ซึ่งควรข้าม R5 ในการอ้างอิงถึงวงจร) และ Vout หมายถึง 1.25 (1 + R2 / R5) + I (adj.) * …

2
Cortex M0 มีประสิทธิภาพอย่างไรเมื่อเปรียบเทียบกับคอนโทรลเลอร์ 8 บิต
เอกสารนี้อ้างถึง 60 DMIPS / mW สำหรับ Cortex M0 เทียบกับ 31 DMIPS / mW สำหรับ M3 (หลังไม่เห็นด้วยกับตัวเลขในเอกสารนี้ซึ่งอ้างอิง 1.25 DMIPS / MHz และ 0.19 mW / MHz ให้ 6.6 DMIPS / mW.) ไม่มีใครรู้ว่าประสิทธิภาพของ M0 / พลังงานเปรียบเทียบกับคอนโทรลเลอร์ 8/16 บิต เช่น AVR, PIC และ MSP430? และจัดการกับตัวเลข M3 คืออะไร?

10
วิธีที่เร็วที่สุดในการรับจำนวนเต็ม mod 10 และจำนวนเต็มหาร 10?
ถ้าฮาร์ดแวร์ไม่รองรับโมดูลัสหรือการหารมันต้องใช้รอบ CPU มากขึ้นในการจำลองโมดูลัส / การหารด้วยซอฟต์แวร์ มีวิธีใดที่เร็วกว่าในการคำนวณการหารและโมดูลัสถ้าตัวถูกดำเนินการเป็น 10? ในโครงการของฉันฉันต้องคำนวณโมดูลัสจำนวนเต็ม 10 โดยเฉพาะฉันกำลังทำงานกับ PIC16F และต้องแสดงตัวเลขบนจอ LCD มีตัวเลข 4 หลักที่จะรองรับดังนั้นจึงมีการเรียกฟังก์ชั่นโมดูลัสและการหาร 4 ครั้ง (การนำซอฟต์แวร์ไปใช้) นั่นคือเหมือนดังต่อไปนี้: digit = number % 10; // call to an expensive function number /= 10; // call to an expensive function somehow_lit_segments(); digit = number % 10; // call to an …

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