Hi Leute, ich habe ein Problem und zwar muss ich für ein Praktikum einen kleinen 12V Motor mit dem PIC12f675 ansteuern, gelötet ist schon alles, Schaltung liegt bei. Habe versucht die Sache mal mit dem Programm PIC-C zu programmieren, läuft auch soweit, glaub ich, nur habe ich leider absolut keine Ahnung wie ich das mit der PWM klären soll. Wenn jemand Lösungsvorsschläge hat, bin ich immer offen für. Falls ihr euch mein Programmprototyp anschauen wollt, müsst nur Bescheid geben. Vielen Dank! Gruß Artur Müller
Der PIC12F675 besitzt kein PWM - Modul. Warum verwendest du statt dessen nicht den pinkompatiblen PIC12F683 ? Allerdings benötigt man für eine H - Brücke normalerweise zwei PWM - Ausgänge, und der PIC12F683 besitzt nur einen. Es gibt aber auch dafür schaltungstechnisch eine Lösung, nämlich mit zwei Transistoren, die das aufteilen.
Naja.. was muss den dein PIC so alles machen? vl gehts ja eh ganz einfach mit einer Software-PWM Lösung. Also beschreibe mal was du einliest und was du damit machen musst.
Hallo Schoaschi, ich muss den PIC mit einem Taster ansteuern, dass heißt mit Betätigung des Tasters soll der Motor anlaufen (dieses Programm soll auf einmal ablaufen), dann Rechts-linkslauf und eine Rampe fahren (erst rauf und dann runter). Wie in der Schaltung sichtbar habe ich ja auch eine Lichtschranke und an der Spitze des Motors eine passende Scheibe mit zwei gegeüberliegenden Schlitzen, um die Zählgenauigkeit zu erhöhen. Das Problem ist ich weiß eigentlich gar nix, das einzige was ich geschafft habe ist, das der Motor schon mal anspricht, und der schwierigste Teil ist die PWM, wie ich finde. P.S. Jonny: Ich soll eine PWM programmieren, damit der Motor eine Rampe fahren kann. Was ich noch weiß ist, dass dies irgendwie auch mit der Lichtschranke zu tun hat. Gruß Artur
Als "Rampe" wird bezeichnet, dass der Motor nicht abrupt anfahren und bremsen soll (wie z.B. mittels Schalter), sondern dass er langsam anfahren soll und langsam immer schneller werden soll, bis er die End-Drehzahl erreicht hat (genauso beim Bremsen). Eine Software-PWM erreichst du durch einen Zähler (Register), der im Timer-Interrupt hochgezählt wird und mit den PWM-Werten (Tastgrad-Werte) verglichen wird. Das Vergleichsergebnis entscheidet dann über Einschalten oder Ausschalten des Motors. Da du beide Drehrichtungen realisieren sollst, brauchst du zur Ansteuerung einer H-Brücke zwei PWM-Ausgänge, von denen je nach Drehrichtung immer nur einer aktiv sein darf. Wenn du auch die Lichtschranke zur Drehzahlmessung einbeziehen sollst, dann wird es etwas komplexer, da du dann eine komplette Regelung programmieren musst. Ich hoffe, ich habe dir jetzt genügend Stichworte für die Suche im Forum oder Web genannt. ...
Hi Leute, hab das Programm schon auf denPIC gebrannt, Fazit, es läuft nicht. Ich habe das TRIS-Register gesetzt ( A2 und A3 als Input, A4 und A5 Ausgang für den Motor links/rechts). An A3 ist ein Taster, der 5V auf Masse zieht (MCLR). Leider läuft der Motor nicht los. Hat jemand eine Ahnung, was am Programm falsch ist? Gruß Artur
Als erstes sollte MCLR ausgeschaltet (bzw. PIC-Intern intern auf High gelegt) werden --> #fuses , da ihr den Pin ja als Eingang verwendendet. Für die Lichtschranke würde ich den GPIO OnChangeInterrupt verwenden.
Haben MCLR ausgeschaltet und den A3 als Input für den Taster genommen. Sobald der PIC Spannung bekommt, fängt er aber leider auch ohne Tastendruck an zu laufen. void main { while (true) { if (Start) { motorlinks(); delay_ms(5000); output_low(M_links); delay_ms(2000); ... } } } Wie funktioniert das mit dem GPIO OnChangeInterrupt?
Wie inititalisierst du die Ausgänge? Setzt du beide auf 0? Wie der IOC funktioniert, das findest du im Datenblatt unter 3.2.2 Interrupt-On-Change.
CMCON=%00000111 ' Disable Comparators ANSEL=%00000000 ' Disable ADC kontrollieren.
Vielen Dank an alle die mitgeholfen haben, ich habe es endlich geschafft der Motor läuft wie er soll, auch die PWM mit der Lichtschranke funkioniert. Gruß Artur Müller
Hallo, ich mache gerade fast dasselbe und mich würde der Code interessieren, sowie der korregierte Schaltplan. Vielen Dank und Grüße Marcus
Hi Marcus, hier der Schaltplan und weiter unten den Code. Gruß Artur Müller
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.