-         
+ Antworten
Ergebnis 1 bis 5 von 5

Thema: Frequenz zu klein ATMega16 Bascom

  1. #1
    Neuer Benutzer Öfters hier
    Registriert seit
    05.09.2004
    Ort
    Braunschweig
    Beiträge
    7

    Frequenz zu klein ATMega16 Bascom

    Hallo.
    Habe in Bascom folgendes Prog geschrieben:

    $regfile = "M16DEF.dat"
    $crystal = 16000000

    Config Portc = Output

    Do
    Set Portc.0
    Reset Portc.0
    Loop

    End

    Der Controller läuft auf einem STK500 Board mit 16MHz. Theoretisch sollte die Frequenz am Portc.0 max. 16MHz betragen. Berücksichtigt man jedoch, daß die Do-Loop-Schleife einiges an Rechenzeit benötigt (in ASM würde ich mit ca. 4 Taktzyklen rechnen?), so bliebe immer noch eine Frequenz von etwa 2-4MHz übrig. Liege ich da etwa soooo falsch? Interessant wäre eine Aufstellung der benötigten Taktzyklen der Bascombefehle. Ich erhielt nämlich lediglich eine Ausgangsfrequenz von etwa 500kHz... (abgesehen davon, daß das Tastverhältnis alles andere als 50% betrug). Für die Aufgabe, die ich dem ATMega16 geben möchte, eine Lageregelung, reicht das leider nicht aus, da "zwischendurch" ein PID-Algorithmus und eine ADC beackert werden muß.

  2. #2
    Erfahrener Benutzer Roboter-Spezialist
    Registriert seit
    26.01.2004
    Alter
    32
    Beiträge
    255
    Evtl. kannst du die Frequenz über den Timer1 erzeugen. Den Pin OCA1 kannst du per Hardware taktgenau toggeln lassen. Da bruachst du dann keinen einzigen Befehl dafür. Ob das allerdings weit über 500kHz raus geht kann ich dir leider nicht sagen.

    Ich habe das genuzt für eine Ansteuerung von RFID Chips (als ich noch bei Atmel gearbeitet habe). Allerdings war hier die benötigte Frequenz 125 kHz (nebenher noch allerlei Zugriffe auf externes SRAM und EEPROM). Controller war der Mega8515 mit C programmiert (auch mit 16MHz).

    Vielleicht kannst du die Frequenz auch mit einem externen Oszillator erzeugen. Wenn sie in der Frequenz variabel sein muss, kannst du einen VCO (Voltage Controlled Oscillator) verwenden.

    Viele Grüße
    Flite

  3. #3
    Erfahrener Benutzer Roboter Experte
    Registriert seit
    02.03.2004
    Ort
    Paderborn
    Alter
    32
    Beiträge
    614
    Die Lage von was willst du denn so schnell regeln?
    in ASM würde ich mit ca. 4 Taktzyklen rechnen?
    ASM würde sich für solche Zeitkritischen Sachen auch anbieten.

    abgesehen davon, daß das Tastverhältnis alles andere als 50% betrug
    Das sollte ja nun nicht überraschen: Der Schleifenkram läuft ja komplett ab während der Ausgang nicht gesetzt ist.
    it works best if you plug it (aus leidvoller Erfahrung)

  4. #4
    Neuer Benutzer Öfters hier
    Registriert seit
    05.09.2004
    Ort
    Braunschweig
    Beiträge
    7
    Es geht um die Lage eines Balkens (Aluprofil), der mittels Propeller in vorgegebener Lage schweben soll (natürlich an einem Punkt gelagert). Mit dem o.g. Prog wollte ich auch nur herausfinden, wieviele Taktzyklen z.B. eine Do Loop Anweisung benötigt. Hab mittlerweile die interne PWM des ATMega getestet. Funktionert sehr gut. Falls der PID zusammen mit dem ADC zulange braucht (möchte etwa mit 1kHz abtasten), werd ich wohl um ASM nicht herum kommen...
    Wenn mir jetzt noch jemand sagen kann, wie die Anweisung
    Tccr1b = Tccr1b Or &H01
    hinter
    Compare1a = 0
    Compare1b = W
    zu verstehen ist, währe ich fast glücklich. Hat was mit dem Prescaler zu tun. Soweit klar, aber warum finde ich diesen Parameter nicht in der Bascomhilfe...? Wie dort beschrieben gehts auch ohne, aber nicht bei mir...
    Vielen Dank für eure Hilfe!

  5. #5
    Erfahrener Benutzer Roboter Experte
    Registriert seit
    02.03.2004
    Ort
    Paderborn
    Alter
    32
    Beiträge
    614
    Die Anweisung setzt Bit0 in Tccr1b(und lässt die anderen wie sie sind).
    Das stellt(gemäß der Tabelle auf S. 112 im Datenblatt des Mega16) den Prescaler auf 1(In der Voreinstellung istder Timer angehalten.).
    it works best if you plug it (aus leidvoller Erfahrung)

+ Antworten

Berechtigungen

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