निष्क्रिय घटकांवर PIC साठी सर्वात सोपा JDM प्रोग्रामर. पीआयसी कंट्रोलर्ससाठी होममेड प्रोग्रामर पीआयसी मायक्रोकंट्रोलर्ससाठी युनिव्हर्सल प्रोग्रामर स्वतःच करा

असे घडले की मी AVR सह मायक्रोकंट्रोलर्सशी माझी ओळख सुरू केली. काही काळासाठी, मी PIC मायक्रोकंट्रोलर टाळले. परंतु तरीही, त्यांच्याकडे अद्वितीय डिझाइन देखील आहेत ज्याची पुनरावृत्ती करणे मनोरंजक आहे! परंतु हे मायक्रोकंट्रोलर देखील फ्लॅश करणे आवश्यक आहे. मी हा लेख प्रामुख्याने माझ्यासाठी लिहित आहे. तंत्रज्ञान विसरू नये म्हणून, समस्या आणि वेळेचा अपव्यय न करता PIC मायक्रोकंट्रोलर कसे फ्लॅश करावे.

पीआयसी मायक्रोकंट्रोलर किंवा सिंपल जेडीएम प्रोग्रामर कसे प्रोग्राम करावे

पहिल्या सर्किटसाठी - मी इंटरनेटवर सापडलेल्या सर्किट्सचा वापर करून पीआयसी प्रोग्रामर बनवण्याचा खूप प्रयत्न केला - त्यातून काहीही मिळाले नाही. ही एक लाजिरवाणी गोष्ट आहे, परंतु मला एमके फ्लॅश करण्यासाठी मित्राकडे वळावे लागले. पण मित्रांसोबत सतत फिरणे ही चांगली कल्पना नाही! याच मित्राने COM पोर्टवरून काम करणाऱ्या साध्या सर्किटची शिफारस केली. पण मी ते जमवले तरी काही चालले नाही. तथापि, प्रोग्रामर एकत्र करणे पुरेसे नाही - आपल्याला त्यासाठी प्रोग्राम सानुकूलित करणे देखील आवश्यक आहे, जे आम्ही ते फ्लॅश करण्यासाठी वापरू. पण नेमके तेच मी करू शकलो नाही. इंटरनेटवर सूचनांचा संपूर्ण समूह आहे आणि त्यापैकी काहींनी मला मदत केली...

मग, मी एक मायक्रोकंट्रोलर फ्लॅश करण्यात व्यवस्थापित केले. परंतु मी गंभीर वेळेच्या दबावाखाली स्टिचिंग करत असल्याने, मी किमान सूचनांची लिंक जतन करण्याचा विचार केला नाही. आणि नंतर मला ती सापडली नाही. म्हणून, मी पुनरावृत्ती करतो - मी माझ्या स्वतःच्या सूचनांसाठी एक लेख लिहित आहे.

तर, PIC मायक्रोकंट्रोलर्ससाठी प्रोग्रामर. साधे, जरी मी अजूनही वापरत असलेल्या AVR मायक्रोकंट्रोलरसारख्या 5 वायर नाहीत. आकृती येथे आहे:

येथे मुद्रित सर्किट बोर्ड () आहे.

COM कनेक्टर थेट कॉन्टॅक्ट पॅडवर पिनसह सोल्डर केले जाते (मुख्य गोष्ट म्हणजे नंबरिंगसह गोंधळात पडणे नाही). पिनची दुसरी पंक्ती लहान जंपर्ससह बोर्डशी जोडलेली आहे (मी ते अगदी अस्पष्टपणे सांगितले, होय). मी तुम्हाला एक फोटो देण्याचा प्रयत्न करेन... जरी तो भितीदायक असला तरीही (माझ्याकडे सध्या सामान्य कॅमेरा नाही).
सर्वात वाईट गोष्ट अशी आहे की PIC मायक्रोकंट्रोलर्सना फर्मवेअरसाठी 12 व्होल्टची आवश्यकता असते. आणि हे 12 नाही तर थोडे अधिक चांगले आहे. चला म्हणूया 13. किंवा 13.5 (तसे, तज्ञ - मी चुकीचे असल्यास टिप्पण्यांमध्ये मला दुरुस्त करा. कृपया.). 12 व्होल्ट अजूनही कुठेतरी मिळू शकतात. 13 कुठे आहे? मी फक्त परिस्थितीतून बाहेर पडलो - मी नवीन चार्ज केलेली लिथियम-पॉलिमर बॅटरी घेतली, ज्यामध्ये 12.6 व्होल्ट होते. बरं, किंवा अगदी चार-सेल बॅटरी, त्याच्या 16 व्होल्टसह (मी एक PIC फ्लॅश केला - काही हरकत नाही).

पण मी पुन्हा विचलित झालो. तर - पीआयसी मायक्रोकंट्रोलर फ्लॅश करण्याच्या सूचना. आम्ही WinPIC800 प्रोग्राम शोधत आहोत (दुर्दैवाने, साधे आणि लोकप्रिय icprog माझ्यासाठी कार्य करत नाही) आणि स्क्रीनशॉटमध्ये दर्शविल्याप्रमाणे ते सेट करत आहोत.

त्यानंतर, फर्मवेअर फाइल उघडा, मायक्रोकंट्रोलर कनेक्ट करा आणि फ्लॅश करा.

जेव्हा मी पीआयसी कंट्रोलर्सवर काम करण्यास सुरुवात केली, तेव्हा स्वाभाविकपणे, प्रोग्रामर निवडण्याचा प्रश्न उद्भवणारी पहिली गोष्ट होती. ब्रँडेड प्रोग्रामर स्वस्त नसल्यामुळे आणि सर्वसाधारणपणे प्रोग्रामर विकत घेणे अजिबात नकोसे वाटले, मी ते स्वतः एकत्र करण्याचा निर्णय घेतला. इंटरनेट सर्फ केल्यानंतर, मी सर्किट डायग्राम डाउनलोड केला आणि एक JDM प्रोग्रामर एकत्र केला. हे खूप खराब काम केले: याने एकतर काही बकवास अपलोड केले, नंतर पहिले काही बाइट अपलोड केले नाहीत किंवा काहीही अपलोड केले नाही.

जेडीएम प्रोग्रामरचा एक महत्त्वाचा तोटा म्हणजे तो व्हीडीडी लाइन नियंत्रित करू शकत नाही आणि परिणामी, प्रोग्रामिंग दरम्यान योग्य व्होल्टेज पुरवठा अल्गोरिदम (प्रथम व्हीपीपी, नंतर व्हीडीडी) लागू करू शकत नाही. जर कंट्रोलर अशा प्रकारे कॉन्फिगर केले असेल: “इंटर्नल ऑसिलेटर”, “एमसीएलआर ऑफ”, तर व्होल्टेज पुरवठा क्रम चुकीचा असल्यास, तो आधी सुरू होतो आणि त्यामध्ये आधी प्रोग्राम केलेला प्रोग्राम कार्यान्वित करणे सुरू करतो आणि नंतर प्रोग्रामिंग मोडमध्ये जातो. या प्रकरणात, पॉइंटर कुठेही निर्देशित करू शकतो, आणि प्रोग्राम मेमरीच्या सुरूवातीस नाही). या संदर्भात: आपला कार्यक्रम कुठे अपलोड केला जाईल आणि तो अपलोड केला जाईल की नाही, हा एक मोठा प्रश्न आहे!

जेडीएम प्रोग्रामरचा त्रास सहन केल्यानंतर, एका बुर्जुआ साइटवर मला प्रोग्रामरचा एक आकृती सापडला ज्यामध्ये या उणीवा दुरुस्त केल्या गेल्या. मी आजही हा प्रोग्रामर वापरतो आणि त्याचे सर्किट डायग्राम तुमच्या लक्षात आणून देतो:

एक साधा RS232->TTL स्तर कनवर्टर डायोड D1...D4 आणि zener डायोड D6 वापरून बनवला जातो. जेव्हा DATA आणि CLOCK लाईन्सवरील व्होल्टेज 0V पेक्षा कमी असते तेव्हा ते डायोड D1, D2 द्वारे जमिनीवर खेचले जातात आणि जेव्हा या रेषांवरील व्होल्टेज 5V पेक्षा जास्त असते तेव्हा ते डायोड D3, D4 द्वारे +5V पर्यंत खेचले जातात. पुरवठा, जे जेनर डायोड डी 6 द्वारे सेट केले जाते.

हे उपकरण थेट COM पोर्टवरून चालते. या सर्किटमधील झेनर डायोड आणि डायोड्स सहजपणे घरगुती लोकांसह बदलले जाऊ शकतात: D814D, KS147A इ.

योग्य व्होल्टेज पुरवठा अल्गोरिदम कसा लागू केला जातो आणि 13 व्होल्ट प्रोग्रामिंग व्होल्टेज कुठून येतो? सर्व काही नेहमीप्रमाणेच अगदी सोपे आहे.

जेव्हा पोर्ट सुरू केले जाते, तेव्हा "-10V" TxD आउटपुटवर हँग होते. या प्रकरणात, कॅपेसिटर C1 झेनर डायोड D7 द्वारे चार्ज केला जातो (जे या प्रकरणात पुढे दिशेने चालू केले जाते आणि डायोड म्हणून कार्य करते). त्या. GND च्या सापेक्ष C1 च्या पॉझिटिव्ह लेगवरील व्होल्टेज शून्य आहे, परंतु TxD = +10V (किंवा COM पोर्टच्या आउटपुटवर जे काही व्होल्टेज आहे) च्या सापेक्ष आहे.

आता TxD आउटपुटवरील व्होल्टेज -10V वरून +10V वर बदलल्यास काय होते याची कल्पना करूया. त्याचवेळी TxD पिनवर व्होल्टेज वाढल्याने, कॅपेसिटर C1 च्या पॉझिटिव्ह लेगवरील व्होल्टेज वाढण्यास सुरुवात होईल. चार्ज D7 द्वारे जमिनीवर वाहू शकत नाही, कारण आता D7 परत चालू केले आहे, PIC मधून गळती हा एकमेव मार्ग आहे, परंतु विद्युत प्रवाह नगण्य आहे. तर, C1 च्या पॉझिटिव्ह लेगवरील व्होल्टेज (आणि परिणामी, MCLR पिनवर) वाढू लागते. या क्षणी जेव्हा TxD जमिनीच्या सापेक्ष शून्य आहे, तेव्हा कॅपेसिटर C1 (त्याच्या सकारात्मक पायावर, आणि म्हणून MCLR) जमिनीच्या सापेक्ष +10V आहे. जेव्हा TxD +3V असतो, C1 आधीच 3+10=13V असतो. इतकेच, Vpp व्होल्टेज आधीच लागू केले आहे, परंतु VDD लाइनवर अद्याप फक्त +3V आहे.

TxD वर व्होल्टेजमध्ये आणखी वाढ झाल्यामुळे, C1 वरील व्होल्टेज वाढत नाही, कारण zener डायोड D7 कार्य करण्यास प्रारंभ करतो. जेव्हा TxD वरील व्होल्टेज +5V वर वाढते, तेव्हा झेनर डायोड D6 कार्य करण्यास सुरवात करतो.

झेनर डायोड डी 7 द्वारे कॅपेसिटर सी 1 च्या डिस्चार्ज करंटला मर्यादित करण्यासाठी, सर्किटमध्ये एक रेझिस्टर आर 6 समाविष्ट आहे, त्यानुसार, सी 1 वरील व्होल्टेज स्थिरीकरण व्होल्टेजच्या बरोबरीचे नाही, परंतु किंचित जास्त आहे: UC1 = Ust + IRESR * R6. प्रोग्रामिंग व्होल्टेज समायोजित करण्यासाठी, रेझिस्टर R3 वापरला जातो. तुम्ही व्हेरिएबल 10KOhm वर सेट करू शकता किंवा एक स्थिर निवडू शकता, जेणेकरून प्रोग्रामिंग व्होल्टेज अंदाजे 13 V असेल (R3 = 1.2 kOhm खालील आकृतीमध्ये दर्शविलेल्या डिव्हाइसमध्ये).

मी यशस्वीरित्या कंट्रोलर प्रोग्राम केले आणि या प्रोग्रामरसह, तथापि, लेखकाने दावा केला की या प्रोग्रामरसह (मी सादर केलेल्या आवृत्तीमध्ये) प्रोग्राम करणे शक्य आहे , आणि . या व्यतिरिक्त, लेखकाच्या वेबसाइट feng3.cool.ne.jp वर इतर PIC नियंत्रकांसाठी प्रोग्रामर बदल आहेत.

तयार उपकरणे:


मिक्सरमधील प्रोग्रामर पर्याय:

फ्लॅशिंग कंट्रोलर्ससाठी IC-prog 1.05D प्रोग्राम " " विभागात डाउनलोड केला जाऊ शकतो. फर्मवेअर फ्लॅश करताना, JDM प्रोग्रामर प्रकार निवडा. JDM साठी Vcc नियंत्रण सक्षम करा. Windows 2000/NT/XP ऑपरेटिंग सिस्टीमच्या संयोगाने वापरल्यास, Windows API इंटरफेस निवडा आणि "एनटी/2000/XP ड्राइव्हर सक्षम करा" चेकबॉक्स सक्षम करा, इतर बाबतीत, डायरेक्ट I/O इंटरफेस वापरा;


दुसरा. सज्जनांनो, फर्मवेअर फ्लॅश करताना कृपया कॅलिब्रेशन बिट्स जतन करा किंवा नंतर अंतर्गत जनरेटर अस्थिर/काम करत नसल्याची तक्रार करू नका!!!

तुम्ही लिंकवरून प्रिंटेड सर्किट बोर्ड (AutoCAD2000i) डाउनलोड करू शकता. मिक्सर (DipTrace 2.0) चे PCB येथे उपलब्ध आहे

म्हणून, आम्ही आमचा विचार केला आणि मायक्रोकंट्रोलरवर आमचे पहिले घरगुती उत्पादन एकत्र करण्याचे ठरवले, ते कसे प्रोग्राम करायचे हे समजून घेणे बाकी आहे. म्हणून, आम्हाला PIC प्रोग्रामरची आवश्यकता असेल आणि आपण त्याचे सर्किट स्वतः एकत्र करू शकता, उदाहरण म्हणून काही सोप्या डिझाइन पाहू.

सर्किट तुम्हाला मायक्रोकंट्रोलर आणि EEPROM I2C मेमरी प्रोग्राम करण्यास अनुमती देते.

IC-PROG v1.05D युटिलिटीसह संयुक्त वापराच्या अधीन असलेल्या समर्थित मायक्रोकंट्रोलरची यादी:

मायक्रोचिप मधील मायक्रोकंट्रोलर: PIC12C508, PIC12C508A, PIC12C509, PIC12C509A, PIC12CE518, PIC12CE519, PIC12C671, PIC12C672, PIC12CE673, PIC12CE674, PIC1264, PIC1265, PIC1263 PIC16C62A, PIC16C62B, PIC16C63, PIC16C63A, PIC16C64A, PIC16C65A, PIC16C65B, PIC16C66, PIC16C67, PIC16C71, PIC16C72, PIC16C72A, PIC16C73A, PIC16C73B, PIC16C74A, PIC16C74B, PIC16C76, PIC16C77, PIC16F72, PIC16F73, PIC16F74, PIC16F76, PIC16FIC, PIC168, PIC168 6F84A, PIC16F88, PIC16C505*, PIC16C620, PIC16C620A, PIC16C621, PIC16C621A, PIC16C622, PIC16C622A, PIC16CE623 , PIC16CE624, PIC16CE625, PIC16F627, PIC16F628, PIC16F628A, PIC16F630*, PIC16F648A, PIC16F676*, PIC16C710, PIC16C711, PIC17C, PIC1717, PIC16C745, PIC16C765, PIC16C770*, PIC16C771*, PIC16C773, PIC16C774, PIC16C781*, PIC16C782* , PIC16F818 , PIC16F819, PIC16F870, PIC16F871, PIC16F872, PIC16F873, PIC16F873A, PIC16F874, PIC16F874A, PIC16F876, PIC16F876A, PIC169C*, PIC169C* , PIC18F242, PIC18F248, PIC18F252, PIC18F258, PIC18F442, PIC18F448, PIC18F452, PIC18F458, PIC18F1220 , PIC18F13F250, PIC18F13F250, PIC18F448 , PIC18F4320, PIC18F4539, PIC18F6620*, PIC18F6720*, PIC18F8620*, PIC18F8720*

टीप:तारांकन (*) ने चिन्हांकित केलेले मायक्रोकंट्रोलर ICSP कनेक्टरद्वारे प्रोग्रामरशी कनेक्ट केलेले असणे आवश्यक आहे.

सीरियल EEPROM I2C मेमरी(IIC): X24C01, 24C01A, 24C02, 24C04, 24C08, 24C16, 24C32, 24C64, AT24C128, M24C128, AT24C256, M24C256, C452AT.


सॉकेटमध्ये मायक्रोसर्किट स्थापित करा, कीच्या स्थितीचे काटेकोरपणे निरीक्षण करा. कॉर्ड कनेक्ट करा, पॉवर चालू करा. IC-PROG प्रोग्राम लाँच करा. ड्रॉपडाउन सूचीमधून तुमचा PIC मायक्रोकंट्रोलर निवडा.

तुमच्याकडे फर्मवेअर नसल्यास, ते करा: हे करण्यासाठी, मानक नोटपॅड प्रोग्राम किंवा इतर कोणताही संपादक उघडा; दस्तऐवजात फर्मवेअरचा मजकूर घाला; *.txt किंवा *.hex विस्तारासह कोणत्याही नावाखाली सेव्ह करा.

नंतर IC-PROG फाईलमधील युटिलिटीमध्ये >> फाइल उघडा >> फर्मवेअरसह आमची फाइल शोधा. “प्रोग्राम कोड” विंडो वेगवेगळ्या कोडने भरलेली असावी.

IC-PROG विंडोमध्ये, "चिप प्रोग्राम करा" वर क्लिक करा आणि डिव्हाइस आकृतीवरील लाल एलईडी उजळेल. प्रोग्रामिंगला सुमारे 30 सेकंद लागतात. तपासण्यासाठी, निवडा - बफरसह चिपची तुलना करा.

तुम्ही वरील हिरव्या लिंकचा वापर करून स्प्रिंट लेआउटमध्ये तयार मुद्रित सर्किट बोर्डसह EXTRA-PIC प्रोग्रामर सर्किटची पर्यायी आवृत्ती उघडू शकता.

मायक्रोकंट्रोलर वापरणारे सर्किट इंटरनेटवर बरीच लोकप्रियता मिळवत आहेत. मायक्रोकंट्रोलर ही एक विशेष चिप आहे जी थोडक्यात, स्वतःचे इनपुट/आउटपुट पोर्ट आणि मेमरी असलेला एक छोटा संगणक आहे. मायक्रोकंट्रोलरचे आभार, आपण कमीतकमी निष्क्रिय घटकांसह अतिशय कार्यक्षम सर्किट तयार करू शकता, उदाहरणार्थ, इलेक्ट्रॉनिक घड्याळे, प्लेअर्स, विविध एलईडी प्रभाव आणि ऑटोमेशन उपकरणे.

मायक्रोसर्किटने कोणतेही कार्य करणे सुरू करण्यासाठी, ते फ्लॅश करणे आवश्यक आहे, उदा. फर्मवेअर कोड त्याच्या मेमरीमध्ये लोड करा. हे प्रोग्रामर नावाच्या विशेष उपकरणाचा वापर करून केले जाऊ शकते. प्रोग्रामर ज्या संगणकावर फर्मवेअर फाइल स्थित आहे त्यास मायक्रोकंट्रोलर फ्लॅश करून कनेक्ट करतो. हे लक्षात घेण्यासारखे आहे की AVR कुटुंबातील मायक्रोकंट्रोलर आहेत, उदाहरणार्थ, Atmega8, Attiny13 आणि pic मालिका, उदाहरणार्थ PIC12F675, PIC16F676. Pic मालिका मायक्रोचिपची आहे आणि AVR मालिका Atmel च्या मालकीची आहे, त्यामुळे PIC आणि AVR साठी फर्मवेअर पद्धती वेगळ्या आहेत. या लेखात आपण एक्स्ट्रा-पिक प्रोग्रामर तयार करण्याची प्रक्रिया पाहू, ज्याच्या मदतीने आपण चित्र मालिका मायक्रोकंट्रोलर फ्लॅश करू शकता.
या विशिष्ट प्रोग्रामरच्या फायद्यांमध्ये त्याच्या सर्किटरीची साधेपणा, ऑपरेशनची विश्वासार्हता आणि अष्टपैलुत्व समाविष्ट आहे, कारण ते सर्व सामान्य मायक्रोकंट्रोलरला समर्थन देते. Ic-prog, WinPic800, PonyProg, PICPgm सारख्या सर्वात सामान्य फर्मवेअर प्रोग्रामद्वारे संगणक देखील समर्थित आहे.

प्रोग्रामर सर्किट


यात दोन मायक्रोसर्कीट आहेत, आयात केलेले MAX232 आणि घरगुती KR1533LA3, जे KR155LA3 ने बदलले जाऊ शकतात. दोन ट्रान्झिस्टर, KT502, जे KT345, KT3107 किंवा इतर कोणत्याही लो-पॉवर PNP ट्रान्झिस्टरसह बदलले जाऊ शकतात. KT3102 देखील बदलले जाऊ शकते, उदाहरणार्थ, BC457, KT315. हिरवा एलईडी पॉवर उपलब्धतेचे सूचक म्हणून काम करतो, मायक्रोकंट्रोलर फर्मवेअर प्रक्रियेदरम्यान लाल एलईडी दिवे उजळतात. 1N4007 डायोडचा वापर सर्किटला चुकीच्या ध्रुवीयतेच्या व्होल्टेजच्या पुरवठ्यापासून संरक्षण करण्यासाठी केला जातो.

साहित्य


प्रोग्रामर एकत्र करण्यासाठी आवश्यक भागांची यादी:
  • स्टॅबिलायझर 78L05 - 2 पीसी.
  • स्टॅबिलायझर 78L12 - 1 पीसी.
  • एलईडी 3 व्ही. हिरवा - 1 पीसी.
  • एलईडी 3 व्ही. लाल - 1 पीसी.
  • डायोड 1N4007 - 1 पीसी.
  • डायोड 1N4148 - 2 पीसी.
  • रेझिस्टर 0.125 W 4.7 kOhm – 2 pcs.
  • रेझिस्टर 0.125 W 1 kOhm – 6 pcs.
  • कॅपेसिटर 10 uF 16V – 4 pcs.
  • कॅपेसिटर 220 uF 25V – 1 पीसी.
  • कॅपेसिटर 100 एनएफ - 3 पीसी.
  • ट्रान्झिस्टर KT3102 - 1 पीसी.
  • ट्रान्झिस्टर KT502 - 1 पीसी.
  • चिप MAX232 - 1 पीसी.
  • चिप KR1533LA3 - 1 पीसी.
  • पॉवर कनेक्टर - 1 पीसी.
  • महिला COM पोर्ट कनेक्टर - 1 पीसी.
  • डीआयपी 40 सॉकेट - 1 पीसी.
  • डीआयपी 8 सॉकेट - 2 पीसी.
  • डीआयपी 14 सॉकेट - 1 पीसी.
  • डीआयपी 16 सॉकेट - 1 पीसी.
  • डीआयपी 18 सॉकेट - 1 पीसी.
  • डीआयपी 28 सॉकेट - 1 पीसी.
याव्यतिरिक्त, आपल्याला सोल्डरिंग लोह आणि ते वापरण्याची क्षमता आवश्यक आहे.

पीसीबी उत्पादन

प्रोग्रामर 100x70 मिमीच्या मुद्रित सर्किट बोर्डवर एकत्र केला जातो. मुद्रित सर्किट बोर्ड LUT पद्धतीचा वापर करून बनविला जातो, फाईल लेखाशी संलग्न केली जाते. छपाईपूर्वी प्रतिमा मिरर करण्याची गरज नाही.


बोर्ड डाउनलोड करा:

(डाउनलोड: 639)

प्रोग्रामर असेंब्ली

सर्व प्रथम, जंपर्स मुद्रित सर्किट बोर्डवर सोल्डर केले जातात, नंतर प्रतिरोधक, डायोड. शेवटी, आपल्याला सॉकेट्स आणि पॉवर कनेक्टर आणि COM पोर्ट सोल्डर करणे आवश्यक आहे.



कारण फ्लॅश केलेल्या मायक्रोकंट्रोलर्ससाठी मुद्रित सर्किट बोर्डवर बरेच सॉकेट्स आहेत, परंतु त्यांच्या सर्व पिन वापरल्या जात नाहीत, तुम्ही ही युक्ती वापरू शकता आणि सॉकेट्समधून न वापरलेले संपर्क काढून टाकू शकता. त्याच वेळी, सोल्डरिंगवर कमी वेळ घालवला जाईल आणि अशा सॉकेटमध्ये मायक्रोसर्किट घालणे खूप सोपे होईल.


COM पोर्ट कनेक्टरमध्ये (DB-9 म्हणतात) दोन पिन आहेत ज्या बोर्डमध्ये "अडकल्या" पाहिजेत. त्यांच्यासाठी बोर्डवर अतिरिक्त छिद्र ड्रिल करू नये म्हणून, तुम्ही कनेक्टरच्या बाजूने दोन स्क्रू काढू शकता आणि कनेक्टरच्या धातूच्या किनार्याप्रमाणेच पिन पडतील.


सर्व भाग सोल्डरिंग केल्यानंतर, बोर्ड फ्लक्सपासून धुवावेत आणि शेजारच्या संपर्कांना रिंग केले पाहिजे की काही शॉर्ट सर्किट आहेत की नाही हे पाहण्यासाठी. सॉकेट्समध्ये कोणतेही मायक्रोक्रिकेट नाहीत याची खात्री करा (आपल्याला MAX232 आणि KR1533LA3 दोन्ही काढण्याची आवश्यकता आहे), पॉवर कनेक्ट करा. स्टॅबिलायझर्सच्या आउटपुटवर 5 व्होल्टचा व्होल्टेज आहे का ते तपासा. सर्वकाही ठीक असल्यास, आपण MAX232 आणि KR1533LA3 मायक्रोक्रिकेट स्थापित करू शकता, प्रोग्रामर वापरासाठी तयार आहे. सर्किटचा पुरवठा व्होल्टेज 15-24 व्होल्ट आहे.



प्रोग्रामर बोर्डमध्ये मायक्रोकंट्रोलर्ससाठी 4 सॉकेट आणि फ्लॅशिंग मेमरी चिप्ससाठी एक आहे. बोर्डवर फ्लॅश करण्यासाठी मायक्रोकंट्रोलर स्थापित करण्यापूर्वी, तुम्हाला त्याचे पिनआउट प्रोग्रामर बोर्डवरील पिनआउटशी जुळत आहे की नाही हे तपासणे आवश्यक आहे. प्रोग्रामर संगणकाच्या COM पोर्टशी थेट किंवा एक्स्टेंशन केबलद्वारे कनेक्ट केला जाऊ शकतो. आनंदी बांधकाम!

प्रस्तावित प्रोग्रामर "रेडिओ" क्रमांक 2, 2004, "पोनीप्रोग वरील प्रोग्रामिंग आधुनिक PIC16, PIC12" या मासिकाच्या प्रकाशनावर आधारित आहे. हा माझा पहिला प्रोग्रामर आहे जो मी घरी PIC चिप्स फ्लॅश करण्यासाठी वापरला होता. प्रोग्रामर ही JDM प्रोग्रामरची एक सरलीकृत आवृत्ती आहे, मूळ सर्किटमध्ये MAX232 चिपच्या स्वरूपात RS-232 ते TTL कनवर्टर आहे, ते अधिक सार्वत्रिक आहे, परंतु आपण ते "आपल्या गुडघ्यावर" एकत्र करू शकत नाही. या सर्किटमध्ये एकच सक्रिय घटक नसतो, त्यात दुर्मिळ भाग नसतात आणि ते मुद्रित सर्किट बोर्ड वापरल्याशिवाय एकत्र केले जाऊ शकते;

तांदूळ. 1: प्रोग्रामरचा योजनाबद्ध आकृती.

सर्किट ऑपरेशनचे वर्णन
प्रोग्रामर सर्किट अंजीर मध्ये दर्शविले आहे. 1. CLK (क्लॉकिंग), डेटा (माहिती), Upp (प्रोग्रामिंग व्होल्टेज) सर्किट्समधील प्रतिरोधक विद्युत प्रवाह मर्यादित करण्यासाठी कार्य करतात. पीआयसी कंट्रोलर्स बिल्ट-इन झेनर डायोड्सद्वारे ब्रेकडाउनपासून संरक्षित आहेत, म्हणून TTL आणि RS-232 लॉजिकमध्ये काही सुसंगतता आहे. सादर केलेल्या सर्किटमध्ये व्हीडी 1, व्हीडी 2 डायोड्स आहेत, जे COM पोर्टमधून पिन 5 च्या सापेक्ष सकारात्मक व्होल्टेज "घेतात" आणि ते कंट्रोलरला पॉवरमध्ये स्थानांतरित करतात, ज्यामुळे काही प्रकरणांमध्ये अतिरिक्त उर्जा स्त्रोतापासून मुक्त होणे शक्य आहे.

उभे करणे उभारणे
सराव मध्ये, असे नेहमीच होत नाही की हा प्रोग्रामर पहिल्या प्रयत्नात, समायोजनाशिवाय कार्य करेल, कारण ... या सर्किटचे ऑपरेशन COM पोर्टच्या पॅरामीटर्सवर खूप अवलंबून असते. तथापि, माझ्यासाठी, XP अंतर्गत Gigabyte 8IPE1000 आणि WinFast या दोन मदरबोर्डवर, सर्वकाही लगेच कार्य केले. तुटलेल्या, अधिक क्लिष्ट प्रोग्रामर सर्किटला सामोरे जाण्यास तुम्ही खूप आळशी असाल, तर तुम्ही हे एकत्र करण्याचा प्रयत्न केला पाहिजे. येथे काही गोष्टी आहेत ज्यावर परिणाम होऊ शकतो:

चटई जितकी नवीन. बोर्ड, विकासक या बंदरांकडे कमी लक्ष देतात, कारण ही बंदरे फार पूर्वीपासून अप्रचलित झाली आहेत. आपण USB-COM ॲडॉप्टर खरेदी करून यापासून मुक्त होऊ शकता, जरी पुन्हा खरेदी केलेले डिव्हाइस योग्य नसेल. आवश्यक पॅरामीटर्स खालीलप्रमाणे आहेत: कनेक्टरच्या 5 व्या पिनच्या सापेक्ष व्हेरिएबल व्होल्टेज कमीतकमी -10V ते +10V (लॉजिक 0 आणि 1) पर्यंत बदलणे आवश्यक आहे. पुरवठा केलेला विद्युतप्रवाह किमान असा असावा की जेव्हा 2.7 kOhm रोधक 5व्या संपर्कात आणि चाचणी अंतर्गत संपर्क दरम्यान जोडला जातो तेव्हा व्होल्टेज 10V च्या खाली जात नाही (मी स्वतः असे बोर्ड पाहिलेले नाहीत). तसेच, पोर्टने 0V च्या जवळच्या व्होल्टेज स्तरावर कंट्रोलरकडून येणारे व्होल्टेज योग्यरित्या निर्धारित केले पाहिजेत, परंतु 2V पेक्षा जास्त नाही, शून्य निर्धारित केले जाते आणि त्यानुसार, 2V वर, एक निर्धारित केले जाते.

सॉफ्टवेअरमुळेही समस्या उद्भवू शकतात.
हे विशेषतः LINUX OS साठी खरे आहे, कारण... वाइन, व्हर्च्युअलबॉक्स सारख्या एमुलेटरच्या उपस्थितीमुळे, पोर्ट योग्यरित्या कार्य करू शकत नाहीत आणि त्यांच्याकडून बऱ्याच क्षमता आवश्यक आहेत. मी दुसऱ्या लेखात या समस्यांवर अधिक तपशीलवार स्पर्श करेन.

ही वैशिष्ट्ये जाणून घेऊन, ते सेट करणे सुरू करूया.
यासाठी ICProg 1.05D प्रोग्राम असणे अत्यंत इष्ट आहे.
प्रोग्राम मेनूमध्ये, आपण प्रथम सेटिंग्जमध्ये योग्य सेटिंग निवडणे आवश्यक आहे. पोर्ट (COM1. COM2), JDM प्रोग्रामर निवडा. नंतर "सेटिंग्ज" मेनूमध्ये "हार्डवेअर चेक" विंडो उघडा. या मेनूमध्ये, तुम्हाला एक एक करून बॉक्स तपासण्याची आणि कनेक्ट केलेल्या कनेक्टरच्या संपर्कांवर व्होल्टेज मोजण्यासाठी व्होल्टमीटर वापरण्याची आवश्यकता आहे. जर व्होल्टेज पॅरामीटर्स सर्वसामान्य प्रमाणाशी संबंधित नसतील तर, दुर्दैवाने, हे अकार्यक्षमतेचे कारण असू शकते, तर तुम्हाला RS-232 TTL कनवर्टरसह सर्किट एकत्र करावे लागेल. सर्व बॉक्स चेक केल्यावर, तुम्हाला हे सुनिश्चित करणे आवश्यक आहे की जेनर डायोडवर सुमारे 5V चा पुरवठा व्होल्टेज तयार झाला आहे. जर व्होल्टेज सामान्य असतील आणि स्थापना त्रुटी नसतील तर सर्वकाही कार्य केले पाहिजे. आम्ही सॉकेटमध्ये कंट्रोलर ठेवतो, फर्मवेअर उघडतो, प्रोग्राम करतो. “इनव्हर्ट डेटा आउट” (सर्व अनचेक केलेले आहेत) सारखे चेकबॉक्सेस सक्षम करण्याची आवश्यकता नाही. तसेच, हे विसरू नका की कंट्रोलर्सच्या काही बॅचमध्ये मानक नसलेले पॅरामीटर्स असू शकतात आणि त्यांना फ्लॅश करणे शक्य नाही अशा परिस्थितीत, या प्रोग्रामरसह, आपण पुरवठा व्होल्टेज 5V वरून 3-4V पर्यंत कमी करण्याचा प्रयत्न करू शकता; त्यानुसार जोडत आहे. zener diode, LVP (लो-व्होल्टेज प्रोग्रामिंग) मोडच्या चुकीच्या सक्रियतेसाठी नियंत्रक पहा, ते कसे प्रतिबंधित करावे, आपण विशिष्ट प्रकारच्या नियंत्रकासाठी इंटरनेटवर वाचू शकता. समस्याग्रस्त कंट्रोलरचे प्रोग्रॅमिंग व्होल्टेज वाढवणे शक्य आहे फक्त अतिरिक्त उर्जा स्त्रोतापासून चालवलेल्या कॉमन एमिटरसह ॲम्प्लीफिकेशन स्टेजचा परिचय करून सर्किटला क्लिष्ट करून.

आता डिव्हाइसच्या वीज पुरवठ्यातील समस्येबद्दल अधिक बोलूया. प्रोग्रामरची लिनक्स अंतर्गत ICProg प्रोग्राम्स आणि कन्सोल picprog सह चाचणी केली गेली, जर तुम्ही अतिरिक्त उर्जा स्त्रोत कनेक्ट केला तर जेडीएमला समर्थन देणाऱ्या कोणत्याही सोबत ते कार्य केले पाहिजे (ते 1 kOhm रेझिस्टरद्वारे जेनर डायोडशी जोडलेले आहे, या प्रकरणात प्रतिरोधक असलेले डायोड असू शकतात. पूर्णपणे वगळलेले). वस्तुस्थिती अशी आहे की वैयक्तिक सॉफ्टवेअरसाठी प्रोग्रामर नियंत्रण अल्गोरिदम भिन्न आहेत, ICProg प्रोग्राम सर्वात नम्र आहे. हे लक्षात आले की Windows OS मध्ये या प्रोग्रामने न वापरलेल्या पिन 2 वर आवश्यक पुरवठा व्होल्टेज वाढवलेला आहे, तोच प्रोग्राम लिनक्समधील इम्युलेटरच्या खाली दुसर्या मॅटवर आहे. बोर्ड यापुढे हे करण्यास सक्षम नव्हते, परंतु प्रोग्रामिंग व्होल्टेजमधून शक्ती घेऊन एक मार्ग सापडला. सर्वसाधारणपणे, मला वाटते की आपण हा प्रोग्रामर अतिरिक्त शक्तीशिवाय ICProg सह वापरू शकता. इतर सॉफ्टवेअरसह याची खात्री देता येत नाही, उदाहरणार्थ, पॉवरशिवाय उबंटू रिपॉझिटरीजमधील "नेटिव्ह" पिकप्रोग प्रोग्रामरला शोधत नाही, "जेडीएम हार्डवेअर सापडले नाही" असा संदेश दर्शवितो. हे कदाचित प्रोग्रामिंग व्होल्टेज लागू न करता काही डेटा प्राप्त करते किंवा ते खूप लवकर करते, जेणेकरून फिल्टर कॅपेसिटरला अद्याप चार्ज करण्यासाठी वेळ मिळत नाही.