-
        

Ergebnis 1 bis 6 von 6

Thema: Vergleicher mit PWM am PIC 16F873

  1. #1
    Neuer Benutzer Öfters hier
    Registriert seit
    12.10.2009
    Beiträge
    7

    Vergleicher mit PWM am PIC 16F873

    Anzeige

    Hallo Leute,

    und zwar baue ich einen Vergleicher der zwei 8 Bit Eingänge miteinander Vergleicht (einer davon kommt über eine RS232 und der andere über den ADC-Eingang/RA0). Der Eingang der RS232 wird im EEPROM gesichert, dadurch bleibt der Wert stehen, wenn ich das Gerät ausschalte.
    Die PWM soll dementsprechend auf dessen Vergleich reagieren und am Ausgang RC2 das Signal herausbringen.

    So, jetzt zum Problem, da ich die Schaltung noch nicht gebaut habe, muss ich das Programm über dem PIC Simulator laufen lassen. Dadurch musste ich feststellen, dass mein PWM Takt nicht vorhanden ist, TMR2 jedoch schon.

    Ich hänge meine ASM Datei mit an und hoffe ihr seht mehr als ich.

    Gruß
    Bacchus
    Angehängte Dateien Angehängte Dateien

  2. #2
    Erfahrener Benutzer Roboter Genie
    Registriert seit
    17.08.2004
    Beiträge
    1.065
    Magst du mal dein gesamtes MPLAB Projekt packen und hochladen? Damit kann ich dann deine Simulationseinstellungen sehen, der Assembler alleine sieht beim überfliegen gut aus.
    Du möchtest mit dem Programm und dem PIC eine Spannung an einem Kondensator messen, richtig? Oder meinst du mit Kondensator nur den Pufferkondensator für die Messung? Ich versteh noch nicht ganz, was du mit dem PWM machen möchtest. Eine Spannungs-Dutycycle-Umsetzung?


    Ähm.. Was möchtest du an RC2 ausgeben? Ein PWM Signal, das durch das Modul erzeugt wird? Du hast nur das Trisbit auf 0 gesetzt, und zwar zweimal (einmal über movwf TRISC und bcf TRISC,2. Beobachtest du beim Simulator dann CCP1 oder RC2?

  3. #3
    Neuer Benutzer Öfters hier
    Registriert seit
    12.10.2009
    Beiträge
    7
    Erstmal Danke für die schnelle Antwort.

    Ich habs erstmals als Zip-Datei komprimiert und angehangen.

    Jetzt zu deinen Fragen:
    Der ADC am RA0 besitzt einen inneren Kondensator. Von dort wird die Spannung gemessen. Hierbei muss ich den Kondensator erst laden lassen, damit die Messwerte genau stimmen (meintest du damit den Pufferkondensator?).
    Der PWM an RC2-Ausgang hängt an der Basis eines Transistors. Dieser soll nur entsprechend der beiden Eingänge reagieren.
    RC2 soll als PWM Signal dienen. Das mit dem movwf TRISC gehörte eher zu dem Versuch es zum laufen zu bringen, gehört also nicht mehr rein. Das BCF TRISC,2 ist das richtige. Die Einstllungen für PWM habe ich übrigens von http://www.sprut.de/electronic/pic/grund/pwm.htm
    Im Datasheet ist RC2 gleich CCP1 ich achte also nur beim Simulieren auf PORTC.
    Angehängte Dateien Angehängte Dateien

  4. #4
    Erfahrener Benutzer Roboter Genie
    Registriert seit
    17.08.2004
    Beiträge
    1.065
    Hi, ich habe ein paar Probleme mit deinem File, die ich nicht verstehe. Z.B. Kann ich auch um Assembler unter "View, Watch" auf Add Symbol ein Symbol hinzufügen. In deinem Projekt ist das inaktiv.. Grundsätzlich würde ich dir noch raten immer die passende *.inc unter Header in den Projektbaum einzubinden, das machts übersichtlicher, wenn du da mal reinschauen musst. Assembler ist bei mir etwas länger her, hab in letzter Zeit nur C programmiert. Aber ich versuchs mal händisch:
    Dein Kondensator laden ist einfach nur eine Warteschleife für den ADC-Puffer, ok.
    Hast du für die Simulation die Werte angegeben? Dh also einen Wert im EEPROM abgelegt, nach der AD-Wandlung einen Breakpoint eingebaut und dahinter das ADRESH manuell beschrieben?

  5. #5
    Neuer Benutzer Öfters hier
    Registriert seit
    12.10.2009
    Beiträge
    7
    Soweit kam ich noch nicht, da ja schon das erste nicht funktioniert, also der PWM Takt am Ausgang. Darum habe ich den Rest noch nicht versucht.
    Bin aber gerade dabei eine Testplatine aufzubauen. Muss mir dann nur noch überlegen, wie ich ein RS232 Signal simuliere.
    Wird aber noch ein weilchen dauern, da ich noch andere Dinge machen muss. Das heißt also wieder Theoretisch bzw. mit Simulator nach dem Fehler suchen.
    Ich denk mal das es eigendlich funktionieren muss, ob der Simulator den PWM Takt oder die Einstellung des Taktes nich erkennt?

  6. #6
    Neuer Benutzer Öfters hier
    Registriert seit
    12.10.2009
    Beiträge
    7
    Du hast übrigens recht, unter View, Watch ist das Symbol "Add Symbol" wirklich inaktiv. Da muss irgendetwas mit den einstellungen sein, da andere Programme diesen Fehler nicht aufweisen.

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •