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


von Bruno Pisarek (Gast)


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

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.