hallo

ik wilde een sonar objecten detectie gaan maken.
en klop het dat je een sonar speaker en microfoon nodig hebt?
zoals deze:
http://www.adrirobot.it/sonar/UST40R.jpg

en dan stuur ik door de spaeker telkens een pulsje heen.
en als de mic die op vangt dan is er een opject dat het geluid terug kaatst.

en als de amplitude van het ontvangen signaal hoger word komt het object dichter bij.
maar als het geluid tegen een ander matriaal kaatst kan de amplitude anders zijn als op een zelfde afstand met een ander matriaal.

klopt dit allemaal?

nouw eerst dacht ik om met een pic de speaker aan te sturen en de microfoon uit te luisteren.
maar het leek me handiger om met een kant en klaar schematje een pulsje door die speaker heen te sturen.
en dan alleen de mic uit te luisteren met 1 poort van het pic.

dus bijvoorbeeld dat als de amplitude van de microfoon hogerword als een bepaalde waarde dat dan de pic een uitgang hoog maakt of zo.

heeft iemand zo'n schema?
of weet iemand er een te vinden?

Robbert

srf04 is een unit die dat doet, van een of ander brits bedrijf...

het liefst maak ik he zelf.
dan weet ik ook better hoe het werkt.

Robbert

oke
maar waarom zijn hier twee zenders en twee ontvangers die exact het zelfde zijn?
en waarom zitten er op op een zender twee speakers?
zijn die potmeters voor de fijn afstelling?

en als ik het goed begrijp:
de pic stuurt een signaal naar ping1.
daar word dus een puls uit gezonden...

de ontvanger vangt dat op en versterkt het.
en het ic verwerkt het.
wat doet het ic precies in de ontvanger?

als er inderdaad een signaal ontvangen is word echo 1 hoog.

klopt dat?

[Bericht gewijzigd door Robbertbd op ]

ik heb dit schema gevonden:

http://users.telenet.be/CyrusTheVirus/Plexibot%20V/Schema's/Plexi…

lijkt sterk op de andere.
alleen is de speaker met een 555 aangestuurd.
maar hier hoef je toch geen pulsen op de ping te geven?
deze moet toch gewoon hoog blijven?

en wat is LSP?

oke dat ziet er wel leuk uit :)
kan ik dit ook gewoon met een 16F628A doen?

en wat doet het ic precies?

Robbert

nog effe een duidelijke vraag.
kan ik me speaker en mic direct op de pic aansluiten?
en moet de mic versterkt worden?

Robbert

hallo

mijn vervolg op mijn vorige topic dat is gesloten.

dit schema is gebaseert op dit schema:
http://www.leang.com/robotics/info/articles/minison/minison.html

dit is mijn nieuwe programma:


DEVICE 16F628A                ; Gebruik een 16F628A type
; interne klok gebruiken
CONFIG INTRC_OSC_NOCLKOUT, WDT_OFF, PWRTE_ON, LVP_OFF, MCLRE_OFF
ALL_DIGITAL TRUE              ; Alle ingangen digitaal
portb_pullups on              ; pullup weerstanden aan

dim echo as word              ; de tijd tussen de puls en de echo

symbol ping_1    =            ; poort waar op ping 1 zit
symbol echo_1    =            ; poort waar op echo 1 zit
symbol led_1     =            ; poort waar led 1 op zit
symbol ping_tijd = 200        ; tijd dat de 40KHz word uit gezonden in microsec
symbol echo_tijd = 100        ; tijd dat de 40KHz word ontvangen in microsec

;        76543210
porta = %11111111             
portb = %11111111
trisa = %11111111
trisb = %11111111

cls
print at 1,1, "echo tijd:"    ; zet alvast een text neer

; het programma
while 1 = 1                   ; opent de lus
 
 ping_1 = 1                   ; er word een ultrasoon puls uit gezonden
 delayus ping_hoog            ; de puls duur "ingesteld aantal" micro seconden
 ping_1 = 0                   ; einde puls
 
 for echo = 0 to echo_tijd    ; kijkt of de puls echo't
  if echo_1 = 0 then break    ; bij een echo de lus verlaten
  delayus 10                   ; microseconden wachten
 next                         ; opnieuw naar de lus
 
 if echo != echo_tijd then    ; als er geen echo ontvangen is
  led_1 = 1                   ; led gaat aan bij echo
  print at 2,1, dec echo      ; print de tijd tussen puls en echo op het display
  delayms 1000                ; laat het bericht 1 seconden staan
 else                         ; als er geen puls ontvangen is
  led_1 = 0                   ; led gaat uit als er geen echo is
  print at 2,1, "geen object" ; print "geen object op het display"
  delayms 1000                ; laat het bericht 1 seconden staan
 endif                        ; einde if

wend                          ; einde lus weer naar het begin van de lus
; einde porgramma

end 

robbert