PIC12F675 - ASM - Programmänderung, hilft mir Jemand?

Gast #164601
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

Eine eigene Frage? Dieser Thread ist über 21 Jahre alt. Stell sie in einem eigenen Thread – dort lesen mehr Leute mit, und sie wird öfter und schneller beantwortet.

Neuen Thread starten

Eine Lösung, Ergänzung oder Rückmeldung zu diesem Thread? Dann antworte hier.

Formatierung
  • [c]C-Code[/c]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] – Link zu einem Artikel
  • Verweis auf einen anderen Beitrag: Rechtsklick auf dessen Beitrags-ID (#8078628), „Adresse kopieren“, in den Text einfügen

Mehr zur Formatierung

Längeren Sourcecode als Anhang, nicht in den Text. JPG nur für Fotos und Scans; Zeichnungen und Screenshots als PNG oder GIF. Siehe Bildformate.

Schon registriert? Anmelden

Wird nicht angezeigt. Wir schicken dir einen Link; sobald du damit bestätigst, erscheint dein Beitrag.

Mit dem Abschicken legst du einen kostenlosen Account an und erkennst die Nutzungsbedingungen und die Datenschutzerklärung an.