- fchao-Sinus-Wechselrichter AliExpress         
Ergebnis 1 bis 2 von 2

Thema: simples ADC Program für Schaltnetzteil ähnliche Anwendung

  1. #1
    Erfahrener Benutzer Roboter-Spezialist
    Registriert seit
    12.06.2006
    Beiträge
    478

    simples ADC Program für Schaltnetzteil ähnliche Anwendung

    Anzeige

    Praxistest und DIY Projekte
    Hallo zusammen,

    ich habe hier einen ganz simplen Code zum einlesen von zwei ADC Werten. Dabei ist der eine der Sollwert und der andere der gemessene Istwert. Die Schaltung ist ähnlich einem Schaltnetzteil mit FET`s als Schalter und einem Optokoppler als Potentialtrennung versehen. Ich verwende hier einen ATmega 8 ohne externen Quarz, also die 3,6864 MHz.
    Code:
    mainloop:	wdr
    ;zum clearen von ADCH und ADCL
    ;AVcc-left_adjusted-channel 1 => Taster
    	out	ADMUX,r16
    	out	ADCSRA,r31	;adc-enable/start_conversion/clk:32
    bis_convertet1:
    	sbic	ADCSRA,6
    	rjmp	bis_convertet1
    	in	r17,ADCH
    	nop
    	nop
    	nop
    	out	ADMUX,r18
    	out	ADCSRA,r31
    bis_convertet2:
    	sbic	ADCSRA,6
    	rjmp	bis_convertet2
    	in	r19,ADCH
    	cp	r17,r19	;VERGLEICH-VERGLEICH-VERGLEICH
    	brcc	an
    	ldi	r21,0b11111111
    	out	PORTB,r21
    	rjmp	mainloop
    an:
    	ldi	r21,0b00000000
    	out	PORTB,r21
    
    
    
    ;Hier den Quellcode etztztintragen.
    	rjmp	mainloop
    Das Problem ist, dass das Program extrem langsam ist, man kann aslo die Schaltimpulse mitzählen. Woran liegt das?

    Danke,
    The Man

  2. #2
    Erfahrener Benutzer Robotik Einstein Avatar von wkrug
    Registriert seit
    17.08.2006
    Ort
    Dietfurt
    Beiträge
    2.214
    Ich bin jetzt nicht der Schaltnetzteil Crack, aber ich vermute, das deine Schaltung zu langsam reagiert.
    Das heisst, wenn der Transistor eingeschaltet ist braucht es zu viel Zeit um die A/D Werte zu generieren, die den Transistor wieder abschalten lassen.
    In dieser Zeit schießt die Spannung über den Sollwert hinaus und es dauert eine gewisse Zeit bis der Einschaltpegel wieder erreicht ist.

    Das würde bedeuten, das deine Ausgansspannung um den Sollwert herum pendelt.

    Schau Dir mal die Spannung mit dem OSZI an.

    Vieleicht kriegst Du mit dem Analog Komparator eine schnellere Regelung gebacken ? Da dieser ja keine A/D Wandlung durchführen muß und somit sofort einen Interrupt auslösen kann.
    (Nur ein Gedankenspiel - Ausprobiert hab ich sowas noch nicht !).

Berechtigungen

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

12V Akku bauen