mikrocontroller.net

Forum: Mikrocontroller und Digitale Elektronik Programmierprobleme


Autor: Bernd (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo Leute,

ich habe ein programmier Problem und bräuchte Hilfe bzw. Ideen! Ich
habe ein µC (PIC 18F458) den ich mit C programmiere. An dessen A/D Port
habe ich einen Sensor (Hal 805) angeschlossen und an vier Ausgängen ist
eine Transistorbrückenschaltung angeschlossen, die durch entsprechende
Ansteuerung einen Gleichstrommotor bewegt. Der Sensor gibt mir immer
den aktuellen Istwert, an welcher Position sich der Motor gerade
befindet. Durch eine Sollwerteingabe erhält das System den Befehl in
diese Position zu fahren. Ich habe dies über einen ständigen Soll-
Istwert Vergleich realisiert. Das ganze funktioniert auch alles ganz
gut, bis auf die Tatsache, dass der Motor bei erreichen der
Sollposition nicht genau stehen bleibt. Er "ruckelt" quasi immer um
die Position herum.
Meine Vermutung ist es, dass der Sensor um ein paar Digits schwankt und
somit erhält der Motor immer einen neuen Startbefehl. Wodurch kommt
diese Schwankung? Kann ich mir irgendwie Störsignale auf den A/D Port
durch den Motorstrom etc. einfangen? Wie kann ich das beheben? Gibt es
eine Möglichkeit, dass ich mich dem Sollwert schrittweise nähern kann?

Danke für eure Hilfe!

Grüße Bernd

Autor: Michael (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
lass doch erst eine Ändeung des Soll-Wertes zu ,wenn die
Ist-Wert-Ändeung eine gewisse Größe erreicht hat.
michael

Autor: Bernd (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Die Sollwerteingabe erfolgt über einen Steuerrechner mittels CAN-Bus.
Den gebe ich einmal vor und die nächste Eibgabe soll erst erfolgen wenn
die Position erreicht ist. Er erreicht den Wert auch bei langem Warten
nicht.
Abhilfe könnte auch eine PWM Steuerung bringen, aber da wies ich nicht,
wie man die Programmiert in C. So fit bin ich darin leider nicht! Hat da
vielleicht jemand nen entsprechenden Code?
Bernd

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.
Hinweis: der ursprüngliche Beitrag ist mehr als 6 Monate alt.
Bitte hier nur auf die ursprüngliche Frage antworten,
für neue Fragen einen neuen Beitrag erstellen.

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