|
ultimo aggiornamento 25 aprile 2012 |
|
Descrizione
Con la scheda qui presentata è possibile misurare la distanza da un ostacolo frontale in un intervallo compreso tra i 3 cm ed i 3 metri grazie all'eco di un segnale ad
ultrasuoni.
Il progetto originale è di Andrew Wilson ed è possibile trovarlo sul
libro Programming and
Customizing the Basic Stamp Computer scritto da Scott Edwards e
pubblicato il 21 marzo 2001.
Questo progetto è adatto
per essere utilizzato come sensore su un robot. Il sensore permette di misurare la distanze da un
oggetto.
La misura è compresa tra 2,5 cm e 25 cm.
Per il suo funzionamento è necessario il
collegamento ad una scheda BS2 prodotta dalla Parallax,
per esempio la scheda madre fornita dalla DeAgostini insieme all' opera "Costruisci
e programma il tuo Robot" .
Per quanto riguarda lo schema elettrico e i componenti
utilizzati sul sito sopracitato è presente tutto il necessario, io mi
sono limitato a creare i due circuiti stampati dove trovano posto i
componenti.
Uno per la circuiteria di controllo e una per le due capsule ad
ultrasuoni.
Una volta realizzato il
circuito si può passare al collaudo utilizzando il programma che si può
trovare più avanti.
Ricordo ancora che ulteriori
dettagli inerenti il circuito e gli originali del programma possono essere
trovati sul sito
originale.
Programma per BS2 |
Istruzioni di montaggio |
Indice |
|
LM 358 Low Power Dual Operational Amplifiers | ||
Codice RS - 858-427 |
||
Piedinatura | Datasheet | Foto dell'integrato |
LM 339 Quadruplo comparatore di tensione, bassa potenza, basso Offset | ||
Codice RS - 517-2419 |
||
Piedinatura | Datasheet | Foto dell'integrato |
Capsula ricevente ultrasuoni 5340-RX40 | ||
- Frequenza di lavoro:
40 kHz; |
||
Datasheet | Foto |
Capsula ricevente ultrasuoni 5340-TX40 | ||
- Frequenza di lavoro:
40 kHz; |
||
Datasheet | Foto |
Schema elettrico - Dettaglio sezione trasmittente
Schema elettrico - Dettaglio sezione ricevente
Schema elettrico - Dettaglio sezione comparatore
Circuiti stampati sensore | Disposizione componenti |
Programma per eseguire il test di funzionamento del sonar
'{$STAMP BS2} ' Programma: test_sonar.bs2 (sonar a corto raggio per BS2) ' Questo programma in cooperazione con un una circuiteria trasmittente/ricevente ' sui 40 kHz crea un'economico sonar a corto raggio (10"-250 mm) ' per controllo collisione su piccoli robot. ' Il programma si occupa di far emettere un breve treno d'impulsi a 40kHz (ping) ' e si mette in attesa del ritorno dell'eco. ' L'istruzione del BS2 RCtime valuta il l'intervallo di tempo tra l'emissione del segnale ' e l'arrivo dell'eco. ' I risultati migliori sono compresi nel range tra 2 a 7" (tra i 58 e le 225 unità). '========CONSTANTI nSmp CON 5 ' Number of samples (NOT LESS THAN 5). maxSmp CON nSmp-1 ' Array index # of last sample. maxSrt CON nSmp-2 ' Maximum index # to sort. s1 CON nSmp/2-2 ' 1st sorted sample to include in average. s2 CON nSmp/2-1 ' 2nd " " " " " " s3 CON nSmp/2 ' 3rd " " " " " " s4 CON nSmp/2+1 ' 4th " " " " " " s5 CON nSmp/2+2 ' 5th " " " " " " ping CON 0 ' Contatto libero (0) su Scheda madre - Output per attivazione segnale. pingLen CON 200 ' Durata del segnale 2-us units. compRC CON 2 ' Contatto libero (2) su Scheda madre - Output per settare circuito RC del comparatore rcvr CON 1 ' Contatto libero (1) su Scheda madre - Input da ricevitore/comparatore 40kHz '========VARIABILI echTime VAR Word smp VAR Byte(nSmp) index VAR Byte swapTmp VAR Byte swap VAR Bit '========PROGRAMMA HIGH ping again: GOSUB sonar DEBUG "Tempo Echo (0-255 unità): ", DEC echTime,CR GOTO again '========SONAR SUBROUTINE sonar: FOR index = 0 TO maxSmp HIGH compRC PAUSE 1 INPUT compRC PULSOUT ping,pingLen RCTIME rcvr,0,echTime smp(index) = echTime/2 MAX 255 NEXT sort: swap = 0 FOR index = 0 TO maxSrt IF smp(index) >= smp((index+1)) THEN noSwap swapTmp = smp(index) smp(index) = smp(index+1) smp(index+1) = swapTmp swap = 1 noSwap: NEXT IF swap = 1 THEN sort echTime = smp(s1)+smp(s2)+smp(s3)+smp(s4)+smp(s5)/5 MAX 255 RETURN |
Alcune foto del prototipo della scheda sonar per BS2
Elenco revisioni | |
25/04/2012 | Aggiornato pagina |
23/11/2005 | Aggiornato grafica pagina |
30/06/2004 | Emissione preliminare |