<?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>Mind Unpacked</title>
	<atom:link href="http://mindunpacked.com/feed/" rel="self" type="application/rss+xml" />
	<link>http://mindunpacked.com</link>
	<description>informatica.elettronica.chimica.new stuff</description>
	<lastBuildDate>Fri, 13 Jan 2012 19:52:13 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.3.1</generator>
		<item>
		<title>Sintesi del Cloroformio</title>
		<link>http://mindunpacked.com/2011/sintesi-del-cloroformio/</link>
		<comments>http://mindunpacked.com/2011/sintesi-del-cloroformio/#comments</comments>
		<pubDate>Sun, 11 Dec 2011 15:07:21 +0000</pubDate>
		<dc:creator>Marco</dc:creator>
				<category><![CDATA[Chimica]]></category>
		<category><![CDATA[sintesi cloroformio]]></category>

		<guid isPermaLink="false">http://mindunpacked.com/?p=1010</guid>
		<description><![CDATA[Il cloroformio (triclorometano) è un ottimo solvente utile in molte occasioni. Esistono varie sintesi in grado di produrlo, quella che descriverò è abbastanza facile ma poco efficiente. Tuttavia i reagenti utilizzati sono di facile reperibilità. Va ricordato che il cloroformio è una sostanza tossica per inalazione e l'esposizione cronica può danneggiare il fegato. Per questa [...]]]></description>
			<content:encoded><![CDATA[<table border="0">
<tbody>
<tr>
<td><img class="alignnone" title="Molecola animata cloroformio" src="http://mindunpacked.com/risorse/cloroformio.gif" alt="" width="154" height="154" /></td>
<td>
<p style="text-align: justify; padding-left: 30px;">Il cloroformio (triclorometano) è un ottimo solvente utile in molte occasioni. Esistono varie sintesi in grado di produrlo, quella che descriverò è abbastanza facile ma poco efficiente. Tuttavia i reagenti utilizzati sono di facile reperibilità.<br />
<em>Va ricordato che il cloroformio è una sostanza tossica per inalazione e l'esposizione cronica può danneggiare il fegato. Per questa sintesi si consiglia l'uso di guanti e mascherina oltre che di un impianto di aspirazione efficace.</em></p>
</td>
</tr>
</tbody>
</table>
<p><span id="more-1010"></span></p>
<h3>Reagenti</h3>
<ul>
<li>Ipoclorito di sodio &gt; 15%</li>
<li>Acetone &gt; 99%</li>
<li>Ghiaccio</li>
</ul>
<h3>Sintesi</h3>
<p style="text-align: justify;">Viene preparata una bacinella con del ghiaccio in cui riporre un beaker da almeno 1500 ml. Il ghiaccio è fondamentale per mantenere bassa la temperatura durante la reazione (esotermica). Il beaker deve essere avvolto dal ghiaccio per almeno metà della sua altezza.<br />
1000 ml di ipoclorito di sodio al 15% vengono versati nel beaker. Misurare 42 grammi di acetone e versarne la metà all'interno del beaker. Agitando il tutto avverrà una reazione esotermica e la soluzione comincerà ad intorbidirsi. Attendere 10 minuti e versare il restante acetone, continuando a mescolare.<br />
Sul fondo del beaker si formerà un livello, che è appunto il cloroformio. Riversare dunque il contenuto del beaker in un imbuto separatore (è possibile che nel livello sia presente anche una polvere bianca, questa va scartata con l'ausilio di un filtro) e conservare il livello sottostante.</p>
<p style="text-align: justify;">A questo punto si ha una soluzione contenente cloroformio ed H2o che vanno separati per distillazione. Il cloroformio bolle a 61° centigradi, quindi non sarà difficile effettuare questa operazione.<br />
Seguendo questa sintesi potrete aspettarvi di ottenere circa il 10% di cloroformio dal volume di ipoclorito di sodio.</p>
<table border="0">
<tbody>
<tr>
<td><img class="alignnone" src="http://upload.wikimedia.org/wikipedia/commons/thumb/e/ed/Hazard_X.svg/100px-Hazard_X.svg.png" alt="" width="60" height="60" /></td>
<td style="padding-left: 30px;">Composto altamente volatile. Evitare l'inalazione dei vapori ed il contatto con la pelle.</td>
</tr>
</tbody>
</table>
]]></content:encoded>
			<wfw:commentRss>http://mindunpacked.com/2011/sintesi-del-cloroformio/feed/</wfw:commentRss>
		<slash:comments>4</slash:comments>
		</item>
		<item>
		<title>Elettronica delle macchine cnc: Parte II</title>
		<link>http://mindunpacked.com/2011/fresa-cnc-elettronica2/</link>
		<comments>http://mindunpacked.com/2011/fresa-cnc-elettronica2/#comments</comments>
		<pubDate>Sat, 19 Nov 2011 16:26:57 +0000</pubDate>
		<dc:creator>Marco</dc:creator>
				<category><![CDATA[Elettronica]]></category>
		<category><![CDATA[elettromandrino]]></category>
		<category><![CDATA[finecorsa]]></category>
		<category><![CDATA[frese cnc]]></category>

		<guid isPermaLink="false">http://mindunpacked.com/?p=929</guid>
		<description><![CDATA[Continua la parte sull'elettronica delle fresatrici cnc. Vediamo più in dettaglio pc, finecorsa, sensori di home, inverter, elettromandrini ed altro. Il Personal Computer per una CNC Solitamente non è nulla di particolarmente performante se viene adibito al solo controllo della macchina (quindi niente CAD/CAM). A seconda del software utilizzato potreste necessitare di processori più o [...]]]></description>
			<content:encoded><![CDATA[<p style="text-align: justify;">Continua la parte sull'elettronica delle fresatrici cnc. Vediamo più in dettaglio pc, finecorsa, sensori di home, inverter, elettromandrini ed altro.<span id="more-929"></span></p>
<h3>Il Personal Computer per una CNC</h3>
<table cellspacing="0">
<tbody>
<tr>
<td><a href="http://mindunpacked.com/risorse/cnc/viaepia.png"><img class="alignnone" title="Via Epia cnc" src="http://mindunpacked.com/risorse/cnc/viaepia.png" alt="" width="254" height="190" /></a></td>
<td>
<p style="text-align: justify; padding-left: 30px;">Solitamente non è nulla di particolarmente performante se viene adibito al solo controllo della macchina (quindi niente CAD/CAM). A seconda del software utilizzato potreste necessitare di processori più o meno performanti. In linea di massima riuscirete a far girare egregiamente qualsiasi software per il controllo della cnc con una cpu da 1 ghz e 512 mb di ram. Il mio consiglio è di non installare nient'altro sul sistema oltre al software di controllo se il vostro hardware è al limite, questo vale soprattutto per i sistemi windows che danno problemi se sono attivi altri task in background. Disabilitate screen saver e rispiarmio energetico.</p>
</td>
</tr>
</tbody>
</table>
<p style="text-align: justify;">E' possibile optare per un pc esterno all'elettronica della macchina, quindi case a parte, oppure cablare il tutto nello stesso box elettronica della cnc. Io ho adottato quest'ultima soluzione per motivi di spazio e praticità. Personalmente utilizzo una scheda madre mini ITX via Epia-M con processore C3 da 1000 mhz e 512 mb di ram. Le schede di questo formato consumano molto poco (nel mio caso non più di 50w, compreso hdd e ventola da 120mm) ed hanno dimensioni ridotte (17x17 cm). Configurando adeguatamente il BIOS (solitamente nella sezione power management trovate l'opzione per il power on automatico oppure per la riaccensione automatica in caso di mancata tensione) riesco ad accendere il pc assieme ai motori ed elettronica annessa con un solo deviatore esterno al box (quindi senza dover premere lo switch). Inoltre se integrate il pc nel box elettronica potrete usare il suo alimentatore per fornire tensione ad altre componenti. Io ad esempio uso i 12v per alimentare i sensori induttivi e i 5v per la breakout board.<br />
L'uso di portatili è sconsigliato ma possibile. Con alcuni sia hanno parecchi problemi riguardanti gli impulsi step/dir. Con schede di controllo esterne potete usarli senza problemi.</p>
<p style="text-align: justify;">Volendo si può configurare un pc di controllo che lavori senza hard disk ma con una semplice chiavetta usb. Ho testato personalmente questa configurazione utilizzando dei software di controllo per MS-DOS. Il vantaggio è che si avrà una macchina pronta a muoversi in pochissimi secondi (meno di 10), oltre a richiedere un hardware ridicolo, ma purtroppo i controlli dos non sono adatti a lavorazioni complesse e generano impulsi decisamente "sporchi".</p>
<h3 style="text-align: justify;">Interruttori di finecorsa ed home</h3>
<p style="text-align: justify;">Sono fondamentali se vogliamo che la cnc "conosca" l'area di lavoro in cui può spostarsi senza danneggiare nulla.<br />
I finecorsa sono solitamente degli interruttori meccanici; indicano al controllo l'inizio e la fine di un asse oltre quale non è possibile andare per evitare collisioni. Non è necessario che abbiano un'elevata ripetibilità, al contrario dei sensori di home. Gli interruttori di finecorsa si installano in modo che l'asse non vada ad attivarli frontalmente, ma di striscio (tutti i finecorsa degni di questo nome si attivano tramite l'azione di una forza su una levetta). Questo accorgimento vi risparmierà quantomeno l'interruttore se qualcosa non dovesse andare per il verso giusto. Un altro accorgimento importante è il loro cablaggio elettronico in modalità NC (è possibile impostarli anche in NA), ovvero normalmente chiuso. Se per caso qualche collegamento dovesse saltare il software andrebbe in blocco proprio come se il finecorsa fosse attivato evitando di eseguire comandi di spostamento.<br />
A <a href="http://it.rs-online.com/web/c/?searchTerm=finecorsa&amp;sra=oss" target="_blank">questo link</a> potete farvi un'idea delle varie tipologie di finecorsa.</p>
<table cellspacing="0">
<tbody>
<tr>
<td style="text-align: justify;">Veniamo agli interruttori, o meglio sensori, di home. Partendo dal presupposto che una macchina non può essere cosciente (almeno per ora) non ha idea di dove si trovano posizionati nello spazio gli assi. Necessita quindi di un punto di riferimento fisso da cui calcolare la posizione. Questo riferimento chiamato comunemente Home,o anche zero macchina, è quello che in geometria chiameremmo origine degli assi. Con un punto di riferimento fisso è possibile per la macchina posizionarsi precisamente in qualsiasi coordinata nello spazio di lavoro, anche dopo lo spegnimento e riaccensione. Risulta quindi chiara la necessità di installare dei sensori che identifichino lo zero macchina con precisione.</td>
<td>
<p style="padding-left: 30px;"><a href="http://mindunpacked.com/risorse/cnc/sensori.JPG"><img class="alignnone" title="Sensori induttivi" src="http://mindunpacked.com/risorse/cnc/sensori.JPG" alt="" width="263" height="176" /></a></p>
</td>
</tr>
</tbody>
</table>
<p style="text-align: justify;">E' possibile usare varie tipologie di sensori, e se non si hanno esigenze particolari anche dei semplici interruttori meccanici (ripetibilità intorno ad 1 decimo per i più economici). Il mio consiglio è comunque quello di non risparmiare su questi componenti perché vi permetteranno di avere un punto di riferimento fisso, indispensabile per la ripresa dei lavori a distanza di giorni o anche per resettare gli assi a seguito di errore umano e/o meccanico (perdita passi dei motori).<br />
I sensori più adatti a questo scopo sono due:</p>
<ul>
<li style="text-align: justify;"><strong>Sensori induttivi e capacitivi</strong><br />
Il meccanismo di funzionamento è similare in entrambi ma i primi vengono attivati solo in presenza di metalli. I capacitivi si eccitano in prossimità di qualsiasi materiale. Hanno ripetibilità piuttosto alte, oltre 1 centesimo (la precisione aumenta col diminuire della distanza di rilevamento), ed il costo è relativamente contenuto per quello che offrono. Hanno un uscita NPN o PNP, oppure ambedue, e necessitano di alimentazione. Io ho installato sensori induttivi M8 (rilevamento a 2mm) ed ho usato dei semplici relè per ottenere un circuito chiuso o aperto a seconda dello stato del sensore. Alcuni dicono che i relè ritardano l'arrivo dell'impulso al controllo, è vero, ma ciò non va ad inficiare sulla precisione dell'azzeramento; semplicemente avverrà un po' dopo. Ad esempio i relè che ho utilizzato hanno un tempo di commutazione di 12 ms; se eseguo la procedura di azzeramento a 500 mm/min avrò l'effettivo azzeramento a -0.1 mm dall'attivazione del sensore.</li>
<li style="text-align: justify;"><strong>Sensori ad effetto Hall<br />
</strong>Sfruttano, come dice il nome, l'effetto hall che è un fenomeno elettromagnetico. Non sono precisi come gli induttivi o i capacitivi ma sono dei buoni sensori. Anche questi richiedono alimentazione dedicata ed hanno uscite PNP o NPN. Costano molto meno dei sensori che abbiamo visto prima e possono essere una buona scelta per una cnc economica.</li>
</ul>
<h3>L'elettromandrino</h3>
<p style="text-align: justify;">Parliamo ora dell'elemento fondamentale di una fresatrice cnc: l'elettromandrino.<br />
Con questo nome vengono spesso chiamati anche quei motori che non sono propriamente degli elettromandrini ma dei comuni motori a spazzole. Un vero elettromandrino può funzionare solo con un inverter che regoli la frequenza e non semplicemente con la 230v casalinga. Se avete costruito una buona meccanica vi sconsiglio di montare un motore a spazzole sulla cnc. I vantaggi di un elettromandrino HF sono considerevoli, fra cui:</p>
<ul>
<li style="text-align: justify;">Rumore contenuto, quasi assente in caso di raffreddamento a liquido</li>
<li style="text-align: justify;">Coppia maggiore a parità di potenza assorbita</li>
<li style="text-align: justify;">Con un buon inverter è possibile ottenere coppia costante su (quasi) qualsiasi valore di velocità.</li>
<li style="text-align: justify;">La velocità non diminuisce sotto sforzo (se la coppia necessaria dovesse essere superiore a quella che può fornire l'elettromandrino, l'inverter provvederà al su arresto).</li>
<li style="text-align: justify;">Non sono presenti contatti striscianti, quindi non sono facilmente soggetti ad usura come i motori a spazzole.</li>
</ul>
<p style="text-align: justify;">Ne esistono di moltissime potenze, da 350w fino a oltre 50 kw, a seconda degli sforzi che devono affrontare. Oltre alla potenza vanno tenuti in considerazione i cuscinetti. Alcuni elettromandrini possono sopportare solo carichi radiali (sforzo ortogonale all'asse motore), reggendo ben poco quelli assiali. Può sembrare un particolare da poco ma la differenza di costo è quasi doppia. Anche se pensate di non caricare eccessivamente il motore con sforzi assiali, dei cuscinetti appositi aumenteranno comunque la durata del motore.</p>
<p style="text-align: justify;">Solitamente gli elettromandrini di bassa potenza (1/5 kw) possiedono un'asse con annesso porta pinze standard (ER20, ER32 etc), quindi non necessitano di coni addizionali per il montaggio degli utensili.</p>
<table cellspacing="0">
<tbody>
<tr>
<td><a href="http://mindunpacked.com/risorse/cnc/inverter.png"><img class="alignnone" title="inverter toshiba VF S11" src="http://mindunpacked.com/risorse/cnc/inverter.png" alt="" width="241" height="181" /></a></td>
<td>
<p style="text-align: justify; padding-left: 30px;">Come ho detto prima un elettromadrino non può funzionare senza <strong>un inverter</strong> che gli fornisca la giusta potenza e frequenza. Nemmeno questo componente va sottovalutato e dovreste comprarne uno di qualità. Io mi sono affidato ad un inverter toshiba (quello che vedete in foto, il cui manuale è <a href="http://www.esco-antriebstechnik.de/pdf/VF-S11-Manual-IT.pdf" target="_blank">visibile qui</a>). Le sue dimensioni sono contenute e moltissime funzioni sono programmabili. Prestate bene attenzione a come collegate i fili del motore e alla frequenza massima che impostate: una configurazione errata potrebbe mettere fuori uso l'elettromandrino.</p>
</td>
</tr>
</tbody>
</table>
<p style="text-align: justify;">Quasi tutti gli inverter per motori permettono l'accensione del motore tramite interruttore esterno, quindi potrete collegarci un relè comandato dal software di controllo in modo da accendere e spegnere l'elettromandrino con i g-code (M3 - M5). E' possibile anche controllare la velocità via software con degli impulsi PWM, molti software di controllo lo consentono. Io personalmente ho preferito usare un potenziometro esterno; mi consente di intervenire manualmente sui giri del motore in modo più rapido e preciso.</p>
]]></content:encoded>
			<wfw:commentRss>http://mindunpacked.com/2011/fresa-cnc-elettronica2/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Elettronica delle macchine CNC: parte I</title>
		<link>http://mindunpacked.com/2011/frese-cnc-elettronica/</link>
		<comments>http://mindunpacked.com/2011/frese-cnc-elettronica/#comments</comments>
		<pubDate>Sat, 05 Nov 2011 15:52:31 +0000</pubDate>
		<dc:creator>Marco</dc:creator>
				<category><![CDATA[Elettronica]]></category>
		<category><![CDATA[elettronica cnc]]></category>
		<category><![CDATA[fresa cnc]]></category>

		<guid isPermaLink="false">http://mindunpacked.com/?p=838</guid>
		<description><![CDATA[Fatta chiarezza riguardo ai motori passiamo alla parte elettronica vera e propria. L'elettronica delle macchine cnc è solitamente composta da 4 elementi base: Alimentazione, Computer, Controller e Drivers. In questo articolo andrò a descrivere più o meno in dettaglio tutte queste componenti; tratterò anche la configurazione della mia fresa cnc motivando le scelte fatte. Vorrei [...]]]></description>
			<content:encoded><![CDATA[<p style="text-align: justify;">Fatta chiarezza riguardo <a href="http://mindunpacked.com/2011/motori_frese_cnc/" target="_blank">ai motori</a> passiamo alla parte elettronica vera e propria. L'<strong>elettronica delle macchine cnc</strong> è solitamente composta da 4 elementi base: Alimentazione, Computer, Controller e Drivers. In questo articolo andrò a descrivere più o meno in dettaglio tutte queste componenti; tratterò anche la configurazione della mia fresa cnc motivando le scelte fatte. Vorrei dire fin da subito che una buona elettronica è fondamentale in macchine di questo tipo perché permette di dare buoni risultati anche su meccaniche modeste, e non viceversa: elettroniche mal congegniate daranno pessimi risultati anche su meccaniche da migliaia di euro.<span id="more-838"></span><br />
Un gruppo elettronico che utilizza una comune scheda di breakout (trattata in seguito) può essere schematizzato in questo modo:</p>
<p><center><img class="aligncenter" src="http://mindunpacked.com/risorse/cnc/schema.jpeg" alt="" width="348" height="172" /></center></p>
<p style="text-align: justify;">Come vedete la configurazione è piuttosto semplice (lo sarà anche all'atto pratico) e per questo bisognerà riporre attenzione sulla scelta dei componenti.<br />
Detto ciò iniziamo con la parte meno complessa ma fondamentale.</p>
<h3 style="text-align: justify;">Alimentazione</h3>
<p style="text-align: justify;">L'alimentatore più critico  in un'elettronica cnc è senza dubbio quello riservato ai driver, ed in effetti ne ho già discusso nell'articolo sui motori. Personalmente ho scelto un alimentatore switching ma la scelta migliore sarebbe costruirsene uno non regolato. Oltre a poterlo adeguare ai voltaggi e alle correnti richieste, un alimentatore di quel tipo potrà far fronte più facilmente alle improvvise richieste di corrente dei motori stepper. Gli switching sono comunque un'ottima scelta considerando il rapporto prezzo/prestazioni.<br />
Va tenuto in considerazione che dei driver che gestiscono i motori a passo intero (in cui tutte le fasi richiedono sempre il massimo della corrente) assorbiranno più corrente rispetto a quelli che lavorano con i micropassi. Inoltre anche il voltaggio influisce sulla corrente assorbita: più è alto e meno corrente sarà richiesta all'alimentatore. In linea teorica dovrebbe bastare un alimentatore che eroghi la metà della corrente nominale del motore, io vi consiglio di usarne uno che riesca a darne almeno i 3/4; in questo modo non avrete nessun problema. Il mio switching può erogare 7.3A sui 48V. Avendo 3 motori da 3A nominali è più che sufficiente anche avendoli tutti sotto sforzo in contemporanea.</p>
<h3 style="text-align: justify;">Driver</h3>
<p>Un driver per motori passo-passo (tralascio quelli per i servo a cui servirebbe dedicare ben più spazio) riceve segnali a basso livello dal sistema di controllo e li converte in impulsi elettrici per azionare i motori.</p>
<table border="0">
<tbody>
<tr>
<td><a href="http://mindunpacked.com/risorse/cnc/drivers.png"><img class="alignnone" title="leadshine m542" src="http://mindunpacked.com/risorse/cnc/drivers.png" alt="" width="233" height="165" /></a></td>
<td>
<p style="text-align: justify; padding-left: 30px;">In un motore standard da 200 passi giro sono necessari 200 impulsi per completare una rivoluzione (ammesso di lavorare in full step). In modalità microstep quello che cambia è appunto il numero di impulsi generati per far compiere un giro al rotore, che possono arrivare anche oltre i 20000. La velocità e le prestazioni di coppia del motore dipendono dal flusso di corrente che va dal driver agli avvolgimenti del motore. Il fattore che inibisce questo flusso, o limita il tempo necessario alla corrente per eccitare l'avvolgimento, è noto come <strong>induttanza</strong>.</p>
</td>
</tr>
</tbody>
</table>
<p style="text-align: justify;">Anche questa cosa l'ho già detta nell'articolo sui motori: <em>Più bassa è l'induttanza, quindi più velocemente arriva la corrente agli avvolgimenti, e migliori saranno le prestazioni del motore</em>. Gli effetti dell'induttanza si riducono aumentando la tensione di alimentazione , non a caso tutti i driver di un certo livello pilotano i motori a voltaggi decisamente più elevati di quelli nominali.<br />
Esistono sostanzialmente due tipologie di driver ancora utilizzati:</p>
<ul>
<li style="text-align: justify;"><strong>Unipolari<br />
</strong>Il nome unipolare deriva dal fatto che il flusso di corrente è limitato ad una sola direzione. Un circuito di pilotaggio di questo tipo è poco costoso ma altresì limitato. Lo svantaggio principale è che non riesce ad eccitare tutti gli avvolgimenti nel medesimo istante e questo si manifesta in una riduzione della coppia del 40% circa.</li>
<li style="text-align: justify;"><strong>Chopper</strong><br />
Sono dei driver bipolari, attualmente i più efficienti e garantiscono elevate prestazioni. Per ogni step mandano inizialmente un impulso ad alto voltaggio alle spire del motore. Questo causa un innalzamento della corrente negli avvolgimenti come dalla seguente eguaglianza <span class='MathJax_Preview'><img src='http://mindunpacked.com/wp-content/plugins/latex/cache/tex_b12a6965bc3c587527a6e47904723416.gif' style='vertical-align: middle; border: none; ' class='tex' alt="\frac{\Delta I}{\Delta t} = \frac{V}{L} " /></span><script type='math/tex'>\frac{\Delta I}{\Delta t} = \frac{V}{L} </script> dove V è molto grande. Grazie ad un sensore in serie su ogni avvolgimento, il driver monitora la corrente che circola in esso e blocca l'alimentazione (grazie ad un set di transistor switching) al raggiungimento di un determinato valore. Questo taglio di tensione permette di mantenere gli avvolgimenti eccitati in modo ottimale.</li>
</ul>
<p style="text-align: justify;">Personalmente uso i driver che vedete nella foto qua sopra, sono dei leadshine M542, economici ma dalle buone prestazioni se non si hanno esigenze particolari. Ovviamente lavorano in modalità chopper e supportano il micropasso fino ad 1/125, selezionabile tramite dip switch. Praticamente tutti i driver dedicati hanno le medesime morsettiere, non sarà difficile effettuare gli opportuni collegamenti consultando il datasheet.<br />
Io per ora non ho avuto problemi di surriscaldamento ma è consigliabile montarli abbastanza distanziati fra loro per consentire una buona dissipazione del calore.</p>
<p style="text-align: justify;">Oltre agli ingressi per i segnali step/dir solitamente i driver possiedono un ingresso di abilitazione (Enable). Questo ingresso consente l'attivazione mediante un segnale logico alto e la disattivazione con uno basso.<br />
<em>Nota importante</em>: i driver non vanno alimentati a vuoto, cioè senza collegare i motori, perchè potrebbero saltare se sprovvisti delle adeguate protezioni.</p>
<h3 style="text-align: justify;">Scheda di controllo</h3>
<p style="text-align: justify;">I segnali step/dir che arrivano ai driver possono essere generati direttamente dal pc (ed in questo caso non si avrà bisogno di una vera e propria scheda di controllo) oppure da una logica integrata che riceve dal pc solo istruzioni ad alto livello. Un controllo dedicato ha molti vantaggi, in primis quello di generare impulsi molto più puliti e non essere vincolato al pc. Quest'ultimo punto è fondamentale soprattutto se utilizzate sistemi operativi instabili o multitasking che potrebbero ritardare dei segnali o addirittura bloccare l'esecuzione dei programmi. Questi problemi posso essere quasi eliminati usando il sistema operativo solo ed esclusivamente per comandare la macchina, ma ovviamente l'affidabilità non sarà mai paragonabile ad un controllo elettronico esterno.</p>
<table border="0">
<tbody>
<tr>
<td><a href="http://mindunpacked.com/risorse/cnc/skcontrollo.png"><img class="alignnone" title="breakout board cnc" src="http://mindunpacked.com/risorse/cnc/skcontrollo.png" alt="" width="235" height="177" /></a></td>
<td style="text-align: justify; padding-left: 30px;">Ritornando alle schede di controllo, per chi volesse farsi un'elettronica di questo tipo consiglio di dare uno sguardo ai siti di <a href="http://www.twintec.it/" target="_blank">Twintec</a> e <a href="http://dynomotion.com/index.htm" target="_blank">Dynomotion</a>. Con queste schede potete pure usare windows vista come sistema stando certi di non avere problemi con la macchina.<br />
Purtroppo questi controlli indipendenti costano parecchio e se la spesa risultasse sproporzionata al resto della componentistica vi conviene optare per un buon software che generi gli impulsi step/dir dal pc. In questo caso è sufficiente comprare (o anche costruirsi) una piccola scheda di breakout che consenta di interfacciarsi con la porta parallela (solitamente viene usata quella). Ogni pin avrà una sua funzione (in entrata o in uscita) impostabile dal software.</td>
</tr>
</tbody>
</table>
<p style="text-align: justify;">Oltre alle uscite per i driver potrete collegare sensori di finecorsa e di home, pulsante di emergenza, tastatore etc. con il solo limite dei 25 pin disponibili.<br />
E' possibile, e lo consiglio, installare anche dei relè che vi permetteranno di azionare via software l'elettromandrino, la pompa per il liquido refrigerante e qualsiasi altro dispositivo elettrico che vorrete abbinare alla CNC.<br />
Queste schede devono essere optoisolate per evitare di danneggiare la porta parallela del pc, quindi necessitano di un'alimentazione, solitamente a 5v. Se riuscite ad integrare nel box elettronica anche il pc vi conviene utilizzare il suo alimentatore per prelevare la tensione necessaria; userete un solo alimentatore per due scopi.</p>
<p style="text-align: justify;">Nel prossimo articolo tratterò del PC e dell'elettronica ausiliaria.</p>
]]></content:encoded>
			<wfw:commentRss>http://mindunpacked.com/2011/frese-cnc-elettronica/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Fresatrici CNC: i motori</title>
		<link>http://mindunpacked.com/2011/motori_frese_cnc/</link>
		<comments>http://mindunpacked.com/2011/motori_frese_cnc/#comments</comments>
		<pubDate>Sat, 29 Oct 2011 16:15:53 +0000</pubDate>
		<dc:creator>Marco</dc:creator>
				<category><![CDATA[Elettronica]]></category>
		<category><![CDATA[fresa cnc]]></category>
		<category><![CDATA[motori passo passo]]></category>

		<guid isPermaLink="false">http://mindunpacked.com/?p=756</guid>
		<description><![CDATA[Eccoci al secondo articolo riguardante le frese CNC (tanto per usare il termine comune, anche se scorretto). Di seguito andremo a trattare quella che è la parte fondamentale di una macchina cnc: i motori. Se con la meccanica sono stato piuttosto sbrigativo qui vorrei entrare più nei particolari e chiarire alcuni concetti che spesso vengono [...]]]></description>
			<content:encoded><![CDATA[<p style="text-align: justify;">Eccoci al secondo articolo riguardante le<strong> frese CNC</strong> (tanto per usare il termine comune, anche se scorretto). Di seguito andremo a trattare quella che è la parte fondamentale di una macchina cnc: i motori. Se con la meccanica sono stato piuttosto sbrigativo qui vorrei entrare più nei particolari e chiarire alcuni concetti che spesso vengono colti in modo errato. Quello che non farò è descrivere il funzionamento dei motori, se non a grandi linee (posso però consigliarvi questo <a title="teoria motori brushless e stepper" href="http://mindunpacked.com/risorse/motori_stepper-brushless.pdf" target="_blank">breve ma chiaro documento</a>); ci sono moltissime informazioni a riguardo e questa serie di articoli vuole incentrarsi sulle fresatrici CNC, quindi come i vari componenti lavorano fra di loro e non come lavorano singolarmente.<span id="more-756"></span><br />
Fatta questa premessa iniziamo col descrivere brevemente i motori più utilizzati sulle fresatrici a controllo numerico:</p>
<h3>Servomotori brushless</h3>
<p style="text-align: justify;">Inizio con questi perché poi andrò a descrivere in modo più dettagliato la configurazione dei motori passo passo (con cui ho avuto esperienza sulla mia macchina).<br />
Si tratta di motori sincroni trifase dotati di magneti permanenti, solitamente costituiti da terre rare (Samario-Cobalto, Neodimio-Ferro-Boro) . Questi motori sono l'ideale per gestire spostamenti rapidi e precisi mantenendo coppie elevate. Oltre al vantaggio di non avere contatti striscianti possiedono degli encoder che tengono traccia dei posizionamenti eliminando di fatto la possibilità di errore. Hanno una reazione molto rapida, circa la metà dei comuni motori in CC, e questo permette accelerazioni e decelerazioni molto rapide. Possono lavorare tranquillamente anche in condizioni ambientali non comuni quali alte temperature, umidità elevata etc.</p>
<table border="0">
<tbody>
<tr>
<td><a href="http://mindunpacked.com/risorse/cnc/servomotore.png"><img class="alignnone" title="Sezione servomotore" src="http://mindunpacked.com/risorse/cnc/servomotore.png" alt="Sezione servomotore" width="278" height="232" /></a></td>
<td>
<p style="text-align: justify; padding-left: 30px;">Vi chiederete se hanno dei difetti, ma l'unico potrebbe essere il costo. I servo brushless per funzionare hanno bisogno di inverter, encoder di posizione ed un'elettronica di controllo dedicata. Solitamente i brushless concepiti per essere montati su fresatrici CNC vengono venduti insieme a tutta l'elettronica in grado di farli funzionare a dovere. E' ovviamente possibile comprarsi i vari componenti separatamente e procedere alla programmazione da sè.<br />
Alcuni drivers per servo brushless accettano in ingresso segnali step/dir (li stessi usati per pilotare i passo passo) e quindi possono essere comandati anche da software non molto costosi. Per una fresatrice CNC hobbistica andrebbe più che bene.</p>
</td>
</tr>
</tbody>
</table>
<p style="text-align: justify;">Montare questo tipo di motori su una fresatrice CNC è sicuramente il meglio, come sempre però le varie componenti vanno equilibrate. Dei motori del genere non si possono sfruttare su meccaniche che flettono o vibrano facilmente, soprattutto per le rapide accelerazioni e coppie generate. Fra l'altro stiamo parlando di motori che possono costare anche 300 euro a pezzo (quelli piccoli), compresi di controllo.<br />
Al lato pratico comunque è quasi più facile montare questi motori piuttosto che i passo passo; spesso i kit in vendita sono già pre-cablati e configurati.</p>
<h2 style="text-align: justify;"><strong>Motori passo passo</strong></h2>
<p style="text-align: justify;">Questo genere di motori sono i più utilizzati nelle frese CNC hobbistiche e venivano usati alcuni decenni fa anche in quelle professionali. La differenza fondamentale rispetto ai servomotori è che non funzionano a ciclo chiuso, quindi nessuna retroazione. Un motore passo passo comune non sa di quanto si sta muovendo e quindi non è possibile agire per eliminare errori. E' possibile montare comunque degli encoder ma l'affidabilità non è comunque comparabile ai servomotori. Non richiedono elettroniche complesse per funzionare potendo essere pilotati da semplici segnali step/dir.<br />
Oltre agli ampere di assorbimento ed alla coppia generata, un valore importante da tenere in considerazione (spesso trascurato) è l'induttanza: uno stepper con un'induttanza alta offrirà più coppia a bassi giri ma meno coppia ad alti giri. E' possibile ridurre in parte questo problema montando dei driver che lavorano in <em>modalità chopper</em>.</p>
<pre></pre>
<table border="0">
<tbody>
<tr>
<td><a href="http://mindunpacked.com/risorse/cnc/stepper.png"><img class="alignnone" title="Sezione motore passo passo" src="http://mindunpacked.com/risorse/cnc/stepper.png" alt="" width="290" height="185" /></a></td>
<td>
<p style="text-align: justify; padding-left: 30px;">Un motore stepper è in grado di muoversi a step (passi) grazie a degli impulsi digitali che attivano/disattivano determinati avvolgimenti, quindi bloccando il rotore mediante campi magnetici. Comunemente questi motori hanno <strong>200 passi a giro</strong>, ad ogni passo l'albero ruoterà di 1.8° ( <span class='MathJax_Preview'><img src='http://mindunpacked.com/wp-content/plugins/latex/cache/tex_32e9b7f60a927215e42c172cc5f93499.gif' style='vertical-align: middle; border: none; ' class='tex' alt="\frac{360}{200} " /></span><script type='math/tex'>\frac{360}{200} </script>). Questo parametro, unito al passo della vite di trasmissione, permetterà al programma di controllo di inviare degli impulsi adeguati per dei movimenti di estensione arbitraria. Pilotare uno di questi motori a <strong>passo intero</strong> è riduttivo e provoca notevoli vibrazioni durante il movimento.</p>
</td>
</tr>
</tbody>
</table>
<p style="text-align: justify;">Faccio un esempio pratico prendendo come riferimento la mia macchina. Io ho montato dei motori passo passo da 200 passi giro; Le viti di trasmissione hanno passo 4mm. Se pilotassi i motori in full step (tralasciando il rumoraccio generato) otterrei una risoluzione di  <span class='MathJax_Preview'><img src='http://mindunpacked.com/wp-content/plugins/latex/cache/tex_7551ea2f9e421a2dd868098ea8a06ebf.gif' style='vertical-align: middle; border: none; ' class='tex' alt="\frac{4}{200} = 0.02 " /></span><script type='math/tex'>\frac{4}{200} = 0.02 </script>. Cioè lo spostamento minimo sarà di 2 centesimi.<br />
Usando degli azionamenti a microstepping (di cui parlerò in un altro articolo) è possibile far posizionare il rotore in posizioni intermedie, arrivando anche a 25600 passi giro. Quest'ultimo settaggio è esagerato e riduce la coppia motore enormemente, come vedremo tra poco. Personalmente trovo che 800 passi giro siano il giusto compromesso: i movimenti sono fluidi, la coppia rimane sufficiente e la risoluzione è più che adeguata. Saranno anche i settaggi di accelerazione e velocità iniziale a garantire dei buoni movimenti senza perdita di passi.<br />
Piccola nota: questo genere di motori è studiato per lavorare a temperature relativamente alte, solitamente tra i 50° ed i 80° centigradi, quindi nessun problema se al tatto li sentite scottare.</p>
<h3 style="text-align: justify;">Microstepping e coppia</h3>
<p style="text-align: justify;">Come ho accennato prima la coppia nominale del motore diminuisce all'aumentare del microstepping. Il motore è in grado di generare la sua coppia massima solo quando il rotore si trova bloccato in uno dei 200 passi fisici e non nelle frazioni. Questo significa che se si trova in una posizione intermedia la forza necessaria a sbloccarlo sarà minore. E' possibile calcolare la caduta di coppia a diversi micropassi con questa formula:</p>
<h3 style="text-align: center;"><span class='MathJax_Preview'><img src='http://mindunpacked.com/wp-content/plugins/latex/cache/tex_84e76dce1eb4b9617d897bb7b267553f.gif' style='vertical-align: middle; border: none; ' class='tex' alt="F_r = F_n \sin{\frac{90}{microsteps}} " /></span><script type='math/tex'>F_r = F_n \sin{\frac{90}{microsteps}} </script></h3>
<p>Con un motore da 3 Nm pilotato a 8 micropassi avremo quindi:</p>
<h3 style="text-align: center;"><span class='MathJax_Preview'><img src='http://mindunpacked.com/wp-content/plugins/latex/cache/tex_156901f856fcfab7d50010517c44f4fc.gif' style='vertical-align: middle; border: none; ' class='tex' alt=" 3 \sin{\frac{90}{8}} = 0,4693 Nm " /></span><script type='math/tex'> 3 \sin{\frac{90}{8}} = 0,4693 Nm </script></h3>
<p style="text-align: justify;">malgrado la coppia cali in modo esponenziale il problema non è molto rilevante per delle macchine cnc hobbistiche. Con viti passo 4 e rapporto motore/vite 1:1 avremo comunque la massima coppia ogni 2 centesimi di spostamento, ed il 70% ogni centesimo.</p>
<h3 style="text-align: justify;">Alimentazione</h3>
<p style="text-align: justify;">I motori passo passo solitamente possono lavorare a voltaggi decisamente bassi, attorno ai 5v per fase.  Sfortunatamente un motore stepper che lavora a quei voltaggi viaggerebbe a velocità ridicole (parlo di poche decine di giri al minuto). La realtà è che i volt di alimentazione devono essere maggiori dalle 3 alle 20 volte da quelli ricavati in forma teorica. Per forma teorica intendo misurare la resistenza degli avvolgimenti e, conoscendo gli ampere, ricavare il voltaggio con la legge di ohm:</p>
<h3 style="text-align: center;"><span class='MathJax_Preview'><img src='http://mindunpacked.com/wp-content/plugins/latex/cache/tex_8511719a3f6d37eaa51d8a7163eb285a.gif' style='vertical-align: middle; border: none; ' class='tex' alt="V = RI " /></span><script type='math/tex'>V = RI </script></h3>
<p style="text-align: justify;">Nel mio caso specifico otterrei un voltaggio di 4,2V, che moltiplicati per gli ampere darebbero solo 12,6 watt di potenza assorbita. E' logico che 12,6 watt non sono sufficienti a spostare una meccanica da parecchi chili a 3500 mm/min (sempre nel mio specifico caso), quindi la verità è un'altra.<br />
Usando degli azionamenti che pilotano il motore a voltaggi diverse volte più alti di quelli nominali si otterranno prestazioni migliori. I miei driver sono da 48V e le prestazioni posso definirle buone. Anche in questo caso però non è corretto moltiplicare il voltaggio dei driver per l'assorbimento di corrente dei motori; così facendo si otterrebbe un valore di picco raramente raggiungibile, anche considerando che i driver più moderni regolano la tensione in uscita a seconda del carico. Quello che dico potete verificarlo applicando un amperometro all'uscita dell'alimentatore mentre la macchina è in lavorazione. Comunemente un alimentatore che regga i 3/4 dei watt di picco è sufficiente.</p>
]]></content:encoded>
			<wfw:commentRss>http://mindunpacked.com/2011/motori_frese_cnc/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Fresatrici CNC: introduzione</title>
		<link>http://mindunpacked.com/2011/fresatrici_cnc/</link>
		<comments>http://mindunpacked.com/2011/fresatrici_cnc/#comments</comments>
		<pubDate>Tue, 25 Oct 2011 20:12:25 +0000</pubDate>
		<dc:creator>Marco</dc:creator>
				<category><![CDATA[Altro]]></category>
		<category><![CDATA[Elettronica]]></category>
		<category><![CDATA[controllo numerico]]></category>
		<category><![CDATA[fresa cnc]]></category>
		<category><![CDATA[meccanica]]></category>

		<guid isPermaLink="false">http://mindunpacked.com/?p=713</guid>
		<description><![CDATA[Con questo inizio una serie di articoli riguardanti le macchine CNC ed il loro funzionamento. La cosa non è casuale perché proprio in questi giorni sto terminando una fresatrice cnc autocostruita. Detto ciò non è mia intenzione rivangare sempre le stesse definizioni che oramai si trovano facilmente sul web, ma approfondire alcuni aspetti della costruzione [...]]]></description>
			<content:encoded><![CDATA[<p style="text-align: justify;">Con questo inizio una serie di articoli riguardanti le <strong>macchine CNC</strong> ed il loro funzionamento. La cosa non è casuale perché proprio in questi giorni sto terminando una<strong> fresatrice cnc</strong> autocostruita. Detto ciò non è mia intenzione rivangare sempre le stesse definizioni che oramai si trovano facilmente sul web, ma approfondire alcuni aspetti della costruzione di una fresatrice CNC <span id="more-713"></span>concentrandomi in particolare sulla parte elettronica ed informatica. Illustrerò in particolare come ho voluto strutturare la mia fresa CNC, senza nulla togliere ad altre configurazioni che ho ritenuto non adatte ai miei scopi.</p>
<h2 style="text-align: justify;"><strong>Meccanica</strong></h2>
<p style="text-align: justify;">Già qui ci sarebbe moltissimo da dire, ma dal momento che non sono un meccanico e mai lo sarò, mi limiterò ad una breve descrizione della meccanica standard di una fresatrice CNC.<br />
Il concetto di base è molto intuitivo, vogliamo ottenere una struttura costituita da almeno 3 assi mobili (X, Y, Z) fra loro <em>ortogonali</em>. In questo modo avremo uno spazio euclideo in cui è possibile rintracciare un qualsiasi punto mediante 3 coordinate. L'aggettivo "ortogonale" è molto facile da immaginare in astratto ma un po' meno da mettere in pratica, eppure è fondamentale per ottenere degli spostamenti geometricamente esatti.<br />
Per costruire una meccanica precisa è fondamentale utilizzare apparecchiature di precisione nonché materiali di una certa solidità. La meccanica della mia fresatrice CNC è stata costruita (non da me personalmente) esclusivamente con alluminio ed acciaio che conferiscono una certa robustezza al tutto (anche se ovviamente non è il top sotto questo aspetto), lavorati con macchine cnc e rettificati ove necessario.<br />
A seconda della pesantezza delle lavorazioni che si vorranno eseguire in macchina ci sono due tipi di configurazioni attuabili:</p>
<ul>
<li>Meccanica a ponte fisso</li>
<li>Meccanica a ponte mobile</li>
</ul>
<p style="text-align: justify;"> La prima è sicuramente quella più rigida e consiste in un asse Y completamente svincolato dall'asse X. Quest'ultimo diventa quindi il piano della fresatrice, capace di muoversi avanti ed indietro. Svincolando l'asse Y dalla X si avrà una notevole riduzione delle vibrazioni durante le lavorazioni; i movimenti sull'asse Y non influenzeranno minimamente quelli dell'asse X consentendo più precisione su materiali particolarmente duri (vedi metalli).<br />
Una meccanica a ponte mobile (quella in mio possesso) ha tutti gli assi vincolati fra loro. Significa che l'asse X durante gli spostamenti si porta dietro anche la Y e la Z. Di rimando gli spostamenti di questi ultimi due assi graveranno sull'asse X (e viceversa) accentuando le vibrazioni complessive e quindi diminuendo la precisione.</p>
<p style="text-align: justify;">Queste sono le due idee base da cui partire, l'ingegnerizzazione complessiva tuttavia non è per nulla elementare se si vuole ottenere un risultato soddisfacente. La progettazione meccanica è senza dubbio una parte da non trascurare, solo così si potrà ottenere una buona macchina funzionante entro certe tolleranze.</p>
<h3 style="text-align: justify;">Materiali</h3>
<p style="text-align: justify;">E' possibile utilizzare molti tipi di materiali per la costruzione della meccanica, tuttavia i più usati ed i più consoni sono l'allumino e l'acciaio. Le leghe di alluminio più usate sono l'anticorodal, l'avional e l'ergal. Quest'ultimo è quello che offre la migliore resistenza meccanica ma il suo costo è elevato. Il vantaggio di usare l'alluminio è la sua facilità di lavorazione ed il basso peso specifico confrontato all'acciaio.<br />
Se avete intenzione di costruire una meccanica con parti in acciaio saldate dovreste prendere in considerazione un processo di <a href="http://it.wikipedia.org/wiki/Normalizzazione_(metallurgia)" target="_blank">normalizzazione</a> da effettuare prima della rettifica; diversamente la struttura tenderà a deformarsi con il tempo anche in modo considerevole.<br />
Strutture in MDF o legno multistrato possono essere prese in considerazione ove non si richiedano particolari precisioni.</p>
<h3 style="text-align: justify;">Guide e viti di trasmissione</h3>
<p>Questi due elementi permettono il movimento degli assi ed ovviamente andranno scelti con un po' di giudizio (non si andranno mai a mettere guide lineari su di una struttura in legno, tanto per fare un esempio limite). Anche in questo caso si possono fare varie scelte a seconda delle esigenze, iniziamo dalle guide:</p>
<ul>
<li>Guide circolari non supportate (vari diametri)</li>
<li>Guide circolari supportate</li>
<li>Guide lineari a ricircolo di sfere</li>
</ul>
<p style="text-align: justify;">Le prime sono le guide più economiche che comunque hanno un certo grado di precisione (alcuni si costruiscono delle guide con profilati di allumino o guide per cassetti, ma ovviamente gli attriti ed i giochi sono enormi a confronto). Si trovano in vari diametri (meglio abbondare per evitare flessioni) e sono in acciaio temprato e rettificato. Gli assi scorrono su queste guide grazie a dei manicotti a ricircolo di sfere.<br />
Le guide supportare sono praticamente la stessa cosa, semplicemente la loro flessione è quasi nulla dal momento che vengono fissate ad una parte fissa della macchina.<br />
Le guide lineari a ricircolo di sfere sono il top e vengono utilizzate in tutte le macchine professionali. Necessitano di un supporto fisso e consistono in un profilato di acciaio (binario) su cui scorrono dei pattini a ricircolo di sfere. Questo tipo di guide hanno gioco 0 ed attriti molto ridotti, il costo è ovviamente proporzionato a queste peculiarità.</p>
<p style="text-align: justify;">Le viti di trasmissione sono ovviamente essenziali per il movimento degli assi sulle rispettive guide. Le viti vengono collegate ai motori direttamente (con <a href="http://en.wikipedia.org/wiki/Coupling#Oldham" target="_blank">giunto oldham</a>) oppure tramite cinghia. Le viti utilizzate nelle macchine cnc (in particolare fresatrici e torni) sono 2:</p>
<ul>
<li>Viti a sezione trapezoidale</li>
<li>Viti a ricircolo di sfere</li>
</ul>
<p style="text-align: justify;">La mia fresatrice monta delle viti a ricircolo. La caratteristica di queste viti è (come abbiamo visto per le guide lineari) il loro attrito molto basso ed il gioco quasi nullo che consente precisioni anche millesimali.<br />
Le viti trapezie sono molto più economiche ma i giochi sono nell'ordine dei centesimi e l'attrito è decisamente più elevato. Inoltre la chiocciola che consente l'effettiva movimentazione dell'asse è più soggetta ad usura.<br />
Una cosa importante da tenere in considerazione è il passo della vite. Maggiore sarà il passo e maggiore sarà lo spostamento dell'asse a parità di giri. Purtroppo all'aumentare del passo aumenta anche la forza necessaria a spostare la massa collegata alla chiocciola, e quindi la potenza del motore.</p>
<p style="text-align: justify;">Raramente in ambito hobbistico per la trasmissione del moto vengono utilizzate delle cremagliere. Costruire una cnc con trasmissione a pignone/cremagliera è un po' più complesso e necessita di molta più precisione nel posizionamento di questi due elementi...</p>
<p style="text-align: justify;">Termino questo articolo con alcune foto della meccanica della mia fresatrice CNC:</p>
<table border="0">
<tbody>
<tr>
<td style="text-align: center;"><a href="http://mindunpacked.com/risorse/cnc/giunto2.jpg"><img class="aligncenter" title="giunto oldham" src="http://mindunpacked.com/risorse/cnc/giunto2.jpg" alt="giunto oldham" width="288" height="216" /></a></td>
<td style="text-align: center;"><a href="http://mindunpacked.com/risorse/cnc/viti.jpg"><img class="aligncenter" title="viti a ricircolo di sfere" src="http://mindunpacked.com/risorse/cnc/viti.jpg" alt="viti a ricircolo di sfere" width="202" height="269" /></a></td>
</tr>
<tr>
<td><a href="http://mindunpacked.com/risorse/cnc/xasse.jpg"><img class="aligncenter" title="guida asse X" src="http://mindunpacked.com/risorse/cnc/xasse.jpg" alt="guida asse X" width="288" height="216" /></a></td>
<td><a href="http://mindunpacked.com/risorse/cnc/i.jpg"><img class="aligncenter" title="Tave ipe - basamento macchina" src="http://mindunpacked.com/risorse/cnc/i.jpg" alt="Tave ipe - basamento macchina" width="288" height="216" /></a></td>
</tr>
</tbody>
</table>
]]></content:encoded>
			<wfw:commentRss>http://mindunpacked.com/2011/fresatrici_cnc/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Matematica e Poker, parte II: Probabilità, valore atteso e varianza</title>
		<link>http://mindunpacked.com/2011/matematica-e-poker-parte-ii-probabilita-valore-atteso-e-varianza/</link>
		<comments>http://mindunpacked.com/2011/matematica-e-poker-parte-ii-probabilita-valore-atteso-e-varianza/#comments</comments>
		<pubDate>Sat, 22 Oct 2011 19:06:20 +0000</pubDate>
		<dc:creator>Francesco</dc:creator>
				<category><![CDATA[Altro]]></category>

		<guid isPermaLink="false">http://mindunpacked.com/?p=665</guid>
		<description><![CDATA[Nel precedente articolo ho introdotto questa serie e abbiamo esaminato due concetti importanti (gioco ottimale e gioco speculativo) che torneranno ad essere trattati sicuramente più in là; in questo, invece, introdurremo alcuni strumenti matematici di base senza i quali non possiamo procedere con la nostra trattazione. In particolare parleremo di probabilità, valore atteso (expected value, [...]]]></description>
			<content:encoded><![CDATA[<p><script type="text/javascript">// <![CDATA[
(function () {
  var script = document.createElement("script");
  script.type = "text/javascript";
  script.src  = "http://cdn.mathjax.org/mathjax/latest/MathJax.js";</p>
<p>  var config = 'MathJax.Hub.Config({' +
                 'extensions: ["tex2jax.js"],' +
                 'jax: ["input/TeX","output/HTML-CSS"]' +
               '});' +
               'MathJax.Hub.Startup.onload();';</p>
<p>  if (window.opera) {script.innerHTML = config}
               else {script.text = config}</p>
<p>  document.getElementsByTagName("head")[0].appendChild(script);
})();
// ]]&gt;</script></p>
<p style="text-align: justify;">Nel <a title="Matematica e Poker, parte I: Introduzione" href="http://mindunpacked.com/2011/matematica-e-poker-parte-i-introduzione/" target="_blank">precedente articolo</a> ho introdotto questa serie e abbiamo esaminato due concetti importanti (gioco ottimale e gioco speculativo) che torneranno ad essere trattati sicuramente più in là; in questo, invece, introdurremo alcuni strumenti matematici di base senza i quali non possiamo procedere con la nostra trattazione. In particolare parleremo di <strong>probabilità</strong>, <strong>valore atteso</strong> (<strong>expected value</strong>, d'ora in poi abbreviato in EV), e infine di <strong>varianza</strong>. Il valore atteso può essere considerato senza ombra di dubbio, il concetto più importante che qualsiasi giocatore di poker (ma anche giocatore d'azzardo in generale) deve conoscere.</p>
<p><span id="more-665"></span></p>
<p style="text-align: justify;">Per quanto la probabilità sia un concetto intuitivamente semplice, non ne esiste una definizione univoca. Per un approfondimento su questo argomento potete visitare <a title="Probabilità - Wikipedia" href="http://it.wikipedia.org/wiki/Probabilit%C3%A0" target="_blank">la relativa pagina di Wikipedia</a>; in questo articolo, comunque, useremo la cosidetta definizione "frequentista" che afferma che la probabilità di un evento A è pari al limite a cui tende la frequenza relativa dell'evento al crescere del numero degli esperimenti. In termini matematici:<br />
<p style='text-align:center;'><span class='MathJax_Preview'><img src='http://mindunpacked.com/wp-content/plugins/latex/cache/tex_eaf4fee3a44918faa2873483215ba05f.gif' style='vertical-align: middle; border: none;' class='tex' alt="P(A) = \lim_{n \to \infty} \frac{n_A}{n}  " /></span><script type='math/tex;  mode=display'>P(A) = \lim_{n \to \infty} \frac{n_A}{n}  </script></p><br />
Dove <span class='MathJax_Preview'><img src='http://mindunpacked.com/wp-content/plugins/latex/cache/tex_f0cd8d84abf8b012a4f75e9a07f26b3e.gif' style='vertical-align: middle; border: none; ' class='tex' alt="n_A " /></span><script type='math/tex'>n_A </script> è appunto il numero delle volte in cui si verifica l'esito di cui stiamo misurando la probabilità, ed <span class='MathJax_Preview'><img src='http://mindunpacked.com/wp-content/plugins/latex/cache/tex_6fa45c22bd311a4aa532cffb668d86a0.gif' style='vertical-align: middle; border: none; padding-bottom:2px;' class='tex' alt="n " /></span><script type='math/tex'>n </script> è il numero totale degli esperimenti. Un numero che rappresenta una probabilità è quindi un numero compreso tra 0 e 1 (poiché <span class='MathJax_Preview'><img src='http://mindunpacked.com/wp-content/plugins/latex/cache/tex_81c02308decfa8602d4627f2cd1ce991.gif' style='vertical-align: middle; border: none; ' class='tex' alt="n_A < n " /></span><script type='math/tex'>n_A < n </script>  per definizione), dove <strong>1 rappresenta un evento certo e 0 un evento impossibile</strong>.</p>
<p>In base a questa definizione possiamo calcolare, per esempio, la probabilità che una carta estratta da un mazzo standard di carte francesi di 52 carte sia una carta di cuori: per farlo potremmo procedere estraendo migliaia di carte e calcolando la frequenza con cui l'evento si verifica oppure, più semplicemente, calcolare il rapporto <span class='MathJax_Preview'><img src='http://mindunpacked.com/wp-content/plugins/latex/cache/tex_bfb49a08e575e96e97711d10f76c9dba.gif' style='vertical-align: middle; border: none; ' class='tex' alt="\frac{13}{52} " /></span><script type='math/tex'>\frac{13}{52} </script> partendo dal presupposto che ogni carta ha la stessa probabilità di essere estratta (<span class='MathJax_Preview'><img src='http://mindunpacked.com/wp-content/plugins/latex/cache/tex_212684eaacec446084540bb1c11f9ad4.gif' style='vertical-align: middle; border: none; ' class='tex' alt="\frac{1}{52} " /></span><script type='math/tex'>\frac{1}{52} </script>) e che ci sono 13 carte di cuori nel mazzo. La probabilità finale è quindi <span class='MathJax_Preview'><img src='http://mindunpacked.com/wp-content/plugins/latex/cache/tex_498a4c7045a2356f39ba1a860dda931b.gif' style='vertical-align: middle; border: none; ' class='tex' alt="\frac{13}{52} = 0.25 " /></span><script type='math/tex'>\frac{13}{52} = 0.25 </script> cioè del 25%.</p>
<p><strong> Nota</strong>: la definizione di probabilità che abbiamo dato presuppone lo svolgimento di un numero di esperimenti tendente a infinito, ma ovviamente noi calcoleremo sempre le probabilità come abbiamo appena fatto in questo esempio; la definizione può però essere applicata quando un calcolo di questo tipo non è così immediato ed è necessario ricorrere ad una simulazione (solitamente computerizzata) in cui si misura la frequenza dell'evento.</p>
<p>Dati due eventi A e B essi possono essere legati tra loro in due modi: possono essere eventi indipendenti o dipendenti. Se A e B sono due eventi indipendenti il fatto che uno dei due si verifichi non influisce in alcun modo sull'altro evento. Gli eventi A = "pesco dal mazzo una carta di cuori" B = "pesco dal mazzo un asso" sono eventi indipendenti. In questo caso la probabilità che entrambi gli eventi si verifichino è pari al prodotto delle singole probabilità <span class='MathJax_Preview'><img src='http://mindunpacked.com/wp-content/plugins/latex/cache/tex_c6558d8abcab6eb7debebe4d376e6fc2.gif' style='vertical-align: middle; border: none; ' class='tex' alt=" P(A)P(B)  " /></span><script type='math/tex'> P(A)P(B)  </script> (vale per tutti gli eventi indipendenti). Se due eventi A e B sono dipendenti, al contrario, il verificarsi di uno modifica la probabilità dell'altro. Se in questo caso volessimo calcolare la probabilità del verificarsi di entrambi gli eventi dovremmo calcolare il seguente prodotto: <p style='text-align:center;'><span class='MathJax_Preview'><img src='http://mindunpacked.com/wp-content/plugins/latex/cache/tex_c3b9de8262f5fc600c4c10d3f293acfd.gif' style='vertical-align: middle; border: none;' class='tex' alt="\ P(A \cap B) = P(A)P(B|A)  " /></span><script type='math/tex;  mode=display'>\ P(A \cap B) = P(A)P(B|A)  </script></p> Dove con <span class='MathJax_Preview'><img src='http://mindunpacked.com/wp-content/plugins/latex/cache/tex_b3ef82beca6a69b1db6558a3e0269775.gif' style='vertical-align: middle; border: none; ' class='tex' alt=" P(B|A)  " /></span><script type='math/tex'> P(B|A)  </script> si intende la probabilità condizionata di B dato A, cioè la probabilità che si verifichi B dopo che A si è già verificato. Se <span class='MathJax_Preview'><img src='http://mindunpacked.com/wp-content/plugins/latex/cache/tex_84ac387ee159089771b2584679e372e6.gif' style='vertical-align: middle; border: none; ' class='tex' alt=" P(B|A) = P(B)  " /></span><script type='math/tex'> P(B|A) = P(B)  </script> allora ovviamente gli eventi non sono dipendenti. Per fare un esempio, calcoliamo la probabilità che ci venga data una mano con due carte di cuori. A = "la prima carta estratta è di cuori" B = "la seconda carta estratta è di cuori" La probabilità di estrarre una carta di cuori dal mazzo è, come abbiamo già calcolato in precedenza, pari a <span class='MathJax_Preview'><img src='http://mindunpacked.com/wp-content/plugins/latex/cache/tex_40ef7fe7b33bf6776e1f901bf2aba49e.gif' style='vertical-align: middle; border: none; ' class='tex' alt=" \frac{13}{52}  " /></span><script type='math/tex'> \frac{13}{52}  </script>. Se però la prima carta estratta dal mazzo è una carta di cuori, la probabilità che anche la seconda lo sia sarà leggermente inferiore. Abbiamo detto quindi che <span class='MathJax_Preview'><img src='http://mindunpacked.com/wp-content/plugins/latex/cache/tex_d92e3ac78856905de7cefc920d7a31ae.gif' style='vertical-align: middle; border: none; ' class='tex' alt=" P(A) = \frac{13}{52}  " /></span><script type='math/tex'> P(A) = \frac{13}{52}  </script> mentre <span class='MathJax_Preview'><img src='http://mindunpacked.com/wp-content/plugins/latex/cache/tex_b3ef82beca6a69b1db6558a3e0269775.gif' style='vertical-align: middle; border: none; ' class='tex' alt=" P(B|A)  " /></span><script type='math/tex'> P(B|A)  </script> sarà pari a <span class='MathJax_Preview'><img src='http://mindunpacked.com/wp-content/plugins/latex/cache/tex_b5b75436d64f83cfb652c197af2fde3d.gif' style='vertical-align: middle; border: none; ' class='tex' alt=" \frac{12}{51}  " /></span><script type='math/tex'> \frac{12}{51}  </script>, dove 12 sono le carte di cuori rimaste mentre 51 sono le carte totali del mazzo. <p style='text-align:center;'><span class='MathJax_Preview'><img src='http://mindunpacked.com/wp-content/plugins/latex/cache/tex_f614172330d38e95cf16123aeb57f9a0.gif' style='vertical-align: middle; border: none;' class='tex' alt=" P(A \cap B) = P(A)P(B|A) = \frac{13}{52} * \frac{12}{51} = 0.059  " /></span><script type='math/tex;  mode=display'> P(A \cap B) = P(A)P(B|A) = \frac{13}{52} * \frac{12}{51} = 0.059  </script></p></p>
<p>Spesso però è utile considerare, piuttosto che la probabilità di un singolo evento, quella di un insieme di eventi: per fare ciò dobbiamo utilizzare le cosiddette distribuzioni di probabilità. Una distribuzione di probabilità non è altro che una funzione che associa ad ogni evento una probabilità, con la caratteristica che la somma delle probabilità di tutti i singoli eventi che appartengono alla distribuzione sia pari ad 1. La distribuzione associata al lancio di un dado è: <p style='text-align:center;'><span class='MathJax_Preview'><img src='http://mindunpacked.com/wp-content/plugins/latex/cache/tex_6d9892ca7f33f56db677b850f01e3dff.gif' style='vertical-align: middle; border: none;' class='tex' alt=" \{(1, \frac{1}{6}), (2, \frac{1}{6}), (3, \frac{1}{6}), (4, \frac{1}{6}), (5, \frac{1}{6}), (6, \frac{1}{6})\}  " /></span><script type='math/tex;  mode=display'> \{(1, \frac{1}{6}), (2, \frac{1}{6}), (3, \frac{1}{6}), (4, \frac{1}{6}), (5, \frac{1}{6}), (6, \frac{1}{6})\}  </script></p> Dove a ogni singolo risultato è associato il valore 1/6.</p>
<p>Analogamente, quando giochiamo a poker e parliamo di "range", cioè un insieme di possibili carte che l'avversario può avere, non stiamo parlando altro che di una distribuzione di probabilità. Se una distribuzione di probabilità ha dei valori numerici associati ad ogni possibile evento se ne può calcolare il valore atteso che corrisponde alla sommatoria del valore associato ad ogni evento moltiplicato per la sua probabilità. In termini matematici: <p style='text-align:center;'><span class='MathJax_Preview'><img src='http://mindunpacked.com/wp-content/plugins/latex/cache/tex_300617e45372e01a250f105a89d640c4.gif' style='vertical-align: middle; border: none;' class='tex' alt=" EV = \sum_{i=1}^{n} P_iX_i  " /></span><script type='math/tex;  mode=display'> EV = \sum_{i=1}^{n} P_iX_i  </script></p> Immaginiamo di giocare a testa o croce, il lancio di una moneta ha la seguente e ovvia distribuzione di probabilità: <p style='text-align:center;'><span class='MathJax_Preview'><img src='http://mindunpacked.com/wp-content/plugins/latex/cache/tex_082f39a2db7c0be7bfa83fa5657eaa30.gif' style='vertical-align: middle; border: none;' class='tex' alt=" \{(testa, \frac{1}{2}), (croce, \frac{1}{2})\}  " /></span><script type='math/tex;  mode=display'> \{(testa, \frac{1}{2}), (croce, \frac{1}{2})\}  </script></p> Se ipotizziamo di vincere 10$ quando puntiamo su testa e perderli quando esce su croce abbiamo: <p style='text-align:center;'><span class='MathJax_Preview'><img src='http://mindunpacked.com/wp-content/plugins/latex/cache/tex_f01b4f113583578550d56b5615ef2aa0.gif' style='vertical-align: middle; border: none;' class='tex' alt=" \{(10$, \frac{1}{2}), (-10$, \frac{1}{2})\}  " /></span><script type='math/tex;  mode=display'> \{(10$, \frac{1}{2}), (-10$, \frac{1}{2})\}  </script></p> di cui possiamo calcolare l'EV: <p style='text-align:center;'><span class='MathJax_Preview'><img src='http://mindunpacked.com/wp-content/plugins/latex/cache/tex_6dd42609b3108544090a369547337777.gif' style='vertical-align: middle; border: none;' class='tex' alt=" EV = 10*\frac{1}{2} - 10*\frac{1}{2} = 0  " /></span><script type='math/tex;  mode=display'> EV = 10*\frac{1}{2} - 10*\frac{1}{2} = 0  </script></p> Una scommessa di questo tipo ha, come si può immaginare, un EV nullo.</p>
<p>Analogamente possiamo calcolare l'EV di una puntata alla roulette (a zero singolo) sul rosso o sul nero: perderemo la nostra puntata quando uscirà il nero o lo zero e vinceremo invece un importo pari a quello puntato se uscirà il rosso. Immaginando di puntare sempre sul rosso, il nostro EV sarà: <p style='text-align:center;'><span class='MathJax_Preview'><img src='http://mindunpacked.com/wp-content/plugins/latex/cache/tex_516b7a217107efadeaf8c9b8bb52f775.gif' style='vertical-align: middle; border: none;' class='tex' alt=" EV = 10\frac{18}{36} - 10\frac{19}{36} = -0.27$  " /></span><script type='math/tex;  mode=display'> EV = 10\frac{18}{36} - 10\frac{19}{36} = -0.27$  </script></p> <strong>L'EV, che altro non è che il nostro profitto medio su questa scommessa, è negativo: ciò vuol dire che in media perderemo 0.27$ ad ogni puntata e che questa è una scommessa che dovremmo evitare.</strong> Anche ognuna delle possibili scelte che facciamo durante una mano di poker ha un EV associato ad essa: per mostrare un profitto nel lungo periodo dobbiamo quindi cercare sempre di <strong>prendere la scelta che massimizza il nostro EV</strong>, ovvero la scelta che ha un EV positivo e maggiore di tutti le altre.</p>
<p>Chiaramente non è sempre possibile (anzi quasi mai) calcolare  precisamente l'EV quando stiamo giocando però nella maggior parte dei casi possiamo almeno intuitivamente farci un'idea di quale sia la scelta migliore senza doverlo calcolare esplicitamente.</p>
<p>Una delle situazioni in cui più spesso è facile calcolare il nostro EV è quella in cui dobbiamo callare un all in preflop. Esempio: siamo di BB e il bottone va all in per 1000 chips, i bui sono 50/100 e il nostro stack è di 1000. Le nostre carte sono A9s; dobbiamo callare o foldare?</p>
<p>Se siamo in un sit and go o al tavolo finale di un torneo potrebbero entrare in gioco altre considerazioni relative all'EV monetario ($EV) della nostra scelta (vedi ICM, ma ne parleremo in seguito), in questo caso ci limiteremo a considerare unicamente l'EV in termini di chip (cEV) che ovviamente non corrisponde all'$EV poiché le chips non sono direttamente "convertibili" in denaro.</p>
<p>Tornando al nostro calcolo possiamo dire immediatamente che l'EV del fold è pari a 0, visto che foldando non dobbiamo mettere ulteriori soldi nel piatto. Di conseguenza non ci resta che calcolare l'EV del call: per fare ciò dobbiamo avere un'idea di quali sono le mani con cui il nostro avversario va all in in questa situazione, cioè dobbiamo avere un'idea del suo range di push. Realisticamente, potremmo dire che un range di push con 10BB da bottone potrebbe essere qualcosa tipo: <p style='text-align:center;'><span class='MathJax_Preview'><img src='http://mindunpacked.com/wp-content/plugins/latex/cache/tex_101facce5ff77070e3771aaee6cbfb96.gif' style='vertical-align: middle; border: none;' class='tex' alt=" \{A2o+, 22+, K8o+, Q9o+, JTo\}  " /></span><script type='math/tex;  mode=display'> \{A2o+, 22+, K8o+, Q9o+, JTo\}  </script></p> Ma molto spesso anche più ampio. Comunque, la nostra equity contro questo range è pari al 54%. Il nostro EV sarà quindi pari a. <p style='text-align:center;'><span class='MathJax_Preview'><img src='http://mindunpacked.com/wp-content/plugins/latex/cache/tex_3b865b2f443af37b548e546fd3c34e8a.gif' style='vertical-align: middle; border: none;' class='tex' alt=" EV = 0.54*1150 - 0.46*900 = +207  " /></span><script type='math/tex;  mode=display'> EV = 0.54*1150 - 0.46*900 = +207  </script></p> Cioè la probabilità di vittoria per l'importo che vinciamo (1150, il suo all in di 1000 + 150 di blinds) a cui sottraiamo la probabilità di perdere moltiplicata per l'importo che perdiamo (900 per effettuare il call). Siccome il risultato è positivo in questa situazione ci conviene fare call se effettivamente riteniamo che il nostro avversario abbia il range appena descritto e non entrano in gioco ulteriori considerazioni relative all'$EV (in seguito faremo esempi anche su questo). In questo esempio, visto che dobbiamo mettere 900 per vincere 1150 è +EV fare call anche con mani che hanno un'equity leggermente minore del 50%, cioè con mani sfavorite preflop. Possiamo calcolare l'equity minima che ci serve per mostrare un profitto nel lungo periodo nel seguente modo: <p style='text-align:center;'><span class='MathJax_Preview'><img src='http://mindunpacked.com/wp-content/plugins/latex/cache/tex_8345dc7cfb64e45779b9603970ccb9a3.gif' style='vertical-align: middle; border: none;' class='tex' alt=" EV = x1150 - (1-x)900 > 0  " /></span><script type='math/tex;  mode=display'> EV = x1150 - (1-x)900 > 0  </script></p></p>
<p>Da cui ricaviamo <p style='text-align:center;'><span class='MathJax_Preview'><img src='http://mindunpacked.com/wp-content/plugins/latex/cache/tex_b488cd7c2b26147bcac1a20c6ef9bc9a.gif' style='vertical-align: middle; border: none;' class='tex' alt=" x = 0.44  " /></span><script type='math/tex;  mode=display'> x = 0.44  </script></p>. Cioè ci basta avere un equity del 44% e avremo un profitto nel lungo periodo anche se siamo sfavoriti (questo per i soldi extra che ci sono nel piatto a causa dei blinds, soldi comunemente chiamati "<strong>dead money</strong>").</p>
<p><strong>Fare sempre scelte +EV porterà sicuramente ad un profitto nel lungo periodo</strong>; il risultato di poche mani (vedremo di quantificare più in là questo "poche", ma è quasi sempre molto di più rispetto a quanto si aspettano i giocatori) è però soggetto a "fluttuazioni" insite nella natura probabilistica del gioco. Vale a dire che così come su 10 lanci di una moneta è possibile, ma poco probabile, che esca sempre croce allo stesso modo è possibile che su X volte che eseguite un'azione che dovrebbe farvi guadagnare Y$<strong> ne guadagnerete molti di meno o addirittura ne perderete.</strong></p>
<p>La varianza è proprio una quantità associata ad una distribuzione di probabilità che ci permette di quantificare in che misura i valori assunti dalla distribuzione si allontanino dalla media (cioè dall'EV). La varianza si calcola come:</p>
<p><p style='text-align:center;'><span class='MathJax_Preview'><img src='http://mindunpacked.com/wp-content/plugins/latex/cache/tex_436f792cb4426d6e853d023994317441.gif' style='vertical-align: middle; border: none;' class='tex' alt=" V = \sum{i=1}^{n} P_i(X_i - EV_p)^2  " /></span><script type='math/tex;  mode=display'> V = \sum{i=1}^{n} P_i(X_i - EV_p)^2  </script></p></p>
<p>Legata alla varianza, e molto più usata nelle applicazioni pratiche, è la deviazione standard:</p>
<p><p style='text-align:center;'><span class='MathJax_Preview'><img src='http://mindunpacked.com/wp-content/plugins/latex/cache/tex_4abb387697c4821be317a7d88d259e5a.gif' style='vertical-align: middle; border: none;' class='tex' alt=" \sigma = \sqrt(V)  " /></span><script type='math/tex;  mode=display'> \sigma = \sqrt(V)  </script></p></p>
<p>che è molto utile per effettuare calcoli che ci permettono di conoscere quanto è probabile che i risultati si discostino dal loro valore atteso in una certa misura. Si potrebbero fare molti esempi in merito, ma per ora lascerò a voi il compito di approfondire.</p>
<p>Se volete effettuare delle simulazioni di come la varianza possa influenzare i risultati, vi consiglio di provare <a title="Variance simulator" href="http://www.evplusplus.com/poker_tools/variance_simulator/" target="_blank">questo sito</a> che permette data una certa winrate e una deviazione standard mostra graficamente l'effetto della varianza.</p>
<p>Inoltre, prima di concludere, vorrei segnalarvi due strumenti molto importanti e di cui faremo largo uso durante questa serie di articoli.</p>
<p><a title="PokerStove" href="http://www.pokerstove.com/" target="_blank">PokerStove</a>: è una programma che calcola l'equity di una mano (o di un range) contro una o più mani (o range).<br />
<a title="ProPokerTools" href="http://propokertools.com/simulations" target="_blank">ProPokerTools equity calculator</a>: stessa cosa di PokerStove solo che permette di calcolare anche l'equity di mani o range per quanto riguarda l'Omaha. È un'applicazione web quindi non richiede installazione.</p>
<p>Arrivederci al prossimo articolo!</p>
]]></content:encoded>
			<wfw:commentRss>http://mindunpacked.com/2011/matematica-e-poker-parte-ii-probabilita-valore-atteso-e-varianza/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Matematica e Poker parte I: Introduzione</title>
		<link>http://mindunpacked.com/2011/matematica-e-poker-parte-i-introduzione/</link>
		<comments>http://mindunpacked.com/2011/matematica-e-poker-parte-i-introduzione/#comments</comments>
		<pubDate>Fri, 14 Oct 2011 22:05:53 +0000</pubDate>
		<dc:creator>Francesco</dc:creator>
				<category><![CDATA[Altro]]></category>
		<category><![CDATA[matematica]]></category>
		<category><![CDATA[poker]]></category>
		<category><![CDATA[teoria dei giochi]]></category>

		<guid isPermaLink="false">http://mindunpacked.com/?p=660</guid>
		<description><![CDATA[Introduzione Su MU non avevamo mai parlato di poker prima d'ora, ma visto che è un argomento molto interessante e abbastanza affine allo spirito del blog ho deciso di iniziare a scrivere una serie di articoli, approfittando anche del fatto che proprio in questo periodo sto leggendo "The Mathematics of Poker" di Bill Chen e [...]]]></description>
			<content:encoded><![CDATA[<p><strong>Introduzione</strong></p>
<p>Su MU non avevamo mai parlato di poker prima d'ora, ma visto che è un argomento molto interessante e abbastanza affine allo spirito del blog ho deciso di iniziare a scrivere una serie di articoli, approfittando anche del fatto che proprio in questo periodo sto leggendo "<strong><a href="http://www.amazon.it/gp/product/1886070253/ref=as_li_qf_sp_asin_il_tl?ie=UTF8&#038;tag=mindunpa-21&#038;linkCode=as2&#038;camp=3370&#038;creative=23322&#038;creativeASIN=1886070253">The Mathematics of Poker</a></strong>" di Bill Chen e Jerrod Ankenman. Molto del materiale che pubblicherò sarà tratto o ispirato dai contenuti del libro, che, tra parentesi, consiglio a chiunque sia interessato ad approfondire il poker da un punto di vista strettamente matematico.</p>
<p><span id="more-660"></span></p>
<p>Molti giocatori ritengono che un approccio puramente matematico sia limitato o incompleto (anche se questa linea di pensiero tende ad avere sempre meno proseliti), ponendo obiezioni come "<strong>la matematica non è sempre applicabile</strong>" oppure "giocare seguendo <strong>la matematica rende il nostro gioco troppo prevedibile</strong>"; in genere questi pregiudizi derivano da una conoscenza solo parziale dei concetti matematici che stanno alla base del gioco o da una concezione sbagliata di cosa intendiamo per "approccio matematico" (o da entrambe le cose).</p>
<p>Nel libro troverete una "confutazione" per ognuna delle obiezioni più comuni che vengono poste, comunque, durante il resto della serie proverò a mostrare come <strong>ogni decisione che prendiamo al tavolo da poker possa essere formulata in termini matematici</strong>, quindi se siete scettici ma curiosi vi consiglio di continuare la lettura. Se siete scettici e credete di sapere già tutto quello che vi serve, potete smettere di leggere qui e spero di incontrarvi in un tavolo da poker.</p>
<p>Tutto quello che andremo a trattare in questo e nei prossimi articoli è riassumibile in un solo principio/obiettivo:</p>
<p style="text-align: center;"><strong>MASSIMIZZARE IL PROFITTO MEDIO</strong></p>
<p>L'idea della <strong>massimizzazione del profitto medio</strong> potrebbe sembrare una cosa scontata per molti, ma è l'idea di base su cui si fondano tutte le nostre strategie e che non cambierà in qualsiasi condizione di gioco ci troviamo (cash game, sit and go, tornei).</p>
<p><strong>Gioco ottimale e gioco speculativo</strong></p>
<p>La<strong> <a title="Teoria dei giochi" href="http://it.wikipedia.org/wiki/Teoria_dei_giochi">teoria dei giochi</a></strong> è quella branca della matematica che si occupa di trovare la <strong>strategia ottimale</strong> per un gioco o, quando la complessità di un gioco è tale che <strong>la formulazione di una strategia ottimale è troppo compless</strong>a (come nel poker), trovare caratteristiche tali che una strategia si avvicini il più possibile a quella ottimale. Prima di andare avanti mi vorrei soffermare un po' sul significato dei termini "strategia", "ottimale" e "speculativo" (ho tradotto il termine inglese "exploitive" con "speculativo" in mancanza di una traduzione migliore, se qualcuno ha dei suggerimenti scriva pure nei commenti o sul <a href="http://mindunpacked.com/forum/">nostro forum</a>).</p>
<p><strong>Strategia</strong>: per strategia, nell'ambito della teoria dei giochi, si intende un insieme di regole che indicano l'azione da eseguire per ogni possibile situazione all'interno del gioco. Nel poker, per esempio, una strategia dovrebbe stabilire come comportarci su ogni possibile combinazione di flop, turn, river, numero di avversari, dimensione dello stack e tutte le altre possibili variabili. Al giorno d'oggi non abbiamo la potenza di calcolo sufficiente per elaborare una tale strategia completa per un gioco come il poker, ed è per questo motivo che la strategia ottimale (spesso abbreviata in inglese con <strong>GTO</strong>, game theoretic optimal) è, e probabilmente rimarrà per ancora molto tempo, un problema intrattabile a livello pratico. Ciò non vuol dire comunque che da questo argomento non possano essere tratti interessantissimi spunti di riflessione visto anche che, per alcune situazioni particolari (per esempio quando si è short stacked in un torneo o sit and go), la strategia ottimale esiste ed è nota.</p>
<p>Nota: all'interno dei seguenti articoli userò spesso il termine strategia più liberamente, cioè sia nella sua accezione più ampia di "piano d'azione" che nell'accezione tipica della teoria dei giochi.</p>
<p><strong>Speculativo</strong>: con il termine speculativo (dall'inglese "exploitive") s'intende una particolare strategia di gioco che mira a sfruttare le debolezze dell'avversario per massimizzare il nostro profitto, anche se agendo in questo modo, ci rendiamo a nostra volta vulnerabili.</p>
<p><strong>Ottimale</strong>: al contrario di quello che si potrebbe credere, <span style="text-decoration: underline;">una strategia ottimale non è una strategia che massimizza il nostro profitto medio in tutte le situazioni</span>, cioè, potenzialmente, non è la strategia che ci farà guadagnare di più.</p>
<p>Per strategia ottimale, sempre nell'ambio della tdg, si intende una strategia che rende il nostro gioco totalmente invulnerabile, o, in inglese, <strong>unexploitable</strong>.</p>
<p>Credo sia opportuno fare un po' di esempi per chiarire la situazione.</p>
<p>Prendiamo in considerazione il gioco sasso-forbice-carta (o morra cinese). In questo caso l'unica azione che dobbiamo fare durante ogni "partita" è solo quella di scegliere cosa tirare ad ogni colpo, di conseguenza elaborare una strategia (intesa nel senso della teoria dei giochi) non è un problema.</p>
<p>La strategia ottimale in questo gioco, e credo lo si capisca anche intuitivamente, è quella di <strong>scegliere casualmente cosa tirare</strong>, o, in altri termini, tirare con 1/3 di probabilità sasso, 1/3 carta e 1/3 forbice. Penso risulti abbastanza chiaro come una strategia di questo tipo non possa essere sfruttata in alcun modo dal nostro avversario per ottenere un vantaggio.</p>
<p>Ciò nonostante, questa potrebbe non essere la strategia che massimizza il numero di vittorie contro un determinato avversario. Per massimizzare il numero di vittorie nel caso estremo di un avversario che tira sempre carta dovremmo in effetti tirare sempre forbice. Comportandoci in questo modo staremmo impiegando una strategia "massimamente speculativa" (<strong>maximally exploitive</strong>) rispetto alla strategia impiegata dal nostro avversario: il problema dell'utilizzo di una tale strategia è che ci rendiamo a nostra volta vulnerabili ad essere "exploitati" da un avversario che intuisce il nostro stile di gioco, possibilità che invece non gli viene offerta quando giochiamo con una strategia ottimale.</p>
<p>Prima di concludere facciamo <strong>un esempio riguardante il poker</strong>. Siamo al river contro un avversario che, in base alle informazioni che abbiamo, folda troppo spesso alle nostre puntate: è ovvio che contro un avversario del genere guadagneremo di più puntando molto più spesso del normale, poiché compenseremo le volte che verremo chiamati e perderemo la nostra puntata con tutte le altre in cui folderà e vinceremo il piatto. Questo è solo un esempio generale di strategia "maximally exploitive": ovviamente quanto e quanto spesso dobbiamo puntare per massimizzare il profitto dipende dalle dimensioni del piatto e dalla frequenza di fold dell'avversario, ma per ora tralasciamo i calcoli. Possiamo notare però che applicare questa strategia ci rende a nostra volta vulnerabili se il nostro avversario si accorge che puntiamo troppo frequentemente e modifica la sua strategia da quella in cui folda troppo spesso a quella in cui comincia a chiamare anche con mani marginali. Ad ogni modo, nella situazione in cui l'avversario folda troppo spesso, <strong>la strategia che massimizza il nostro profitto è quella appena descritta e non quella ottimale</strong> (vedremo più avanti esempi più elaborati).</p>
<p><strong>Note finali</strong></p>
<p>Sebbene i concetti che andremo a trattare possano essere applicati a quasi tutte le varianti di Poker, durante il resto della serie gli esempi saranno unicamente mani di No Limit Texas Hold'em o Pot Limit Omaha High, ma questo non dovrebbe essere un problema visto che sono comunque le due varianti più conosciute.</p>
]]></content:encoded>
			<wfw:commentRss>http://mindunpacked.com/2011/matematica-e-poker-parte-i-introduzione/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Estrazione della cocaina dalle foglie di coca</title>
		<link>http://mindunpacked.com/2011/estrazione-della-cocaina-dalle-foglie-di-coca/</link>
		<comments>http://mindunpacked.com/2011/estrazione-della-cocaina-dalle-foglie-di-coca/#comments</comments>
		<pubDate>Sun, 09 Oct 2011 15:03:42 +0000</pubDate>
		<dc:creator>Marco</dc:creator>
				<category><![CDATA[Chimica]]></category>

		<guid isPermaLink="false">http://mindunpacked.com/?p=618</guid>
		<description><![CDATA[Quella che segue è solo una traduzione di un file reperibile su shroomery.org, sono state aggiunte solo alcune note da parte mia. Reagenti necessari Cherosene (o petrolio bianco) Carbonato di Sodio (Na2CO3) Acqua distillata Soluzione di Acido solforico al 5% Permanganato di potassio (KMnO4) Idrossido d'ammonio al 10% (ammoniaca) Acido cloridrico al 37% Acetone Etere [...]]]></description>
			<content:encoded><![CDATA[<p>Quella che segue è solo una traduzione di un file reperibile su <a href="http://shroomery.org">shroomery.org</a>, sono state aggiunte solo alcune note da parte mia.</p>
<p><span id="more-618"></span></p>
<h3>Reagenti necessari</h3>
<ul>
<li>Cherosene (o petrolio bianco)</li>
<li>Carbonato di Sodio (Na2CO3)</li>
<li>Acqua distillata</li>
<li>Soluzione di Acido solforico al 5%</li>
<li>Permanganato di potassio (KMnO4)</li>
<li>Idrossido d'ammonio al 10% (ammoniaca)</li>
<li>Acido cloridrico al 37%</li>
<li>Acetone</li>
<li>Etere dietilico</li>
</ul>
<h3>Procedura</h3>
<p style="text-align: justify;">5000 g di foglie di coca polverizzate (si trovano già pronte in alcuni paesi dell'america del sud, dove vengono usate per fare il the) vengono riposte in un secchio.<br />
Viene preparata una soluzione composta da 900g di carbonato di sodio e 9,5 litri d'acqua (soluzione al 10%). La soluzione così ottenuta viene mischiata con la polvere di coca (circa 1900 ml per ogni chilo di coca). Il tutto viene riposto in un contenitore più grande (circa 50 litri) e lasciato riposare per 30 minuti.<br />
25 litri di cherosene vengono aggiunti al miscuglio. Deve rimanere a riposare per 3 giorni, durante i quali la mistura va mescolata energicamente per almeno 4 volte. E' possibile utilizzare un impastatore da cucina per questa operazione.<br />
Dopo 3 notti il cherosene avrà formato un livello ben distinto, questo va filtrato in un altro contenitore usando un filtro a trama fine. A questo punto vengono effettuate 2 estrazione con una soluzione di acido solforico al 5%; 300 ml per la prima e 100 ml per la seconda. Ad ogni operazione l'emulsione va agitata molto energicamente e lasciata riposare fino ad avere due livelli ben distinti, quindi separare la soluzione acida dal cherosene  raccogliendola in un beaker. La soluzione così ottenuta viene chiamata "agua rica".</p>
<p style="text-align: justify;">Viene preparata una soluzione di permanganato di potassio al 6% e riposta in frigo.</p>
<p style="text-align: justify;">Viene preparata una bacinella con del ghiaccio ed il beaker contenete l'agua rica viene riposto all'interno. Questo è necessario per mantenere la temperatura non superiore ai 4-5 gradi centigradi (meglio fornirsi di un termometro). Ogni 5-10 minuti vengono aggiunti 16ml della soluzione di permanganato di potassio, agitando energicamente. In totale verranno aggiunti 128 ml di soluzione. Dopo 30 minuti dall'ultima aggiunta la soluzione viene filtrata ottenendo dell'agua rica ossidata (sul filtro rimarrà del diossido di manganese), un liquido incolore.</p>
<p style="text-align: justify;">Viene preparata una soluzione di idrossido d'ammonio al 10%. L'ammoniaca va aggiunta molto lentamente alla soluzione facendo attenzione che non superi il pH 10 (danneggerebbe gli alcaloidi). La cocaina freebase comincerà a precipitare e dopo circa 20-30 minuti la soluzione potrà essere filtrata. La polvere ottenuta va lasciata essiccare per 24 ore.<br />
Il materiale risultante viene dissolto in 100-150ml di etere dietilico. Probabilmente si formeranno delle morchie di color marrone scuro, tuttavia non sarà difficile riversare l'etere in un piatto di pyrex scartando le morchie che tendono a rimanere sul fondo. Evaporato il solvente si otterrà la polvere di cocaina freebase.</p>
<p style="text-align: justify;">240ml di acetone vengono seccati con del carbonato di potassio anidro e una quantità equimolare di acido cloridrico (in questo caso 6.58ml). Il calcolo deve essere fatto considerando che solo 230ml verranno usati.<br />
La cocaina freebase viene dissolta in etere e quindi aggiunta, mescolando, la soluzione di acetone/HCl; il beaker viene tappato per evitare l'evaporazione del solvente. Dopo circa 30 minuti il tutto viene agitato ancora una volta ed aggiunta altro acetone/HCl goccia a goccia finché  non ci sarà nessun tipo di reazione.<br />
Si attendono 3 ore dopodiché la soluzione può essere filtrata ed essiccata per ottenere della cocaina HCl.</p>
<table border="0">
<tbody>
<tr>
<td><img src="http://upload.wikimedia.org/wikipedia/commons/thumb/8/87/Hazard_C.svg/100px-Hazard_C.svg.png" alt="" width="60" height="60" /><img class="alignnone" title="estremamente infiammabile" src="http://upload.wikimedia.org/wikipedia/commons/thumb/0/09/Hazard_FF.svg/100px-Hazard_FF.svg.png" alt="" width="60" height="60" /><br />
<img class="alignnone" title="tossico" src="http://upload.wikimedia.org/wikipedia/commons/thumb/3/39/Hazard_T.svg/100px-Hazard_T.svg.png" alt="" width="60" height="60" /><img class="alignnone" title="comburente" src="http://upload.wikimedia.org/wikipedia/commons/thumb/a/ad/Hazard_O.svg/100px-Hazard_O.svg.png" alt="" width="60" height="60" /></td>
<td style="padding-left: 30px; text-align: justify;">L'acido solforico e l'acido cloridrico possono causare gravi ustioni.</p>
<p>Il cherosene, l'etere dietilico e l'acetone sono altamente infiammabili. I vapori emessi sono infiammabili e tossici.</p>
<p>i gas di idrossido di ammonio sono irritanti per le vie respiratorie e possono dar luogo a capogiri.</p>
<p>Il permanganato di potassio è un comburente e può aggravare un incendio.</td>
</tr>
</tbody>
</table>
]]></content:encoded>
			<wfw:commentRss>http://mindunpacked.com/2011/estrazione-della-cocaina-dalle-foglie-di-coca/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Abrina, la sorella maggiore della ricina</title>
		<link>http://mindunpacked.com/2011/abrina-la-sorella-maggiore-della-ricina/</link>
		<comments>http://mindunpacked.com/2011/abrina-la-sorella-maggiore-della-ricina/#comments</comments>
		<pubDate>Sat, 08 Oct 2011 21:11:31 +0000</pubDate>
		<dc:creator>Marco</dc:creator>
				<category><![CDATA[Chimica]]></category>

		<guid isPermaLink="false">http://mindunpacked.com/?p=605</guid>
		<description><![CDATA[Ho già dedicato un articolo alla ricina, in questo parlerò dell'abrina: tossina meno conosciuta ma molto più tossica (una delle più pericolose esistenti in natura). Si tratta sempre di una proteina, come nel caso della ricina, e sono anche piuttosto simili a livello molecolare. L'abrina si può ricavare dai semi dell'Abrus precatorius, una pianta comune in [...]]]></description>
			<content:encoded><![CDATA[<p style="text-align: justify;">Ho già dedicato <a href="http://mindunpacked.com/2008/la-ricina/" target="_blank">un articolo alla ricina</a>, in questo parlerò dell'<strong>abrina</strong>: tossina meno conosciuta ma molto più tossica (una delle più pericolose esistenti in natura). Si tratta sempre di una proteina, come nel caso della ricina, e sono anche piuttosto simili a livello molecolare. L'abrina si può ricavare dai semi dell'<strong>Abrus precatorius</strong>, una pianta comune in zone tropicali, ed è una proteina inattivante dei ribosomi di tipo 2.</p>
<p style="text-align: justify;"><span id="more-605"></span><br />
I semi in questione sono decisamente particolari e vengono usati come parti per creare collane (io ne possiedo una) od altri gingilli. Come ho detto la differenza maggiore tra l'abrina e la ricina è la dose mortale di gran lunga inferiore nel caso dell'abrina. Se è difficile intossicarsi irrimediabilmente mangiando semi di ricino, è molto facile farlo mangiando quelli dell' Abrus precatorius; di fatto ne basta uno.</p>
<table border="0">
<tbody>
<tr>
<td>
<div class="mceTemp">
<dl id="" class="wp-caption alignnone" style="width: 260px;">
<dt class="wp-caption-dt"><img title="Struttura dell'abrina" src="http://mindunpacked.com/risorse/abrina.jpg" alt="Struttura dell'abrina" width="250" height="250" /></dt>
</dl>
</div>
</td>
<td>
<p style="text-align: justify;">Gli effetti sull'organismo sono praticamente i medesimi della ricina. I primi sintomi si manifestano dopo 6 ore con febbre, crisi respiratorie, nausea, calo della pressione sanguinea fino alla morte che solitamente sopraggiunge in 1-3 giorni. Dal momento che non esistono antidoti questa protenia è estremamente pericolosa, soprattutto per la bassissima dose mortale (0.04 microg/kg in confronto ai 3 microg/kg della ricina: circa 75 volte più tossica).</p>
<p style="text-align: justify;">Riguardo all'estrazione non sono ancora molto informato, ma questa proteinia è solubile in NaCl. Per informazioni molto più dettagliate vi lascio alla lettura di <a href="http://mindunpacked.com/risorse/abrina-proprieta.pdf" target="_blank">questo pdf</a>.</p>
</td>
</tr>
</tbody>
</table>
<table border="0">
<tbody>
<tr>
<td><img src="http://upload.wikimedia.org/wikipedia/commons/thumb/8/86/Hazard_TT.svg/100px-Hazard_TT.svg.png" alt="" width="60" height="60" /></td>
<td style="padding-left: 30px;">Sostanza estremamente tossica. Rischio di morte anche con minima contaminazione.</td>
</tr>
</tbody>
</table>
]]></content:encoded>
			<wfw:commentRss>http://mindunpacked.com/2011/abrina-la-sorella-maggiore-della-ricina/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Mindunpacked defacciato... almeno qualcuno ci visita</title>
		<link>http://mindunpacked.com/2011/mindunpacked-defacciato-almeno-qualcuno-ci-visita/</link>
		<comments>http://mindunpacked.com/2011/mindunpacked-defacciato-almeno-qualcuno-ci-visita/#comments</comments>
		<pubDate>Sat, 24 Sep 2011 20:02:50 +0000</pubDate>
		<dc:creator>Marco</dc:creator>
				<category><![CDATA[Informatica]]></category>

		<guid isPermaLink="false">http://mindunpacked.com/?p=543</guid>
		<description><![CDATA[Ieri pomeriggio siamo stati defacciati da un hacker arabo (di merda), apparentemente un fanatico. Bè, siamo stati felici perché almeno sappiamo che qualcuno ci visita, anche se non per leggere gli articoli. Di seguito l'immagine del deface (click per la versione html): Ridicolo vero? A parte la scrittura molto omosessuale, gli arabi non si salvano [...]]]></description>
			<content:encoded><![CDATA[<p>Ieri pomeriggio siamo stati defacciati da un hacker arabo (di merda), apparentemente un fanatico. Bè, siamo stati felici perché almeno sappiamo che qualcuno ci visita, anche se non per leggere gli articoli. <span id="more-543"></span>Di seguito l'immagine del deface (click per la versione html):</p>
<p><center><div class="wp-caption aligncenter" style="width: 410px"><a href="http://mindunpacked.com/indexhack.htm"><img title="Qatar Hacker" src="http://mindunpacked.com/risorse/deface.png" alt="Qatar Hacker" width="400" height="300" /></a><p class="wp-caption-text">Qatar Hacker</p></div></center></p>
<p style="text-align: justify;">Ridicolo vero? A parte la scrittura molto omosessuale, gli arabi non si salvano proprio in nulla. Il deface è stato compiuto sostituendo la pagina index.php del tema di wordpress. Come ci sia riuscito purtroppo non ve lo sappiamo dire, per ora. Fatto sta che abbiamo wordpress aggiornato all'ultima versione (3.2.1), eppure c'è un bug che permette operazioni di questo tipo. Vedremo se uscirà qualche fix nei prossimi tempi. Nel frattempo vi conviene fare un backup se usate wordpress, anche se secondo noi non è possibile agire su altri file del CMS, almeno non quelli vitali.</p>
]]></content:encoded>
			<wfw:commentRss>http://mindunpacked.com/2011/mindunpacked-defacciato-almeno-qualcuno-ci-visita/feed/</wfw:commentRss>
		<slash:comments>5</slash:comments>
		</item>
	</channel>
</rss>

