mikrocontroller.net

Forum: Mikrocontroller und Digitale Elektronik PWM mit nem PIC (PIC18F1230 ) , Anfänger!


Autor: Burghard B. (punami)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hi,

Ich brauch mal ne Schritt für Schritt beschreibung, wie ich ne PWM mit 
nem PIC ans laufen bring.

-Wie richte ich die ein?
-wie leg ich die frequenz fest?
-Wie leg ich die Active/down Time fest?

usw...

(Am besten mit PIC-C Beispiel, arbeite mit dem MPLAB, C18 compiler)

Mfg

(Bitte KEINE Nachrichten wie "das geht mit nem AT-xy viel besser"... Ich 
komm mit PIC's bisher gut zurecht.)

Autor: Burghard B. (punami)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Keiner da der schon ma sowas gemacht hat?

Autor: Dirk W. (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert

Autor: Burghard B. (punami)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
nun ja, is ja ganz nett, aber der 18F1230 hat nen anderen aufbau der 
PWM, er besitzt NUR PWM kein CCP und auch einen speziellen Timer für die 
PWM, soweit ich bis jetzt weiß.

Gibts keinen der schon ma mit dem Ding gearbeitet hat und mir mal nen 
Code-Schnippsel oder sowas dazu schicken könnte?

Autor: morph (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
beim c18 sind ganze bibliotheken dabei, eine davon sogar für pwm ;)

Autor: Gerhard. (Gast)
Datum:
Angehängte Dateien:

Bewertung
0 lesenswert
nicht lesenswert
Hallo Burghard,

ich habe leider im Augenblick keine Zeit (Weil ich in der Arbeit bin; -) 
) mich damit zu beschaeftigen. Ausserdem habe ich selber noch nicht mit 
diesem speziellen PIC gearbeitet.

Das Source Program ist leider speziell auf CCS eingerichtet und zeigt 
nicht an wie die einzelnen SFRs eingestellt werden muessen. Im List File 
kann man die Konfigurierung natuerlich nachvollziehen. Ich Lege Dir aber 
ein Beispiel bei vom CCS Compiler mit dem List file. Anhand des list 
files kannst Du den Chip setup verfolgen und bei Dir anwenden. Ich hoffe 
das hilft Dir ein bischen.

Gruss,
Gerhard

Autor: Burghard B. (punami)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
So, hab nun mal den ersten Cod egeschrieben, leider funzt der überhaupt 
nicht.

Ich denke der Fehler liegt irgendwo in der Konfiguration, den auf dem 
angeschlossenen Oszi seh ich überhaupt nichts. Normalerweise müsste ich 
doch auch wenn der PDCOL nicht gesetzt ist ein PWM-Signal sehen oder?

Auch hab ich mal probiert die PC0L PD0H manuell beide auf 0x11111111 
bzw. 0b00001111 zu setzen, was aber auch keine veränderung brachte.

Als letztes hab ich versucht an PORT RA0 und RA1 eine LED anzuschließen, 
die praktisch anzeigen sollte (blinken) das der PIC läuft. Ohne den 
ganzen PWM Kram gings auch, nur mit dem restlichen code nicht mehr...

#include "p18f1230.h"
#include "stdio.h"

void delay (void)

{
int i;
  while(i<100)
  {i++;}
}
void main()
        {
        int dc ;
        TRISB = 0 ;                     // set PORTB as output
        PORTB = 0 ;                     // clear PORTB
        TRISA = 0 ;                     // set PORTA as output
        PORTA = 0 ;                     // clear PORTA

        //PTCON1 = 0b01111100 ; //unused
        PTCON0 = 0b00000011 ; //configure: 1:1 Scale, Time base is 1:1, 
continuous up/down
        PWMCON0 = 0b01000111 ; //All PWM-Pins enable, PWM 0-2 in 
independent Mode
        PWMCON1 = 0b10000000 ; // PWM Timer active
        for(;;)                         // forever
                {
                for(dc = 0 ; dc < 256 ; dc++)//count the PDC-L upwards, 
PDC-H is ignored
                {
//PORTA = 0b11000000; Delay; (Die Test LED)
                PDC0L = dc;
//PORTA = =0; (Die Test LED)
                delay();
                }
                for(dc = 256 ; dc > 0 ; dc--)//count the PDC-L 
downwards, PDC-H is ignored
                {
                PDC0L = dc;
                delay();
                }
            }
    }

Autor: Burghard B. (punami)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hat keiner von euch ne Ahnung worans liegt? Das kann doch nicht so'n 
riesiges Problem sein.

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.