कैसे मैं PIC18F45K20 के साथ PWM का उपयोग करें??

H

hussong1555

Guest
क्या किसी स्थापना और PIC18F45k20 के साथ PWM का उपयोग करने के लिए कोई नमूना "सी" कोड है?
 
हाय, सी अर्थ? mikroC? सीसीएस? C18? वहाँ वहाँ से बाहर कई हैं. कौन सा संकलक आप प्रयोग करते हैं? Tahmid.
 
मैं सीसीएस का उपयोग किया जाएगा. आप किसी भी मदद की पेशकश कर सकते हैं के लिए धन्यवाद
 
हाय, मैं सीसीएस नहीं पता, लेकिन मैं तुम्हें प्रक्रिया बता सकते हैं या आप mikroC में एक नमूना देने के लिए सेट अप और कुछ दिया आवृत्ति पर PWM का उपयोग करें. Tahmid. [आकार = 2] [रंग = 999999 #] 14 मिनट के बाद जोड़ा गया: [/ रंग] [/ आकार] यहाँ mikroC में एक नमूना है: [कोड] PORTC2 / / / / PWM 32kHz 50% कर्तव्य चक्र के उत्पादन द्वारा विकसित : Tahmid / / फ़रवरी 1, 2010 / / सिस्टम घड़ी: 4MHz / / घड़ी स्रोत: XT क्रिस्टल शून्य मुख्य (शून्य) {TRISC = 0; / / PORTC आउटपुट PORTC = 0; PR2 = 30; ~ 15 32kHz CCPR1L = / / , / / ​​ड्यूटी चक्र 50% CCP1CON = 0x0C; / / CCP1CON = 00001100, एकल उत्पादन, सक्रिय उच्च T2CON = 4; / / TMR2 prescale = 0 जबकि (1);} [कोड /] आप के लिए अनुकूलित कर किया जाना चाहिए इस के लिए सीसीएस. 18F45K20 पर एक नज़र रखना और कोड का अध्ययन. उम्मीद है आप समझ जाएगा. यदि नहीं, तुम हमेशा पूछ सकते हैं. मैं मदद खुशी होगी. उम्मीद है कि इस मदद की. Tahmid.
 
इनपुट के लिए धन्यवाद, आप किसी भी मौका द्वारा C18 के साथ बहुत परिचित की व्याख्या कैसे PWM के लिए कोड लिखने के लिए कर रहे हैं. मूलतः मैं बस PWM की आवश्यकता की अवधि के लिए 90% हो 3 सेकंड फिर वापस शून्य करने के लिए कहते हैं
 
हाय, CCPR1L के मूल्य बदलें. 90% के लिए, यह होना चाहिए (0.9 * PR2) = 0.9 * 30 = 27 लिखें: [कोड] CCPR1L = 27, / / ​​90% कर्तव्य चक्र [/ कोड] फिर एक 3second देरी जगह. C18 के लिए, मैं जानता हूँ कि नहीं, लेकिन mikroC के लिए, यह होगी: [कोड] delay_ms (3000); / 3second / देरी [/ कोड] उसके बाद, PWM बंद: [कोड] = 0 CCP1CON; / / PWM बंद [कोड /] [कोड] 32kHz PORTC2 / / पर 50% कर्तव्य चक्र द्वारा विकसित की उत्पादन: / / PWM शून्य XT क्रिस्टल शून्य मुख्य :) Tahmid / / 1 फरवरी, 2010 प्रणाली / / घड़ी: 4MHz घड़ी / / स्रोत ) {TRISC = 0; / / PORTC आउटपुट PORTC = 0; PR2 = 30; / / ~ 32kHz = CCPR1L 27 / ड्यूटी / चक्र 90% CCP1CON 0x0C =; / / = CCP1CON 00001100, एकल उत्पादन, सक्रिय उच्च T2CON = 4 , पर TMR2 / / prescale = 0 (3000) delay_ms; देरी / 3second / जबकि (PIR1.TMR2IF == 0); / / टाइमर अतिप्रवाह CCP1CON के लिए रुको = 0; / / PWM बंद} [कोड /] C18 के लिए, मैं, के लिए (i = 0; [कोड] शून्य MSDelay (अहस्ताक्षरित int itime) {अहस्ताक्षरित int i, j: मैं जैसे एक देरी दिनचर्या बनाना चाहते हैं
 
धन्यवाद Tamid, तुम बहुत मददगार दिया गया है. और C18 एक ही देरी समारोह (यह बहुत अच्छी बात है) मैं देख रहा हूँ कि 30 32kHz के बराबर है कि क्या पैमाने पर है, और क्या अगर मैं तरह 20ms (मुझे लगता है कि बाहर काम करने के लिए 50Hz तरह) की अवधि की जरूरत है करता है?
 
हाय, सूत्र इस तरह है: [कोड] PR2 = [/ Fosc (Fpwm * 4 * एन)] - 1 [कोड /] Fpwm आवृत्ति वांछित है. Fosc प्रणाली आवृत्ति (क्रिस्टल / आर सी / गुंजयमान यंत्र) है. एन टाइमर prescaler है. आप को प्रभावी ढंग से सीसीपी मॉड्यूल के साथ 50Hz का उत्पादन करने में सक्षम नहीं होगा. आप इस उत्पन्न सॉफ्टवेयर, या एक आईसी का उपयोग किया जाना चाहिए. [कोड] CCPR1L = (DC/100) * PR2 [/ कोड] डीसी = प्रतिशत में कर्तव्य चक्र आशा है कि इस मदद की. Tahmid.
 
मुझे आश्चर्य है कि अगर इस डिवाइस SEPIC टोपोलॉजी के साथ चलाने के लिए बिजली की आपूर्ति स्विचन के लिए इस्तेमाल किया जा सकता है? मैं एक 90% दक्षता या अधिक की जरूरत है? किसी भी सुझाव की सराहना की होगी.
 
Tahmid, तुम सब कुछ मुझे बताया है अत्यंत उपयोगी है और मैं आप से बहुत कुछ सीख रहा हूँ, कुछ शोध के बाद (मैं क्या करने की कोशिश कर रहा हूँ एक इमदादी ड्राइव) मैं 20msec के एक PWM अवधि (मुझे लगता है कि 50Hz के रूप में उल्लेख किया है की जरूरत है ) से पहले और 1msec और 2msec के एक PWM चौड़ाई. तो 5% और 10% के एक कर्तव्य चक्र. इस ध्वनि करता है आप के लिए सही है? आप उल्लेख किया है कि "आप को प्रभावी ढंग से सीसीपी मॉड्यूल के साथ 50Hz का उत्पादन करने में सक्षम नहीं होगा आप इस उत्पन्न सॉफ्टवेयर का उपयोग किया जाना चाहिए, या एक आईसी." ताकि लोगों को PICs साथ servos कैसे अंतरफलक है? यह रोबोटिक्स में बहुत आम लगता है. यदि आप मदद कर सकते हैं मुझे अवधि मिल, मैं वहाँ से आराम मिल सकता है. फिर आप सबसे अधिक उपयोगी गया है और मैं तुम मुझे यह अब तक प्राप्त करने के लिए धन्यवाद.
 
हाय, आप आसानी से सॉफ्टवेयर PWM के साथ 1 टाइमर या टाइमर के किसी के साथ की तरह है कि कर सकते हैं. नहीं बहुत मुश्किल है. आप इसे सीसीपी के साथ कर सकते हैं, लेकिन है कि बहुत कम है जो यह बहुत धीमी गति से होने का कारण होगा करने के लिए अपनी घड़ी की गति को कम करने का मतलब है. क्यों सॉफ्टवेयर PWM के बस का उपयोग नहीं? इस पर एक नज़र रखना: http://www.ermicro.com/blog/?p=771 url [/] उम्मीद है कि इस मदद की. Tahmid.
 
धन्यवाद Tahmid, आपकी मदद के सभी एक सफलता काम पर मेरी परियोजना बना दिया है:)
 
हाय [url = http://www.dwengo.org/tutorials/light-tracker] [/url] एक और कड़ी है जो बताते हैं कि कैसे एक इमदादी नियंत्रण के लिए एक 18F45xx परिवार की तस्वीर के लिए बीच में संचालित है. मुझे लगता है कि इस कोड को अपने 18F45K20 तस्वीर पर भी काम करेंगे.
 
हाय Tadmid, क्या आप मुझे बहुत ज्यादा मदद समझाया. बहुत बहुत धन्यवाद. और अगर आप समय है, तुम मुझे कब्जा माड्यूल के बारे में एक सा बता सकता है. मैं तस्वीर 16F877 के लिए आने वाली दालों की संख्या का मुकाबला करना चाहते हैं. धन्यवाद
 
हाय, मैं कब्जा मॉड्यूल को समझाने की कोशिश करेंगे, बस कुछ समय की जरूरत है.
 
यू, मैं तुम्हारी मदद का इंतज़ार कर रही मीटर धन्यवाद.
 
[बोली = Tahmid] C18 के लिए, मैं एक देरी की तरह दिनचर्या बनाना चाहते हैं: कोड [] शून्य (अहस्ताक्षरित int itime) MSDelay {अहस्ताक्षरित int i, j, मैं, के लिए (i = 0
 
यार मैं बहुत आभारी हूँ. मेरा PWM समारोह में अच्छी तरह से काम नहीं कर रहा था. तो मैं coppy उर कोड जब मैं इसे चलाते हैं. सटीक PWM मिला.
 

Welcome to EDABoard.com

Sponsor

Back
Top