Forum: Compiler & IDEs Motorsteuerung (3Modi)


Announcement: there is an English version of this forum on EmbDev.net. Posts you create there will be displayed on Mikrocontroller.net and EmbDev.net.
von Stefan (Gast)


Bewertung
-1 lesenswert
nicht lesenswert
Moin Leute,

ich wollte eine Motorsteuerung programieren mit einem "ECO-Mode", dass 
bedeutet, wenn ich den Poti ganz drehe soll der Wert langsam (wenn 
möglich einstellbar) nach oben gehen.

Mein aktuelles Programm funktioniert, aber ohne den ECO-Mode.
======================================================================== 
=
//
// Motorsteuerung.c
//

#include <avr/io.h>
#include <avr/interrupt.h>

volatile uint16_t reinit=0,tmp=0;

ISR(TIMER0_OVF_vect)
{
  PORTB ^=(1<<0);
  TCNT0 = reinit;
}

ISR(ADC_vect)
{
  tmp = ADCL + 256 * ADCH;
  tmp /=4
        reinit=tmp;

  ADCSRA |= (1<<6);
}

int main(void)
{
  ADMUX |= (1<<REFS0);
  ADCSRA = 0b11001111;

  DDRB  = 255;
  TCCR0B |= (1<<CS02);
  TIMSK0 |= (1<<0);
        sei();

  while (1)
  {
  }
}
======================================================================== 
=

Vielen Dank schonmal im Vorraus.

von Besserwisser (Gast)


Bewertung
-1 lesenswert
nicht lesenswert
Heimliches Tunen deines Autos ist illegal und führt zum erlöschen der 
Versicherung! Bei einem Unfall bist drann!

von Stefan (Gast)


Bewertung
0 lesenswert
nicht lesenswert
Es geht ja auch um ein Rollerumbau auf Elektroantrieb.

von Besserwisser (Gast)


Bewertung
0 lesenswert
nicht lesenswert
Stefan schrieb:
> Es geht ja auch um ein Rollerumbau auf Elektroantrieb.

Noch schlimmer!

von A. Z. (donvido)


Bewertung
0 lesenswert
nicht lesenswert
Die Änderungsrate von
reinit
 muss in der Main limitiert werden.

edit: kann auch in der IRQ passieren, wenn die Updaterate bekannt ist.

: Bearbeitet durch User
von Stefan (Gast)


Bewertung
0 lesenswert
nicht lesenswert
Wie limitiere ich den Wert, sodas er langsam ansteigt.

von A. Z. (donvido)


Bewertung
0 lesenswert
nicht lesenswert
In dem du das Delta zwischen zwei Aktualisierungen begrenzt.

von The Weasel (Gast)


Bewertung
0 lesenswert
nicht lesenswert
Du solltest viel mehr Kommentare einfügen.
Ein ein paar Wochen wirst du nicht mehr wissen was jede Zeile macht.

Antwort schreiben

Die Angabe einer E-Mail-Adresse ist freiwillig. Wenn Sie automatisch per E-Mail über Antworten auf Ihren Beitrag informiert werden möchten, melden Sie sich bitte an.

Wichtige Regeln - erst lesen, dann posten!

  • Groß- und Kleinschreibung verwenden
  • Längeren Sourcecode nicht im Text einfügen, sondern als Dateianhang

Formatierung (mehr Informationen...)

  • [c]C-Code[/c]
  • [avrasm]AVR-Assembler-Code[/avrasm]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] - Link zu Artikel
  • Verweis auf anderen Beitrag einfügen: Rechtsklick auf Beitragstitel,
    "Adresse kopieren", und in den Text einfügen




Bild automatisch verkleinern, falls nötig
Bitte das JPG-Format nur für Fotos und Scans verwenden!
Zeichnungen und Screenshots im PNG- oder
GIF-Format hochladen. Siehe Bildformate.

Mit dem Abschicken bestätigst du, die Nutzungsbedingungen anzuerkennen.