- SF800 Solar Speicher Tutorial         
Ergebnis 1 bis 7 von 7

Thema: Toggle Geschwindigkeit über Poti verstellen

Hybrid-Darstellung

Vorheriger Beitrag Vorheriger Beitrag   Nächster Beitrag Nächster Beitrag
  1. #1
    Erfahrener Benutzer Begeisterter Techniker
    Registriert seit
    10.03.2005
    Ort
    Schifferstadt
    Alter
    43
    Beiträge
    318
    Hi,

    vielen Dank für den Tip mit dem CTC Timer. Das Programm läuft soweit. Hier der Code:

    Code:
    '--- Chip ---
    $regfile = "m88def.DAT"
    $crystal = 8000000
    $baud = 9600
    $framesize = 40
    $hwstack = 40
    $swstack = 40
    
    '--- Ports ---
    Config Portb.1 = Output
    
    '--- ADC ---
    Config Adc = Single , Prescaler = Auto
    
    '--- Dim ---
    Dim Adc_wert As Word
    
    '--- Timer ---
    Config Timer1 = Timer , Prescale = 1024 , Compare_a = Toggle , Clear_timer = 1                      ' Timer auf CTC Mode setzen und Ausgang OCR1A togglen
    
    '--- Main ---
    Do
    
    Adc_wert = Getadc(0)                                                                                ' ADC einlesen
    
    Waitms 100                                                                                          ' 100ms warten
    
    If Adc_wert < 40 Then Adc_wert = 40                                                                 ' minimalen Wert von 40 einhalten / ca. 0,2s
    
    Ocr1a = Adc_wert * 40                                                                               ' Timer setzen
    
    Loop
    Mit diesem code kann ich nun zwischen ca. 0,2s - 5s die Toggle Geschwindigkeit einstellen und das sehr "smooth". Wenn ich nun auf 5s stellen und dann "schnell" auf 0,2s runtergehe, dann dauert es natürlich maximal 5s bis die 0,2s eingestellt sind. Wie kann ich dafür sorgen, das wenn der aktuelle per Poti eingestellte Wert kleiner ist, als der des OCR1A Registers den Timer "stoppt" und neu startet für die 0,2s ?

    Gruß Kay
    ...::: AVRFreak :::...

  2. #2
    Moderator Robotik Visionär Avatar von radbruch
    Registriert seit
    27.12.2006
    Ort
    Stuttgart
    Alter
    62
    Beiträge
    5.799
    Blog-Einträge
    8
    So vielleicht:

    Code:
    Ocr1a = Adc_wert * 40                   ' Timer setzen
    If Ocr1a < Tcnt1 Then Tcnt1 = 0         ' Zählregister anpassen
    
    Loop
    Bild hier  
    Atmel’s products are not intended, authorized, or warranted for use
    as components in applications intended to support or sustain life!

  3. #3
    Erfahrener Benutzer Begeisterter Techniker
    Registriert seit
    10.03.2005
    Ort
    Schifferstadt
    Alter
    43
    Beiträge
    318
    Hi,

    genau so funktionierts

    Danke für die Hilfe

    Gruß Kay
    ...::: AVRFreak :::...

Ähnliche Themen

  1. Antworten: 1
    Letzter Beitrag: 19.04.2011, 12:36
  2. ISP Asuro --> fusebits verstellen
    Von applican im Forum Asuro
    Antworten: 5
    Letzter Beitrag: 29.07.2007, 21:03
  3. durch Poti bei Atmel-Board Geschwindigkeit ansteuern
    Von mucahith im Forum C - Programmierung (GCC u.a.)
    Antworten: 3
    Letzter Beitrag: 23.03.2007, 14:39
  4. Motor über Poti steuern
    Von FoCus im Forum Elektronik
    Antworten: 22
    Letzter Beitrag: 11.07.2006, 12:12
  5. Poti über uC Steuern
    Von Superhirn im Forum Sensoren / Sensorik
    Antworten: 8
    Letzter Beitrag: 28.04.2005, 16:22

Berechtigungen

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

Solar Speicher und Akkus Tests