mikrocontroller.net

Forum: Mikrocontroller und Digitale Elektronik PMW und Tutorials für dsPIC33xxxxx


Autor: Jens Großmann (Firma: fa. Seuffer) (willi-helmchen)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hy leute,
ich muss für meine Diplomarbeit mit einem dsPIC33 über die PWM ein 
Signal erzeugen aus dem man einen Sinus gewinnt (keine Panik ist nur ein 
kleienr Teil davon)
Ich Programmiere das ganze über das MPLAB IDE v7.60 in C.
Theoretisch weis ich wie das ganze umzusetzen ist jedoch hab ich 
Probleme beim Programmieren bzw Inizialsieren der PWM.
ich hab jetzt schon mehrfach versucht die PWM mit einer konstanten 
Frequenz und DutyCicle einfach mal in Betrieb zu nehmen aber eher mit 
mässigem Erfolg.

Danach hab ich mich mal auf die Suche nach Tutorials für den dsPIC33 
gemacht aber auch nichts gefunden.

Jetzt wollte ich mal fragen ob jemand weis wo ich für den dsPIC33 
Tutorials finde, vielleicht sogar vom Hersteller selbst. Da habe ich auf 
der HP nämlich auch nichts gefunden.
Oder hat jemand ein einfaches PWM Beispiel für den dsPIC33 oder PIC24??

Autor: w124Dennis (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo Jens,

zeig doch mal dein source code, vieleicht kann die ja jemand helfen.
Und Erzähl uns noch was für ein compiler du benutzt

gruß Dennis

Autor: Jens Großmann (Firma: fa. Seuffer) (willi-helmchen)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Sourcecode folgt noch, muss ich erst vom Laptop auf dem ich programmiere 
auf den PC rüber nehmen, wobei das im Moment nicht viel ist, da ich gead 
wieder neu anfange.
Ich benutze den MPLAB IDE v7.60 mit dem Mircochip C30 Toolsuite. Ist 
also der MPLAB C30 C Compailer

Autor: Jens Großmann (Firma: fa. Seuffer) (willi-helmchen)
Datum:
Angehängte Dateien:

Bewertung
0 lesenswert
nicht lesenswert
Hier mal ein Teil des Sourcecodes.
Hab grad das Problem das er jedesmal eine Fehlermeldung bringt und sagt 
er erkennt P1TCON nicht obwohl das ja Laut datenblatt ein Register der 
PWM ist.
Was mach ich falsch

Autor: holger (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
>P1TCON    =0b800C    //PWM Timebase Control register

Nimm statt dem b mal ein x

Autor: Jens Großmann (Firma: fa. Seuffer) (willi-helmchen)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
ist eigentlich ein x. habe nur mal das HEX Wort in binär hingeschrieben 
und hat auch net geklappt. Beim zurückschreiben in HEX hab ich nur 
vergessen aus dem b ein x zu machen. Daran liegt es net.

hier mal die Fehlermeldung:

error: 'P1TCON' undeclared

muss ich dem noch irgendwo expliziet sagen das es sich um ein Register 
des PWM Modul handelt??
Oder kann sein das er die H files nicht richtig eingebunden hat, wenn ja 
wie kann ich das beim C30 Compailer überprüfen??

Autor: Jens Großmann (Firma: fa. Seuffer) (willi-helmchen)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
dieser Beitrag ist nur für die Emailbenachrichtigung :-)

Autor: Carsten St. (carsten)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Ich finde im Datenblatt kein P1TCON Register deines µCs. Meinst du 
vielleicht T1CON??

Autor: Jens Großmann (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Nein müsste schon P1TCON sein. Gugst du hier in Mircochip PDF für PWM

http://ww1.microchip.com/downloads/en/DeviceDoc/70187B.pdf

Autor: Carsten St. (carsten)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Du hast eine GeneralPurpose µC in deinem Projekt ausgewählt. 
(dsPIC33fj256gp710)
Die spezielle PWM Einheit die du nutzen möchtest ist aber nur in den 
MotorControl-Typen enthalten, also dsPIC33FJxxxMCxxx.

Autor: Jens Großmann (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Aja daran könnte es liegen :-)
Das ich keinen MC sondern GP habe, muss ich dann die Register aus dem 
Datenblatt des dsPIC33 nehmen und nicht die aus dem oben gelinkten PDF??

Autor: Bernd Rüter (Firma: Promaxx.net) (bigwumpus)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
In den GP-Typen fehlt die MotorPWM-Einheit komplett ! Da kannst Du die 
angeführte PDF komplett löschen !

Nimm einen MC-Typen.
Ich habe da einen BLDC-Motor angesteuert, der bei 18kHz für jeden 
einzelnen Zyklus des PWM-Moduls für alle 3 Phasen den Duty ausrechnet. 
Und der PIC hat immer noch nichts zu tun...

Autor: Jens Großmann (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Ne der GP Typ ist schon der richtige.
1. dieser ist in der Firma schon vorhanden und
2. ich muss kein Motor ansteuern sondern muss die PWM zur 
Signalgenerierung auf einem Kanal nutzen.

Autor: Bernd Rüter (Firma: Promaxx.net) (bigwumpus)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Dann sieh Dir Kapitel 13 "Output Compare" an, das wäre dann PWM.

Der Preisunterschied liegt wohl unter 10 Cent !!!!

Autor: Jens Großmann (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Laut unserer Controlling Abteilung bei unseren Stückzahlen ein gutes 
Stück mehr.
Aber die BWL´er feilschen ja eh um jeden Cent :-)

Autor: Bernd Rüter (Firma: Promaxx.net) (bigwumpus)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Oje !!

Lad Dir mal MAPS auf www.mircochip.com/maps
Da gibt es die Preise in $ ... der € ist nicht viel anders.
Dann sprecht mit dem Microchip-Verkäufer bei Eurem Distri.

Dann bleibt nicht mehr viel übrig....

Autor: Jens Großmann (Firma: fa. Seuffer) (willi-helmchen)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Ich glaub für solche sachen stehe ich zu weit unten in der Nahrungskette 
:-)
Aber ich glaub das ist hier auch nicht Thema des Threads

Autor: Jens Großmann (Firma: fa. Seuffer) (willi-helmchen)
Datum:
Angehängte Dateien:

Bewertung
0 lesenswert
nicht lesenswert
Hab mir heut mal das richtige PDF zu gemüte geführt und mein Glück auf 
ein neues Versucht.
In der Theorie auch alles wunderbar, aber als ich mir die Codebeispiele 
vorgenommen hab und mein Glück mal selber versucht hab ist mal wieder 
garnichts passiert.
Ich hab zwar alles Compailiert bekommen und konnte es auch auf den PIC 
spielen aber das war es auch schon wieder. Ausgang bleibt tod.
Ich denk mal das mri irgendwo noch die Portinizialisierung fehtl aber 
ich komm allein nicht drauf.
Kann mir einer weiterhelfen??

Autor: Bernd Rüter (Firma: Promaxx.net) (bigwumpus)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Ich würde mal die Priorität des INTs nicht verändern.
Ich würde den Int auch durch die fallende Flanke des PWM-Impulses 
erzeugen, dann kann die Einstellung für den nächsten Impuls berechnet 
werden, während die OFF-Zeit noch abläuft.
Sonst sehe ich nichts schlimmes.

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.