-         

Ergebnis 1 bis 10 von 10

Thema: 40kHz erzeugen?

  1. #1
    Erfahrener Benutzer Roboter-Spezialist
    Registriert seit
    17.11.2004
    Beiträge
    263

    40kHz erzeugen?

    Anzeige

    Wie der Titel schon sagt möchte ich mit Bascom ein 40kHz Signal erzeugen. Ich brauche das um diesen Ultraschallsensor anzusteuern: http://www.roboternetz.de/phpBB2/zei...rag.php?t=5261

    Bsi jetzt habe ich folgenden Code:
    Code:
    $regfile = "2313def.dat"                                    'ATmega8-Deklarationen
    $crystal = 4000000                                          'Quarz: 4 MHz
    
    Config Timer1 = Timer , Prescale = 1
    
    Config Pind.5 = Output
    Signal Alias Portd.5
    
    On Timer1 Timer_irq
    
    Const Timervorgabe = 65336
    
    Enable Timer1
    Enable Interrupts
    Portd.5 = 1
    
    Do
    Loop
    
    Timer_irq:
      Timer1 = Timervorgabe
      Toggle Signal
    Return
    Nur in dem Beitrag von Manf steht, das ich ein Burst von 16 Perioden des 40kHz Signals brauche. Wie kriege ich denn das mit den 16 Perioden hin?
    Ist der Code ansonsten in Ordnung?

  2. #2
    Erfahrener Benutzer Roboter-Spezialist
    Registriert seit
    17.11.2004
    Beiträge
    263
    Keiner der mir helfen kann?

    Ich habe das ganze jetzt so:
    Code:
    $regfile = "2313def.dat"                                    'ATmega8-Deklarationen
    $crystal = 4000000                                          'Quarz: 4 MHz
    
    Config Pinb.3 = Output
    Burst Alias Portb.3
    
    On Timer1 Ontimer1
    Config Timer1 = Timer , Prescale = 1
    Enable Interrupts
    
    Portb.3 = 1
    Do
      Enable Timer1
      Waitms 3
      Disable Timer1
      Portb.3 = 1
      Waitms 1000
    Loop
    
    End
    
    Ontimer1:
      Timer1 = 65485
      Toggle Burst
    Return
    Ist der Code so in Ordnung? Es soll immer nach einer Sekunde gemessen werden.

  3. #3
    Erfahrener Benutzer Roboter Genie Avatar von Michael
    Registriert seit
    17.01.2004
    Ort
    Karlstadt
    Alter
    48
    Beiträge
    1.254
    Hallo roboter,
    Ist der Code so in Ordnung?
    Nutz doch den Sound-Befehl von Bascom, da kannst du die Anzahl der Impulse und deren Dauer festlegen.
    Gruß, Michael

  4. #4
    Erfahrener Benutzer Roboter-Spezialist
    Registriert seit
    17.11.2004
    Beiträge
    263
    Ich wollte das eigentlich lieber mit dem Timer machen, weil ich mit dem Timer noch nichts gemacht habe und das gerne lernen wollte. Außerdem:
    The SOUND statement is not intended to generate accurate frequencies. Use a TIMER to do that.

  5. #5
    Erfahrener Benutzer Robotik Einstein
    Registriert seit
    20.06.2004
    Beiträge
    1.941
    hallo, hast du dieses interface fertig gekauft oder selber zusammengebaut.
    mfg pebisoft

  6. #6
    Erfahrener Benutzer Roboter Genie Avatar von Michael
    Registriert seit
    17.01.2004
    Ort
    Karlstadt
    Alter
    48
    Beiträge
    1.254
    Hallo roboter,
    The SOUND statement is not intended to generate accurate frequencies. Use a TIMER to do that.
    Du willst 1. nur einen Burst von 16 Perioden und 2. ist es sicher nicht so wichtig, ob du nun 39,8 oder 40,2 kHz hast, oder?
    Den Timer brauchst du eh noch, um die Laufzeit festzustellen.
    Gruß, Michael

  7. #7
    Erfahrener Benutzer Roboter-Spezialist
    Registriert seit
    17.11.2004
    Beiträge
    263
    @Michael:
    Wie funktioniert denn der Sound-Befehl genau? So ganz verstehe ich die Hilfe in Bascom nicht.


    @pebisoft:
    hallo, hast du dieses interface fertig gekauft oder selber zusammengebaut.
    mfg pebisoft
    Wie meinst du das jetzt?

  8. #8
    Erfahrener Benutzer Roboter Genie Avatar von Michael
    Registriert seit
    17.01.2004
    Ort
    Karlstadt
    Alter
    48
    Beiträge
    1.254
    Hallo roboter,
    Der Befehl:
    Sound Portx.x , 16 , 31
    erzeugt bei mir mit einem Atmega8 @16MHz einen Burst von 16 Impulsen mit 40 kHz.
    Gruß, Michael

  9. #9
    Gast
    Ich habe zu diesem Thema mal nen anderen Beitrag gefunden: http://www.roboternetz.de/phpBB2/zei...rag.php?t=6074

    Dann werde ich wohl ein Mega8 mit 16MHz nehmen und das mal ausprobieren

  10. #10
    Erfahrener Benutzer Roboter-Spezialist
    Registriert seit
    17.11.2004
    Beiträge
    263
    Der Gast war ich gerade.

    Aber ich habe gerade gesehen das ich nur noch 3,6864MHz, 4MHz und 8MHz quarze habe. Kann mir jemand dafür den Befehl geben?

Berechtigungen

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