<?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>Mad93's bloc &#187; Electròncia</title>
	<atom:link href="http://bloc.majomo.com/category/electronica/feed/" rel="self" type="application/rss+xml" />
	<link>http://bloc.majomo.com</link>
	<description>Un bloc més a la xarxa</description>
	<lastBuildDate>Fri, 09 Apr 2010 21:32:31 +0000</lastBuildDate>
	<generator>http://wordpress.org/?v=2.9.2</generator>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
			<item>
		<title>Primeres proves amb el motor brushless</title>
		<link>http://bloc.majomo.com/primeres-proves-amb-el-motor-brushless/</link>
		<comments>http://bloc.majomo.com/primeres-proves-amb-el-motor-brushless/#comments</comments>
		<pubDate>Mon, 28 Apr 2008 20:51:31 +0000</pubDate>
		<dc:creator>mad93</dc:creator>
				<category><![CDATA[Electròncia]]></category>
		<category><![CDATA[Robòtica]]></category>
		<category><![CDATA[brushless]]></category>
		<category><![CDATA[laboratori]]></category>
		<category><![CDATA[motor]]></category>
		<category><![CDATA[motorització]]></category>

		<guid isPermaLink="false">http://bloc.majomo.com/?p=48</guid>
		<description><![CDATA[Han trigat una mica en arribar, però ja tinc els motors brushless  
Són petits, però imposen respecte XD
Els hem provat al laboratori i després d'unes quantes dificultats n'hem quedat prou satisfets, tot que s'ha fet obvi que si volem que les rodes no surtin volant, s'hi ha de posar una reductora ^^u
Per fer les [...]]]></description>
			<content:encoded><![CDATA[<p>Han trigat una mica en arribar, però ja tinc els motors brushless <img src='http://bloc.majomo.com/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
<p>Són petits, però imposen respecte XD</p>
<p>Els hem provat al laboratori i després d'unes quantes dificultats n'hem quedat prou satisfets, tot que s'ha fet obvi que si volem que les rodes no surtin volant, s'hi ha de posar una reductora ^^u<span id="more-48"></span></p>
<p>Per fer les proves hem muntat el ESC de 6 ampers amb el motor (3 cables desfasats 120 graus). El motor l'hem alimentat amb 7,4 volts i la controladora s'ha alimentat amb 5 volts.</p>
<p>Ha costat una mica fer-lo anar doncs no sabíem quina senyal enviaven els comandaments a distància, però en Xavi ho va trobar (primera cerca al google, després d'estar una estona buscant... no hi ha res com posar les paraules que toquen xD). La senyal és de 5 volts, amb un periode de 20 ms, on hi ha d'haver 1 ms de part activa quan el comandament no té el gas donat i 2 ms quan estigui donat (0,9 i 2,1 si volem més recorregut).</p>
<p>La controladora és força fàcil de configurar. Primerament l'engeguem amb el gas a fons (2 ms) i llavors en marquem el mínim (1 ms) així la controladora sap els marges del nostre comandament ( per si no fossin exactament aquests valors, ajustant la linialitat del seu comportament a les senyals generades pel comandament.</p>
<p>Bé, ja tenim motors, ara falten bateries, aviat s'haurà de fer la comanda, així com buscar alguna reductora o anar a la ferreteria a veure si tenen pinyons i demés històries per fer-ho una mica "custom".</p>
]]></content:encoded>
			<wfw:commentRss>http://bloc.majomo.com/primeres-proves-amb-el-motor-brushless/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Instal·lar code:blocks a Gentoo</title>
		<link>http://bloc.majomo.com/installar-codeblocks-a-gentoo/</link>
		<comments>http://bloc.majomo.com/installar-codeblocks-a-gentoo/#comments</comments>
		<pubDate>Fri, 04 Apr 2008 20:42:29 +0000</pubDate>
		<dc:creator>mad93</dc:creator>
				<category><![CDATA[Electròncia]]></category>
		<category><![CDATA[Gentoo]]></category>
		<category><![CDATA[Programació]]></category>
		<category><![CDATA[Robòtica]]></category>
		<category><![CDATA[c/c++]]></category>
		<category><![CDATA[linux]]></category>
		<category><![CDATA[16f]]></category>
		<category><![CDATA[codeblocks]]></category>
		<category><![CDATA[pic]]></category>

		<guid isPermaLink="false">http://bloc.majomo.com/?p=47</guid>
		<description><![CDATA[Fa uns dies que miro de programar per a PIC amb una aplicació mig decent. Per a fer-ho he trobat el code:blocs, que permet compilar amb el sdcc.
El problema és que està a ~x86, però és fàcil de solucionar.
Primer és fer que ens deixi compilar aquesta versió. Obrim l'arxiu /etc/portage/package.keywords i afegim el següent:
dev-util/codeblocks
I ara [...]]]></description>
			<content:encoded><![CDATA[<p>Fa uns dies que miro de programar per a PIC amb una aplicació mig decent. Per a fer-ho he trobat el code:blocs, que permet compilar amb el sdcc.</p>
<p>El problema és que està a ~x86, però és fàcil de solucionar.<span id="more-47"></span></p>
<p>Primer és fer que ens deixi compilar aquesta versió. Obrim l'arxiu /etc/portage/package.keywords i afegim el següent:</p>
<pre class="text">dev-util/codeblocks</pre>
<p>I ara ja podem compilar el code:blocs amb:</p>
<pre class="text">emerge codeblocs</pre>
<p>També ens farà falta el sdcc:</p>
<pre class="text">emerge sdcc</pre>
<p>Ara que ja tenim tot el necessari, obrim el code:blocs, no patiu si us diu que no detecta el compilador sdcc, ja ho arreglarem.</p>
<p>Li donem a crear projecte i triem "Empty Project". Triem quin nom li volem donar al projecte i on el volem guardar. Al següent pas hem de triar quin compilador volem emprar, en aquest cas sdcc. Quan creem el projecte es queixarà de que no sap els flags d'optimització del compilador, ni cas.</p>
<p>A anem a "Settings" i triem el submenú "Compiler and Debugger". De la llista triem el sdcc i sel·leccionem la pestanya "Toolchain executables". Veurem que està definida a /usr/local/bin, quan a gentoo s'intal·la a /usr/bin, així que ho canviarem per /usr/bin. A la pestanya "Compiler Settings" buscarem "[CPU] Microchip PIC 14-bit ..." i ho marcarem.</p>
<p>Veurem que a la pestanya "Compiler Settings" hi ha una altre pestanya dintre, "Other options", la marcarem i dintre hi escriurem el xip per al que compilem, per exemple:</p>
<pre class="text">-p16f876a</pre>
<p>Ja li podrem donar a acceptar. Per a comprovar que tot funciona correctament, creem un arxiu .c al projecte i hi posem el següent:</p>
<pre class="c">&nbsp;
<span style="color: #339933;">#include</span>
&lt;pic16f876a.<span style="color: #202020;">h</span>&gt;
&nbsp;
<span style="color: #993333;">int</span> main<span style="color: #66cc66;">&#40;</span><span style="color: #66cc66;">&#41;</span>
<span style="color: #66cc66;">&#123;</span>
    <span style="color: #b1b100;">return</span> <span style="color: #cc66cc;">0</span>;
<span style="color: #66cc66;">&#125;</span>
&nbsp;</pre>
<p>I fem un build. Si no dona cap error, ja li podem donar canya a la programació de pics <img src='http://bloc.majomo.com/wp-includes/images/smilies/icon_wink.gif' alt=';)' class='wp-smiley' /> </p>
]]></content:encoded>
			<wfw:commentRss>http://bloc.majomo.com/installar-codeblocks-a-gentoo/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Planificant un robot de sumo</title>
		<link>http://bloc.majomo.com/planificant-un-robot-de-sumo/</link>
		<comments>http://bloc.majomo.com/planificant-un-robot-de-sumo/#comments</comments>
		<pubDate>Wed, 02 Apr 2008 22:26:08 +0000</pubDate>
		<dc:creator>mad93</dc:creator>
				<category><![CDATA[Electròncia]]></category>
		<category><![CDATA[Robòtica]]></category>
		<category><![CDATA[amplificadors]]></category>
		<category><![CDATA[motors]]></category>
		<category><![CDATA[robot]]></category>
		<category><![CDATA[sumo]]></category>
		<category><![CDATA[xips]]></category>

		<guid isPermaLink="false">http://bloc.majomo.com/?p=46</guid>
		<description><![CDATA[Darrerament estem planificant el disseny i construcció d'un robot de sumo (de fet algunes peces ja les tenim i d'altres estan en camí).
Al plantejar-te un robot d'aquest tipus, t'adones que tot i no ser extremadament complexe conceptualment, té moltes parts a tenir en compte per a fer-lo intel·ligent i eficaç, o al menys no maldestre [...]]]></description>
			<content:encoded><![CDATA[<p>Darrerament estem planificant el disseny i construcció d'un robot de sumo (de fet algunes peces ja les tenim i d'altres estan en camí).</p>
<p>Al plantejar-te un robot d'aquest tipus, t'adones que tot i no ser extremadament complexe conceptualment, té moltes parts a tenir en compte per a fer-lo intel·ligent i eficaç, o al menys no maldestre i burro...<span id="more-46"></span></p>
<p>Nosaltres l'hem dividit en diverses parts, que a primer cop d'ull hem vist, però segurament ens faltarà definir-ne més:</p>
<ul>
<li>Motorització</li>
<li>Chasis</li>
<li>CPU</li>
<li>Amplificadors de potència</li>
<li>Alimentació</li>
<li>Sensors</li>
</ul>
<p>Pel moment només tenim definits un parell de punts, que són motorització, CPU, amplificadors de potència i Alimentació, tot que s'han de provar, pel que segurament poden canviar.</p>
<p>Com a motorització se m'ha ficat entre cella i cella emprar motors brushless, i n'hem comprat un parell de freigao 103-S, amb 2740 Kv, que ens donen 338 voltes per segon al seu voltatge màxim (7,4 volts) i 40 voltes per segon a 1 volt. Cal tenir en compte que aquestes voltes per segon són sense càrrega, i en canvi els emprarem per arrossegar 3 Kg, amb el que amb tota tranquil·litat els motors quedaran amorrats (que no anirà derrapant el robot vaja xD). En cas de que tot i així l'acceleració fos massa forta, s'hi col·locaria una reductora, que n'hem vist de relacions de 3,5 i 11, amb el que amb la d'11 podríem fer oscil·lar les voltes per segons entre 4 i 33, guanyant també par (força del motor, a canvi de velocitat). Com veieu, fins que no arribin els motors no es podrà provar com funciona tot realment, però ja s'han mirat diverses opcions en cas que el seu gir fos excessiu. També hem agafat aquests motors perquè consumeixen 6 ampers de màxim, i juntament amb un voltatge baix, consumiran menys potència de les bateries.</p>
<p>La CPU no ha estat realment difícil de triar, ja la teníem. En principi parlàvem de si emprar un xip fujitsu a 16 Mhz, o un pic 16F876a, però hem pensat que amb el segon, a part de ser més econòmic i no requerir l'ús de tecnologia SMD, ja faria el fet, doncs ja es prou potent i disposa de prou ports per al control del robot de sumo.</p>
<p>Com a amplificadors de potència hem estat mirant si emprar uns L298 o uns <span class="postbody">ULN2003A. Els primers ens possibilitarien invertir els motors si n'empressin 4, hi ha 4 canals, que es quedarien el 2 per a poder fer la inversió fàcilment, cada un dels quals donaria 2 ampers. Amb això, al tenir-ne dedicats 4 canals per motor, tindríem 8 ampers (millor que en sobri que no que en faltin i es cremi..). El problema dels </span><span class="postbody">ULN2003A</span><span class="postbody"> és que no tindríem manera d'invertir-ho directament, cada xip donaria 7 canals de 500 mA, amb el que tindríem 3,5 ampers per xip, en necessitaríem 4 igual, i a més necessitaríem un commutador (transistors?) per a invertir les tensions.</span></p>
<p>Com a alimentació hem tingut força clar que ens caldrien bateries lipo per a poder alimentar als motors. Amb càlculs a ull i suposat un consum de 6 ampers per motors contínuament (menyspreem la resta doncs és residual comparat amb els motors i podria anar tranquil·lament alimentat amb piles alcalines...), hem estimat els consum a 12 ampers (6*2... d'alguna cosa ha de servir la carrera <img src='http://bloc.majomo.com/wp-includes/images/smilies/icon_razz.gif' alt=':P' class='wp-smiley' /> ) i agafant bateries de 2200 mAh (que significa que poden proporcionar 2,2 A durant una hora, gràcies Chema ), unes quatre, tindríem una autonomia de 44 minuts, amb un pes total de 600 grams, que seria més que acceptable donat que realment els motors ni de bon tros aniran a tot gas contínuament, així que si tinguéssim alguna limitació de pes, podríem prescindir d'una o dues bateries.</p>
<p>Com a chasis... aquí apareixen els meus dubtes... Els motors brushless, si alguna cosa a més de força donen, és temperatura. En Cesc va proposar un chasis de PVC per al robot, lleuger i resistent, però el PVC no suporta gaire bé el calor, pel que s'haurà de mirar la temperatura que dissipen els motors per a saber el chasis.</p>
<p>El tema que portem més verd és el dels sensors, realment encara no sabem quines possibilitats i precisió ens ofereixen els sensors actuals, ho haurem de mirar detingudament, doncs un robot sense una bona capacitat sensorial és poc més que una caixa de 3 kilos esperant ser expulsada del ring.</p>
<p>Dir a més que els motors brushless necessiten de controladores per a crear els camps electromagnètics per a fer-los girar. Tot i que es pot fer amb pics com em va indicar en Lorth, hem optat per controladors comercials, que són barats, tant ells com la seva programadora. Potser s'han agafat una mica justos, doncs són de 6A i recomanen que sobri amperatge...</p>
<p>Com a rodes segurament emprarem rodes comercials de neoprè, que tenen molta adderència i no malmeten el ring, el que no està clar és si dues o quatre (per tenir més tracció, tot i que reduiria la maniobrabilitat).</p>
<p>Finalment queda tota la part de programació del xip, que tot i que ja hi ha idees, faltarà veure si es poden plasmar tal com ves volen a la realitat (depen també en gran mesura dels comportaments dels sensors).</p>
]]></content:encoded>
			<wfw:commentRss>http://bloc.majomo.com/planificant-un-robot-de-sumo/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Crear un binari de gcc capaç de compilar codi per als PIC de la família 16</title>
		<link>http://bloc.majomo.com/crear-un-binari-de-gcc-capac-de-compilar-codi-per-als-pic-de-la-familia-16/</link>
		<comments>http://bloc.majomo.com/crear-un-binari-de-gcc-capac-de-compilar-codi-per-als-pic-de-la-familia-16/#comments</comments>
		<pubDate>Thu, 13 Mar 2008 23:06:16 +0000</pubDate>
		<dc:creator>mad93</dc:creator>
				<category><![CDATA[Electròncia]]></category>
		<category><![CDATA[Gentoo]]></category>
		<category><![CDATA[Programació]]></category>
		<category><![CDATA[Robòtica]]></category>
		<category><![CDATA[c/c++]]></category>
		<category><![CDATA[linux]]></category>

		<guid isPermaLink="false">http://bloc.majomo.com/2008/03/14/crear-un-binari-de-gcc-capac-de-compilar-codi-per-als-pic-de-la-familia-16/</guid>
		<description><![CDATA[Aquests dies en Cesc m'ha obligat a treballar, bé, a començar, a posar-me les piles en el tema de la robòtica. Primer vam compilar un programa en c i el vàrem compilar amb el sdcc. Per desgràcia primer vaig fer el codi en cpp i llavors al veure que no ho suportava el vaig pasar [...]]]></description>
			<content:encoded><![CDATA[<p>Aquests dies en Cesc m'ha obligat a treballar, bé, a començar, a posar-me les piles en el tema de la robòtica. Primer vam compilar un programa en c i el vàrem compilar amb el sdcc. Per desgràcia primer vaig fer el codi en cpp i llavors al veure que no ho suportava el vaig pasar a c.</p>
<p>Tot i així no l'he pogut provar ja que la PIC de proves semblava estar tarada.</p>
<p>El cas és que demanant informació a ARDE sobre el tema dels compiladors existents, sobretot un capaç de suportar codi cpp, em van recomanar fer una ullada a <a href="http://pjmicrocontroladores.wordpress.com/">Port de GCC a PIC16</a> i això vaig fer.<span id="more-45"></span>Aquí l'autor ha escrit el codi necessari per a que puguem compilar els nostres programes en c per a PICs de la família 16 amb gcc. A la espera de provar algun experiment amb cpp, direm que només suporta c, doncs l'autor m'ha dit que manquen llibreries encara per a que això sigui possible.</p>
<p>Aquí explico el procés que he seguit per a compilar el gcc sense trepitjar-ne la versió que ja en tenia.</p>
<p>Primerament ens descarregarem i instalarem el gputils disponible a la nostra distribució.  En gentoo:</p>
<pre class="text">emerge gputils</pre>
<p>Un cop instal·lat gputils crearem una nova carpeta (suposaré que la carpeta està a Documents). A dintre hi descarregarem la versió de gcc 4.0.2 i la 1.0.0 de csl-pic-gcc i els descomprimirem:</p>
<pre class="text">mkdir gccpic
cd gccpic
wget  ftp://ftp.gnu.org/gnu/gcc/gcc-4.0.2/gcc-4.0.2.tar.bz2
wget  https://forja.rediris.es/frs/download.php/324/csl-pic-gcc-16f877-1.0.0.tar.gz
tar xfvj gcc-4.0.2.tar.bz2
tar xfvz csl-pic-gcc-16f877-1.0.0.tar.gz</pre>
<p>Ara haurem de configurar el fitxer pic.h per a indicar-li correctament l'ubicació de les eines de gputils (si compilem el paquet 'oficial' en comptes del de la nostra distribució, aquest pas no fa falta).</p>
<pre class="text">vim gcc-4.0.2/gcc/config/pic/pic.h</pre>
<p>On canviarem les línies</p>
<pre class="text">#define DEFAULT_ASSEMBLER &quot;/usr/local/bin/gpasm&quot;
#define DEFAULT_LINKER &quot;/usr/local/bin/gplink&quot;</pre>
<p>per</p>
<pre class="text">#define DEFAULT_ASSEMBLER &quot;/usr/bin/gpasm&quot;
#define DEFAULT_LINKER &quot;/usr/bin/gplink&quot;</pre>
<p>Ara crearem la carpeta on anirà la nostra versió de gcc:</p>
<pre class="text">mkdir pic-gcc
cd pic-gcc</pre>
<p>I executarem el configure i en compilarem el codi:</p>
<pre class="text">../gcc-4.0.2/configure -target=pic -enable-languages=c,c++
make</pre>
<p>Ja tenim els binaris creats a la carpeta gcc, però ara volem que sigui més fàcil emprar-los, per això farem un parell d'enllaços simbòlics, com a root s'ha de fer (poso el meu directori de home com a exemple, s'ha de canviar a la ruta correcte al vostre sistema):</p>
<pre class="text">su
(introduim la clau)
cd /usr/bin
ln -s  /home/mad93/Documents/gccpic/pic-gcc/gcc/g++ picg++
ln -s /home/mad93/Documents/gccpic/pic-gcc/gcc/xgcc picgcc</pre>
<p>I ja podrem compilar els nostres programes amb picgcc i picg++. Vull recordar que cpp encara no es pot emprar per certa mancança de llibreries, però ho deixo aquí així esperant que en un futur pròxim ja sigui possible.</p>
]]></content:encoded>
			<wfw:commentRss>http://bloc.majomo.com/crear-un-binari-de-gcc-capac-de-compilar-codi-per-als-pic-de-la-familia-16/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>
