mikrocontroller.net

Forum: Mikrocontroller und Digitale Elektronik PWM Signal im PIC auswerten und weitergeben ?


Autor: eXtremeCostumez (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo !
Ich bin auf dem Gebiet PIC-Programmierung noch ein totaler "Noob" (oder 
auf gut bayrisch : "I hob ka Ahnung").
Nun möchte ich mit Hilfe eines PICs einen Fahrtregler bauen.
Assembler lerne ich gerade.
Nun folgendes:
Ich bekomme vom Empfänger ein PWM Signal.
Was muss ich mit dem machen ?
Einen Timer "hochzählen" und das Tastverhältnis messen ?
Wenn ich dann zum Beispiel ein Tastverhältnis vonm 25% rausbekomme wie 
geht es dann weiter ?

Gruß

Autor: Andreas Paulin (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Ich bekomme vom Empfänger ein PWM Signal.

Was für ein Empfänger? Worum gehts eigentlich?
Was muss ich mit dem machen ?
Weiß nicht. Kommt drauf an, was passieren soll...

Du musst Dich etwas genauer ausdrücken, dann gibts genauere Hilfe ;-)

Autor: Ratlos (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Es geht um Modellbau und den dort üblichen PWM Signalen zum Ansteuern 
von Servos und Fahrtreglern...
Für Atmel gibts hier unzählige Beispiele hier und im www. Solltest das 
mal als Referenz nehmen.

Autor: Thomas Bremer (Firma: Druckerei Beste) (virtupic)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Wenn es wirklich ein Signal von einem Modellbauempfänger ist, dann 
brauchst du nur mit einem Timer oder per Software die Pulsweite zu 
messen. Die liegt zwischen 1 ms und 3 ms. Die 1 ms nur unter Vorbehalt, 
kommt aus dunkler Erinnerung.

virtuPIC

Autor: eXtremeCostumez (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Schuldigung habe mich vielleicht etwas schlecht ausgedrückt.
Also ,es geht ,wie schon vermutet, um einen Modelbauempfänger.
Ich bekomme ja das PWM-Signal.Das Messe ich dann mithilfe eines Timers.

1.Muss ich mit dem Signal dann noch etwas machen oder nur weiter zum 
Motor leiten ?

2.Woher weiß ich ob das Signal für den "Rückwärtsgang" oder für den 
"Vorwärtsgang" ist ?

Und jetzt die wohl verbotene Frage : Hat vielleicht jemand einen 
Beispiel Assembler Quelltext ?

Gruß

Autor: HildeK (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Ich habe zwar auch 1 ... 2 ms in Erinnerung, aber egal, man kann die 
Zeiten ja skalieren:

Es gibt zwei Möglichkeiten:
1. mit einem Kanal. 1.5ms -> Motor steht, 1ms -> Motor voll rückwärts, 
2ms -> Motor voll vorwärts.

2. mit zwei Kanälen: Kanal 1 bestimmt die Drehzahl, 1ms -> Motor steht, 
2ms Vollgas. Kanal 2 bestimmt die Fahrtrichtung, <1.5ms -> Motor läuft 
rückwärts, >1.5ms -> Motor läuft vorwärts.
Nach- oder Vorteil: man kann in voller Fahrt vorwärts den Rückwärtsgang 
'reinhauen' :-)

Jetzt musst du nur noch die entsprechend detektierten Zeiten in eine 
Spannung für deinen Motor umsetzten, z.B. mit einer PWM. Das was der 
Fernsteuersender /-empfänger als 'Protokoll' hat, ist m.E. keine PWM, 
zumindest nicht in dem Sinne, wie sie hier im Forum häufig zur 
Ansteuerung von LEDs und Motoren verwendet wird und auf die du die 
unterschiedlich langen Impulse umsetzen musst.

Autor: eXtremeCostumez (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Danke erst mal !
Das Empfängersignal ist also gar kein PWM ?!Dann habe ich da was falsch 
verstanden.Wenn dann würde ich die 2.Möglichkeit wählen.
Ich könnte doch dann eigentlich den PWM Port des PICs gleich mit 
einbeziehen um den Motor anzusteuern.
Also :
Signal messen ->PWM erzeugen
und dann das PWM einfach zum Motor ?
Oder wäre es besser kein PWM zu erzeugen sondern die benötigte Spannung 
am Motor rauszumessen und die dann dem Motor zu geben ? (Wäre das 
überhaupt möglich wenn z.B 5v anliegen nur 2v zum Motor zu "geben" ?)

Gruß

PS: Echt tolles Forum habt ihr hier !

Autor: Marco (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo zusammen,
also ich habe mal ein wenig was gelesen über die Verarbeitung. Wie man 
im www lesen kann besteht das Singnal aus einer PWM. Im Ganzen hat das 
Paket mit mehreren Kanälen anscheinend 20ms und die Kanäle haben nen 
Range von 1 - 2ms wobei 1,5ms Mittelstellung beim Servo darstellt. Ich 
selbst interessiere mich sehr für das Thema steh aber leider noch sehr 
in der Kinderschuhen. Bis jetzt habe ich es gerade mal geschafft ein 
paar LED's blinken zu lassen(jeder hat mal klein angefangen). Ich würde 
gerne mit dem CCS-Compiler einen Servo ansteuern. Kann mir vielleicht da 
jemand unter die Arme greifen? Ich habe keine Ahnung wie man eine PWM 
umsetzt bzw programmiert. Ich dachte da eher an ein delay einzubauen 
wobei es ja mit dem 16f690 möglich ist PWM zu verwenden. Naja wie gesagt 
ich bin für jede Hilfe sehr dankbar.

MfG

Autor: Claus P. (claus)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
@eXtremeCostumez:

unter
http://home.arcor.de/claus.poltermann/dcms/asmprog.html

gibt es ein Tutorial, wie ich mit einem PIC einen 2-Kanal-Memory 
Schalter realisiert habe. Insbesondere ist hier genau beschrieben, wie 
man den Empfängerimpuls auswerten kann.

Den Sourcecode für den Schalter gibt's natürlich auch zum download, 
ebenfalls den Sourcecode für einen Fahrtregler, der das PIC PWM Modul 
nutzt (ohne Tutorial, da musst du dich selbst durchbeissen, oder 
nachfragen, aber die Empfängerimpulsauswertung ist die gleiche wie beim 
Schalter).

Grüße
Claus

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.