hallo leute ich bin neu hier und habe noch nicht so viel erfahrung in schaltungen und software ich mache zur zeit ein praktikum und habe bereits eine platine mit 6 leds hergestellt und programmiert mit c bzw. codevision. das ist das erste mal das ich etwa programmiert habe ... allerdings muss ich zugeben dass ich das nicht komplett gemacht habe sondern ein projekt von voher abgeändert bzw. an meins umgeschrieben habe. man hat im praktikum einfach zu wenig zeit um alles zu lernen deshalb habe ich nicht komplett von anfang an selber ein programm geschrieben. jtzt habe ich ein projekt bekommen was ich so schnell wie möglich erledigen sollte weil ich nur noch knapp 5 wochen praktikum habe. ich habe eine spannung von 230 mV welcher den motor betreibt. die frage ist nun wann der motor immer eingeschaltet ist. ansatz ist das ich immer eine strommessung dürchführe mit einen shunt ( sollte 0,23 ohm sein)... dann eine real time clock benutze um sagen zu können wann der motor eingeschaltet wurde und ich muss diese daten aufzeichnen oder auf eine sdkarte übertragen. ich habe irgendwie keine ahnung wie ich da dran gehen soll. sowohl hardware als auch software mässig. kann mir da einer helfen. ich mache nur 3 monaten praktikum weil ab da mein studium beginnt. deshalb habe ich nicht die zeit mir komplett programmierer und hardware entwickler eigenschaften oder fähigkeiten anzueignen.
> ich habe eine spannung von 230 mV welcher den motor betreibt hm, das muß aber ein ziemlich kleiner Motor sein, der mit 230 milli-Volt betrieben wird. > ansatz ist das ich immer > eine strommessung dürchführe mit einen shunt ( sollte 0,23 ohm sein) hast du den Wert selbst erfunden oder ist das eine Vorgabe? > dann eine real time clock benutze um sagen zu können wann der motor > eingeschaltet wurde Also willst du ein Funkmodul anschließen (dcf77) ? > deshalb habe ich nicht die zeit mir komplett programmierer und hardware > entwickler eigenschaften oder fähigkeiten anzueignen. Du mußt auch nicht Heimwerker-Pofi werden, um eine Tapete an die Wand zu kleben - aber du solltest schon wissen wo (Wand, Tapete) und auf welcher Seite der Kleister dran kommt. > ich habe irgendwie keine ahnung wie ich da dran gehen soll. > sowohl hardware als auch software mässig. kann mir da einer helfen. --> Mach dir mal Gedanken darüber, was du hast, und was du brauchsst. Dazu brauchst du keine "komplett Programmierer und Hardware Entwickler" Kenntnisse zu haben, sondern einfach nur die Fähigkeit, mal genauer über dein Problem nachzudenken und es zu strukturieren.
vitja Hermann schrieb: > ich zugeben dass ich das nicht komplett gemacht habe sondern ein projekt > von voher abgeändert bzw. an meins umgeschrieben habe. > man hat im praktikum einfach zu wenig zeit um alles zu lernen deshalb > habe ich nicht komplett von anfang an selber ein programm geschrieben. Das man sich gerade am Anfang andere Programme ansieht, ist so nicht weiter schlimm. Wichtig ist nur, dass du im Detail und vollständig verstehst, was du da geschrieben hast. Wenn du das nur einfach irgendwie zum Laufen gebracht hast und nicht verstehst warum und wieso, dann hast du den falschen Weg gewählt. Zur Überprüfung solltest du den Verusch machen: Dein LED-Beispiel noch einmal programmieren, aber diesmal von Anfang an und ohne fremde Hilfe. Wenn du in deiner Vorlage spicken musst, dann tu das, allerdings: damit ist dann die Aufgabe nicht richtig gelöst und du musst noch einen Versuch starten. > man hat im praktikum einfach zu wenig zeit um alles zu lernen Mit Verlaub, aber das ist allergrößter Unsinn. Du stehst hier noch am Anfang. Jetzt sind die Dinge noch einfach. Wann dann, wenn nicht jetzt, willst du denn diese Grundlagen lernen? Zumal die Ansteuerung von ein paar LED nun wirklich keine Raketentechnik ist. Da geht es in erster Linie nicht um LED, sonder darum, dass du gezielt einzelne Ausgänge auf 0 oder 1 schalten kannst. Wenn du jetzt noch ein paar Stunden investierst und mit diesem Beispiel spielst, wie zb einfach mal testweise einen Zähler der langsam hochzählt auf die LED ausgeben und sich ansehen welche LED leuchten und welche nicht und das dann in Zusammenhang mit dem Zählerstand bringen; oder zb ein kleines Lauflicht zb basierend darauf was du beim Zählerexperiment gelernt hast; wenn du also diese Zeit investierst und diese Dinge nach ein paar Stunden ohne Hilfe hinkriegst, dann hast du tatsächlich etwas gelernt und man kann sagen: Ok, zumindest diese Grundlagen dürften jetzt erstmal soweit verinnerlicht sein, dass man weitermachen kann. Völlig falsch ist es aber ein vorhandenes Programm herzunehmen, einen Zahlenwert durch einen anderen zu ersetzen, das laufen zu lassen, zu sehen dass eine LED brennt oder auch nicht, und dann loszuposaunen man würde das alles jetzt beherrschen. Denn in Wirklichkeit beherrscht du nichts davon. Programmieren lernen funktioniert auf mehreren Ebenen. Eine davon ist das rein handwerklich Hinschreiben des Textes. Das impliziert auch, dass man keine ; vergisst, das impliziert die Schreibweisen, Codeorganisation, Codeformatierung, Erkennen und deuten der ersten Fehlermeldungen, etc. Wenn du das aber nie tust, dann lernst du das auch nicht. Hier gilt: Übung macht den Meister. > jtzt habe ich ein projekt bekommen was ich so schnell wie möglich > erledigen sollte weil ich nur noch knapp 5 wochen praktikum habe. Dann musst du dich dahinterklemmen. > > ich habe eine spannung von 230 mV welcher den motor betreibt. die frage > ist nun wann der motor immer eingeschaltet ist. ansatz ist das ich immer > eine strommessung dürchführe mit einen shunt ( sollte 0,23 ohm sein)... > dann eine real time clock benutze um sagen zu können wann der motor > eingeschaltet wurde und ich muss diese daten aufzeichnen oder auf eine > sdkarte übertragen. Zwischen dem was du in der Einleitung als AUfgabenstellung beschrieben hast und dem hier liegen Welten! Da sind noch viele Zwischenschritte, die auf dich warten. Nach dem Beherrschen von Ausgaben auf einen Pin kommt als nächster Schritt die Behandlung von Eingaben zb über einen Taster: Taster gedrückt -> LED leuchtet; Taster nicht gedrückt -> LED leuchtet nicht. Dann das ganze mal umgekehrt. Nach Tastern kommt vielleicht ein LCD drann. Es ist immer gut, wenn man irgendwo eine Ausgabefläche hat, auf der man sich Zahlenwerte ausgeben lassen kann. Daher kann man nicht früh genug damit anfangen. Hat man ein LCD, dann nimmt man zb den ADC in Betrieb. Aber nicht mit einem Motor, sondern mit einem Poti. Das Poti wird als Spannungsteiler geschaltet und auf dem LCD soll zunächst der ADC Wert und dann die zugehörige Spannung aufscheinen. Das kann man leicht kontrollieren: Voltmeter an den ADC Eingang und Wert ablesen. Der sollte mit dem Wert am LCD übereinstimmen. Poti verdrehen und nachsehen, ob das immer noch stimmt. Anstatt des Potis kann man dann probehalber mal den Shunt des Motors anhängen und sich ausrechnen welche Spannung da am Shunt abfallen müsste. Da muss man dann auch mal nachrechnen wie groß denn dieser Spannungsabfall sein wird (Ohmsches Gesetz) und ob man das überhaupt so messen kann. Wenn nicht muss man sich eine Alternative suchen, wie zb eine Reflexlichtschranke die eine Markierung auf der Abtriebswelle überwacht und solange Puls liefert, wie sich der Motor dreht. Da kommt einem jetzt wieder die Erfahrung zugute, die man zuvor mit den Tastern gewonnen hat. Und so führt eines zum anderen, bis man letzten Endes in der Lage ist, das komplette Projekt zu stemmen. > deshalb habe ich nicht die zeit mir komplett programmierer und hardware > entwickler eigenschaften oder fähigkeiten anzueignen. Die Zeit wirst du dir nehmen müssen. Da hilft alles nichts.
A.oh stimmt das waren eher 230 V nicht mV ... konnte die schrift schlecht lesen von ihm. B. man berechnet den shunt mit dem ohmschen gesetzt ... habe da falsche werte benutzt und muss noch hinzufügen das der motor ab 100 mA eingeschaltet wird C. ja er will sehen können wann das gerät an war weil das schwer zugänglich ist Ja ich sitze hier zwischen entwicklern und wenn ich die so reden höre denke ich ach du scheiße sind die schlaue :D deshalb weiß nicht ob ich auch so detailliert denken kann wie sie ... wie gesagt studium kommt erst noch
@ Karl ich habe mich bisschen falsch ausgedrückt. also ich hatte eine art vorlage aber das programm voher hat was ganz anderes gemacht ... das war nicht einmal für das lauflicht gedacht sondern für ein sensor. ich habe mich da eingelesen um zu verstehen wie sowas aussieht. ich habe selber alle ports initialiesiert ... sowie das programm für das lauflicht geschrieben. und ich denke ich weiß wie es funktioniert weil das lauflicht macht genau das was ich will und nicht irgendwie was komisches. ich habe auch adc und poty ebenfalls hier. ich ich verstehe auch wie es funktioniert aber das problem ist das ich da nicht von alleine drauf komme. ich habe noch nie einen analog digital wandler programmiert. wo mir das gezeigt wurde dann dachte ich " ach was ist ja einfach" aber ich komme nicht von alleine drauf . die tasten habe ich auch entprellt und dann auch switch-case funktion eingeführt bei tastendrück. also ich verstehe das wie und warum das funktioniert aber halt nicht überall und komme da nicht von alleine drauf. meine platine mit dem led-lauflicht ist schon beinah fertig ... jtzt muss ich an zwei projekten arbeiten.
Ich würde zunächst mal die Hauptwörter mit grossen Buchstaben beginnen. Dann kann man das lesen, ohne Augenkrebs zu kriegen.
Alles schön und gut, aber was erwartest du jetzt vom Forum? Du sagst selber, du hast Kollegen links und rechts neben dir sitzen. Die kennen dich, die wissen (hoffentlich) was du kannst und was du nicht kannst, die haben die Hardware vor sich, die können Messungen vornehmen, die können dir von Angesicht zu Angesicht Erklärungen geben und sehen wo der Schuh drückt. Ich seh jetzt ehrlich gesagt nicht, wie dir hier das Forum helfen könnte, besser als die Leute vor Ort bei deinem Projekt zu helfen.
Stimmt, aber sie sind ja auch selber beschäftigt und haben ihre Arbeit. Ich wollte eigentlich nur wissen, wie ich da jetzt ran gehe. Zum Beispiel was ich alles für die Hardware brauche. Gut Software mache ich dann später mit den Softwareentwicklern. Also ich habe einen Atmega8 Controller, RTC, Shunts, Sdkartenslot, dann brauche ich noch eine 230V Versorgung. Ich weiß auch nicht wie ich sie logisch verbinden soll.
Ich würde dir von einem Stunt zur Messung abraten. Wenn der Motor gebremst wird oder anläuft zieht er sicherlich mehr Strom. Einen Brückengleichrichter in die Leitung schalten, dann Die Ausgänge (Plus/Minus) mit 5 Dioden kurzschließen. Jetzt fallen über den Dioden immer ca.3 Volt ab wenn der Motor läuft. Die 3V treiben über einen Wiederstand die LED eines Optokopplers und dein µC weiss wann der Motor läuft. Das µC-Teil ist dann auch schön galvanisch getrennt von den 230V.
So erfährt der µC sogar 100 mal pro Sekunde, dass der Motor läuft. Statt des empfohlenen "Wiederstandes" rate ich zu einem Widerstand. Reichelt hat keine "Wiederstände".
Martin S. schrieb: > Einen Brückengleichrichter in die Leitung schalten, dann Die Ausgänge > (Plus/Minus) mit 5 Dioden kurzschließen. Zu den 5 Dioden noch eine Diode antiparallel schalten. Den Brückengleichrichter kann man dann wieder auslöten. So spart man 3 Dioden, erhält allerdings nur 50 statt 100 Impulse pro Sekunde.
Schuhplattler Sepp, Oberammergau schrieb: > Zu den 5 Dioden noch eine Diode antiparallel schalten. Ja, diese Diode würde den Optokoppler retten :) Die Impulse kann man ganz einfach per Interupt zählen, dann braucht man noch nichtmal einen Quarz am µC. Das sollte dann hinreichend genau sein um die Laufzeit zu messen.
Danke für eure Hilfe. Ergibt Sinn also habe ich euch richtig verstanden. Ich baue in meine schaltung 5 dioden ein und die 6 antiparallel dadurch brauche ich den Brückengleichleiter nicht mehr ? Und wie mache ich das mit der Real Time Clock. Sie soll mir dann ständig den Zustand anzeigen, wann der Motor an war und diese Informationen müssen dann weiter bsp. auf eine Sd-Karte übertragen werden.
> Also ich habe einen Atmega8 Controller, RTC, Shunts, Sdkartenslot, > dann brauche ich noch eine 230V Versorgung. > Ich weiß auch nicht wie ich sie logisch verbinden soll. logisch: an den Atmega8 schliesst du die Eingangsbeschaltung zur Einschalt-Messung (Dioden, Optokoppler) an, sowie den RTC, und den Kartenslot. phyikalisch: du guckst dir irgendwelche Ports aus, an denen du das anklemmen willst, und definierst dir diese Ports als entsprechende Eingangs- oder Ausgangskanäle Wirst du den noch irgendwelche Displays (behelfsweise einzelne LED) oder Taster anschließen zwecks Bedienung, oder geht die Erfassung volllkommen bedienungslos? (spätestens wenn die SD-Karte voll ist wird eh nix mehr geloggt, aber das merkst du ja wenn du die Karte ausliest und nix neues mehr drauf ist ..) Wenn du Details benötigst, dann mußt du halt Details hinterfragen, z.B. "Welche Ports wären gut geeignet für einen SD-Kartenanschluß, und wenn ja warum"? "Wie bekomme ich eine FAT auf der SD-Karte aus dem uC heraus angesprochen"?
Vielen Dank solch eine Hilfe habe ich mir erhofft :). Habe jetzt ein paar Ansätze Danke nochmal. Ja wir werden eine LED benutzen zur Kontrolle um zu sehen ob der Motor läuft. Und das zur SD-Karte. Mir wurde grad noch vorgegeben, dass wenn die SD-karte voll ist, die Datein dann überschrieben werden soll. Sodass man ständig die neusten Ereignisse sieht.
vitja Hermann schrieb: > Mir wurde grad noch vorgegeben, dass wenn die > SD-karte voll ist, die Datein dann überschrieben werden soll. Sodass man > ständig die neusten Ereignisse sieht. Wenn du zu jeder Sekunde ein Ereignis von z.B. 50 Byte Grösse auf die SD-Karte schreibst, wann ist dann eine 2GB-SD-Karte voll? Rechne das mal aus.
Schuhplattler Sepp, Oberammergau schrieb: > Rechne das mal aus. Und die Zusatzfrage lautet: Und wann geht die SD-Karte kaputt (unter diesen Bedingungen)?
das sollten laut meiner Rechnung 111930,46471 Stunden sein, das macht 497,10269 Tage :D ... falls ich kein Denkfehler hatte grad
Wenn du alle 10 Sekunden so eine Zeile auf die SD-Karte schreibst: 1 20110829 140259 X YYYYMMDD hhmmss dann ist eine 2GB-Karte nach 42.9 Jahren voll. Sag deinem Chef, dass du als Rentner wiederkommen wirst, um die SD-Karte zu wechseln.
Schaut realistisch aus. 490 Tage sind grosszügig über den Daumen gepeilt 1 Jahr :-) Jetzt hast du aber keine 50 Bytes pro Messung. Und du musst auch nicht jede Sekunde aufzeichnen, sondern nur dann, wenn sich der Messwert ändert. Der Motor wird ja nicht im Sekundentakt ein/ausgeschaltet werden. Anstatt 50 Bytes nehemen wir mal 10 Bytes an. Schwupps sind die 2 GB erst in 10 Jahren voll. Und wenn wir jetzt davon ausgehen, dass der Motor in diesen 10 Jahren nur alle 2 Sekunden ein/aus geschaltet wird, dann sinds schon 20 Jahre. Wie realistisch ein regelmässiges ein/aus alle 2 Sekunden ist, musst du entscheiden. Aber wenn das kein Dauerscheibenwischer ist, würde ich das für unrealistisch halten. D.h. Das Thema - "ist die Karte voll, muss überschrieben werden" - das kannst du getrost abhaken. Den Fall werden frühestens deine Enkelkinder erleben.
ok verstehe. Danke nochmal für eure tollen Tipps. Denke dieses Forum wird mich in meinem Studium begleiten ^^
achja und was mache ich mit dem Motor der eingeschaltet wird wenn I >100 mA ist ?
Dere Motorstrom ist nur durch den maximalen Diodenstrom (z.B. 5A) begrenzt.
vitja Hermann schrieb: > achja und was mache ich mit dem Motor der eingeschaltet wird wenn I >100 > mA ist ? Nichts besonderes? eingeschaltet ist eingeschaltet. Und so wie ich das verstanden habe, ist nur das interessant. Man könnte natürlich den Stromverbrauch mit auf die SD-Karte schreiben, alle paar Sekunden. Wenn der im Laufe der Zeit höher wird, könnte das ein Hinweis darauf sein, dass etwas im Gange ist und zb ein paar Lager wieder mal geschmiert werden müssten. Aber auch sowas ist langfristig zu sehen. Alle 10 oder 20 Sekunden aufzeichnen langt da dicke. Dein Job ist es ja nicht den Motor bzw. das von ihm angetriebene auf Fehlfunktion oder Wartung hin zu überwachen (obwohl man das sicher auch mit einer 'Fehler'-Led machen könnte), sondern festzustellen wann er läuft. Mach dein Projekt nicht auch noch künstlich interessant. So wie ich das sehe, hast du genug zu tun.
Hier ist der Schaltplan der Motorankopplung, damit es keine Missverständnisse gibt.
Danke für die Skizze so ähnlich hatte ich das auch aber mit ein paar Fehlern nur
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.