aleute
16.03.2007, 10:54
Holla
ich bin neueinsteiger und möchte einen Datenlogger zum Wasserstandsmessen bauen.
Dazu verwende ich folgende Hardware:
Atmega8; mit 3686400hz Crystal (auf My Avrbord)
und das SRF05 (vorerst im Mode mit einem Pinanschluss)
Hardwartechnisch funktioniert die Entfernungsmessung soweit ganz gut,
nur die Genauigkeit lässt stark zu wünschen übrig.
Ich denke es liegt an der Pulsein einstellung im Bascomcode (nicht auf mein Cristal abgestimmt)
Meine Frage: kann mann mit dieser Hardware genauigkeiten im mm schon (+-5mm)
erreichen und wenn ja wie sähe der Bascom Code Aus ?????
mein bisheriger Code:
'Die üblichen Definitionen bei Standardprogrammen auf Miniboard
$regfile = "m8def.dat" 'ATmega8 deklaration
$crystal = 3686400 'Quarzfrequenz
$baud = 9600
$hwstack = 32
$framesize = 32
$swstack = 32
Dim Zeitmessung As Word
Dim Entfernung As Word
Print "**** SRF05 mit RN-MINICONTROL *****"
Print "Entfernung in mm anzeigen"
Config Pind.2 = Output
Do
Portd.2 = 0 'Port Low
Pulseout Portd , 2 , 40 'Min. 10uS Impuls senden
Pulsein Zeitmessung , Pind , 2 , 1
Zeitmessung = Zeitmessung * 100 'mal 10 da Pulsein in 10uS Einheiten Ergebnis ermittelt
Entfernung = Zeitmessung / 29 'Umrechnen in Zentimeter
Print "Entfernung: " ; Entfernung ; " mm"
Wait 1
Loop
End
Danke an alle helfenden
ich bin neueinsteiger und möchte einen Datenlogger zum Wasserstandsmessen bauen.
Dazu verwende ich folgende Hardware:
Atmega8; mit 3686400hz Crystal (auf My Avrbord)
und das SRF05 (vorerst im Mode mit einem Pinanschluss)
Hardwartechnisch funktioniert die Entfernungsmessung soweit ganz gut,
nur die Genauigkeit lässt stark zu wünschen übrig.
Ich denke es liegt an der Pulsein einstellung im Bascomcode (nicht auf mein Cristal abgestimmt)
Meine Frage: kann mann mit dieser Hardware genauigkeiten im mm schon (+-5mm)
erreichen und wenn ja wie sähe der Bascom Code Aus ?????
mein bisheriger Code:
'Die üblichen Definitionen bei Standardprogrammen auf Miniboard
$regfile = "m8def.dat" 'ATmega8 deklaration
$crystal = 3686400 'Quarzfrequenz
$baud = 9600
$hwstack = 32
$framesize = 32
$swstack = 32
Dim Zeitmessung As Word
Dim Entfernung As Word
Print "**** SRF05 mit RN-MINICONTROL *****"
Print "Entfernung in mm anzeigen"
Config Pind.2 = Output
Do
Portd.2 = 0 'Port Low
Pulseout Portd , 2 , 40 'Min. 10uS Impuls senden
Pulsein Zeitmessung , Pind , 2 , 1
Zeitmessung = Zeitmessung * 100 'mal 10 da Pulsein in 10uS Einheiten Ergebnis ermittelt
Entfernung = Zeitmessung / 29 'Umrechnen in Zentimeter
Print "Entfernung: " ; Entfernung ; " mm"
Wait 1
Loop
End
Danke an alle helfenden