- Akku Tests und Balkonkraftwerk Speicher         
Ergebnis 1 bis 7 von 7

Thema: PWM über Poti steuern

Baum-Darstellung

Vorheriger Beitrag Vorheriger Beitrag   Nächster Beitrag Nächster Beitrag
  1. #1
    Neuer Benutzer Öfters hier
    Registriert seit
    30.09.2013
    Beiträge
    6

    PWM über Poti steuern

    Hallo zusammen

    Es handelt sich um folgendes:

    Atmega32
    externer 8 MHz Quarz
    PWM erzeugung zur ansteuerung einer MOSFET-Treiberstufe für einen 30cm RGB-Streifen (Hardwaretechnisch alles einwandfrei aufgebaut)

    Um Euch mein Problem näher schildern zu können erkläre ich euch zunächst meine IST-Situation :


    Ich habe ein C-Programm geschrieben mit dem ich in der Lage bin alle drei Timer (0,1,2) je als 8 Bit Phasencorrecte "PWM-Erzeuger" arbeiten zu lassen. Schreibe ich nun feste Werte in die Outputcompareregister der entsprechenden Timer so kann ich mir die Farben mischen wie ich es gern haben möchte.


    Nun möchte ich die PWM aber nicht durch fixxe Werte vorgeben, sondern über 3 Potis je einen Channel (OCR) ansteuern. Mein derzeitiger Stand ist der, dass ich in der Lage bin die RGB-Farben über die Potis zu verändern, aber leider eben nur, wenn ich die Potis verstelle und anschließend das Programm neu aufspiele....ich hätte es gerne so, dass ich das Programm einmal aufspiele und anschließend direkte Farbwechsel bei Analogwertänderung erzeuge. Ich habe mir schon einiges an Gedacnken gemacht, komme aber leider nicht auf meinen Denkfehler....

    Hier mein aktuelles Programm:

    ----------------------------------------------------------------------------------------------------------------------

    /*
    * RGB_Peavey.c
    *
    * Created: 09.08.2014 13:35:24
    * Author: Zille
    */

    #define F_CPU 8000000

    #include <avr/io.h>
    #include <avr/interrupt.h>
    #include <util/delay.h>
    #include "adc.h"

    // Farben der LEDs - Jede beeinflusst eine PWM des ATmega32

    uint16_t R = 0;
    uint16_t G = 0;
    uint16_t B = 0;

    void PWM_init(void)
    {
    // Ausgänge der drei Channels definieren

    DDRB |= (1<<PB3); // 8 Bit OC0
    DDRD |= (1<<PD7); // 8 Bit OC2
    DDRD |= (1<<PD5); // 16 Bit OC1A

    // Timer Einstellungen

    TCCR0 |= (1<<WGM00) | (1<<COM01) | (1<<CS00); // 1.8 Bit Timer: Phase correct PWM Mode, Clear Up - Set down OC0, prescaler 1024 | (1<<CS02)
    TCCR2 |= (1<<WGM20) | (1<<COM21) | (1<<CS20); // 2.8 Bit Timer: Phase correct PWM Mode, Clear Up - Set down OC2, prescaler 1024 | (1<<CS22)
    TCCR1A |= (1<<WGM10) | (1<<COM1A0) | (1<<COM1A1); // 16 Bit Timer: 8 Bit Phase correct PWM Mode, Clear Up -Set down OCR1A,
    TCCR1B |= (1<<CS10); // und prescaler 1024 (1<<CS12) |

    // Compareinterrupts erlauben

    TIMSK |= (1<<OCIE0) | (1<<OCIE1A) | (1<<OCIE2);

    // Interrupts generell erlauben

    sei();
    }


    int main(void)
    {
    // Initialisierungen

    ADC_Init();
    PWM_init();

    // Die drei Poti Eingänge definieren

    DDRA &= ~(1<<PA0);
    DDRA &= ~(1<<PA1);
    DDRA &= ~(1<<PA2);



    while(1)
    {
    R = (ADC_Read(0)/4);
    G = (ADC_Read(1)/4);
    B = (ADC_Read(2)/4);

    OCR0=G; //
    OCR2=R; // Rot
    OCR1A=B; // Blau inverse

    }
    }


    ----------------------------------------------------------------------------------------------------------------------------------------------



    Für jede Hilfe bin ich dankbar

    Wenn etwas fehlt an informationen dann einfach bescheid geben


    Gruß
    Geändert von Zille (19.08.2014 um 05:52 Uhr)

Ähnliche Themen

  1. servoposition über adc(poti) steuern
    Von rocketman123 im Forum C - Programmierung (GCC u.a.)
    Antworten: 9
    Letzter Beitrag: 19.02.2008, 19:57
  2. Antworten: 7
    Letzter Beitrag: 12.07.2006, 00:52
  3. Motor über Poti steuern
    Von FoCus im Forum Elektronik
    Antworten: 22
    Letzter Beitrag: 11.07.2006, 12:12
  4. Pumpe über PWM steuern
    Von Leidi im Forum Motoren
    Antworten: 7
    Letzter Beitrag: 19.05.2005, 08:09
  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
  •  

fchao-Sinus-Wechselrichter AliExpress