Hi, für meine Schule muss ich ein Projekt mit einem Mikrocontroller machen und dazu programmieren lernen. Nun habe ich mich ein wenig in Assembler eingelesen und hab auch einige C Kenntnisse (allerings nicht auf Mikrocontroller bezogen). Mit dem Mikrocontroller muss ich dann eine Verbindung zum PC über USB herstellen können (dazu benutzen wir einen eigenen Chip) eine SD-Karte beschreiben können, eine RTC auslesen können und einen Messchip auslesen bzw. ansteuern können. So nun wollte ich euch Fragen, ob ich dazu am besten das ganze in C oder in Assembler schreiben sollte. Weil einlesen müsste ich mich sowieso in beide Sprachen... Und wisst ihr vielleicht, wo ich gute Tutorials dafür herbekommen könnte? Also z.b. für das schreiben der SD-Karte. Hab mir bis jetzt eigentlich nur das Datenblatt und die Befehle vom Mikrocontroller (atmega8) durchgelesen und die Tutorials hier auf der Seite zur hälfte. Wäre nett, wenn mir hier jemand helfen könnte! Danke schonmal.
>für meine Schule muss ich
Das ist aber eine anspruchsvolle Schule!
Programmieren tust du das am besten in C.
Wie lange hast du Zeit dafür?
>Das USB Stack musst du aber nich selber schreiben oder?
Nein, muss er nicht. Er benutzt einen PC, das ist der Host.
Darauf läuft der Stack. Am uC hängt "der eigene Chip".
Das ist doch völlig ok so.
na denn gehts ja... trotzdem ganz schoen happig fuer ne schule.. obwohl: was fuer ne schule ist das wohl? den ChanN link kann ich nur empfehlen, das taugt echt was
musst du die sd-ansteuerung/filesystem selbst schreiben? wenn nicht würd ich die von http://www.holger-klabunde.de/avr/avrboard.htm empfehlen. Ich schätz mal du gehst in Ö auf ne HTL und das ist ein (typisches) Ingeneurs/Diplom Projekt. (Maturaprojekt, Abi-Arbeit) Abgabe in Mai !? mfg J.K
Lass uns das doch mal zusammenfassen: Du hast -->1!!!<-- Tag Zeit um µC programmieren zu lernen. Dazu auch noch verschiedene Zusatzteile ansteuern, wofür du nur für USB schon alles hast? Irgendwie klingt das so gar nicht realistisch. Entweder du verarscht uns hier kräftig, bist einfach nur zu faul um selbst ein Programm zu schreiben, oder die Lehrer auf deiner Schule haben einen Schaden. Was immer es auch ist: Versuchs mit dem AVR-GCC Tutorial. Da du ja schon einige Kenntnisse zu C hast, dürfte dir das leichter fallen. Ka was du schon zur Hälfte durch hast, aber das ist auf jeden Fall sinnvoll. Und viel Spaß die ganze Nacht über :-D
Ich glaub das mit dem Abgabetermin war ein blöder Troll der sich !!!!!! genannt hat. PS.: Ich bin immer noch für das Maturaprojekt. mfg J.K
Wenn er es wirklich nicht selbst war, Sry. Sonst siehe mein vorheriges Post. Trotzdem finde ich das Projekt immer noch komisch. Was ist das für eine Schule die einfach sagt: Hier hast einen µC und ein bisschen Hardware. Du hast TAGE Zeit um das Projekt abzugeben. Sollten die Lehrer nicht zumindest mal Ansatzweise erklären wie das funktioniert / wie man programmiert?
>PS.: Ich bin immer noch für das Maturaprojekt.
Ist ja egal. SD Karte beschreiben und ATMega8 ist nicht
wirklich eine gute Idee. Da könnte das RAM ganz schön knapp
werden. Es sei denn man verzichtet auf ein FAT Dateisystem
und beschreibt die Karte roh. Was der "Messchip" nun ist wäre
auch noch interessant. Dann noch die Aufzeichnungsrate vom
"Messchip". Bei SD Karten kann man sich ganz schnell selbst
ins Bein schiessen wenn hohe Schreibraten erforderlich sind.
Wo steht was von Tagen. Hab ich das überlesen? Wenn nicht nennt sich die Schule HTL. http://de.wikipedia.org/wiki/Htl ein bisschen was lernt man schon und man hat auch genug Zeit, manchmal kennen sich auch die Lehrer aus. Das Problem bei solchen Projekten ist, dass sie einfach überschätzt werden und 80% der Arbeit in 20% der Zeit (letzten Wochen) erledigt wird. Kenne da viele (negative) Bsp. :-) Das Projekt lässt sich auch sicher realiserten. Hab (zufällig) sogar ne Diplomarbeit(von so nem Maturaprojekt) herumliegen wo ziehmlich genau das gemacht wurde (MEGA128 + RTC-IC + SD-Karte) mf J.K P.S: Jetzt interresierts mich auch ob das wirklich ne HTL ist.
holger wrote: >>PS.: Ich bin immer noch für das Maturaprojekt. > > Ist ja egal. SD Karte beschreiben und ATMega8 ist nicht > wirklich eine gute Idee. Da könnte das RAM ganz schön knapp > werden. Es sei denn man verzichtet auf ein FAT Dateisystem > und beschreibt die Karte roh. Was der "Messchip" nun ist wäre > auch noch interessant. Dann noch die Aufzeichnungsrate vom > "Messchip". Bei SD Karten kann man sich ganz schnell selbst > ins Bein schiessen wenn hohe Schreibraten erforderlich sind. Ram wird knapp geht aber, Problem wird der Flash. Ich würd nen einen MEGA32 verwenden.
@ J. K. >Ram wird knapp geht aber, Problem wird der Flash. Ich würd nen einen >MEGA32 verwenden. Ich auch. Aber was soll man machen wenn die Hardware vorgegeben ist :(
den Source will ich haben wo SD in nen MEGA8 hinenpasst und man dann noch andere Sachen machen kann. (RTC,messen ...) Für mich klang es aber eher, dass er den MEGA8 nur zum Lernen verwendet. Naja, warten wir halt seine antworten ab bevor wir hier noch wild herumspekulieren. mfg J.K
J. K. wrote: > den Source will ich haben wo SD in nen MEGA8 hinenpasst und man dann > noch andere Sachen machen kann. (RTC,messen ...) Bitte sehr: http://elm-chan.org/fsw/ff/00index_e.html Bei mir läuft ein mega8 in einem mp3 Player mit SD Karte. Der RAM wird eher voll als der Flash.
Ok, ich sag nichts mehr. :-) Nein find ich toll, muss ich mir mal näher ansehen. mfg J.K
@J. K. > Wo steht was von Tagen. Hab ich das überlesen? 1.Beitrag : Datum: 24.09.2008 17:38 > Abgabetermin ist 25.09.2008 8Uhr. Ist aufgerundet 1Tag.
So danke mal für die vielen und schnellen Antworten!! Zeit habe ich natürlich viel mehr, Abgabetermin ist im Mai, allerdings sollten wir schon viel früher fertig sein, damit wir einen Puffer haben, außerdem müssen wir ja auch Dokumentieren. Also Jänner-Februar sollte das ganze fertig sein. Und ja ich komme aus Österreich und aus einer HTL =) Die Schaltung soll am Ende folgendes machen: Ein Stromstecker wird an eine Steckdose angesteckt und an die Schaltung kann man dann irgend ein anderes elektrisches Gerät normal anstecken... (z.b. einen Kühlschrank) So und nun misst die Schaltung über den Messchip Strom und Spannung und berechnet dann intern andere Werte (Wirkleistung,Scheinleistung, Cosinus Phi, usw.) Diese Werte speichere ich dann über den Mikrocontroller auf einer SD-Karte ab, damit ich die Daten später über USB zum PC schicken kann und dort dann auswerten kann. Vorgegeben haben wir eigentlich nur den atmega8 (Also den, der mit 8 bits rechnen kann... Für den Programmspeicher könnten wir aber auch dann einen mit 32k Bytes nehmen...) und den Messchip. Weiß jetzt leider den Namen bzw. die Nummer von dem Messchip nicht, könnte sie aber morgen posten, wenn es jemanden interessiert. Könnt ihr mir vielleicht auch noch irgend ein gutes Buch empfehlen, da die Mikrocontrollerprogrammierung doch schon sehr interessant ist. ps: Klar haben wir auch einen Lehrer für das Projekt zugeteilt, den wir Fragen können, aber wir sollen hauptsächlich die Informationen selbst sammeln und suchen.
Wenn die Daten so und so über USB übertragen werden, kann auch ein einfacher SPI oder I2C Flash verwendet werden. Sollte deutlich einfacher werden als eine SD-Karte. Interessantes Projekt. Vielleicht statt einer RTC ein DCF77 Modul verwenden. Dann brauchst du vielleicht keine Pufferbatterie und musst die Uhrzeit nicht immer neu stellen. Dauert dann aber immer eine Weile, bis das Gerät wirklich einsatzfähig ist. Empfang sollte auch ganz gut sein ;-) Steffen.
DCF777 wollten wir auch zuerst nehmen, Lehrer meinte aber, dass man nicht überall Empfang hat.... Also deshalb RTC. Das mit SPI und I2C Flash werde ich mir noch anschauen und durchlesen, danke.
>Und ja ich komme aus Österreich und aus einer HTL =) wusst ichs doch. Warum erkennt man das immer so schnell? (geht mir auch immer so ;-) ) Hab sogar zufällig grad ne Diplomarbeit daheimliegen die fast das gleiche gemacht haben. Und nein die kann ich nicht veröffentlichen. >Das mit SPI und I2C Flash werde ich mir noch anschauen und durchlesen, >danke. SD - Kart ist schon besser. Man kan die Daten in ein Excel/openOffice Dokument speichern und am Ende die Leistungsaufnahme/Energieverbrauch anzeigen(Diagramme und so weiter). Das über USB dann übertragen find ich nicht so schön, aber na gut. SD-Liberys gibt es ja genug (ich geh mal davon aus das du welche verwenden darfst), sind auch nicht schwer (auch wenn zig Forumsbeiträge was anderes vermuten lassen). mfg J.K
> atmega8 (Also den, der mit 8 bits rechnen kann... Für den > Programmspeicher könnten wir aber auch dann einen mit 32k Bytes > nehmen...) Alle AVRs sind 8-Bit µC. Wenn dir nur die 8-Bit vorgegeben sind, nimm möglichst einen größeren ATmega. Dadurch hast du mehr Möglichkeiten und es ist auch mit dem Code einfacher ;-) Siehe auch http://de.wikipedia.org/wiki/Atmel_AVR
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.