Hallo allerseits! Ich bin ABSOLUTER Anfänger auf dem Gebiet der Mikrocontroller - das schonmal vorweg! ;) Ich will folgendes basteln: Ein paar einfache Lichtschranken sollen an einen Mikrocontroller angeschlossen werden (über so eine Pin-Leiste halt), die "Zustände" der Lichtschranken sollen dann verarbeitet/ausgewertet werden mit einem C-Programm auf dem µC. Dann müßte ich irgendwie eine Art Schalter haben am µC. Bei der einen Schalterposition sollen die Daten direkt per USB an einen Computer geschickt werden, bzw. abgefragt werden können und bei der anderen Schalterposition sollen die Daten inklusive Zeitstempel (ich bräuchte also eine Echtzeituhr) auf einen USB-Stick geschrieben werden (falls einer eingesteckt ist natürlich nur). Prinzipiel sollte das ja möglich und auch nicht ALLZU aufwendig sein, schätze ich. Aber was für einen Controller (so günstig wie möglich) bräuchte ich dafür und wie könnte ich diesen Schalter realisieren??? Im Voraus vielen Dank! Gruß, Christian
Hi, diese Wünsche... :o) Als Anfänger würde ich auf jeden Fall mal nicht mit USB beginnen. Hab ich richtig verstanden, dass du den USB-Stick aus deiner Mikrocontroller-Schaltung beschreiben willst? Dazu braucht es mal mindestens USB-On The Go oder besser einen USB-HC (Host Controller). Schweineteuer (für Bastler - würd ich zumindest mal sagen) und kompliziert zum Ansteuern. Einfacher ist, wenn du RS-232 nimmst. Nur beim Notebook wirds dann komplizierter, weils dort keine Stecker mehr gibt. Besorg dir nen Adapter USB<-->RS-232.
Vielen Dank erstmal für die Antwort! Richtig - ich müßte den USB-Stick direkt beschreiben können vom µC aus. Ginge das denn, wenn ich den USB-Stick über so einen Adapter anschließen würde, oder bräuchte man dafür auf jeden Fall so einen teueren Host-Controller? Und was hieße teuer? Ich hab überhaupt keine Ahnung, was so ein Controller kostet (ob nun mit oder ohne USB)! Danke schonmal ... Christian
Hallo, so ein Adapter funktioniert leider nur in einer Richtung. Daten kann man natürlich in beide Richtungen schicken, aber der USB-Anschluss vom Adapter ist ein Device Controller und deshalb nicht mit einem anderen Device Controller, sondern nur mit Host Controller (PC) zu verbinden. (Host- und Device-Controller bezieht sich hier auf USB-ICs und nicht auf Mikrocontroller...) Als Alternative noch eine einfache Möglichkeit: RS-232 Verbindung zum PC. Wenn der Schalter auf "USB-Stick" geschaltet wird, dann sendest du dem PC ein Datenpaket wonach dein Programm am PC weiß, dass er auf den USB-Stick schreiben soll, der in den PC eingesteckt wurde. Gruß, David
Hallo! Einen USB Stick zu beschreiben ist in der tat sehr Aufwendig. Machbare alternativen sind MMC oder SD Card, gute Quellen zu dem Thema findest Du auf http://www.ulrichradig.de/ Ein brauchbarer µC waere da der ATMega32. Ich wuerde zum Testen das AVR Usb-Board hier aus dem Shop empfehlen und dort die Anbindung deiner restlichen Hardware vornehmen. Aber dennoch hast Du dir als totaler Anfaenger schon eine grösssere herausforderung ausgesucht, ist aber alles machbar. Um deine Funktionen umzuschalten, gibt es viele varianten von Tastern die Du abfragst bis richtigen Schaltern die verschidene Signale auf die Port Pins geben. Mehr dazu im AVR-Tutorial hier auf der Seite. mfg, Bjoern
Hallo David! Nochmal danke für die Antwort! ;) Die Alternative ginge leider nicht, weil es im USB-Stick-Modus schon wirklich ohne Computer funktionieren soll. Wäre das denn wirklich SO teuer? Dass das nicht ganz einfach ist, soll kein Hindernis sein. Dann dauerts halt entsprechend länger bis es funktioniert, aber das würde ich schon IRGENDWANN hinkriegen - gibt ja zum Glück immer irgendwo im Internet Tutorials. Aber die Möglichkeit, die Daten direkt auf den USB-Stick zu schreiben, sollten eigentlich schon gegeben sein (ob ich sie nun am Anfang nutzen kann oder nicht). Und wie ginge das mit dem Schalter? Kann man wirklich einen kleinen Schalter an den µC anschließen (einfach über einen Pin) und den Zustand dieses Pins dann eben mit dem µC abfragen, so dass das C-Programm dann entsprechend mit den Daten umgeht? Gruß, Christian
Hey Björn! Vielen Dank auch für Deine Antwort. SD-Card wäre natürlich auch eine Alternative - ich hätte nur nicht gedacht, dass das einfacher wäre als ein USB-Stick. Schade eigentlich! ;) Danke auch für die µC-Tips - wenn ich mich richtig erinnere liegt dieses AVR-Board ja bei ca. 49 - das wäre noch in Ordnung - insofern werd ich den wohl auch nehmen, wenn Du sagst, damit kann ich alles machen, was ich vorhabe. Ich werde mir die Beschreibungen auf dem Link dann mal genauer anschauen. Im Moment versteh ich da eh nicht wirklich viel von, aber das wird sich ja hoffentlich bald ändern! ;) Danke! Christian
@ Christian Odenhausen Für Anfänger, wie ich es vor einem Monat noch war :-) gebe ich folgende ratschläge: - bau dir einen ISP-Programmer (STK200), also so eine kleine Platine mit einem 74HC244 an dem Parallelport (wenn du oder ein Kumpel etwas löten kann) - nimm AVR-Studio und programiere in "C" (Ist einfacher) (Ich denke mal dass man das Programm dann auch mit AVR-Studio auf den Atmel-µC schreiben kann, wenn nicht kannst du dazu auch PonyProg2000 oder avrdude nehmen) Vorteil: alles ist kostenlos (der STK200 kostet ja fast nichts) Ich hab auch mit dem STK200 programmiert, da mein laptop keinen Parallelport und keinen Com-Port hat musste/wollte ich mir einen coolern Brenner bauen ... den USBisp-Programmer von www.matwei.de Der versorgt die Schaltung gleich mit den benötigten 5 Volt. Beim STK200 musst du eintweder ein netzteil und einen 5 Volt Festspannungswandler nehmen oder du holst dir ein USB-kabel und legst die 5Volt so zum STK200-Programmer. ------------------------ Deine eigentliche Frage: - nimm dir einfach einen ATmega8 von www.Reichelt.de , den gibt es als große DIP-28 version und als TQFP-32 version und kostet nur 1,69 eur! Also holle dir vielleicht 3 Stück der DIP-Typen. lg
> - nimm AVR-Studio und programiere in "C" (Ist einfacher) AVR-Studio ja, C nein. Am Anfang solltest du in Assembler programmieren. Nur dann bekommst du ein Gefühl für die genaue Arbeitsweise des Controllers. Sobald dir dann Assembler mal wirklich zu mühsam wird, verwende dann C.
Ich danke Euch für die vielen guten Antworten!!! @ATmega8 Bei Dir klingt das alles so einfach! ;) Ich mußte ja schon nachschauen, was überhaupt ein ISP-Programmer ist - bin halt echt TOTALER Anfänger. Ich überleg schon, ob ich mir nicht lieber einen E-Technik-Studenten oder so suchen soll, der mir das zusammenbaut und ggf. programmiert. Das hört sich alles so kompliziert und verwirrend an ... Um es nochmal zusammenzufassen, was ich bräuchte (aus dem Shop hier): -> AVR Entwicklungsplatine 17.50 -> ATmega8 (z.B.) 3.95 -> AVR-ISP (wenn ich es nicht selbst bauen will) 15.90 -> Netzteil (wird ja nicht teuer sein) -> AVR-Studio (kostenlos) Richtig? Wäre denn da nicht sowas: "AT91SAM7S256 ARM Entwicklungsplatine" einfacher, weil da schon alles drauf ist, sogar ein Slot für MMC/SD? Gruß, Christian
Klar, ist so einfach wie ein Ferrari im Vergleich zu ner Schubkarre! Du solltest Dich wirklich erstmal mit der Materie beschäftigen und dann einkaufen. Das hier wirst du doch wohl noch hinbekommen: http://s-huehn.de/elektronik/avr-prog/avr-prog.htm Teile gibt´s bei Reichelt. Und JA, Du solltest es selbst bauen!
Zumindest gibts Controller mit integrierter USB-2.0-Schnitstelle. Sind Host. Von Philips, glaube ich. Auch mal bei Silicon Labs vorbeischauen. Die haben auch solche uCs. Stephan.
Von dem AT91SAM7S würd ich als Anfänger die Finger von lassen. Das ist ein hochkomplexer und effizienter 32bit-Mikrocontroller - etwa wie ein 486er ohne FPU. Ich entwickel jetz scho knapp 3 Monate an Board, Schaltplan und Software rum und bin bei weitem noch nich durchs Ziel ... halt dich erstmal an die AVRs. Die kannste auch auch Lochrasterplatinen (Centkram) zusammenlöten. Du brauchst nicht unbedingt diese Starterkits. Meine Erste Bestellung an Reichelt waren 19€ und da hab ich alles eingekauft was für ein paar starterpakete gereicht hat (kleiner AVR-Würfel, Programmer, AVR-Temperaturfühler und AVR-Wecker (sogar mit 8 Stelligem Display). Und natürlich den Kram zum selberätzen ausm Baumarkt. Schau dir hier ein paar Projekte an, lern was alles an einen µC ran muss und mach dir dann dein Board. Lass dir das am besten hier nochmal überprüfen (dann kannste sicher sein, dass es auch klappt) und dann bau es auf. Dann hast du es zu 100% selbst gemacht und du bist gleich doppelt so stolz drauf ;). Obendrein lernst du viel besser und schneller, was alles dazugehört und es is sogar noch billiger - dauert halt nur etwas länger. Aber letztendlich musst du dich entscheiden ...
Hallo Volle Zustimmung zum Posting von Christoph. Eine Grundplatine und den ISP kriegst du locker auf einer Lochrasterplatine zusammengeschustert. Für die allerersten Versuche reicht sogar ein Steckbrett. Mit dem gesparten Geld für ein Starter-Board kaufst du dir besser ein bisschen Peripherie zum herumspielen - z.B. Display, Sensoren, Servos, ... Zudem wird schnell der Wunsch kommen, eine eigene Schaltung mal echt umzusetzen. Bei mir wars ein Roboter, da war ich schon froh, selbst eine Platine zu basteln, anstatt ein (teures) Entwickler-Board hereinzuquetschen ;-) Gruss Michael
<Mein Senf dazu> Was du aber nicht vergessen solltest: Mit heute einkaufen, morgen bauen und nächste Woche läuft das Teil wird das nichts. Bei deiner Aufgabenstellung wirds eher so um Weihnachten rum werden, bis alles fertig ist.
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.