Come promesso, pubblico lo schema del promesso A/D per seriale a discreti (circa 31 componenti). Accetta una tensione in ingresso tra 0 e qualche volt, ma nulla vieta di cambiare valori per estendere o stringere il range. La massa =E8 in comune col PC e l'ingresso ha un'impedenza abbastanza elevata.
In pratica, inviando una sequenza (una decina) di 0x00 scarico C1 tramite il timer Q6, Q7 e preparo il circuito al campionamento. Inviando un numero contato di 0xFF genero una rampa a gradini per mezzo del generatore di corrente Q1 e lo stesso C1. Gli start-bit fungono da impulsi per i gradini. Q2 e Q3 costituiscono un comparatore senza isteresi in grado di apprezzare la differenza tra la carica di C1 e la tensione Vi da campionare. Q4 polarizza correttamente Q2 e Q3 indipendentemente dalla tensione negativa della seriale.
Quando la rampa su C1 =E8 inferiore alla Vi, i codici 0xFF uscenti dal Tx ricompaiono sull'Rx per mezzo di Q5. Una volta superata tale tensione, cessa il passaggio. Quando i valori si approssimano i codici uscenti non sono bellissimi e potrebbe essere rilevato un qualche errore di ricezione, ma poco importa perch=E9 a noi interessa il numero di codici rientrati e non il loro valore.
Ammettiamo di emettere 256 codici e di vederne rientrare solo 100; il nostro valore di tensione sar=E0 proporzionale a quei 100.
L'ho provato connesso al PC e misurando con l'oscilloscopio, senza software. Sembra funzionare, ma alle 03:40 di notte mi riservo ogni bollettino. :)
[FIDOCAD] MC 65 55 1 0 200 MC 65 70 1 0 200 MC 65 130 0 0 040 MC 70 90 0 0 310 MC 85 120 0 0 180 MC 65 105 1 0 080 LI 65 85 65 90 LI 65 90 65 105 LI 65 115 65 120 LI 65 120 65 130 LI 85 120 85 115 LI 70 90 65 90 LI 85 50 65 50 LI 65 50 65 55 SA 65 90 MC 85 60 1 0 080 LI 85 60 85 50 LI 85 80 85 70 MC 110 115 0 0 300 MC 170 115 0 1 300 LI 125 125 155 125 LI 110 115 85 115 SA 85 115 SA 65 50 SA 140 125 MC 125 70 1 0 200 LI 85 50 90 50 LI 90 50 125 50 LI 125 50 125 70 LI 125 85 125 90 LI 125 90 125 105 MC 15 50 2 0 000 MC 155 80 1 0 080 MC 140 55 1 0 080 MC 155 65 3 0 310 LI 125 50 145 50 LI 165 50 185 50 LI 155 70 140 70 LI 140 70 140 65 LI 140 55 140 50 LI 155 65 155 80 LI 155 90 155 95 LI 155 95 155 105 SA 85 50 SA 125 50 SA 140 50 SA 155 70 MC 185 50 0 0 000 MC 185 115 0 0 000 MC 185 130 0 0 040 MC 185 130 0 0 000 LI 170 115 185 115 TY 195 120 5 3 0 0 0 * Vi MC 190 125 3 0 074 TY 130 55 5 3 0 0 0 * R3 TY 127 60 5 3 0 0 0 * 8K2 TY 88 83 5 3 0 0 0 * Q1 TY 127 107 5 3 0 0 0 * Q2 TY 146 107 5 3 0 0 0 * Q3 TY 158 80 5 3 0 0 0 * R4 TY 158 85 5 3 0 0 0 * 22K TY 88 60 5 3 0 0 0 * R2 TY 88 65 5 3 0 0 0 * 680R TY 49 110 5 3 0 0 0 * 100K TY 56 105 5 3 0 0 0 * R1 MC 85 130 0 0 040 TY 89 120 5 3 0 0 0 * C1 TY 89 125 5 3 0 0 0 * 10uF TY 3 41 5 3 0 0 0 * Tx(3) TY 68 61 5 3 0 0 0 * D2 TY 68 76 5 3 0 0 0 * D3 TY 128 75 5 3 0 0 0 * D5 TY 88 106 5 3 0 0 0 * D4 TY 152 42 5 3 0 0 0 * Q5 TY 182 42 5 3 0 0 0 * Rx(2) LI 60 50 65 50 MC 45 50 0 0 200 LI 45 50 15 50 SA 40 50 TY 50 42 5 3 0 0 0 * D1 MC 140 210 2 0 180 LI 140 200 140 190 SA 140 195 MC 120 175 1 0 200 MC 120 160 1 0 200 MC 125 155 0 0 300 MC 140 175 1 0 080 LI 140 145 140 140 LI 120 160 120 155 MC 115 195 2 0 200 MC 110 155 2 0 080 LI 110 155 125 155 LI 100 155 90 155 LI 90 155 90 195 LI 120 190 120 195 LI 115 195 140 195 LI 140 165 140 170 LI 140 170 140 175 LI 140 190 140 185 SA 120 155 SA 120 195 SA 90 195 TY 142 147 5 3 0 0 0 * Q4 TY 143 175 5 3 0 0 0 * R6 TY 143 180 5 3 0 0 0 * 2K2 TY 143 200 5 3 0 0 0 * C2 TY 143 205 5 3 0 0 0 * 100uF TY 102 148 5 3 0 0 0 * R5 TY 99 158 5 3 0 0 0 * 220K TY 104 187 5 3 0 0 0 * D8 TY 123 181 5 3 0 0 0 * D7 LI 100 195 40 195 LI 140 140 140 125 LI 40 195 40 50 MC 85 100 1 0 200 MC 140 210 0 0 040 MC 65 220 1 0 200 MC 65 235 1 0 200 MC 70 255 0 0 310 MC 65 270 1 0 080 LI 65 250 65 255 LI 65 255 65 270 LI 70 255 65 255 LI 65 215 65 220 SA 65 255 MC 85 225 1 0 080 LI 85 225 85 215 LI 85 245 85 235 TY 88 248 5 3 0 0 0 * Q6 TY 88 225 5 3 0 0 0 * R7 TY 68 241 5 3 0 0 0 * D10 MC 105 245 3 0 200 LI 105 230 105 215 LI 105 215 65 215 LI 65 215 40 215 LI 40 215 40 195 SA 40 195 SA 65 215 SA 85 215 TY 123 166 5 3 0 0 0 * D6 TY 68 226 5 3 0 0 0 * D9 TY 109 235 5 3 0 0 0 * D11 TY 49 275 5 3 0 0 0 * 150K TY 55 270 5 3 0 0 0 * R8 TY 88 230 5 3 0 0 0 * 5K6 TY 87 257 5 3 0 0 0 * BC556B TY 88 91 5 3 0 0 0 * BC556B LI 165 140 105 140 LI 105 140 105 115 SA 105 115 LI 105 245 105 265 LI 105 265 85 265 MC 85 305 0 0 040 MC 85 290 1 0 170 TY 88 291 5 3 0 0 0 * C1 LI 85 290 85 280 LI 85 305 85 300 MC 85 270 1 0 080 MC 65 305 0 0 040 LI 65 280 65 305 LI 85 270 85 265 SA 85 265 SA 85 285 MC 150 265 0 0 300 LI 140 265 150 265 MC 140 305 0 0 040 TY 144 298 5 3 0 0 0 * 4V7 TY 144 294 5 3 0 0 0 * DZ1 MC 165 305 0 0 040 LI 165 275 165 305 MC 140 290 1 0 230 MC 140 290 3 0 200 TY 144 277 5 3 0 0 0 * D12 LI 140 275 140 265 LI 165 255 165 140 LI 85 285 120 285 LI 120 265 140 265 LI 120 285 120 265 SA 140 265 TY 89 275 5 3 0 0 0 * 1K0 TY 89 270 5 3 0 0 0 * R9 TY 169 265 5 3 0 0 0 * BC337C TY 169 257 5 3 0 0 0 * Q7 TY 129 118 5 3 0 0 0 * 2 x BC517 TY 144 156 5 3 0 0 0 * BC337C TY 89 297 5 3 0 0 0 * 6n8 TY 215 60 5 3 0 0 0 * - nessuna parit=E0 TY 215 65 5 3 0 0 0 * - 1 stop bit TY 215 55 5 3 0 0 0 * - 8 bit dato TY 215 50 5 3 0 0 0 * - 9600 Baud TY 215 70 5 3 0 0 0 * - no handshake EV 220 100 225 105 EV 230 100 235 105 EV 240 100 245 105 EV 250 100 255 105 EV 225 110 230 115 EV 235 110 240 115 EV 245 110 250 115 EV 255 110 260 115 EV 260 100 265 105 LI 220 95 265 95 LI 260 120 225 120 LI 225 120 215 110 LI 215 110 215 100 LI 215 100 220 95 TY 220 95 6 3 0 1 0 * 1 TY 260 95 6 3 0 1 0 * 5 TY 225 115 6 3 0 1 0 * 6 TY 255 115 6 3 0 1 0 * 9 TY 280 105 6 3 0 1 0 * 3 =3D Tx TY 280 100 6 3 0 1 0 * 2 =3D Rx TY 280 110 6 3 0 1 0 * 5 =3D Gnd TY 215 85 6 3 0 0 0 * DB9 maschio - vista frontale PC LI 270 110 260 120 LI 270 100 270 110 LI 265 95 270 100 TY 40 15 8 4 0 1 0 * A/D Converter per porta seriale TY 40 25 6 3 0 1 0 * by Piccio - Agosto 2009 TY 200 165 5 3 0 0 0 * a) Spedire una sequenza di 0x00 per iniziare la conversione TY 200 175 5 3 0 0 0 * b) Spedire una sequenza di 0xFF TY 200 185 5 3 0 0 0 * c) Contare quanti codici sono rientrati dall'Rx MC 180 65 1 0 080 LI 180 50 180 65 LI 180 75 180 80 LI 180 80 180 90 TY 183 65 5 3 0 0 0 * R10 TY 183 70 5 3 0 0 0 * 10K MC 180 90 0 0 040Ciao. Piccio.