<?xml version="1.0" encoding="UTF-8"?><rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>ad konvertor Archives - Automatika.rs</title>
	<atom:link href="https://www.automatika.rs/tag/ad-konvertor/feed" rel="self" type="application/rss+xml" />
	<link>https://www.automatika.rs/tag/ad-konvertor</link>
	<description>Portal za inženjere</description>
	<lastBuildDate>Sun, 01 Oct 2017 14:26:47 +0000</lastBuildDate>
	<language>en-US</language>
	<sy:updatePeriod>
	hourly	</sy:updatePeriod>
	<sy:updateFrequency>
	1	</sy:updateFrequency>
	<generator>https://wordpress.org/?v=6.9</generator>
	<item>
		<title>Načini sinronizacije rada A/D konvertora i CPU u okviru mikrokontrolera</title>
		<link>https://www.automatika.rs/baza-znanja/elektronika/nacini-sinronizacije-rada-ad-konvertora-i-cpu-u-okviru-mikrokontrolera.html</link>
					<comments>https://www.automatika.rs/baza-znanja/elektronika/nacini-sinronizacije-rada-ad-konvertora-i-cpu-u-okviru-mikrokontrolera.html#respond</comments>
		
		<dc:creator><![CDATA[Marko Nikolić]]></dc:creator>
		<pubDate>Thu, 05 Oct 2017 00:00:26 +0000</pubDate>
				<category><![CDATA[Elektronika]]></category>
		<category><![CDATA[ad konvertor]]></category>
		<category><![CDATA[adc mikrokontroler]]></category>
		<category><![CDATA[analogni digitalni konvertor]]></category>
		<category><![CDATA[elektronika]]></category>
		<category><![CDATA[mikrokontroleri]]></category>
		<category><![CDATA[projekti]]></category>
		<category><![CDATA[sample hold kolo]]></category>
		<guid isPermaLink="false">https://www.automatika.rs/?p=9248</guid>

					<description><![CDATA[<p> Vreme AD konverzije nije trenutno. Uobičajeno je mnogo duže od jednog ciklusa clock signala CPU. To znači da nije moguće u jednoj instrukciji startovati A/D konverziju, i u drugoj instrukciji već preuzeti gotov rezultat. Busy signal je upravo smišljen kao obaveštenje za CPU da podatak nije spreman. U prikazanom algoritmu CPU čeka da se stanje [&#8230;]</p>
<p>The post <a href="https://www.automatika.rs/baza-znanja/elektronika/nacini-sinronizacije-rada-ad-konvertora-i-cpu-u-okviru-mikrokontrolera.html">Načini sinronizacije rada A/D konvertora i CPU u okviru mikrokontrolera</a> appeared first on <a href="https://www.automatika.rs">Automatika.rs</a>.</p>
]]></description>
										<content:encoded><![CDATA[<p style="text-align: justify"> Vreme AD konverzije nije trenutno. Uobičajeno je mnogo duže od jednog ciklusa clock signala CPU. To znači da nije moguće u jednoj instrukciji startovati A/D konverziju, i u drugoj instrukciji već preuzeti gotov rezultat. Busy signal je upravo smišljen kao obaveštenje za CPU da podatak nije spreman. U prikazanom algoritmu CPU čeka da se stanje na busy liniji ne promeni, i tek onda preuzima podatak. Ovo se zove pulling A/D konvertora i jedno je od mogućih rešenja sinhronizacije CPU i konvertora. Ovo je prosto programsko rešenje, ali ujedno i veoma nepraktično jer CPU ne radi ništa čekajuči kraj A/D konverzije.</p>
<p style="text-align: justify"> Proizvođači mikrokontrolera sa A/D ulazima nude i drugo rešenje, primenom sistema prekida. Pored busy signala, A/D blok poseduje i mogućnost generisanja signala prekida. Ovaj signal se generiše po završetku poslednje A/D konverzije i na taj način se obaveštava CPU da je podatak spreman. Ovo rešenje je složenije, ali mnogo optimalnije.</p>
<p style="text-align: justify"> Da bi se ovo rešenje primenilo, prekid sa A/D konvertora se mora dozvoliti i mora se napisati odgovarajuća prekidna rutina za preuzimanje rezultata.</p>
<p style="text-align: justify"><img fetchpriority="high" decoding="async" class="size-full wp-image-9250 aligncenter" src="https://www.automatika.rs/wp-content/uploads/2017/10/ad_konvertor-mikrokontroleri_mcu_kontroleri_elektronika_razvojni_sistem_automatizacija_projekti_automatika.rs_.jpg" alt="" width="496" height="247" srcset="https://www.automatika.rs/wp-content/uploads/2017/10/ad_konvertor-mikrokontroleri_mcu_kontroleri_elektronika_razvojni_sistem_automatizacija_projekti_automatika.rs_.jpg 496w, https://www.automatika.rs/wp-content/uploads/2017/10/ad_konvertor-mikrokontroleri_mcu_kontroleri_elektronika_razvojni_sistem_automatizacija_projekti_automatika.rs_-300x149.jpg 300w, https://www.automatika.rs/wp-content/uploads/2017/10/ad_konvertor-mikrokontroleri_mcu_kontroleri_elektronika_razvojni_sistem_automatizacija_projekti_automatika.rs_-324x160.jpg 324w" sizes="(max-width: 496px) 100vw, 496px" /></p>
<p style="text-align: center">Slika br.1 Dva načina sinhronizacije CPU i A/D sistema</p>
<h3>Primeri mašinskog programa za dva načina sinhronizacije CPU i A/D sistema</h3>
<h3>1. pulling porta</h3>
<p>U ovom slučaju postoji samo glavni program:</p>
<p><strong>setb AD_BIT_START</strong>                         ; Procesor inicira AD konverziju<br />
<strong>wait_validAD: jnb AD_BIT_BUSY,wait_validAD</strong>       ; Čeka da padne BUSY<br />
<strong>mov Rezultat, AD_data</strong>                     ; uzima rezultat</p>
<p style="text-align: justify"> (Ovaj prg. radi ali možda treba ukinuti signal AD_BIT_START da se ne ponovi A/D konverzija).</p>
<p style="text-align: justify"> Dosta jednostavna realizacija (ne koristi se prekid i program se linearno izvršava u vremenu).Ali, gubi se vreme. Koristi se kad ionako nemamo šta da radimo ili kad vreme za rad nije kritično..Još primitivnija varijanta programa bi bila bez korišćenja BUSY signala. Umesto druge linije pišemo poziv na podprogram za fiksno vreme čekanja.</p>
<p style="text-align: justify"> <strong>Icall DELAY_AD</strong>        ; čeka neko vreme za koje je siguran da će AD da odradi</p>
<h3 style="text-align: justify">2. prekid AD konvertora</h3>
<p style="text-align: justify"> U glavnom programu se samo inicira AD konverzija:</p>
<p style="text-align: justify"><strong>setb AD_BIT_START</strong> ; Procesor inicira AD konverziju glavni program dalje ne gubi vreme, radi nešto drugo.</p>
<p style="text-align: justify"> U prekidnoj rutini (prekid_AD) se preuzima rezultat:</p>
<p style="text-align: justify"><strong>prekid_AD: mov Rezultat, AD_data</strong>    ; uzme rezultat<br />
<strong>setb stigao_noviAD</strong>                      ; obaveštava da glavni prg. zna da je podatak spreman<br />
<strong>reti </strong>                                                ; povratak iz prekida</p>
<h3>Sample &amp; Hold kolo ADC sa metodom sukcesivnih aproksimacija</h3>
<p style="text-align: justify"> Da bi se pravilno izvršilo odabiranje signala koriste se sample&amp; hold (S&amp;H) kola. S&amp;H kolo odabira signal (uzima odbirak) dovoljno brzo i drži ga dovoljno dugo (naboj kondenzatora) da se izvrši analogno-digitalna konverzija u samom ADC. S&amp;H kolo se sadrži od kontrolisanog analognog prekidača i kondenzatora. Dok je prekidač zatvoren, kondenzator se puni na vrednost signala (sample process), kada se prekidač otvori, kondenzator zadržava (hold) odabrani nivo signala do sledećeg otvaranja. Kada je sample proces završen, dolazi do hold režima rada. Ako se signal u međuvremenu promeni, ta promena neće biti uočena. Vrlo je bitno odabrati periodu odabiranja (Ts) takvu da ne postoje značajne spektralne komponente signala koji želimo čitati na učestanostima većim od Niquistove učestanosti za tu periodu &#8211; 1/(2Ts).</p>
<p style="text-align: center"><img decoding="async" class="size-full wp-image-9252 aligncenter" src="https://www.automatika.rs/wp-content/uploads/2017/10/2_ad_konvertor_mikrokontroleri_mcu_kontroleri_elektronika_razvojni_sistem_automatizacija_projekti_automatika.rs_.jpg" alt="" width="247" height="279" /></p>
<p style="text-align: center">Slika br.2 Prikaz S&amp;H procesa</p>
<p style="text-align: justify"> Mikrokontroler namenjen pogonima uobičajeno nema samo jedno, već više S&amp;H kola. Ovo je veoma značajno u sistemima sa obaveznim simultanim odabiranjem dva ili više signala. Na primer, ukoliko imamo dve LEM sonde za čitanje struje motora, smeštene u dve faze motora, neophodno je njhove signale čitati istovremeno jer je samo tada moguće rekonstuisati struju treće faze. Ukoliko bi klasično izvršili odabiranje jednog po jednog kanala ne bi dobili rezultate u istom vremenskom trenutku (za N-tu veličinu bi odbirak zakasnio za prvom za N TADC). Zato je važno da u istom željenom trenutku sačuvamo sve analogne signale (S&amp;H kolima) i zatim jedan po jedan obrađujemo u A/D konvertoru i prevodimo u digitalne reči. A/D konvertor će i dalje raditi sporo i signali se ne obrađuju u isto vreme, ali su odabrani u istom vremenskom trenutku. Bez S&amp;H na svakom analognom ulazu ovo bi bilo nemoguće.</p>
<p style="text-align: justify"> Uobičajen kompromis pri izradi mikrokontrolera je A/D koji poseduje dva S&amp;H kola.</p>
<h3>Ulazni analogni multiplekser u sklopu bloka za A/D konverziju</h3>
<p style="text-align: justify"> U digitalno regulisanom uređaju je uobičajeno potrebno meriti više analogoih veličina, kao na primer par struja, napona, temperatura, razne analogne reference, stvarna brzina, itd. Radi uštede u mikrokontroler se ugrađuje samo jedan A/D konvertor koji je povezan sa više analognih ulaznih pinova preko analognog multipleksera.</p>
<p style="text-align: justify"> Osnovni dizajn softvera za rad sa A/D konvertorom ostaje isti, jedino je neophodno pre startovanja A/D konverzije selektovati željeni analogni kanal. Uštede sa ovakvom konfiguracijom (novčane i dimenzionalne) su velike a ograničenja minimalna jer obično i uzimamo jedan po jedan kanal a ne sve istovremeno. Ipak, u slučaju kritične brzine odabiranja, treba uvek uzeti u obzir da je vreme obrade u slučaju N kanala N puta veće nego u konfiguraciji sa N AD konvertora!! Ovaj problem se delimično umanjuje korišćenje sample&amp;hold kola.</p>
<p style="text-align: justify"> Moderni DSP uobičajeno poseduju dva ADC, svaki sa pridruženim S&amp;H kolom i svojim analognim multiplekserom 8/1. Ovim se dobijaju 16 potencijalnih analognih ulaza, od kojih se po dva mogu čitati simultano (u istom trenutku).</p>
<p>The post <a href="https://www.automatika.rs/baza-znanja/elektronika/nacini-sinronizacije-rada-ad-konvertora-i-cpu-u-okviru-mikrokontrolera.html">Načini sinronizacije rada A/D konvertora i CPU u okviru mikrokontrolera</a> appeared first on <a href="https://www.automatika.rs">Automatika.rs</a>.</p>
]]></content:encoded>
					
					<wfw:commentRss>https://www.automatika.rs/baza-znanja/elektronika/nacini-sinronizacije-rada-ad-konvertora-i-cpu-u-okviru-mikrokontrolera.html/feed</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>Analogno/digitalni konvertor &#8211; A/D konvertor</title>
		<link>https://www.automatika.rs/baza-znanja/elektronika/analognodigitalni-konvertor-ad-konvertor.html</link>
					<comments>https://www.automatika.rs/baza-znanja/elektronika/analognodigitalni-konvertor-ad-konvertor.html#respond</comments>
		
		<dc:creator><![CDATA[Marko Nikolić]]></dc:creator>
		<pubDate>Thu, 31 Aug 2017 15:05:36 +0000</pubDate>
				<category><![CDATA[Elektronika]]></category>
		<category><![CDATA[ad konvertor]]></category>
		<category><![CDATA[adc]]></category>
		<category><![CDATA[blok mikrokontrolera]]></category>
		<category><![CDATA[delovi mikrokontrolera]]></category>
		<category><![CDATA[konverzija]]></category>
		<category><![CDATA[mikrokontroler]]></category>
		<guid isPermaLink="false">https://www.automatika.rs/?p=9073</guid>

					<description><![CDATA[<p> A/D konvertor pretvara kontinualni električni naponski signal na svom ulazu u digitalnu reč na svom izlazu. A/D nalazi veliku primenu u elektromotornim pogonima, i u industiji uopšte, i koristi se pri merenju veličina kao što su struja, napon, temperatura, brzina, itd.  A/D konvertor unutar mikrokontrolera se uglavnom dizajnira tako da vrši konverziju signala u naponskom [&#8230;]</p>
<p>The post <a href="https://www.automatika.rs/baza-znanja/elektronika/analognodigitalni-konvertor-ad-konvertor.html">Analogno/digitalni konvertor &#8211; A/D konvertor</a> appeared first on <a href="https://www.automatika.rs">Automatika.rs</a>.</p>
]]></description>
										<content:encoded><![CDATA[<p style="text-align: justify"> A/D konvertor pretvara kontinualni električni naponski signal na svom ulazu u digitalnu reč na svom izlazu. A/D nalazi veliku primenu u elektromotornim pogonima, i u industiji uopšte, i koristi se pri merenju veličina kao što su struja, napon, temperatura, brzina, itd.</p>
<p style="text-align: justify"> A/D konvertor unutar mikrokontrolera se uglavnom dizajnira tako da vrši konverziju signala u naponskom opsegu jednakom naponu napajanja samog mikrokontrolera. Opseg od , na primer 0 – 5 V, se pretvara u digitalnu reč sa n-bita, gde je n uobičajeno broj 8, 10, 12. Veći broj n donosi manji kvantni nivo. Kvantni nivo je jednak najmanjem priraštaju analognog signala koji A/D može detektovati tj. to je vrednost LSB u izlaznoj digitalnoj reči. Uvećanje broja n donosi bolju rezoluciju i preciznost, ali uvećava cenu mikrokontrolera. Iskustvo pokazuje da je n=10 (rezultat u opsegu Vmin → 0 Vmax →1023) dovoljno za merenje u većini pogona i industijskih procesa.</p>
<p style="text-align: justify"> U elektromotornom pogonu se mnogi proračuni moraju vršiti u realnom vremenu tako da je vreme A/D konverzije jednog signala veoma bitan podatak. Vreme jedne konverzije ADC modernog DSP oko 200 ns, u slučaju više sukcesivnih konverzija sledeća traje samo 80 ns. Vreme konverzije ADC u tipičnog mikrokontrolera je reda veličine 1 µs.</p>
<p style="text-align: justify"> Postoje dva osnovna tipa A/D konvertora:</p>
<ul>
<li style="text-align: justify"><strong>Flash A/D konvertori:</strong> Konverzija je izuzetnog brza jer za svako stanje postoji odgovarajući komparator. Za Flash A/D treba puno hardvera, tako da su jako skupi. Često su brži i od samog procesora. Inicira se AD konverzija i u sledećoj naredbi rezultat je već spreman. Zbog cene se uglavnom se ne ugrađuju ni u mikroprocesore ni u DSP.</li>
<li style="text-align: justify"><strong>A/D konvertor sa metodom sukcesivnih aproksimacija.</strong> Više se koristi pošto se izgrađuju sa manje hardwera pa su pristupačnije cene. Rade postepeno, odlučuju za svaki bit rezultata posebno, bit po bit, počevši od MSB. Rade na osnovu internog clock signala, zahtevaju dodatno S&amp;H kolo da se nivo signala ne promeni tokom konverzije. Način konverzije ih čini relativno su sporim ali ta brzina (čak i ispod 100 ns za konverziju) je sasvim dovoljna za većinu primena. Mikrokontroler je uglavnom brži od A/D konverzije, tako da koristi handshake signali (signali rukovanja) kao što su START CONVERSION i BUSY (ili prekid) da bi se sinhronizovao rad CPU sa A/D konvertorom.</li>
</ul>
<h3> Tipična primena A/D sa metodom sukcesivnih aproksimacija u sklopu mikrokontrolera</h3>
<p style="text-align: justify"> <strong>A/D konvertor</strong> sa metodom sukcesivnih aproksimacija ne može trenutno da izvrši konverziju signala. Ovaj A/D konvetor u svakom ciklusu internog clock signala odlučuje o jednom bitu rezultata, za 10-bitni konvertor treba barem 10 clock ciklusa. Ovaj tip A/D konvertora zahteva na svom ulazu dodatno sample&amp;hold kolo (S&amp;H- odabirač i zadržač signala) na čijem se izlazu zadržava isti nivo signala tokom konverzije. Sa strane CPU, takoñe je neophodna dodatna logika koja sinhronizuje rad CPU i sporijeg A/D konvertora. CPU definiše trenutak starta A/D konverzije (signal START), ali kraj iste signalizira sam A/D konvertor (signal BUSY ili mehanizam prekida).</p>
<p style="text-align: justify">  Radi dalje uštede pri izradi mikrokontrolera, koja rezultuje u nižoj ceni, uglavnom se ugrađuje samo jedan A/D konvertor u mikrokontroler. Merenje (A/D konverzija) više analognih ulaza se omogućuje primenom analognom multipleksera, koji u odgovarajućem trenutku prosleđuje izabrani analogni signal ka jedinom A/D konvertoru. Postoje jeftinije varijante ovog sistema sa jednim S&amp;H kolom na ulazu A/D konvertora, i više, na svakom analognom ulazu po jedno S&amp;H kolo. Druga varijanta je skuplja ali omogućuje istovremeno odabiranje više veličina (veoma važno!).</p>
<p style="text-align: justify"> Na sledećoj slici br.1 je prikazan blok dijagram tipičnog sistema za A/D konverziju. Pored samog A/D konvertora, prikazano je i S/H kolo, signala za sinhronizaciju rada CPU i A/D, kao i analogni multiplekser.</p>
<p style="text-align: justify"><img decoding="async" class="size-full wp-image-9077 aligncenter" src="https://www.automatika.rs/wp-content/uploads/2017/09/mikrokontreler_elektronika_ad_konvertor_delovi_mc_automatika.rs_ad_konverzija.jpg" alt="" width="541" height="267" srcset="https://www.automatika.rs/wp-content/uploads/2017/09/mikrokontreler_elektronika_ad_konvertor_delovi_mc_automatika.rs_ad_konverzija.jpg 541w, https://www.automatika.rs/wp-content/uploads/2017/09/mikrokontreler_elektronika_ad_konvertor_delovi_mc_automatika.rs_ad_konverzija-300x148.jpg 300w, https://www.automatika.rs/wp-content/uploads/2017/09/mikrokontreler_elektronika_ad_konvertor_delovi_mc_automatika.rs_ad_konverzija-324x160.jpg 324w" sizes="(max-width: 541px) 100vw, 541px" /></p>
<p style="text-align: center">Slika 1 Tipičan blok u sklopu mikrokontrolera za A/D konverziju više analognim ulaza</p>
<p style="text-align: justify">Na slici br.2 je prikazan algoritam rada sa prikazanim sistemom za A/D konverziju.</p>
<p style="text-align: justify"><img loading="lazy" decoding="async" class="size-full wp-image-9076 aligncenter" src="https://www.automatika.rs/wp-content/uploads/2017/09/algoritam_mikrokontreler_elektronika_ad_konvertor_delovi_mc_automatika.rs_ad_konverzija.jpg" alt="" width="214" height="311" srcset="https://www.automatika.rs/wp-content/uploads/2017/09/algoritam_mikrokontreler_elektronika_ad_konvertor_delovi_mc_automatika.rs_ad_konverzija.jpg 214w, https://www.automatika.rs/wp-content/uploads/2017/09/algoritam_mikrokontreler_elektronika_ad_konvertor_delovi_mc_automatika.rs_ad_konverzija-206x300.jpg 206w" sizes="auto, (max-width: 214px) 100vw, 214px" /></p>
<p style="text-align: center">Slika br.2 Tipičan algoritam rada sa A/D sistemom</p>
<p>The post <a href="https://www.automatika.rs/baza-znanja/elektronika/analognodigitalni-konvertor-ad-konvertor.html">Analogno/digitalni konvertor &#8211; A/D konvertor</a> appeared first on <a href="https://www.automatika.rs">Automatika.rs</a>.</p>
]]></content:encoded>
					
					<wfw:commentRss>https://www.automatika.rs/baza-znanja/elektronika/analognodigitalni-konvertor-ad-konvertor.html/feed</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>Serijska komunikacija u MATLAB-u</title>
		<link>https://www.automatika.rs/projekti/serijska-komunikacija-u-matlab-u.html</link>
					<comments>https://www.automatika.rs/projekti/serijska-komunikacija-u-matlab-u.html#respond</comments>
		
		<dc:creator><![CDATA[Marko Nikolić]]></dc:creator>
		<pubDate>Tue, 22 Jan 2013 23:00:00 +0000</pubDate>
				<category><![CDATA[Projekti]]></category>
		<category><![CDATA[ad konvertor]]></category>
		<category><![CDATA[adc]]></category>
		<category><![CDATA[baud rate]]></category>
		<category><![CDATA[lcd 2x16]]></category>
		<category><![CDATA[matlab]]></category>
		<category><![CDATA[PIC 16F887]]></category>
		<category><![CDATA[RS232]]></category>
		<category><![CDATA[serial comunications]]></category>
		<guid isPermaLink="false"></guid>

					<description><![CDATA[<p>Matlab poseduje mogućnost komuniciranja sa spoljnjim uređajima putem serijskog porta na računaru. Ovaj projekat će prikazati način uspostavljanja dvosmerne veze između programa Matlab i PIC mikrokontrolera. Primer je osmišljen tako da se trenutna vrednost napona na potenciometru, pomoću AD konverzije koja se vrši u mikrokontroleru, prosledi putem serijskog porta računaru , odnosno Matlabu, kada iz njega pozovemo [&#8230;]</p>
<p>The post <a href="https://www.automatika.rs/projekti/serijska-komunikacija-u-matlab-u.html">Serijska komunikacija u MATLAB-u</a> appeared first on <a href="https://www.automatika.rs">Automatika.rs</a>.</p>
]]></description>
										<content:encoded><![CDATA[<div style="text-align: justify;"><img loading="lazy" decoding="async" class=" alignleft size-full wp-image-3384" style="margin-top: 5px; margin-right: 5px; border: 1px solid #000000; float: left;" src="http://automatika.rs/wp-content/uploads/2012/09/matlab_naslovna_uvod_automatika_rs.png" alt="matlab naslovna uvod automatika rs" width="100" height="100" />Matlab poseduje mogućnost komuniciranja sa spoljnjim uređajima putem serijskog porta na računaru. Ovaj projekat ć<span style="line-height: 1.3em;">e prikazati način uspostavljanja dvosmerne veze između programa Matlab i PIC mikrokontrolera. Primer je osmišljen </span><span style="line-height: 1.3em;">tako da se trenutna vrednost napona na potenciometru, pomoću AD konverzije koja se vrši u mikrokontroleru, </span><span style="line-height: 1.3em;">prosledi putem serijskog porta računaru , odnosno Matlabu, kada iz njega pozovemo mikrokontroler slanjem stringa </span><span style="line-height: 1.3em;">&#8221;AU&#8221;.</p>
<p></span></div>
<p><span id="more-872"></span></p>
<div style="text-align: justify;"><span style="line-height: 1.3em;"> Matlab iscrtava grafik u realnom vremenu koji prikazuje promenu napona. Na kraju merenja </span><span style="line-height: 1.3em;">kreira matricu „Očitavanje“ kao i izlaznu datoteku Izlaz.dat u kojima su smešteni rezultati. Ovu datoteku možemo </span><span style="line-height: 1.3em;">otvoriti u bilo kojem tekstualnom editoru.<br />
</span></div>
<div>
<p style="text-align: center;"><img loading="lazy" decoding="async" class=" size-full wp-image-3612" src="http://automatika.rs/wp-content/uploads/2013/01/serijska_komunikacija_matlab_rs232_projekti_automatika.rs.jpg" alt="serijska komunikacija matlab rs232 projekti automatika.rs" width="600" height="365" srcset="https://www.automatika.rs/wp-content/uploads/2013/01/serijska_komunikacija_matlab_rs232_projekti_automatika.rs.jpg 789w, https://www.automatika.rs/wp-content/uploads/2013/01/serijska_komunikacija_matlab_rs232_projekti_automatika.rs-300x183.jpg 300w, https://www.automatika.rs/wp-content/uploads/2013/01/serijska_komunikacija_matlab_rs232_projekti_automatika.rs-768x467.jpg 768w, https://www.automatika.rs/wp-content/uploads/2013/01/serijska_komunikacija_matlab_rs232_projekti_automatika.rs-696x423.jpg 696w, https://www.automatika.rs/wp-content/uploads/2013/01/serijska_komunikacija_matlab_rs232_projekti_automatika.rs-690x420.jpg 690w" sizes="auto, (max-width: 600px) 100vw, 600px" /><br />
Slika 1. Grafik promene napona u toku vremena</p>
<p style="text-align: center;">
<strong>Hardver</strong></p>
<p style="text-align: justify;"> Sam hardver je vrlo jednostavan i pristupačan. Pored mikrokontrolera <strong>PIC 16F887</strong> postoje još tri bitne komponente. Potenciometar od 10 kΩ, koji je povezan na analogni ulaz mikrokontrolera i čiji izlazni napon merimo, <strong>MAX232N</strong> kolo koje omogućava vezu između računara i mikrokontrolera i ženski <strong>DB-9 konektor</strong> putem kojeg spajamo našu štampanu ploču sa računarom. Opciono se može prikačiti i displej (LCD 2&#215;16) na kojem bi se prikazivala trenutna vrednost napona.</p>
<p style="text-align: center;"><img loading="lazy" decoding="async" class=" size-full wp-image-3613" src="http://automatika.rs/wp-content/uploads/2013/01/serijska_komunikacija_matlab_rs232_projekti_automatika.rs_2.jpg" alt="serijska komunikacija matlab rs232 projekti automatika.rs 2" width="690" height="305" srcset="https://www.automatika.rs/wp-content/uploads/2013/01/serijska_komunikacija_matlab_rs232_projekti_automatika.rs_2.jpg 942w, https://www.automatika.rs/wp-content/uploads/2013/01/serijska_komunikacija_matlab_rs232_projekti_automatika.rs_2-300x132.jpg 300w, https://www.automatika.rs/wp-content/uploads/2013/01/serijska_komunikacija_matlab_rs232_projekti_automatika.rs_2-768x339.jpg 768w, https://www.automatika.rs/wp-content/uploads/2013/01/serijska_komunikacija_matlab_rs232_projekti_automatika.rs_2-696x307.jpg 696w" sizes="auto, (max-width: 690px) 100vw, 690px" />Slika 2. Šematski dijagram uređaja za merenje napona sa serijskom komunikacijom</p>
<p style="text-align: justify;">
U slučaju da kreiranje štampane ploče kreće od praznog lista papira, poželjno je predvideti 5-pinski konektor putem kojeg bi se vršilo programiranje mikrokontrolera u samom uređaju.</p>
<p>Ova funkcija se naziva ICSP (In-Circuit Serial Programming) i ostvaruje se dovođenjem potrebnih napona iz programatora na pomenuti konektor. Ako ovako dovedeni naponi remete ostalu elektroniku uređaja, potrebno je ostvariti njihovo odvajanje tokom programiranja otpornicima ili kratkospojnicima.</p>
<p>Za povezivanje uređaja i računara koristi se standardni muško-ženski DB-9 kabl. Treba obezbediti i izvor stabilisanog jednosmernog napona od +5 volti kojim će se napajati kompletan hardver na štampanoj ploči odnosno uređaj.<span style="text-align: center; line-height: 1.3em;"> </span></p>
<p style="text-align: center;"><img loading="lazy" decoding="async" class=" size-full wp-image-3614" src="http://automatika.rs/wp-content/uploads/2013/01/1_serijska_komunikacija_matlab_rs232_projekti_automatika.rs.jpg" alt="1 serijska komunikacija matlab rs232 projekti automatika.rs" width="400" height="248" srcset="https://www.automatika.rs/wp-content/uploads/2013/01/1_serijska_komunikacija_matlab_rs232_projekti_automatika.rs.jpg 380w, https://www.automatika.rs/wp-content/uploads/2013/01/1_serijska_komunikacija_matlab_rs232_projekti_automatika.rs-300x186.jpg 300w, https://www.automatika.rs/wp-content/uploads/2013/01/1_serijska_komunikacija_matlab_rs232_projekti_automatika.rs-356x220.jpg 356w" sizes="auto, (max-width: 400px) 100vw, 400px" /><br />
<span style="text-align: center; line-height: 1.3em;">Slika 3. ISCP (</span><span style="text-align: justify;">In-Circuit Serial Programming</span><span style="text-align: center; line-height: 1.3em;">)</span></p>
<p style="text-align: center;">
<strong>Softver</strong></p>
<p style="text-align: justify;"> <strong>Mikrokontroler.</strong> Ideja programa je da po uključenju mikrokontroler čeka na string „AU“ koji mu treba poslati sa računara putem serijske komunikacije da bi započeo merenje napona. Merena vrednost se potom šalje računaru kao brojčani podatak tipa reč (Word), veličine 16 bita. Ovo je bitan detalj jer se kasnije, u Matlabu, podatak koji se prima definiše kao celobrojna pozitivna vrednost veličine 16 bita (Uint16). Dalja obrada vrednosti se izvodi u Matlabu.</p>
<p>Serijska komunikacija se ostvaruje pomoću RS-232-C standarda. Potrebno je definisati brzinu prenosa podataka, koja za ovaj primer iznosi 9600 bitova u sekundi (baud rate). Format podataka koji se prima i šalje je podešen kao 8N1 (8 bitova za podatke, bez bita za parnost i jedan stop bit).</p>
<p>Dobar način da se testira kod odnosno serijska komunikacija sa računarom jeste pomoću serijskog komunikatora (Serial communicator) koji se nalazi u kompajleru Proton IDE (Proton Basic compiler). Pre bilo kakvog izvršavanja koda proveriti da li su zatvoreni svi programi koji pristupaju serijskom portu kako ne bi prijavljivao grešku.</p>
<p style="text-align: center;"><img loading="lazy" decoding="async" class=" size-full wp-image-3615" src="http://automatika.rs/wp-content/uploads/2013/01/serijska_komunikacija_matlab_rs232_projekti_automatika.rs_4.jpg" alt="serijska komunikacija matlab rs232 projekti automatika.rs 4" width="500" height="335" srcset="https://www.automatika.rs/wp-content/uploads/2013/01/serijska_komunikacija_matlab_rs232_projekti_automatika.rs_4.jpg 471w, https://www.automatika.rs/wp-content/uploads/2013/01/serijska_komunikacija_matlab_rs232_projekti_automatika.rs_4-300x201.jpg 300w" sizes="auto, (max-width: 500px) 100vw, 500px" /><br />
<span style="line-height: 1.3em;">Slika 4. Serijski komunikator u Protonu</span></p>
<p style="text-align: justify;">
<strong> Matlab.</strong> Na početku skripta neophodno je definisati parametre serijske komunikacije. Bitno je da su ti parametri identični onim koji su uneti u mikrokontroler da ne bi dolazilo do greške u razmeni podataka.</p>
<p style="text-align: center;"><span style="line-height: 1.3em;"><img loading="lazy" decoding="async" class=" size-full wp-image-3616" style="display: block; margin-left: auto; margin-right: auto;" src="http://automatika.rs/wp-content/uploads/2013/01/serijska_komunikacija_matlab_rs232_projekti_automatika.rs_5.jpg" alt="serijska komunikacija matlab rs232 projekti automatika.rs 5" width="290" height="699" srcset="https://www.automatika.rs/wp-content/uploads/2013/01/serijska_komunikacija_matlab_rs232_projekti_automatika.rs_5.jpg 290w, https://www.automatika.rs/wp-content/uploads/2013/01/serijska_komunikacija_matlab_rs232_projekti_automatika.rs_5-124x300.jpg 124w, https://www.automatika.rs/wp-content/uploads/2013/01/serijska_komunikacija_matlab_rs232_projekti_automatika.rs_5-174x420.jpg 174w" sizes="auto, (max-width: 290px) 100vw, 290px" /><br />
<span style="line-height: 1.3em;">Slika 5. Dijagram toka programa<br />
</span></span></p>
<p style="text-align: justify;"><span style="line-height: 1.3em;"><span style="line-height: 1.3em;"><span style="line-height: 1.3em; text-align: justify;"><br />
Mikrokontroler PIC 16F887 vrši desetobitnu AD konverziju što znači da ima skalu od 1024 podeoka na osnovu kojih poredi ulazni napon. Naponska vrednost jednog podeoka dobija se deljenjem punog naponskog opsega sa brojem podeoka, odnosno 5/1024.</span></span></span></p>
<p style="text-align: justify;">
Pošto mikrokontroler šalje trenutni broj podeoka, da bi se dobila vrednost očitanog napona, neophodno je primljeni podatak pomnožiti sa  <span style="text-align: justify;">5/1024</span> i tek tada se dobija tačan rezultat u voltima.</p>
<p>Sam skript zbog razumevanja je upotpunjen komentarima, ipak nije loše iskoristiti Matlabov help sistem u slučaju nejasnoća. Njegovo efikasno korišćenje se postiže kucanjem u komandnom prozoru: &gt;&gt; help &#8221;ime funkcije&#8221; (čije želimo objašnjenje).</p>
<p>U slučaju da Matlab ne zatvori i ne obriše serijski port zbog neke greške, ukucavanjem komande, prikazane ispod, u komandni prozor Matlaba to se može naknadno postići.</p>
<p style="text-align: center;">
<strong>delete(instrfind)</strong></p>
<p style="text-align: justify;">
Kod za PIC možete preuzeti <a href="http://automatika.rs/wp-content/uploads/2013/01/pic_kod.pdf" target="_blank">ovde.</a></p>
</div>
<p>The post <a href="https://www.automatika.rs/projekti/serijska-komunikacija-u-matlab-u.html">Serijska komunikacija u MATLAB-u</a> appeared first on <a href="https://www.automatika.rs">Automatika.rs</a>.</p>
]]></content:encoded>
					
					<wfw:commentRss>https://www.automatika.rs/projekti/serijska-komunikacija-u-matlab-u.html/feed</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
	</channel>
</rss>
