Sida 1 av 2

Får inte Parallax PING))) att fungera.

Postat: 2 augusti 2011, 18:09:10
av GroovyChili
Hej, är nybörjare på detta med egna kretsar, kopplingar, osv.
Har köpt mig en ultrasonisk sensor som heter Parallax PING))), och försöker få den att fungera, men det går inget vidare.
Produktblad: http://www.parallax.com/Portals/0/Downl ... G-v1.6.pdf

Den fungerar på så sätt att (vad jag uppfattat det som iallafall) man skickar en kort puls till den via I/O pinnen som varar i ungefär 5 mikrosekunder, sedan skickar sensorn ut sitt ultraljud, och får tillbaka det. Sensorn svarar på samma I/O pin genom en annan signal, där våglängden på signalen avgör avståndet.

Har nu suttit och googlat och pillat i flera timmar, men får det inte att fungrera. Använder en PIC16F628, med PING))) kopplat till pin nr. 4, och en LED till pin nr. 0 på mikrokontrollern. Har kodat upp ett litet skript som gör att LED:en tänds så fort den får ett svar från sensorn. Jag har inte gjort något hårdvarufel, för när jag testade att köra in en annan strömkälla på pin nr. 4 och då tändes LED:en på pin nr. 0, som den skulle göra.

Det finns även en Activity LED på själva PING))):en som jag tror ska vara tänd när den jobbar. Så fort jag sätter ström i kretsen blinkar den LED:en till svagt i ett jättekort ögonblick, sedan aldrig igen. Har 5V som spänning, enligt produktbladet.

Är det någon som har erfarenhet av Parallax PING))) och kan peka ut vart mitt fel ligger? Här är min kod:

Kod: Markera allt

;--------Initialize assembler
LIST P=PIC16F628					;	Telling the assembler what kind of microcontroller we are using
#include "P16f628.inc"				;	Converting words to hex. values
__config 0x3f18						;	Settings, such as watchdog, internal timers, etc. All turned off

;---------Macros
bank0   macro
        bcf     STATUS,RP1
        bcf     STATUS,RP0			;	BANK0 (Data Memory)
        endm
bank1   macro
        bcf     STATUS,RP1
        bsf     STATUS,RP0			;	BANK1 (Data Memory)
        endm
bank2   macro
        bsf     STATUS,RP1
        bcf     STATUS,RP0			;	BANK2 (Data Memory)
        endm
bank3   macro
        bsf     STATUS,RP1
        bsf     STATUS,RP0			;	BANK3 (Data Memory)
        endm

;---------Registers
cblock 0x20
	;	Nothing for now...
endc

;---------Program memory
	org 0x00						;	The beginning of the program
		goto Start 

	org 0x04						;	Interrupt Service Routine
									;	Nothing for now....

;##############
;----------Main
Start								;	Starting by setting all pins as outputs
		bank1
		movlw b'00000000'			;	Pin 5 needs to be an input pin
		movwf TRISA					;	Set the inputs and outputs of port A
		
		movlw b'00000000'			; 	All outputs
		movwf TRISB					;	Set the inputs and outputs of port B
		bank0
		
		goto SendSIG
		
PingOut								;	Make pin nr. 4 an output pin for sending trigger signal
		bank1
		movlw b'00000000'
		movwf TRISA
		bank0
		return
		
PingIn								;	Make pin nr. 4 an input pin for retriving an echo signal
		bank1
		movlw b'00010000'
		movwf TRISA
		bank0
		return

SendSIG
		call PingOut
		bsf PORTA,4				;	Trigger signal, 5uS long
		call Delay5uS
		bcf PORTA,4
		goto ScanningSIG		;	Trigger signal, now sent. Start listning for echo signal

ScanningSIG
		call PingIn

ScanningLoop
		btfsc PORTA,4
		bsf PORTA,0
		goto ScanningLoop
		
;-----Delays---------------------------------------
Delay5uS						;	A delay lasting for 5 micro seconds, including the "call"
		goto $+1
		return

;-----End------------------------------------------
Finish
		end						;	End of program

Re: Får inte Parallax PING))) att fungera.

Postat: 2 augusti 2011, 22:57:25
av Glenn
Jag har två sådana själv, och fick dom inte heller att fungera, dock så lade jag inte ner så mycket energi på det.. hade tänkt labba mer under semestern men det har inte funnits tid/ork. Vad jag kan komma ihåg så fick jag inte helelr nåt "svar" helt enkelt.

Fick samtidigt en parallax kompassmodul som jag inte ens orkat ge mej på än, man var tvungen att skifta in bitsekvenser och läsa av svaret osv..

Alla tre modulerna var dock begagnade så man vet ju aldrig..

Re: Får inte Parallax PING))) att fungera.

Postat: 2 augusti 2011, 23:02:25
av sodjan
RA4 på en 16F628A är lite "speciell" och inte som "alla andra".
Har du tagit hänsyn till det ? Enklaste lösningen för att
inte bekymra dig om det är att byta pinne.

Re: Får inte Parallax PING))) att fungera.

Postat: 2 augusti 2011, 23:50:56
av GroovyChili
Testade med att byta till pin nr. 3, men det fungerade inte heller... :(

Re: Får inte Parallax PING))) att fungera.

Postat: 2 augusti 2011, 23:58:44
av gripner
kanske inte har någonting med ditt problem att göra, men PING sensorn är känslig vad gäller underlag. Avståndet till underlaget/marken måste vara minst lika stort som avståndet till det du skall mäta. Blir väldigt konstiga värden annars.

Om du inte behöver mäta specielt exakt finns det billiga IR sensorer som ger en analog signal kontinuerligt. koppla in 5V och få ut 0.2 - 2.4V beroende på avstånd, dock är de logaritmiska och som sagt inte specielt hög nogranhet.

Sharp gp2y0a02yk

Re: Får inte Parallax PING))) att fungera.

Postat: 3 augusti 2011, 00:07:52
av GroovyChili
Okej, fast grejen är att den inte ger någon signal tillbaka överhuvudtaget... :(

Re: Får inte Parallax PING))) att fungera.

Postat: 3 augusti 2011, 09:02:09
av sodjan
> Testade med att byta till pin nr. 3, men det fungerade inte heller...

OK. Då är det bara att sätta igång och felsöka !

Om vi för tillfället struntar i processorn helt, får du över huvudtaget
någon signal från sensorn ?

Och när det gäller processorn, fungerar programmet om du simulerar
insignaln på något annat sätt än via sensorn ?

Re: Får inte Parallax PING))) att fungera.

Postat: 3 augusti 2011, 14:21:27
av GroovyChili
Nepp, får ingen signal tillbaka från sensorn över huvud taget. Dock så är jag rätt säker på att min "triggersignal" gick fram, eftersom att Activity LED:en på sensorn blinkar till jättesvagt i ett kort ögonblick.

Jag testade att köra igång programet, och satte in en annan strömkälla på pin nr. 4, alltså sensorns I/O Pin. Då tändes LED:en på pin nr. 0, som den skulle. LED:en forsatte även att lysa efter att jag tagit bort den externa strömkällan, vilket den mycket riktigt skulle göra.

Felet bör sitta någonstans på sensorn eller något liknande.

Re: Får inte Parallax PING))) att fungera.

Postat: 3 augusti 2011, 15:23:09
av sodjan
OK, det är ju viktigt att felsöka på rätt ställe.
Som det låter nu så var ju din källkod mindre intressant,
det verkar ju fungera... :-)

Re: Får inte Parallax PING))) att fungera.

Postat: 22 augusti 2011, 18:46:13
av choppertony
bara en fråga?

är svars-signalen analog?? kan den inte vara för svag för att processorn skall uppfatta det som en etta?


ändrat::::::::: glöm detta... Jag kollade databladet....

Re: Får inte Parallax PING))) att fungera.

Postat: 22 augusti 2011, 18:51:56
av Klas-Kenny
choppertony: Databladet säger TTL.



Att kolla med ett scope hade ju inte varit helt dumt... :)

Re: Får inte Parallax PING))) att fungera.

Postat: 22 augusti 2011, 18:56:16
av sodjan
Nej, sensorn verkar inte vara analog.

RA4 kan bara "dra" lågt.
RA3 kan ha analoga funktioner (som inte verkar stängas av).

Se till att se över det hela så att allt är som du vill ha det !

Re: Får inte Parallax PING))) att fungera.

Postat: 30 augusti 2011, 16:34:06
av Skreddarn
Amen, broder. Min PING vill inte heller. (Och den är ny)

Jag har lagt "I/O-pinnen" till jord (-) via 10K för att få nån ordning på signalen och jag sparkar på den med en vacker 6uS puls via en diod. (Detta med 16 Hz).

Och den ligger stadigt på ca 3volt relativt jord. (Utom när min 555:a sparkar på den)
Inte ett pip. Nada. Kallt och dött som ett kvinnohjärta.

Eftersom jag är en sån klant har jag inte vågat härja med leverantören ännu, och skall försöka lite till.
Men man kanske skall ta lite statistik.
Nu är vi några som inte fått den att funka. Det vet vi.
Men är det någon här på forumet som har fått skrället att fungera?
Skulle gärna få en liten applikationsrapport... kanske, möjligen?

Det är ju också ett jäkla sätt inte ha en separat trigg-lina. (Eller att den pingade själv med typ 20 Hz och bara rapporterade resultaten med positiva pulser...)

Gruff, gnöl, morrr.

/Den magsure.

Re: Får inte Parallax PING))) att fungera.

Postat: 30 augusti 2011, 23:19:36
av Glenn
Jag försökte lite till idag, fortfarande inget liv i den/dom.

lysdioden på ping-kortet är släckt, jag kan se min snabba puls på RD6 med oscilloscopet, men jag får inget tillbaka ?

Jag har kopplat +5v till +5V, GND till jord, SIG till RD6 via ett 1k motstånd.

Skickar sen en puls på 50uS och lyssnar sen på RD6, får inget svar.


Det är lite oroväckande att vi är några stycken som ionte får till det :)

Re: Får inte Parallax PING))) att fungera.

Postat: 31 augusti 2011, 05:43:21
av thepirateboy
Jag har också använt "PING". Det var dock inga problem att få igång den. Funkade dessutom riktigt bra.