Hallo liebe Leute, Ich hab ein Problem. Ich habe in der Schule eine Aufgabenstellung bekommen und kenn mich dabei nicht aus, darum bitte ich euch um Hilfe! Ich soll die Drehzahl einer Drehmaschine messen. Dazu soll ich einen geeigneten Sensor finden. Dieser Sensor soll den gemessenen Wert zum mikrocontroller senden und dieser Wert soll dann am LCD-Display angezeigt werden. Das mit dem Sensor hab ich mir folgender maßen vorgestellt: ICh bringe eine Leuchtdiode zu leuchten. Dann schließe ich einen Widerstand am mikrocontroller. Nun klebe ich auf die Drehmaschine einen Sticker. Wenn nun sich die Maschine dreht, leuchtet die Leuchtdiode den Sticker an und der Sticker reflektiert das Licht zum Widerstand. Somit verändert sich die Spannung am Widerstand und man weiß, dass eine Umdreung gelegt worden ist. Nun aber, weiß ich nicht wie man das Programm im MPLAB schreibt. Deshalb wollte ich euch fragen, ob jemand von euch mir weiter helfen kann? Ich bitte euch um Hilfe, ich wäre euch wirklich sehr dankbar! Mit freundlichen Grüßen
>Ich hab ein Problem. Ich habe in der Schule eine Aufgabenstellung >bekommen und kenn mich dabei nicht aus, darum bitte ich euch um Hilfe! Das solltest du aber, sonst würde man dir die Aufgabe nicht stellen. Irgendwo im Unterricht war das wohl mal dran. >Nun aber, weiß ich nicht wie man das Programm im MPLAB schreibt. Deshalb >wollte ich euch fragen, ob jemand von euch mir weiter helfen kann? Siehe oben.
Ich bin nicht der perfekte programmierer und der beste in diesen sachen, ich bitte um hilfe :(
lukas schrieb: > Nun aber, weiß ich nicht wie man das Programm im MPLAB schreibt. Fsng mal selbst mit dem Programm an. IO-Einstellungen, usw. Sobald das fertig ist, herzeigen und spezifische Frage stellen.
...und dringend bei der nächsten VHS einen Grundkurs Deutsch buchen! Aber auch hingehen und nicht schwänzen wie den Programmierunterricht!!!
Floh schrieb: > Fsng mal selbst mit dem Programm an. > > IO-Einstellungen, usw. > > Sobald das fertig ist, herzeigen und spezifische Frage stellen. Ich weiß, dass ich den Spannungswert des Widerstandes mal einlesen muss also: void main(void) { int ADCwert; .... dann muss man einen Zähler einbauen, der bei jedem Wert, das hereinkommt, zählt. somit weiß ich, dass eine weitere Umdreung gemacht worden ist. und das muss ich dan am LCD, das auf dem mikrocontroller ist, anzeigen. ?? :(
Frank L. schrieb: > ...und dringend bei der nächsten VHS einen Grundkurs Deutsch buchen! > > Aber auch hingehen und nicht schwänzen wie den Programmierunterricht!!! Ich bitte ja nur um Hilfe. Wenn mir jemand Programmzeilen zeigt, weiß ich wovon er redet und was das Programm genau mach. Doch das Selbstschreiben hab ich nicht drauf. Ich wäre sehr erfreut, wenn du mir weiter helfen konntest ?! :(
>Doch das Selbstschreiben hab ich nicht drauf.
Dann hast du zwei Möglichkeiten:
1. Lerne es.
2. Hol dir ne sechs ab.
lukas schrieb: > Ich weiß, dass ich den Spannungswert des Widerstandes mal einlesen muss > also: Ich will ein Auto bauen. Ich weis wie ich das Radio anschließe -.- Logisch denken. 1. Grundgerüst des Programms 2. Ein-/Ausgabe festlegen 3. Programmatischer Entwurf, was mach ich wann wie oft? 4. Programmieren. Übrigends, ich nehme nur lauffähigen Code als Anhang zur Kenntnis, keine platten Umschreibungen.
lukas schrieb: > Selbstschreiben hab ich nicht drauf. Ich wäre sehr erfreut, wenn du mir > weiter helfen konntest ?! :( Ein paar Tpss hast du ja schon bekommen. Einen wichtigen noch von mir: In Schritten arbeiten! Die Aufgabe kommt dir jetzt komlpiziert vor, weil du alles auf einmal siehst und nicht weißt, wie das alles zusammenhängen soll. Teil dir die Arbeit auf! Die Drehzahl und das LCD sind erst mal völlig uninteressant. Jetzt willst du erst mal nur deinen Sonsor abfragen und wenn deine Markierung auf der Wlle so steht, dass sie das Licht reflektiert, soll eine LED angehen. Mehr nicht. Übrigens: Mit dem ADC wirst du nicht viel Freude haben. Brauchst du auch nicht. Dich interessiert ja die eigentliche Spannung nicht. Du willst nur wissen ob sie hoch oder niedrig ist. Eigentlich willst du auch das noch gar nicht wissen. Eigentlich willst du nur wissen, wann sie von niedrig auf hoch (oder umgekehrt) wechselt. So gesehen richtest du dir am besten deine Hardware so her, dass bei unbeleuchtetem Photowiderstand möglichst 5V an deinem Portpin ankommen und bei beleuchtetem möglichst 0V. Denn dann ist dein "Sensor" aus Sicht des Programmes auch nichts anderes als ein Schalter/Taster. Und den solltest du ja erst mal auswerten können, so dass bei Betätigung eine LED angeht. Nicht von der Komplexität der kompletten Aufgabe beeindrucken lassen. Aufteilein in einfachere Teilprobleme heisst die Devise. Diese Teilprobleme dann lösen und nach und nach die Einzelteile zusammenführen.
Als Sensor könnstest du den Reflexkoppler CNY70 nehmen. Da hast du Send- und Empfangsdiode in einem Gehäuse. Der ist genau für sowas gemacht. Zur Messung der Drehzahl gibt es ein Prinzig zwei Möglichkeiten: 1. Du verbindest den Sensor mir einem Interrupt-Eingang und inkrementierst in der ISR eine Variable. Nach einer konstanten Zeit wird der Wert ausgelesen und zurückgesetzt. 2. Beim PIC kannst du einen der Timer extern takten. So wird dein Timer zum Zähler. Vorteil gegenüber Variante 1 ist, dass du eine deutlich geringere Interruptbelastung hast. Nun lässt du einen anderen Timer immer nach einer konstanten Zeit einen Interrupt auslösen. In der ISR liest du jetzt den ersten Timer (Zähler) aus. So, jetzt bist du gefragt mit der Umsetzung. Was hast (oder kannst) du denn schon? Schon mal mit den Timern des PIC gearbeitet? Hast du schon eine funktionierende LCD-Ansteuerung? Auf welchem Level läuft das Ganze denn? Schulprojekt? Ausbildung/berufsbildende Schule? Studium?
heinzhorst schrieb: > 2. Beim PIC kannst du einen der Timer extern takten. So wird dein Timer > > zum Zähler. Die erste Aufgabenstellung hast du mir ja schon herausgefunden :) - besten Dank! In den kommenden Tagen werde ich mal diesen Sensor bestellen. Wenn ich dann diesen Sensor habe, werde ich es auf den mikrocontroller anschließen. Wenn jetzt angenommen die Maschine eine Umdreung macht, so muss dieser wert eingelsen werden und auf der LCD-Anzeige angezeigt werden. Also sozusagen ein Timer realisiert werden. Wenn sich die Spannung, oder was auch immer dieser Sensor misst, verändert, so zählt der Zähler/Timer eine Zahl weiter. z.B: eine Umdreung wurde schon gemacht also steht auf der LCD: 1 ; => jetzt kommt eine zweite Umdreung -> Sensor leitet diesen Wert weiter -> Wert wird eingelesen -> Timer zählt eine Zahl weiter also: 2. Dies müsst ich jetzt programmieren :/ ..
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.