<?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>lcd 2x16 Archives - Automatika.rs</title>
	<atom:link href="https://www.automatika.rs/tag/lcd-2x16/feed" rel="self" type="application/rss+xml" />
	<link>https://www.automatika.rs/tag/lcd-2x16</link>
	<description>Portal za inženjere</description>
	<lastBuildDate>Sat, 30 Apr 2016 22:22:42 +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>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 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 fetchpriority="high" 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="(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 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="(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>
