- 3D-Druck Einstieg und Tipps         
Seite 2 von 4 ErsteErste 1234 LetzteLetzte
Ergebnis 11 bis 20 von 31

Thema: Analog Eingang einlesen

  1. #11
    Erfahrener Benutzer Roboter Experte
    Registriert seit
    29.10.2006
    Ort
    Aachen
    Alter
    35
    Beiträge
    718
    Anzeige

    Powerstation Test
    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*

    Code:
    $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
    Mfg
    Lenox

  2. #12
    Erfahrener Benutzer Robotik Einstein
    Registriert seit
    29.12.2005
    Ort
    Nähe Mainz
    Alter
    32
    Beiträge
    3.467
    Fehlt da nicht wieder
    Reference = AVCC
    oder ähnliches??

    jon
    Nice to be back after two years
    www.roboterfreak.de

  3. #13
    Erfahrener Benutzer Roboter Experte
    Registriert seit
    29.10.2006
    Ort
    Aachen
    Alter
    35
    Beiträge
    718
    wenn ich es hinzufüge geht es nicht mehr.
    Vcc muss nur halt an AREF angeschlossen sein.

  4. #14
    Erfahrener Benutzer Robotik Einstein
    Registriert seit
    22.05.2005
    Ort
    12°29´ O, 48°38´ N
    Beiträge
    2.731
    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 !

  5. #15
    Neuer Benutzer Öfters hier
    Registriert seit
    29.11.2006
    Beiträge
    27
    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

  6. #16
    Erfahrener Benutzer Roboter Experte
    Registriert seit
    29.10.2006
    Ort
    Aachen
    Alter
    35
    Beiträge
    718
    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

  7. #17
    Erfahrener Benutzer Roboter Experte
    Registriert seit
    29.10.2006
    Ort
    Aachen
    Alter
    35
    Beiträge
    718
    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

  8. #18
    Erfahrener Benutzer Robotik Einstein
    Registriert seit
    22.05.2005
    Ort
    12°29´ O, 48°38´ N
    Beiträge
    2.731
    @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 !

  9. #19
    Neuer Benutzer Öfters hier
    Registriert seit
    29.11.2006
    Beiträge
    27
    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

  10. #20
    Erfahrener Benutzer Roboter Experte
    Registriert seit
    29.10.2006
    Ort
    Aachen
    Alter
    35
    Beiträge
    718
    ;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

Seite 2 von 4 ErsteErste 1234 LetzteLetzte

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •  

12V Akku bauen