mikrocontroller.net

Forum: Mikrocontroller und Digitale Elektronik PIC12F675 - ASM - Programmänderung, hilft mir Jemand?


Autor: Bruno Pisarek (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Moin,

gibt es in diesem Forum Jemanden, der eine Programmänderung in
Assembler für einen PIC 12F675 durchführen würde?
Ich bitte um Hilfe, da ich kein Assembler in diesen Größenordungen
beherrsche und auch sonst wenig mit PICs zu tun habe.

Falls mein Wunsch viel Arbeit bereitet, soll die Leistung natürlich
auch dementsprechend honoriert werden - keine Frage!

Um was geht es?
Es ist ein Motorregler für Bürsten-Gleichstrom-Motore aus dem
Modellbau.
Das gesamte Projekt findet man hier ->
http://www.designsoft.com.au/ahome/rc/PIC-ESC/ESC.html

Die Software funktioniert einwandfrei und wurde von mir schon praktisch
getestet.
Sehr gut finde ich die Modularität des Codes, man kann auf einfache
Weise die gewünschten Features im Quelltext auswählen und dann
compilieren.
Auch die Umsetzungstabellen für das Software-PWM sind nach belieben
einlinkbar.

Der Code soll nach der Programmänderung auf jeden Fall diese
Modularität behalten - das ist wichtig.

Jetzt zu folgendem Szenario:
Alles funktionier so -> wenn der Regler vom Akku mit Strom versorgt
wird, muss ihm zuerst beigebracht werden, wo die Nullstellung ist und
wo "Vollgas".
Nach dem Einschalten nimmt der Regler die aktuelle Position des
Knüppels als Nullstellung an. Danach bewegt man den Knüppel auf Vollgas
und wieder zurück zum Nullpunkt.
Jetzt hate er beide Punkte, quittiert dies durch zwei Pipser im Motor
und ist bereit zur Arbeit.

Soweit so gut...

Wenn aber mitten beim Fahren (sagen wir mal - es wird die ganze Zeit
Vollgas gegeben) der PIC einen Reset macht, dann startet der Regler neu
und nimmt die Vollgasstellung als Nullpunkt.
Man kann ihn also nicht mehr programmieren und der Motor dreht nicht
mehr.

Ziemlich doof bei Booten ;)

Ich wünschte mir folgende Änderung des Programms:
Wenn dieser o.g. Fall eintritt und das Programm neu startet, soll der
"Lernprozess" nicht eher starten, bis die Impulslängen der
Fernsteuerung deutlich unter 1,5ms gefallen sind.
Dadurch wird vermieden, dass bei Vollgas der Lernprozess beginnt.
Ich gehe von Impulslängen bei Graupner aus - also ca. 1ms für Null und
2ms bei Vollgas.

Vielleicht gibt es ja für dieses Programm und dieses Problem noch eine
bessere Lösung?

Für Vorschläge und Hilfe bin ich sehr dankbar!
Falls mir jemand behilflich sein kann, kann ich es sofort ausprobieren
und berichten.

LG,
Bruno

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.