Fehlt da nicht wieder
Reference = AVCC
oder ähnliches??
jon
Naja ich poste jetzt mal einfach meinen Kram, das programm geht vollkommen. Vllt kannst du ja was finden was du vergessen hast (steh grad leider unter Zeitdruck und kann es daher nicht alles raussuchen).
Ist übrigens mein 1. Porgramm *fg*
MfgCode:$regfile = "m16def.dat" $framesize = 32 $swstack = 32 $hwstack = 32 $crystal = 16000000 $baud = 9600 Config Lcd = 16 * 2 Config Lcdpin = Pin , Db4 = Portc.0 , Db5 = Portc.1 , Db6 = Portc.2 , Db7 = Portc.3 , E = Portc.5 , Rs = Portc.4 Cls Cursor Off Dim U As Word Dim I As Integer Dim Teiler As Integer Dim W As Integer Teiler = 20 'Umrechnung A/D Wert W = 1 'Abbruch Bedingung Eingabe Config Adc = Single , Prescaler = Auto Start Adc Config Pina.0 = Input 'AD Config Pinc.6 = Output 'LED Config Pinc.7 = Input 'S1 Portc.7 = 1 'Start Locate 1 , 1 Lcd "<<<<uC Timer>>>>" Locate 2 , 1 Lcd "by Stefan Reible" Wait 2 Cls Locate 1 , 1 Do Lcd "Loading" Lcd " ." Waitms 200 Lcd "." Waitms 200 Lcd "." Waitms 200 Incr I Cls Loop Until I = 3 'Eingabe Timer I = 0 Do Locate 1 , 1 Lcd "Timer setzen: " U = Getadc(0) I = U / Teiler Locate 2 , 1 Lcd "Sek: " ; I ; Locate 2 , 14 Lcd "OK?" Waitms 200 Loop Until Pinc.7 = 0 'Go Cls U = I I = 0 W = 0 Locate 1 , 1 Lcd "Timer = " ; U ; " Sek" ; Locate 2 , 11 Lcd "Start?" Wait 1 Do If Pinc.7 = 0 Then Do Cls Locate 1 , 1 Lcd U ; " Sekunden"; U = U - 1 Wait 1 Loop Until U = 0 W = 1 End If Loop Until W = 1 Cls Locate 1 , 1 Lcd "Fertig!" Locate 2 , 1 Lcd "LED = AN" Portc.6 = 1 'LED an End 'end program
Lenox
Fehlt da nicht wieder
Reference = AVCC
oder ähnliches??
jon
Nice to be back after two years
www.roboterfreak.de
wenn ich es hinzufüge geht es nicht mehr.
Vcc muss nur halt an AREF angeschlossen sein.
Ihr müsst halt wissen wie Ihr es haben wollt,
entweder schliesst man Vcc an AREF an, dann muss man es aber auch so dem AVR sagen,
oder man nimmt etwas internes her, oder AVCC, dann muss aussen ein Kondensator an AREF dran, damit das auch geht.
Ein Kondensator sollte aber trotzdem immer am AREF vorkommen, damit die Spannung einigermassen stabil bleibt, denn die Messung wird nur so genau wie AVCC und AREF genau sind !
Schon mal vielen vielen Dank für eure Hilfe. Also ich habe ja das Board RN-Minicontrol, da ist an AREF schon ein Kondensator, genauso wie an AVCC. AVCC ist zudem über einen Widerstand (oder an ein Teil mit der Bezeichnung L1 Induktivität 10uH (ich find das teil aber nirgens auf dem Board)) an 5 V angeschlossen.
Ich versuch noch herauszufinden, was das Teil L1 sein soll und wo ich es auf dem Board finden kann.bin schon die ganze Zeit am löten, dass ich den Sensor mal ausprobieren kann...
So, ich mach mal weiter, bis denne
Gruß Felix
Hmm das ist kein Widerstand sondern eine induktivität (Spule).
Wenn du VCC (5V) schon an AREF anliegen hast denke ist es ist alles oky, es geht auch ohne Kondensator (nur halt ungenauer). Denke eher es ist ein Software Problem. Ich vergleich jetzt mal deins mit meinem.
Mfg
Lenox
So, kopier mal folgendes in Bascom rein, denke so gehts
Code:$regfile = "m168def.dat" $crystal = 16000000 $baud = 9600 $hwstack = 32 $framesize = 32 $swstack = 32 Config Adc = Single , Prescaler = Auto Start Adc Config Pinc.2 = Input Dim Sensor As Integer Do Sensor = Getadc(2) Print "Sensor " ; Sensor ; Waitms 500 Loop End
@Stargate
die Spule kann man beim RN-MiniCtrl fast nicht übersehen, ist relativ gross, schaut nach Widerstand aus, ist aber rosafarbig, und in der Nähe des Stromanschlusses, das L1 kann man fast nicht lesen, weil da genau ein Loch in der Platine ist,
wenn du es selber zusammengelötet hast, muss diese drin sein, sonst kommt nix am AVR an !
Ja und man sollte das angeben, wenn man AVCC als Referenz haben will !
Danke für den Code! ich hab meinen Fehler gefunden
Ich hatte die Zeile Config Pinc.2 = Input weggelassen, da ich dachte, das die Funktion Getadc (2) das schon weiß.
Es funktioniert...leider sind es wohl doch nur 256 Bit... ;-/
Bei 0V, also auf GND, zeigt er mir Sensor : 0 an und bei 5V zeigt er mir Sensor : 255 an.
Ja, ich habe mir mein Board nochmal angeschaut und habedie Spule gefunden *freu* ICh hab mir zwar schon gedacht, dass das Teil nur einmal auf der Platine zu finden ist, und dass es das Teil schon sein muss, aber ich bin davo ausgegangen, dass es ein widerstand ist
Es stimmt, das L ist "durchlocht", sonst hätt ich's vielleicht auch gefunden. Hab die Platine zwar selbst zusammengelötet, aber nicht mehr drauf geachtet.
So, vielen Dank für eure Hile, ihr habt meinen Tag gerettet. Ich sitz da nämlich schon ne ganzeweile dran und es tat nie ^^
Viele Grüße Felix
;D der Fehler ist mir auch passiert, und mir hatte ein kompletter Code auch gut geholfen . Eigentlich ist es mit getadc ja kindereinfach, aber man vergisst schnell ne Zeile, hehe
Lesezeichen