పరిచయం: ఈ కథనం డిజిటల్ థర్మామీటర్ను నిర్మించడంలో కస్టమ్ DS18B20 డిజిటల్ ఉష్ణోగ్రత సెన్సార్ యొక్క అప్లికేషన్ను వివరంగా వివరిస్తుంది. పని సూత్రంతో సహా, హార్డ్వేర్ కనెక్షన్, సాఫ్ట్వేర్ ప్రోగ్రామింగ్ మరియు సిమ్యులేషన్ అమలు. పూర్తి ప్రోట్యూస్ అనుకరణ రేఖాచిత్రాన్ని అందించండి, DS18B20 వినియోగాన్ని పాఠకులు లోతుగా అర్థం చేసుకోవడం మరియు సాధన చేయడంలో సహాయపడటానికి సి సోర్స్ కోడ్ మరియు ఫలితాల విశ్లేషణ.
పారామీటర్ సమాచారం: విద్యుత్ సరఫరా: 3.0V – 5.5V; సర్దుబాటు రిజల్యూషన్: 9 – 12 బిట్; ఉష్ణోగ్రత పరిధి: -55 ℃ వరకు +125 ℃; అవుట్పుట్ : ఎరుపు (VCC), పసుపు (డేటా), నలుపు (GND);
మీరు ఏమి పొందుతారు: మీరు పొందుతారు 4 DS18B20 ఉష్ణోగ్రత సెన్సార్లు, 4 అడాప్టర్ మాడ్యూల్స్ మరియు 4 ఆడ నుండి ఆడ జంపర్ వైర్లు; అడాప్టర్ మాడ్యూల్లో పుల్-అప్ రెసిస్టర్ ఉంది, ఇది బాహ్య నిరోధకం లేకుండా రాస్ప్బెర్రీ పైకి అనుకూలంగా ఉంటుంది;
DS18B20 ఉష్ణోగ్రత సెన్సార్: స్టెయిన్లెస్ స్టీల్ హౌసింగ్ పరిమాణం సుమారుగా ఉంటుంది. 6 x 50 mm/ 0.2 x 2 అంగుళం, మరియు డిజిటల్ ఉష్ణోగ్రత థర్మల్ కేబుల్ మొత్తం పొడవు సుమారుగా ఉంటుంది. 1 m/ 39.4 అంగుళం, ఇది మీ అవసరాలను తీర్చడానికి చాలా పొడవుగా ఉంటుంది;
నాణ్యమైన పదార్థం: ప్రోబ్ నాణ్యమైన స్టెయిన్లెస్ స్టీల్ మెటీరియల్తో తయారు చేయబడింది, జలనిరోధితమైనది, తేమ-రుజువు మరియు తుప్పు పట్టడం సులభం కాదు, తద్వారా షార్ట్ సర్క్యూట్లను నివారించవచ్చు;
విస్తృత అప్లికేషన్: ఈ DS18B20 ఉష్ణోగ్రత సెన్సార్ రాస్ప్బెర్రీ పైకి అనుకూలంగా ఉంటుంది, మరియు కేబుల్ ట్రెంచ్ యొక్క ఉష్ణోగ్రత పర్యవేక్షణలో విస్తృతంగా వర్తించబడుతుంది, బాయిలర్, ఏమి, వ్యవసాయ గ్రీన్హౌస్, శుభ్రమైన గది, మొదలైనవి.
1. DS18B20 సెన్సార్ లక్షణాలు
ఆధునిక ఉష్ణోగ్రత పర్యవేక్షణ రంగంలో DS18B20 సెన్సార్ కీలక పాత్ర పోషిస్తుంది. ఇది అధిక ఖచ్చితత్వంతో ఉష్ణోగ్రతను కొలవగలదు, మరియు దాని రిజల్యూషన్ అవసరాలకు అనుగుణంగా సర్దుబాటు చేయబడుతుంది, వివిధ స్థాయిల ఖచ్చితత్వంతో ఉష్ణోగ్రత పర్యవేక్షణను సాధించడానికి. అదనంగా, DS18B20 యొక్క చిన్న పరిమాణం పరిమిత స్థలం ఉన్న పరిసరాలలో ఉపయోగించడానికి అనుకూలంగా ఉంటుంది, మరియు దాని ఉపయోగించడానికి సులభమైన లక్షణాలు ప్రారంభ నుండి నిపుణుల వరకు సాంకేతిక పరిమితిని తగ్గిస్తాయి.
DS18B20 యొక్క పనితీరు పారామితులను మరింత అన్వేషించే ముందు, మొదట దాని పని సూత్రాన్ని అర్థం చేసుకోవడం అవసరం. DS18B20 డిజిటల్ సిగ్నల్స్ ద్వారా ఉష్ణోగ్రత డేటాను కమ్యూనికేట్ చేస్తుంది, ఇది ఉష్ణోగ్రత డేటా సేకరణకు సౌలభ్యాన్ని తెస్తుంది. సాంప్రదాయ అనలాగ్ ఉష్ణోగ్రత సెన్సార్లతో పోలిస్తే, DS18B20 వంటి డిజిటల్ సెన్సార్లు మరింత ఖచ్చితమైన రీడింగ్లను అందించగలవు మరియు సిగ్నల్ ట్రాన్స్మిషన్ సమయంలో శబ్దానికి తక్కువ సున్నితంగా ఉంటాయి.
DS18B20 యొక్క ఈ ప్రయోజనాలను పూర్తిగా ఉపయోగించుకోవడానికి, మేము దాని పనితీరు పారామితుల గురించి లోతైన అవగాహన కలిగి ఉండాలి. ఈ పారామితులు ఉష్ణోగ్రత కొలత పరిధిని కలిగి ఉంటాయి, ఖచ్చితత్వం, తీర్మానం, మరియు సరఫరా వోల్టేజ్. ఈ పారామితులు DS18B20 నిర్దిష్ట అప్లికేషన్ల అవసరాలను తీర్చగలదో లేదో నిర్ణయించడమే కాదు, కానీ మొత్తం వ్యవస్థ యొక్క పనితీరు మరియు విశ్వసనీయతను కూడా ప్రభావితం చేస్తుంది.
ఈ అధ్యాయంలో, మేము DS18B20 యొక్క పనితీరు పారామితులను వివరంగా పరిచయం చేస్తాము, దాని పని సూత్రాన్ని విశ్లేషించండి, మరియు వివిధ అప్లికేషన్లలో దాని ప్రయోజనాలను అన్వేషించండి. ఈ విషయాల ద్వారా, పాఠకులు DS18B20 సెన్సార్ల గురించి లోతైన అవగాహనను పొందుతారు మరియు తదుపరి సంక్లిష్టమైన అప్లికేషన్లు మరియు ప్రోగ్రామింగ్లకు గట్టి పునాది వేస్తారు..
2. DS18B20 యొక్క 1-వైర్ కమ్యూనికేషన్ ప్రోటోకాల్ యొక్క వివరణాత్మక వివరణ
DS18B20 సెన్సార్లు విస్తృతంగా ఉపయోగించబడటానికి కారణం దాని ప్రత్యేక కమ్యూనికేషన్ ప్రోటోకాల్ – 1-వైర్ కమ్యూనికేషన్ ప్రోటోకాల్. ఈ ప్రోటోకాల్ హార్డ్వేర్ కనెక్షన్ల అవసరాలను సులభతరం చేస్తుంది మరియు డేటాను ప్రసారం చేయడానికి సమర్థవంతమైన మార్గాన్ని అందిస్తుంది. ఈ అధ్యాయం 1-లైన్ కమ్యూనికేషన్ ప్రోటోకాల్ యొక్క వర్కింగ్ మెకానిజం మరియు డేటా మార్పిడి ప్రక్రియను లోతుగా విశ్లేషిస్తుంది..
2.1 1-వైర్ కమ్యూనికేషన్ ప్రోటోకాల్ యొక్క ప్రాథమిక అంశాలు
2.1.1 1-వైర్ కమ్యూనికేషన్ ప్రోటోకాల్ యొక్క లక్షణాలు:
DS18B20 1-వైర్ కమ్యూనికేషన్ ప్రోటోకాల్ అని కూడా అంటారు “ఒకే బస్సు” సాంకేతికత. ఇది క్రింది లక్షణాలను కలిగి ఉంది: – ఒకే బస్సు కమ్యూనికేషన్: బైడైరెక్షనల్ డేటా ట్రాన్స్మిషన్ కోసం ఒక డేటా లైన్ మాత్రమే ఉపయోగించబడుతుంది, సాంప్రదాయ మల్టీ-వైర్ సెన్సార్ కమ్యూనికేషన్ పద్ధతితో పోలిస్తే వైరింగ్ యొక్క సంక్లిష్టతను బాగా తగ్గిస్తుంది. – బహుళ-పరికర కనెక్షన్: ఒక డేటా బస్సులో బహుళ పరికరాలను కనెక్ట్ చేయడానికి మద్దతు ఇస్తుంది, మరియు పరికర గుర్తింపు కోడ్ల ద్వారా గుర్తిస్తుంది మరియు కమ్యూనికేట్ చేస్తుంది. – తక్కువ విద్యుత్ వినియోగం: కమ్యూనికేషన్ సమయంలో, కమ్యూనికేషన్లో పాల్గొననప్పుడు పరికరం తక్కువ-పవర్ స్టాండ్బై స్థితిలో ఉంటుంది. – అధిక ఖచ్చితత్వం: తక్కువ డేటా ట్రాన్స్మిషన్ సమయంతో, ఇది బాహ్య జోక్యాన్ని తగ్గిస్తుంది మరియు డేటా ఖచ్చితత్వాన్ని మెరుగుపరుస్తుంది.
2.1.2 1-వైర్ కమ్యూనికేషన్ యొక్క డేటా ఫార్మాట్ మరియు సమయ విశ్లేషణ
1-వైర్ కమ్యూనికేషన్ ప్రోటోకాల్ యొక్క డేటా ఫార్మాట్ నిర్దిష్ట సమయ నియమాన్ని అనుసరిస్తుంది. ఇది ప్రారంభ సమయాన్ని కలిగి ఉంటుంది, టైమింగ్ రాయండి మరియు టైమింగ్ చదవండి:
ప్రారంభ సమయం: హోస్ట్ ముందుగా ఉనికిని గుర్తించే సమయాన్ని ప్రారంభిస్తుంది (ప్రెజెన్స్ పల్స్) నిర్ణీత సమయం వరకు బస్సును కిందకు లాగడం ద్వారా, మరియు సెన్సార్ అప్పుడు ప్రతిస్పందనగా ఉనికిని పల్స్ పంపుతుంది.
టైమింగ్ రాయండి: హోస్ట్ వ్రాసే సమయాన్ని పంపినప్పుడు, అది మొదట దాదాపు బస్సును కిందకు లాగుతుంది 1-15 మైక్రోసెకన్లు, తర్వాత బస్సును విడుదల చేస్తాడు, మరియు సెన్సార్ బస్సును క్రిందికి లాగుతుంది 60-120 ప్రతిస్పందించడానికి మైక్రోసెకన్లు.
టైమింగ్ చదవండి: బస్ను క్రిందికి లాగి, విడుదల చేయడం ద్వారా డేటాను పంపమని హోస్ట్ సెన్సార్కి తెలియజేస్తుంది, మరియు సెన్సార్ కొంత ఆలస్యం తర్వాత బస్సులోని డేటా బిట్ను అవుట్పుట్ చేస్తుంది.
3. థర్మామీటర్ హార్డ్వేర్ కనెక్షన్ పద్ధతి
డిజిటల్ థర్మామీటర్ను నిర్మించడంలో హార్డ్వేర్ కనెక్షన్ మొదటి మరియు అతి ముఖ్యమైన దశ. DS18B20 సెన్సార్ మరియు మైక్రోకంట్రోలర్ మధ్య సరైన కనెక్షన్ ఖచ్చితమైన డేటా ట్రాన్స్మిషన్ను నిర్ధారిస్తుంది మరియు తదుపరి సాఫ్ట్వేర్ ప్రోగ్రామింగ్ మరియు డేటా ప్రాసెసింగ్కు బలమైన పునాదిని అందిస్తుంది. ఈ అధ్యాయం DS18B20 మరియు మైక్రోకంట్రోలర్ మధ్య ఇంటర్ఫేస్ డిజైన్ సూత్రాలు మరియు సర్క్యూట్ కనెక్షన్ యొక్క నిర్దిష్ట దశలను వివరంగా పరిచయం చేస్తుంది, మరియు విద్యుత్ సరఫరా మరియు సిగ్నల్ కండిషనింగ్ యొక్క సంబంధిత కంటెంట్ను కవర్ చేయండి.
3.1 DS18B20 మరియు మైక్రోకంట్రోలర్ మధ్య ఇంటర్ఫేస్
3.1.1 ఇంటర్ఫేస్ సర్క్యూట్ డిజైన్ సూత్రాలు
DS18B20 యొక్క ఇంటర్ఫేస్ సర్క్యూట్ డిజైన్ పరికరం యొక్క స్థిరమైన మరియు సమర్థవంతమైన ఆపరేషన్ను నిర్ధారించడానికి అనేక ప్రధాన సూత్రాలను అనుసరించాలి.:
స్థిరమైన విద్యుత్ సరఫరా: DS18B20 డేటా లైన్ నుండి శక్తిని పొందవచ్చు “DQ” (అని పిలిచారు “పరాన్నజీవి శక్తి మోడ్”), లేదా ఇది బాహ్య విద్యుత్ సరఫరా ద్వారా స్వతంత్రంగా శక్తిని పొందుతుంది. ఏ పద్ధతిని ఉపయోగించినప్పటికీ, విద్యుత్ సరఫరా హెచ్చుతగ్గుల వల్ల డేటా ట్రాన్స్మిషన్ లోపాలను నివారించడానికి విద్యుత్ సరఫరా స్థిరంగా ఉండాలి.
సిగ్నల్ సమగ్రత: DS18B20 ఒకే లైన్ ద్వారా డేటాను ప్రసారం చేస్తుంది కాబట్టి, సిగ్నల్ సమగ్రత ముఖ్యంగా క్లిష్టమైనది. సిగ్నల్ యొక్క వ్యతిరేక జోక్య సామర్థ్యాన్ని మరియు సిగ్నల్ యొక్క విద్యుత్ లక్షణాల సరిపోలికను పరిగణనలోకి తీసుకోవడం అవసరం.
సర్క్యూట్ రక్షణ: ఓవర్ కరెంట్ రక్షణ మరియు ఎలెక్ట్రోస్టాటిక్ డిచ్ఛార్జ్ (ESD) సెన్సార్ లేదా మైక్రోకంట్రోలర్కు నష్టం జరగకుండా ఉండటానికి రక్షణ చర్యలు సర్క్యూట్ డిజైన్లో చేర్చాలి.
3.1.2 సర్క్యూట్ కనెక్షన్ కోసం నిర్దిష్ట దశలు
DS18B20ని మైక్రోకంట్రోలర్కి కనెక్ట్ చేయడం సాధారణంగా క్రింది దశలను అనుసరిస్తుంది:
పవర్ కనెక్షన్: DS18B20 యొక్క VDD పిన్ను 3.3V లేదా 5V విద్యుత్ సరఫరాకు కనెక్ట్ చేయండి (మైక్రోకంట్రోలర్ యొక్క వోల్టేజ్ స్థాయిని బట్టి), మరియు GND పిన్ గ్రౌండ్ లైన్కు.
డేటా లైన్ కనెక్షన్: DQ పిన్ మైక్రోకంట్రోలర్ యొక్క డిజిటల్ I/O పిన్కి కనెక్ట్ చేయబడింది. డేటా ట్రాన్స్మిషన్ యొక్క స్థిరత్వాన్ని నిర్ధారించడానికి, డేటా లైన్ మరియు విద్యుత్ సరఫరా మధ్య పుల్-అప్ రెసిస్టర్ని జోడించవచ్చు, సాధారణ విలువ 4.7kΩ నుండి 10kΩ వరకు ఉంటుంది.
రీసెట్ మరియు ఉనికి పల్స్ పిన్ ప్రాసెసింగ్: సాధారణంగా, రీసెట్ పిన్ (RST) మరియు ఉనికి పల్స్ పిన్ (PAR) DS18B20 బాహ్యంగా కనెక్ట్ చేయవలసిన అవసరం లేదు, అవి అంతర్గతంగా ఉపయోగించే సంకేతాలు.
ఈ విభాగంలో, మేము DS18B20 ఉష్ణోగ్రత సెన్సార్ను మైక్రోకంట్రోలర్కి కనెక్ట్ చేయగల ప్రాథమిక సర్క్యూట్ను రూపొందించాము. కిందిది Arduino Uno మరియు సంబంధిత వివరణ ఆధారంగా ఒక ఉదాహరణ సర్క్యూట్ రేఖాచిత్రం:
ఫ్లోచార్ట్ LR
DS18B20 — |VDD| 5V
DS18B20 — |GND| GND
DS18B20 — |DQ| 2
DQ — |పుల్-అప్| 5V
వాటిలో, DS18B20 డిజిటల్ ఉష్ణోగ్రత సెన్సార్ను సూచిస్తుంది, 5V అనేది మైక్రోకంట్రోలర్ యొక్క పవర్ అవుట్పుట్, GND అనేది గ్రౌండ్ వైర్, మరియు 2 Arduino యొక్క పిన్ సంఖ్యను సూచిస్తుంది. 2, ఇది డేటా ట్రాన్స్మిషన్ కోసం ఉపయోగించబడుతుంది. DQ మరియు 5V మధ్య కనెక్షన్ పుల్-అప్ రెసిస్టర్ను సూచిస్తుంది.
3.2 విద్యుత్ సరఫరా మరియు సిగ్నల్ కండిషనింగ్
3.2.1 విద్యుత్ సరఫరా పద్ధతి ఎంపిక
DS18B20 రెండు విద్యుత్ సరఫరా పద్ధతులను అందిస్తుంది:
పరాన్నజీవి పవర్ మోడ్: ఈ రీతిలో, డేటా లైన్ (DQ) డేటాను మాత్రమే ప్రసారం చేయలేరు, కానీ DS18B20కి కూడా శక్తినిస్తుంది. ఈ సమయంలో, తగినంత విద్యుత్ సరఫరా కరెంట్ని నిర్ధారించడానికి డేటా లైన్పై అధిక-స్థాయి వోల్టేజ్ కనీసం 3.0V ఉండాలి. బస్సు పొడవు తక్కువగా ఉన్నప్పుడు మరియు డేటా ట్రాన్స్మిషన్ చాలా తరచుగా జరగనప్పుడు ఈ మోడ్ సాధారణంగా ఉపయోగించబడుతుంది.
బాహ్య విద్యుత్ సరఫరా మోడ్: ఈ రీతిలో, DS18B20 స్వతంత్ర పవర్ ఇన్పుట్ VDDని కలిగి ఉంది. బాహ్య విద్యుత్ సరఫరాతో శక్తినివ్వడం సెన్సార్ యొక్క సిగ్నల్ బలాన్ని పెంచుతుంది మరియు వ్యతిరేక జోక్య సామర్థ్యాన్ని మెరుగుపరుస్తుంది, ఇది సుదూర ప్రసారానికి లేదా తరచుగా సమాచార ప్రసారానికి అనుకూలంగా ఉంటుంది.
3.2.2 సిగ్నల్ ఫిల్టరింగ్ మరియు స్థిరీకరణ
సిగ్నల్ స్థిరత్వం మరియు ఖచ్చితమైన డేటా రీడింగ్ని నిర్ధారించడానికి, సిగ్నల్ సరిగ్గా ఫిల్టర్ చేయబడాలి మరియు స్థిరీకరించబడాలి:
పుల్-అప్ రెసిస్టర్: డేటా లైన్ నిష్క్రియంగా ఉన్నప్పుడు అధిక-స్థాయి స్థితిలో ఉందని నిర్ధారించడానికి డేటా లైన్ మరియు విద్యుత్ సరఫరా మధ్య పుల్-అప్ రెసిస్టర్ జోడించబడుతుంది.
డి-జిట్టర్ సర్క్యూట్: లైన్ జోక్యం లేదా తక్షణ వోల్టేజ్ హెచ్చుతగ్గుల వల్ల ఏర్పడే తప్పు రీడింగ్లను తొలగించడానికి, సిగ్నల్ మైక్రోకంట్రోలర్ వైపు సాఫ్ట్వేర్-డి-జిట్టర్గా ఉంటుంది.
ESD రక్షణ: ESD రక్షణ భాగాలు (TVS డయోడ్లు వంటివి) ఎలెక్ట్రోస్టాటిక్ డిశ్చార్జ్ వల్ల కలిగే నష్టాన్ని నివారించడానికి సెన్సార్లు మరియు మైక్రోకంట్రోలర్ల పోర్ట్లకు జోడించబడతాయి.
పట్టిక రూపంలో విద్యుత్ సరఫరా మరియు సిగ్నల్ కండిషనింగ్ను ఎంచుకునేటప్పుడు పరిగణించవలసిన అంశాల గురించి ఈ విభాగం మరింత వివరిస్తుంది:
| ప్రాజెక్ట్ | పరాన్నజీవి పవర్ మోడ్ | బాహ్య పవర్ మోడ్ | వివరణ | | — | — | — | — | | వర్తించే దృశ్యాలు | చిన్న పంక్తులు, అరుదైన డేటా | పొడవైన పంక్తులు, తరచుగా డేటా | Select according to actual application scenarios | | Power supply stability | దిగువ | Higher | External power supply is recommended for long lines or high frequencies | | ఖర్చు | దిగువ | Higher | External power supply requires additional power management components | | Anti-interference | Weaker | Stronger | External power supply is more suitable for high-interference environments |
The above connection methods and signal processing strategies can effectively integrate the DS18B20 temperature sensor into any microcontroller system. The next chapter will introduce how to use C language to:
Functional programming practice of DS18B20:
4. DS18B20 digital thermometer C language programming
4.1 Programming foundation and environment preparation
4.1.1 Program design ideas and framework construction
Before starting to write the C language program of the DS18B20 digital thermometer, మీరు మొదట ప్రోగ్రామ్ రూపకల్పన యొక్క ప్రాథమిక ఆలోచనలను ఏర్పాటు చేయాలి. DS18B20 సెన్సార్ 1-వైర్ కమ్యూనికేషన్ ప్రోటోకాల్ ద్వారా మైక్రోకంట్రోలర్తో కమ్యూనికేట్ చేస్తుంది. అందువల్ల, ప్రోగ్రామ్ యొక్క ప్రధాన పని 1-వైర్ కమ్యూనికేషన్ ప్రోటోకాల్ యొక్క సంబంధిత కార్యకలాపాలను అమలు చేయడం, DS18B20 ప్రారంభించడం సహా, సూచనలను పంపడం, ఉష్ణోగ్రత డేటాను చదవడం, మరియు రీడ్ డేటాను మార్చడం మరియు ప్రదర్శించడం.
ప్రోగ్రామ్ ఫ్రేమ్వర్క్ సుమారుగా క్రింది భాగాలుగా విభజించబడింది:
ప్రారంభించడం: మైక్రోకంట్రోలర్ మరియు DS18B20 సెన్సార్ను ప్రారంభించండి.
ప్రధాన లూప్: సెన్సార్ డేటాను నిరంతరం చదివే లూప్ను కలిగి ఉంటుంది.
1-వైర్ కమ్యూనికేషన్ ఫంక్షన్ లైబ్రరీ: వన్-వైర్ కమ్యూనికేషన్ ప్రోటోకాల్ను అమలు చేయడానికి ఫంక్షన్లను కలిగి ఉంటుంది.
డేటా ప్రాసెసింగ్: సెన్సార్ అందించిన ముడి డేటాను చదవగలిగే ఉష్ణోగ్రత విలువలుగా మార్చండి.
ప్రదర్శన అవుట్పుట్: ప్రాసెస్ చేయబడిన ఉష్ణోగ్రత డేటాను LCD స్క్రీన్పై ప్రదర్శించండి లేదా సీరియల్ పోర్ట్ ద్వారా కంప్యూటర్కు అవుట్పుట్ చేయండి.
4.1.2 అభివృద్ధి పర్యావరణ నిర్మాణం మరియు ఆకృతీకరణ
DS18B20 డిజిటల్ థర్మామీటర్ను ప్రోగ్రామ్ చేయడానికి మరియు అభివృద్ధి చేయడానికి, మీరు అభివృద్ధి వాతావరణాన్ని సిద్ధం చేయాలి మరియు దానిని తగిన విధంగా కాన్ఫిగర్ చేయాలి. అభివృద్ధికి సంబంధించిన ప్రాథమిక దశలు క్రిందివి:
అభివృద్ధి వాతావరణాన్ని ఎంచుకోండి: తగిన సమగ్ర అభివృద్ధి వాతావరణాన్ని ఎంచుకోండి (IDE) మైక్రోకంట్రోలర్ రకం ప్రకారం, ARM కార్టెక్స్-M సిరీస్ మైక్రోకంట్రోలర్ ఆధారంగా అభివృద్ధి కోసం. మీరు Keil MDK లేదా STM32CubeIDEని ఉపయోగించవచ్చు.
కంపైలర్ను కాన్ఫిగర్ చేయండి: ఉపయోగించిన IDE ప్రకారం, C లాంగ్వేజ్ కోడ్ సరిగ్గా కంపైల్ చేయబడుతుందని నిర్ధారించుకోవడానికి కంపైలర్ను కాన్ఫిగర్ చేయండి.
హార్డ్వేర్ డెవలప్మెంట్ బోర్డ్ను రూపొందించండి: తగిన మైక్రోకంట్రోలర్ డెవలప్మెంట్ బోర్డ్ను ఎంచుకోండి, STM32 ఆధారంగా, ESP32, మొదలైనవి.
అభివృద్ధి బోర్డుని కనెక్ట్ చేయండి: 1-వైర్ కమ్యూనికేషన్ ప్రోటోకాల్ ద్వారా మైక్రోకంట్రోలర్ యొక్క పేర్కొన్న పిన్కు DS18B20 సెన్సార్ను కనెక్ట్ చేయండి.
కోడ్ వ్రాయండి: IDEలో కొత్త C లాంగ్వేజ్ ప్రాజెక్ట్ని సృష్టించండి మరియు ప్రోగ్రామ్ కోడ్ని వ్రాయడం ప్రారంభించండి.
కంపైల్ మరియు డీబగ్ చేయండి: కోడ్ను కంపైల్ చేయడానికి IDE సాధనాన్ని ఉపయోగించండి మరియు డీబగ్గింగ్ కోసం డెవలప్మెంట్ బోర్డ్లో దాన్ని అమలు చేయండి.
#చేర్చండి <stdio.h>
// DS18B20 ఫస్ట్-లైన్ కమ్యూనికేషన్ ఫంక్షన్ లైబ్రరీ డిక్లరేషన్
శూన్యం DS18B20_Init();
శూన్యం DS18B20_Reset();
DS18B20_WriteByte శూన్యం(సంతకం చేయని చార్ డాట్);
సంతకం చేయని చార్ DS18B20_ReadByte();
int DS18B20_Read Temperature();
పూర్ణాంక ప్రధాన() {
// DS18B20 సెన్సార్ని ప్రారంభించండి
DS18B20_హీట్();
// ప్రధాన లూప్
అయితే(1) {
// ఉష్ణోగ్రత విలువను చదవండి
పూర్ణాంక ఉష్ణోగ్రత = DS18B20_ReadTemperature();
// సీరియల్ పోర్ట్ లేదా ఇతర ప్రదర్శన పరికరానికి అవుట్పుట్ ఉష్ణోగ్రత విలువ
printf(“ప్రస్తుత ఉష్ణోగ్రత: %d\n”, ఉష్ణోగ్రత);
}
తిరిగి 0;
}
4.2 DS18B20 ఉష్ణోగ్రత పఠన కార్యక్రమం అమలు
4.2.1 వన్-వైర్ కమ్యూనికేషన్ ఫంక్షన్ లైబ్రరీ నిర్మాణం
DS18B20 యొక్క ఉష్ణోగ్రత రీడింగ్ని గ్రహించడానికి, మీరు మొదట వన్-వైర్ కమ్యూనికేషన్ ఫంక్షన్ లైబ్రరీని నిర్మించాలి. కిందివి అనేక కీ ఫంక్షన్ల అమలు పద్ధతులు:
DS18B20_హీట్(): వన్-వైర్ కమ్యూనికేషన్ టైమింగ్ని ప్రారంభించండి.
DS18B20_Reset(): సెన్సార్ను రీసెట్ చేయండి మరియు దాని పల్స్ని గుర్తించండి.
DS18B20_WriteByte(సంతకం చేయని చార్ డాట్): సెన్సార్కు బైట్ డేటాను వ్రాయండి.
DS18B20_ReadByte(): సెన్సార్ నుండి ఒక బైట్ డేటాను చదవండి.
DS18B20_రీడ్ టెంపరేచర్(): ఉష్ణోగ్రతను చదవండి మరియు దానిని మార్చండి.
DS18B20 యొక్క వన్-వైర్ కమ్యూనికేషన్ ఫంక్షన్ లైబ్రరీ యొక్క అమలు చాలా క్లిష్టంగా ఉంటుంది, ఎందుకంటే వన్-వైర్ కమ్యూనికేషన్ ప్రోటోకాల్ను అనుసరించడానికి పిన్ స్థాయి మార్పులపై ఖచ్చితమైన నియంత్రణ అవసరం.. కిందిది ఫంక్షన్ అమలుకు ఉదాహరణ:
శూన్యం DS18B20_Reset() {
// వన్-లైన్ కమ్యూనికేషన్ రీసెట్ క్రమం, డేటా లైన్ను క్రిందికి లాగడం సహా, ఆలస్యం, బస్సు విడుదల, మరియు ఉనికిని పల్స్ గుర్తించడం
// …
}
ఈ ఫంక్షన్ యొక్క ఉద్దేశ్యం DS18B20కి రీసెట్ పల్స్ను పంపడం. రీసెట్ విజయవంతమైన తర్వాత, DS18B20 ఉనికి పల్స్ని అందిస్తుంది.
4.2.2 ఉష్ణోగ్రత రీడింగ్ అల్గోరిథం యొక్క అమలు
DS18B20 సెన్సార్ యొక్క ఉష్ణోగ్రత విలువను చదవడం అనేది మరింత సంక్లిష్టమైన ప్రక్రియ, ఎందుకంటే నిర్దిష్ట సమయంలో సెన్సార్కు నిర్దిష్ట సూచనలను పంపడం మరియు తిరిగి వచ్చిన డేటాను సరిగ్గా చదవడం అవసరం. ఉష్ణోగ్రత విలువను చదవడానికి అల్గోరిథం క్రింది విధంగా ఉంటుంది:
సెన్సార్ను రీసెట్ చేయండి.
పంపండి “ఓడ ROME” ఆదేశం (0xCC).
పంపండి “ఉష్ణోగ్రత మార్చండి” ఆదేశం (0x44).
మార్పిడి పూర్తయ్యే వరకు వేచి ఉండండి.
పంపండి “రిజిస్టర్ చదవండి” ఆదేశం (0xBE).
రెండు బైట్ల ఉష్ణోగ్రత డేటాను చదవండి.
కింది కోడ్ DS18B20 యొక్క ఉష్ణోగ్రత విలువను ఎలా చదవాలో చూపుతుంది:
int DS18B20_Read Temperature() {
సంతకం చేయని చార్ temp_low, ఉష్ణోగ్రత_అధిక;
సంతకం చేయని పూర్ణాంక ఉష్ణోగ్రత;
// సెన్సార్ని రీసెట్ చేయండి మరియు ROM సూచనలను దాటవేయండి
DS18B20_Reset();
DS18B20_WriteByte(0xCC); // ROM ఆదేశాలను దాటవేయి
// మార్పిడి ఉష్ణోగ్రత ఆదేశాన్ని పంపండి
DS18B20_WriteByte(0x44);
// మార్పిడి పూర్తయ్యే వరకు వేచి ఉండండి. ఇక్కడ మీరు DS18B20 మార్పిడి సమయం ప్రకారం వేచి ఉండాలి
// …
// సెన్సార్ను రీసెట్ చేయండి మరియు ఉష్ణోగ్రత డేటాను చదవండి
DS18B20_Reset();
DS18B20_WriteByte(0xCC); // ROM ఆదేశాలను దాటవేయి
DS18B20_WriteByte(0xBE); // రిజిస్టర్ ఆదేశాన్ని చదవండి
// రెండు బైట్ల డేటాను చదవండి
temp_low = DS18B20_ReadByte();
temp_high = DS18B20_ReadByte();
// రెండు బైట్ల డేటాను 16-బిట్ పూర్ణాంకంలో కలపండి
ఉష్ణోగ్రత = (ఉష్ణోగ్రత_అధిక << 8) | ఉష్ణోగ్రత_తక్కువ;
// ఉష్ణోగ్రత విలువను తిరిగి ఇవ్వండి, DS18B20 యొక్క రిజల్యూషన్ ఆధారంగా తగిన విధంగా మార్చడం
తిరిగి ఉష్ణోగ్రత;
}
4.2.3 ప్రోగ్రామ్ డీబగ్గింగ్ మరియు మినహాయింపు నిర్వహణ
DS18B20 రీడింగ్ ప్రోగ్రామ్ను వ్రాసేటప్పుడు, ప్రోగ్రామ్ డీబగ్గింగ్ మరియు మినహాయింపు నిర్వహణ చాలా ముఖ్యమైనవి. డీబగ్గింగ్ సమయంలో, అవుట్పుట్ ఉష్ణోగ్రత విలువ సరిగ్గా ఉందో లేదో తనిఖీ చేయడానికి మీరు సీరియల్ పోర్ట్ డీబగ్గింగ్ అసిస్టెంట్ని ఉపయోగించాల్సి రావచ్చు, లేదా మొదటి-లైన్ కమ్యూనికేషన్ యొక్క సిగ్నల్ టైమింగ్ను పర్యవేక్షించడానికి లాజిక్ ఎనలైజర్ని ఉపయోగించండి. మినహాయింపు నిర్వహణ హార్డ్వేర్ వైఫల్యాలను పరిగణనలోకి తీసుకోవాలి, కమ్యూనికేషన్ లోపాలు, మరియు DS18B20 యొక్క అసాధారణ ప్రతిస్పందనలు.
కిందివి కొన్ని డీబగ్గింగ్ మరియు మినహాయింపు నిర్వహణ వ్యూహాలు:
డేటా ధృవీకరణ: ప్రతి డేటా చదివిన తర్వాత, డేటా యొక్క ఖచ్చితత్వాన్ని నిర్ధారించడానికి చెక్సమ్ లేదా చెక్ బిట్ని ఉపయోగించండి.
మినహాయింపు క్యాప్చర్: ప్రోగ్రామ్కు మినహాయింపు క్యాప్చర్ మెకానిజంను జోడించండి, గడువు ముగిసిన రీట్రీ మెకానిజం వంటివి, సెన్సార్ను రీసెట్ చేయండి, మొదలైనవి.
డీబగ్ సమాచారం: సమస్యను గుర్తించడంలో సహాయపడటానికి ప్రోగ్రామ్కు తగినంత డీబగ్గింగ్ సమాచార అవుట్పుట్ను జోడించండి.
పూర్ణాంక ప్రధాన() {
// DS18B20 సెన్సార్ని ప్రారంభించండి
DS18B20_హీట్();
// ప్రధాన లూప్
అయితే(1) {
పూర్ణాంక ఉష్ణోగ్రత;
// ఉష్ణోగ్రతను చదవండి మరియు లోపాల కోసం తనిఖీ చేయండి
ఉష్ణోగ్రత = DS18B20_ReadTemperature();
ఉంటే (ఉష్ణోగ్రత < 0) {
printf(“ఉష్ణోగ్రత రీడింగ్లో లోపం!\n”);
// మీరు మళ్లీ ప్రయత్నించడానికి లేదా ఇతర ఎర్రర్ హ్యాండ్లింగ్ మెకానిజమ్లను ఎంచుకోవచ్చు
} వేరే {
printf(“ప్రస్తుత ఉష్ణోగ్రత: %d\n”, ఉష్ణోగ్రత);
}
}
తిరిగి 0;
}
ఈ అధ్యాయం DS18B20 డిజిటల్ థర్మామీటర్ యొక్క C లాంగ్వేజ్ ప్రోగ్రామింగ్ ఫౌండేషన్ మరియు పర్యావరణ తయారీని పరిచయం చేస్తుంది, అలాగే ఉష్ణోగ్రత పఠన కార్యక్రమం అమలు, మరియు ప్రోగ్రామ్ డీబగ్గింగ్ మరియు మినహాయింపు నిర్వహణ యొక్క ప్రాముఖ్యతను నొక్కి చెబుతుంది. ఈ అధ్యాయం పరిచయం ద్వారా, పాఠకులు అభివృద్ధి వాతావరణాన్ని నిర్మించగలగాలి, మొదటి-లైన్ కమ్యూనికేషన్ ఫంక్షన్ లైబ్రరీ యొక్క ప్రాముఖ్యతను అర్థం చేసుకోండి, మరియు ప్రాథమిక ఉష్ణోగ్రత రీడింగ్ ప్రోగ్రామ్ను వ్రాయండి. కింది అధ్యాయాలు ప్రోటీయస్ అనుకరణ పర్యావరణం యొక్క నిర్మాణం మరియు ఉపయోగం గురించి మరింత లోతుగా పరిశోధిస్తాయి, వాస్తవ హార్డ్వేర్ అసెంబ్లీకి అనుకరణ పరీక్ష పద్ధతిని అందించడం.
5. ప్రోటీస్ అనుకరణ రేఖాచిత్రం మరియు అనుకరణ ఫలితాల విశ్లేషణ
5.1 ప్రోటీస్ అనుకరణ పర్యావరణ నిర్మాణం
5.1.1 ప్రోటీయస్ సాఫ్ట్వేర్ యొక్క ప్రాథమిక ఆపరేషన్
DS18B20 డిజిటల్ థర్మామీటర్ యొక్క అనుకరణ నమూనాను నిర్మించడం ప్రారంభించే ముందు, మీరు ముందుగా ప్రోటీయస్ సాఫ్ట్వేర్ యొక్క ప్రాథమిక కార్యాచరణను అర్థం చేసుకోవాలి మరియు నైపుణ్యం పొందాలి. ప్రోటీయస్ అనేది ఒక శక్తివంతమైన ఎలక్ట్రానిక్ సర్క్యూట్ అనుకరణ సాఫ్ట్వేర్, ఇది సర్క్యూట్ స్కీమాటిక్స్ను మాత్రమే రూపొందించగలదు, కానీ సర్క్యూట్ PCB లేఅవుట్లను రూపొందించండి మరియు అనుకరణ విధులను అందిస్తాయి. ప్రోటీస్తో ప్రారంభించడానికి మీకు సహాయపడే కొన్ని కీలక దశలు ఇక్కడ ఉన్నాయి:
ప్రోటీయస్ సాఫ్ట్వేర్ను తెరిచి, కొత్త ప్రాజెక్ట్ను సృష్టించండి.
కాంపోనెంట్ లైబ్రరీలో అవసరమైన భాగాలను శోధించి, ఎంచుకోండి, DS18B20 సెన్సార్లు వంటివి, మైక్రోకంట్రోలర్లు, విద్యుత్ సరఫరా, కనెక్ట్ వైర్లు, మొదలైనవి.
ఎంచుకున్న భాగాలను డిజైన్ ప్రాంతానికి లాగండి మరియు వాటిని ఉంచడానికి మరియు లేఅవుట్ చేయడానికి మౌస్ని ఉపయోగించండి.
పూర్తి సర్క్యూట్ను రూపొందించడానికి ప్రతి భాగం యొక్క పిన్లను కనెక్ట్ చేయడానికి వైరింగ్ సాధనాన్ని ఉపయోగించండి.
దాని లక్షణాలను సవరించడానికి ఒక భాగం లేదా వైర్పై రెండుసార్లు క్లిక్ చేయండి, ప్రతిఘటన విలువ వంటివి, విద్యుత్ సరఫరా వోల్టేజ్, మొదలైనవి.
అన్ని భాగాలు సరిగ్గా కనెక్ట్ అయ్యాయని నిర్ధారించుకోండి మరియు లోపాలు లేదా లోపాల కోసం తనిఖీ చేయండి.
5.1.2 DS18B20 అనుకరణ ప్రాజెక్ట్ను సృష్టించండి
DS18B20 డిజిటల్ థర్మామీటర్ కోసం అనుకరణ ప్రాజెక్ట్ను రూపొందించడానికి దశలు క్రింది విధంగా ఉన్నాయి:
ప్రోటీయస్ని ప్రారంభించి, ఎంచుకోండి “కొత్త ప్రాజెక్ట్” ఒక కొత్త ప్రాజెక్ట్ సృష్టించడానికి.
ప్రాజెక్ట్ పేరు మరియు స్థానాన్ని సెట్ చేసిన తర్వాత, క్లిక్ చేయండి “తదుపరి”.
ప్రాజెక్ట్ టెంప్లేట్ను ఎంచుకోండి, వంటివి “మైక్రోప్రాసెసర్ ఆధారంగా”, మరియు క్లిక్ చేయండి “తదుపరి”.
లో “ప్రాజెక్ట్ అంశాలు” ట్యాబ్, తనిఖీ “డిఫాల్ట్ భాగాలను చేర్చండి” మరియు మైక్రోకంట్రోలర్ను ఎంచుకోండి (PIC వంటివి, AVR, etc.లు) మరియు DS18B20 సెన్సార్.
క్లిక్ చేయండి “ముగించు” ప్రాజెక్ట్ సృష్టిని పూర్తి చేయడానికి.
తదుపరి, సర్క్యూట్ స్కీమాటిక్ను సృష్టించండి:
ఎంచుకోండి “పరికరాన్ని ఎంచుకోండి” సాధనం, కాంపోనెంట్ లైబ్రరీలో మైక్రోకంట్రోలర్ మరియు DS18B20 సెన్సార్ని కనుగొని, ఎంచుకోండి.
ఉపయోగించండి “పరికరాన్ని ఉంచండి” డిజైన్ ప్రాంతంలో ఎంచుకున్న భాగాన్ని ఉంచడానికి సాధనం.
ఉపయోగించండి “వైర్” మైక్రోకంట్రోలర్ మరియు DS18B20 సెన్సార్ యొక్క సంబంధిత పిన్లను కనెక్ట్ చేయడానికి సాధనం.
కనెక్షన్ పూర్తయిన తర్వాత, ఉపయోగించండి “TEXT” సులభంగా అర్థం చేసుకోవడానికి మరియు సవరించడానికి సర్క్యూట్ రేఖాచిత్రానికి ఉల్లేఖనాలను జోడించే సాధనం.
5.2 అనుకరణ పరీక్ష మరియు డేటా విశ్లేషణ
5.2.1 అనుకరణ పారామితులు మరియు షరతులను సెట్ చేయండి
అనుకరణను ప్రారంభించే ముందు, మీరు అనుకరణ అమలు కోసం పారామితులు మరియు షరతులను సెట్ చేయాలి:
ప్రాపర్టీ సెట్టింగ్ ఇంటర్ఫేస్లోకి ప్రవేశించడానికి మైక్రోకంట్రోలర్ కాంపోనెంట్పై రెండుసార్లు క్లిక్ చేయండి.
వద్ద గతంలో వ్రాసిన ప్రోగ్రామ్ ఫైల్ పాత్ను ఎంచుకోండి “ప్రోగ్రామ్ ఫైల్”.
మైక్రోకంట్రోలర్ మరియు DS18B20 సెన్సార్ రెండూ సరైన విద్యుత్ సరఫరా వోల్టేజీని కలిగి ఉన్నాయని నిర్ధారించుకోవడానికి విద్యుత్ సరఫరా పారామితులను సెట్ చేయండి.
తదుపరి, అనుకరణ కోసం సమయ పారామితులను సెట్ చేయండి:
అనుకరణ నియంత్రణ ప్యానెల్లో, ఎంచుకోండి “గ్లోబల్ సెట్టింగ్లు”.
అనుకరణ వేగం మరియు గరిష్ట అనుకరణ సమయాన్ని సర్దుబాటు చేయండి.
అనుకరణ ప్రక్రియ సమయంలో డేటాను విశ్లేషించడానికి తగిన బ్రేక్పాయింట్లను సెట్ చేయండి.
5.2.2 ఉష్ణోగ్రత డేటాను అనుకరించండి మరియు చదవండి
అనుకరణను అమలు చేయండి మరియు ఉష్ణోగ్రత డేటాను అనుకరించండి:
క్లిక్ చేయండి “ఆడండి” అనుకరణను ప్రారంభించడానికి అనుకరణ నియంత్రణ ప్యానెల్లోని బటన్.
ఉపయోగించండి “డీబగ్” ప్రోగ్రామ్ నడుస్తున్న స్థితి మరియు వేరియబుల్ విలువలను వీక్షించడానికి సాధనం.
ఉష్ణోగ్రత విలువను చదవడానికి DS18B20 సెన్సార్ను అనుకరించండి, ఇది సాధారణంగా అనుకరణ వాతావరణంలో వర్చువల్ థర్మామీటర్ను సవరించడం ద్వారా సాధించబడుతుంది.
అనుకరణలో ఉష్ణోగ్రత డేటాను చదవడానికి, మీరు క్రింది దశలను సూచించవచ్చు:
DS18B20 భాగం యొక్క లక్షణాలలో ఉష్ణోగ్రత అనుకరణ సెట్టింగ్లను కనుగొనండి.
వేర్వేరు ఉష్ణోగ్రత పరిస్థితులలో సిస్టమ్ ప్రతిస్పందనను పరీక్షించడానికి ఉష్ణోగ్రత విలువను సవరించండి.
మైక్రోకంట్రోలర్ ప్రోగ్రామ్ ఉష్ణోగ్రత డేటాను ఎలా ప్రాసెస్ చేస్తుందో గమనించండి.
5.2.3 ఫలితాల విశ్లేషణ మరియు ట్రబుల్షూటింగ్
అనుకరణ ఫలితాలను విశ్లేషించండి మరియు థర్మామీటర్ పనితీరును నిర్ధారించండి:
ఉష్ణోగ్రత రీడింగ్ ఖచ్చితంగా ఉందో లేదో తనిఖీ చేయడానికి అవుట్పుట్ విండోలోని డేటాను పర్యవేక్షించండి.
డేటా కమ్యూనికేషన్ ప్రక్రియ సాధారణంగా ఉందో లేదో పర్యవేక్షించడానికి లాజిక్ ఎనలైజర్ సాధనాన్ని ఉపయోగించండి.
ఏవైనా అసాధారణ సంకేతాలు లేదా అస్థిర అవుట్పుట్ల కోసం తనిఖీ చేయండి.
తప్పు నిర్ధారణ మరియు డీబగ్గింగ్ నిర్వహించండి:
ఉష్ణోగ్రత రీడింగ్ సరిగ్గా లేకుంటే లేదా లోపం ఉంటే, DS18B20 యొక్క కనెక్షన్ పద్ధతి మరియు కాన్ఫిగరేషన్ను తనిఖీ చేయండి.
మొదటి-లైన్ కమ్యూనికేషన్ మరియు డేటా మార్పిడి అల్గారిథమ్లు సరిగ్గా అమలు చేయబడిందని నిర్ధారించుకోవడానికి ప్రోగ్రామ్ కోడ్ను విశ్లేషించండి.
ఉపయోగించండి “ఆపు” function of the simulation software to pause the simulation and observe the current status of the system.
English
Afrikaans
العربية
বাংলা
bosanski jezik
Български
Català
粤语
中文(简体)
中文(漢字)
Hrvatski
Čeština
Nederlands
Eesti keel
Suomi
Français
Deutsch
Ελληνικά
हिन्दी; हिंदी
Magyar
Bahasa Indonesia
Italiano
日本語
한국어
Latviešu valoda
Lietuvių kalba
македонски јазик
Bahasa Melayu
Norsk
پارسی
Polski
Português
Română
Русский
Cрпски језик
Slovenčina
Slovenščina
Español
Svenska
ภาษาไทย
Türkçe
Українська
اردو
Tiếng Việt





