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??
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
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
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
>P1TCON =0b800C //PWM Timebase Control register
Nimm statt dem b mal ein x
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??
Ich finde im Datenblatt kein P1TCON Register deines µCs. Meinst du vielleicht T1CON??
Nein müsste schon P1TCON sein. Gugst du hier in Mircochip PDF für PWM http://ww1.microchip.com/downloads/en/DeviceDoc/70187B.pdf
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.
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??
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...
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.
Dann sieh Dir Kapitel 13 "Output Compare" an, das wäre dann PWM. Der Preisunterschied liegt wohl unter 10 Cent !!!!
Laut unserer Controlling Abteilung bei unseren Stückzahlen ein gutes Stück mehr. Aber die BWL´er feilschen ja eh um jeden Cent :-)
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....
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
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??
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.
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
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.