Hallo, ich würde gerne einen Atmega 16 programmieren, im Studium habe ich visual basic gelernt, aber nun wirds für mich schwierig. Ich möchte den Abstand zwischen zwei analogen Eingangssignalen messen und zeitverzögert einen Ausgangspin kurzzeitig schalten. Kann mir jmd. helfen? Mit freundlichen Grüssen Hoowie
Benjamin Hoowie schrieb: > Hallo, > > ich würde gerne einen Atmega 16 programmieren, im Studium habe ich > visual basic gelernt, aber nun wirds für mich schwierig. Ich möchte den > Abstand zwischen zwei analogen Eingangssignalen messen und zeitverzögert > einen Ausgangspin kurzzeitig schalten. Kann mir jmd. helfen? dafür gibts Tutorien AVR-Tutorial Assembler AVR-GCC-Tutorial C Beim Roboternetz gibt es auch ein BASCOM Tutorial, welches für dich vielleicht angebrachter ist. Wenn du dich für C entscheidest, dann wäre zumindest ein Reinschnuppern in ein allgemeineres C-Tutorial angebracht. Wenn du dann deine ersten Schritte in der Progammierung gemacht hast, dann kann man sich über die konkrete Aufgabenstellung unterhalten. Aber im Moment macht es wenig Sinn, sich über die Probleme bei der Überquerung des Hindukusch zu unterhalten, wenn du erst mal Autofahren lernen musst.
Also zuerst muss ich den Mikrocontroller deklarieren, danach die Anzahl der overflows an einem deklarierten Pin zählen, diese aus der gegebenen Frequenz, als prozentualen Zeitintervall interpretieren. Einen deklarierten Ausgangspin mit Frequenzabhängiger Anzahl von Ausgangssignalen einen Zeitintervall ohne Aktivität schalten. Anschliessend einen Zeitintervall mit "Saft" auf einen Pin legen. Aus C werde ich im Moment noch nicht schlau, aber vlt. macht mich jmd. schlau? Mit freundlichen Grüssen B.Hoowie
Benjamin Hoowie schrieb: > Also zuerst muss ich den Mikrocontroller deklarieren, danach die Anzahl > der overflows an einem deklarierten Pin zählen, diese aus der gegebenen > Frequenz, als prozentualen Zeitintervall interpretieren. Einen > deklarierten Ausgangspin mit Frequenzabhängiger Anzahl von > Ausgangssignalen einen Zeitintervall ohne Aktivität schalten. > Anschliessend einen Zeitintervall mit "Saft" auf einen Pin legen. Wenn du mich sehen könntest, würdest du mich mit großen AUgen und gerunzelter Stirn vor dem Monitor sitzen sehen. Und du könntest hören, wie ich "WTF hat das alles mit 'Ich möchte den Abstand zwischen zwei analogen Eingangssignalen messen' zu tun?"
ich muss ja irgendwie die Anzahl der betätigten Signale und auch die dazwischen, als Zahl sichbar machen und zurück zur Zeit rechnen. Das ganze in umgekehrt für den Ausgang =) Mit freundlichen Grüssen B.Hoowie
Benjamin Hoowie schrieb: > Ich möchte den > Abstand zwischen zwei analogen Eingangssignalen messen und zeitverzögert > einen Ausgangspin kurzzeitig schalten. Kann mir jmd. helfen? Was heißt denn Messen der analogen Signale? Du brauchst ja eine Schwelle, bei der du messen willst. Welchen Bereich deckt das analoge Signal ab? Für Zeiten bedienst du dich mit einem Timer.
Das Signal steigt an und fällt wieder ab, also zählen ist schöner formuliert. Das Signal variiert von einem Magnetschalter, also ich muss einen Mittelwert bilden. Mit freundlichen Grüssen B.Hoowie
Vielleicht überlegst du es dir ja noch und fängst erst mal damit an, zu erzählen, was denn eigentlich die Aufgabenstellung ist anstatt zu erzählen, wie du sie zu lösen gedenkst. Denn im Moment hab ich eher das Gefühl, dass du alle mit deiner Wortwahl auf völlig falsche Fährten lockst.
Ich möchte einen bürstenlosen Elektromotor ansteuern. Mit freundlichen Grüssen B.Hoowie
Hi
>Ich möchte einen bürstenlosen Elektromotor ansteuern.
Und das hältst du für ein geeignetes Anfängerprojekt?
MfG Spess
Joa, die Zeit muss sein =) Ich bin vom Maschinenbau Hochschule Bremen, da muss ein bischen Schwung rein.
Hi
>Joa, die Zeit muss sein =)
Wenn die Zeit da ist, dann fang mal mit dem Datenblattlesen an.
MfG Spess
Das kenne ich schon, mir fehlt der praktische Umgang. In visual basic habe ich nur mit Tastatureingabe programmiert, ohne Pins, aber mit Grafik. Im Avr Studio32 habe ich einmal ein C Testprogramm übertragen.Das ist für mich fremd. Kann man das in C nicht so einfach ausdrücken? Das ist ja eine Hochsprache, oder sollte ich das doch in bascom machen? Mit freundlichen Grüssen B.Hoowie
Kann ich die timerbefehle aus dem Datenblatt sowie die Pins auch mit in ein Visual basic Programm integrieren, sodass ich nicht immer umlernen muss? Kann ich mit if...=True in den Registernamen speichern und ist nach dem lesen etwas im Speicher? Beim Löschen von Registern muss ich den Registernamen auch aus dem Datenblatt entnehmen, stimmts? Mir fehlt die Erfahrung als Bestätigung. Mit freundlichen Grüssen B.Hoowie
Benjamin Hoowie schrieb: > Kann ich die timerbefehle aus dem Datenblatt sowie die Pins auch mit in > ein Visual basic Programm integrieren, sodass ich nicht immer umlernen > muss? Wenn dein VB-Compiler Maschinencode für den ATmega16 erzeugen kann, dann geht das, ansonsten nicht. > Kann ich mit if...=True in den Registernamen speichern und ist > nach dem lesen etwas im Speicher? Und das heisst im Klartext, was? > Beim Löschen von Registern muss ich > den Registernamen auch aus dem Datenblatt entnehmen, stimmts? Mir fehlt > die Erfahrung als Bestätigung. Kau das Tutorium durch, dann nimmst du deine Fragen und formulierst sie verständlich.
Hi >Kann ich die timerbefehle aus dem Datenblatt sowie die Pins auch mit in >ein Visual basic Programm integrieren, sodass ich nicht immer umlernen >muss? Wahrscheinlich nicht. Außerdem bezweifle ich, das dein Visual Basic ein Hex-File für den ATMega erzeugen kann. Womit willst du den ATMega16 eigentlich programmieren? MfG Spess
Benjamin Hoowie schrieb: > den Registernamen auch aus dem Datenblatt entnehmen, stimmts? Mir fehlt > die Erfahrung als Bestätigung. Quatsch nicht soviel. Besorg dir einen Programmer und einen µC. Anfängerthreads gibt es hier genug im Mikrocontroller.net in denen HW empfohlen wird. Vergiss Visual Basic. BASCOM ist anders und µC programmieren sowieso anders als PC Programme erstellen. Mach zu Anfang die einfachsten Übungen mit LED blinken lassen und lies das Datenblatt zum µC. Erfahrung kriegst du nur durch tun.
> Kann ich mit if...=True in den Registernamen speichern und ist > nach dem lesen etwas im Speicher? Und das heisst im Klartext, was? Muss ich den selber löschen? Muss ich neue Speicher Adressen angeben, sind die mit Index? Überschreibt sich der Flashspeicher? Danke B.Hoowie
Benjamin Hoowie schrieb: >> Kann ich mit if...=True in den Registernamen speichern und ist >> nach dem lesen etwas im Speicher? > Und das heisst im Klartext, was? > > > Muss ich den selber löschen? Muss ich neue Speicher Adressen angeben, > sind die mit Index? Überschreibt sich der Flashspeicher? Wie praktiker schon sagte. Besorg dir einen Programmer, besorg dir ein Development Board und fang an ein Tutorial durchzukauen. Dein VB kannst du dabei vergessen. Wenn du bei BASCOM bleibst, werden dir zwar die Wörter bekannt vorkommen und einiges wird gleich sein. Vieles ist aber auch ganz anders. De facto fängst du in dem Sinne bei 0 an, in dem ein Spanisch-Schüler bei 0 anfängt, der schon Italienisch kann. Deine Fragen ..... egeben ....... keinen ........ Sinn. Die Wörter sind schon bekannt und auch sinnvoll. Aber die Zusammenstellung zum ganzen Satz macht keinen Sinn. Daher: spring ins kalte Wasser. Vor einem halben Jahr ab heute gerechnet wird das sowieso nichts mit deinem BLDC Motor. Also kannst du ruhig auch erst mal 2 Wochen investieren, um dich mit deiner Entwicklungsumgebung vertraut zu machen und ein Tutorium durchzuarbeiten.
Wenn du die Beispiele auf dieser Seite alle durch hast, dann kannst du anfangen dich mit einem BLDC Motor zu beschäftigen. http://ups.bplaced.net/AtmegaProjekt/atmega_projekte.htm
Hallo Benjamin Es ist schon ein wenig kompliziert, ein Programm zu schreiben, aber wenn man seine Gedanken nicht ordnen kann, dann wird's überhaupt nix. Erst im fünften Post schreibst du, was du willst. Was erwartest du von uns ? Das hier ist doch keine Quizsendung. Wenn du überhaupt eine Chance beim Programieren haben willst, lerne erst einmal eine Aufgabenstellung zu beschreiben. Nur so kannst du das Gesamtkonzept in einzelne Teilaufgaben gliedern und eine Struktur festlegen. Die Programmiersprache ist doch das geringste. Alle Befehle lassen sich irgendwo nachlesen und wenn du bereits Erfahrungen in VB hast, dann sollte dir klar sein, wie es geht. Aber ich hab das Gefühl, man hat dir vielleicht mal einen Bubblesort abverlangt. Und vielleicht mal ein paar Objekte auf eine Form ziehen lassen. Sicherlich ist "C" gewöhnungsbedürftig, aber nicht unlernbar. Doch ohne strukturiertes Denken wirst du in jeder Sprache große Schwierigkeiten haben. Daher mein Tip: Entweder du beginnst mit Experimenten und fragst dann gezielt nach einem Problem, oder du läßt es und wirst mit anderen Dingen, die dir mehr liegen glücklich. Gruß oldmax
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.