Hi, ich suche einen kleinen Mikrocontroller der eigentlich nicht allzuviel können muss :) Zuerst sollte ich vielleicht sagen, dass ich noch nie mit Microkontrollern was zu tun hatte. Also ich habe einen Temperatursensor der per USB Daten an meinen PC schickt. Ich würde die Daten die er sendet jedoch bereits gerne vorher abfangen und noch anderwertig benutzen. Später (viel viel später) soll der MC die Daten auch minimal auswerten können á la: Sensor sagt weniger als 12° also mach dies und das... doch das kann noch lange warten. Also mein momentanes Projekt soll erstmal nur dafür da sein, dass ich was lernen kann und ich nicht gleich viel Geld ausgeben muss. Deswegen möchte ich erstmal ein Low-Cost Kontroller der einfach nur die Daten speichern kann und ich Daten dann irgendwie auslesen kann. Also der MC sollte USB können, da ich ihn als Verbindungstück zwischen USB-Kabel des Sensors und USB-Anschluss meines PC's benutzen möchte. Er sollte schon einen Speicher von min. ca. 100MB haben, eventuell kann man einen MC aber auch auf eine SD-Karte oder ähnliches schreiben lassen. Er sollte mit Assembler programmierbar sein. Könnt ihr mir als Anfänger etwas raten bzw. ein paar Tips geben?
Scherz? Troll? Wenn nicht: Lern erstmal mit Atmega8 o.ä. Wenn du dann in einigen Jahren genug Routine hast, um so ein Projekt in Angriff zu nehmen, gibts auch deinen Wunschcontroller.
War eigentlich weder als Scherz noch zum Trollen gemeint :( Ist das simple Auslesen und Speicher von Daten wirklich so kompliziert?
>Also der MC sollte USB können, da ich ihn als Verbindungstück zwischen >USB-Kabel des Sensors und USB-Anschluss meines PC's benutzen möchte. Nimm einen Standard Controller + FT232 Chip, das ist besser für den Anfang. >Er sollte schon einen Speicher von min. ca. 100MB haben, Gibt es nicht. Gängig ist so 2..128kB. >Er sollte mit Assembler programmierbar sein. Ich würde dir C als Programmiersprache ans Herz legen...
Hi @Jörg >Nimm einen Standard Controller + FT232 Chip, das ist besser für den >Anfang. Geht nicht, er braucht einen Host. >Gibt es nicht. Gängig ist so 2..128kB. AVRs bis 256kB Flash. Aber er braucht RAM oder etwas analoges. Da sieht es wesentlich bescheidener aus. >Ich würde dir C als Programmiersprache ans Herz legen... Das ist Ansichtssache. MfG Spess
Santos wrote: > Zuerst sollte ich vielleicht sagen, dass ich noch nie mit > Microkontrollern was zu tun hatte. O.k., dann ist USB erstmal nichts für Dich. Ne UART ist schon kompliziert genug für nen Anfänger und reicht oft zur Verbindung mit dem PC. > Also ich habe einen Temperatursensor der per USB Daten an meinen PC > schickt. Man sollte Sensoren besser direkt an nen MC anschließen und nicht über den Umweg USB, ist wesentlich einfacher und billiger. > Er sollte schon einen Speicher von min. ca. 100MB haben, eventuell kann > man einen MC aber auch auf eine SD-Karte oder ähnliches schreiben > lassen. O.k., da ist die Zenerpotenz recht kräftig verrutscht, MCs haben etwa 128 Byte SRAM (größere bis 16kB). Schon Deine biologische Grenzen verhindern ja, 190 Jahre die Temperatur zu loggen (100MB = 190 Jahre ein Wert je Minute). > Er sollte mit Assembler programmierbar sein. Kann man machen. Macht so bis 2kB Programmgröße auch Spaß. Wenn man sich dann für größere Programme fit fühlt, kann man ja auf C umsteigen. Das Assemblerverständnis hilft einem dann schnellen und effizienten Code zu schreiben. > Könnt ihr mir als Anfänger etwas raten bzw. ein paar Tips geben? Hier im Forum ist der ATmega8 (oder 168) recht gebräuchlich. Peter
Santos wrote: > Deswegen möchte ich erstmal ein Low-Cost Kontroller der einfach nur die > Daten speichern kann und ich Daten dann irgendwie auslesen kann. > > Also der MC sollte USB können, da ich ihn als Verbindungstück zwischen > USB-Kabel des Sensors und USB-Anschluss meines PC's benutzen möchte. Was du willst, ist also ein System, was sowohl USB-Host (gegenüber dem Sensor ) und USB-Device (gegenüber dem PC) ist. Und auch wenn du das nicht glaubst, das ist weder low-cost noch anfängertauglich. Andererseits braucht man für die beschriebene Aufgabe auch keinen USB-Temperatursensor... > Er sollte mit Assembler programmierbar sein. Tu dir kein komplexes Projekt in Assembler an.
Santos wrote: > Hi, Huhu Santos > ich suche einen kleinen Mikrocontroller der eigentlich nicht allzuviel > können muss :) > > Zuerst sollte ich vielleicht sagen, dass ich noch nie mit > Microkontrollern was zu tun hatte. > > Also ich habe einen Temperatursensor der per USB Daten an meinen PC > schickt. Du hast einen Sensor, der als USB-Device fungiert? Das muss aber schon ein sehr aufwaendiger Sensor sein. Was ist es denn fuer einer? Oder sprichst Du hier von einem komplettem Board bzw. Geraet? > Ich würde die Daten die er sendet jedoch bereits gerne vorher > abfangen und noch anderwertig benutzen. Später (viel viel später) soll > der MC die Daten auch minimal auswerten können á la: Sensor sagt weniger > als 12° also mach dies und das... Mit anderen Worten willst Du ein USB-Geraet (mit bekanntem Protokoll) an ein von Dir entwickelten Host anschliessen und diese Daten auswerten? Also das hoert sich mal so garnicht nach nem Anfaengerprojekt an ;) Nur so am Rande: Es gibt Sensoren, die kann man so programmieren, dass sie z.B. beim erreichen oder unterschreiten einer Temperatur einen Port schalten, der DS1621 kann das z.B., die Ansteuerung ist aber zwecks I2C auch nicht gerade Pillepalle fuer einen kompletten Anfaenger. > doch das kann noch lange warten. Also > mein momentanes Projekt soll erstmal nur dafür da sein, dass ich was > lernen kann und ich nicht gleich viel Geld ausgeben muss. Dann schalge ich doch mal vor, dass Du klein anfaengst? ;) > Deswegen möchte ich erstmal ein Low-Cost Kontroller der einfach nur die > Daten speichern kann und ich Daten dann irgendwie auslesen kann. > > Also der MC sollte USB können, da ich ihn als Verbindungstück zwischen > USB-Kabel des Sensors und USB-Anschluss meines PC's benutzen möchte. > Er sollte schon einen Speicher von min. ca. 100MB haben, eventuell kann > man einen MC aber auch auf eine SD-Karte oder ähnliches schreiben > lassen. Ein "Speicher" von 100MB? Primaerspeicher? Junge ich glaub Du musst langsam ma wieder auf den Boden kommen :D > Er sollte mit Assembler programmierbar sein. Genau und das ganze dann per ASM... ;p > Könnt ihr mir als Anfänger etwas raten bzw. ein paar Tips geben? Ja, Grundlagen lernen und realistisch werden ;) Lieber Gruss, Michael (PS, kannst Dich ma melden wenn Du willst: ICQ 307682079)
Was für ein "Sensor" ist das eigentlich und welchen Controller benutzt die Schaltung? Mal davon ab das USB nicht wirklich einfach ist da quasi rein Software-basiert und somit für einen Neuling völlig ungeeignet. Kann man den ohnehin vorhandenen Controller vielleicht umprogrammieren? Oder sich zwischen den eigentlichen Sensor und den USB-Controller hängen?
Hi, danke für eure vielen Hinweise. Ich hab mich da anscheinend wirklich etwas überhoben :) Wie genau der Temperatursensor funktioniert weiss ich nicht da er ein proprietärer ist. Der misst Temperatur, Luftfeuchte und Taupunkt und hat nen USB-Anschluss. Am PC angeschlossen simuliert er ein Serielles-Device á la /dev/ttyUSB0. Wenn man das cattet bekommt man die Daten im Plaintext als Ascii. Ich werd mir dann mal einen ATmega8 anschauen um ein bischen was über Microkontroller zu lernen. Ist der anfängertauglich? Und Assembler ist mir lieber als C weil ich es besser kann als C. Also klar ist Assembler für Mikrokontroller sicher was anderes als für 32bit Architekturen, aber die basics dürften ja die gleichen sein.
Santos wrote: > Ich werd mir dann mal einen ATmega8 anschauen um ein bischen was über > Microkontroller zu lernen. Ist der anfängertauglich? Ja, es gibt hier auch ein schönes Tutorial zum Thema AVR. > Und Assembler ist mir lieber als C weil ich es besser kann als C. Also > klar ist Assembler für Mikrokontroller sicher was anderes als für 32bit > Architekturen, aber die basics dürften ja die gleichen sein. Na ja, ich finde, dass bei einer bestimmten Größe des Projekts C die bessere Wahl ist, weil man mehr Überblick hat und es schneller zu programmieren ist. Mit Assembler hat man natürlich mehr Kontrolle, aber das wird schnell sehr aufwändig. Ich würde mir mal C anschauen, ist meiner Meinung nach auch nicht allzu schwer zu lernen.
Santos wrote: > Hi, > ich suche einen kleinen Mikrocontroller der eigentlich nicht allzuviel > können muss :) > > Zuerst sollte ich vielleicht sagen, dass ich noch nie mit > Microkontrollern was zu tun hatte. KEINER! Sorry, aber das meine ich wirklich ernst. Fange erst mal klein an!
Santos wrote: > Am PC angeschlossen simuliert er ein Serielles-Device > á la /dev/ttyUSB0. Wenn man das cattet bekommt man die Daten im > Plaintext als Ascii. Wenn das so ist, dann hat dein "Sensor" sicher auch nen kleinen Controller mit normaler UART und dahinter einen USB-Chip FTDI oder so. Du könntest mit deinem Microcontroller höchstens versuchen, den RS232-Eingang an dem USB-Chip abzufangen.
hallo Wie Einige schon gesagt Sensor an den MC MC zum PC mit RS232 Schönes Projekt, für einen Anfanger schon kompliziert genug, aber es gibt viel Unterstützung. P.S. Wenn du das Projekt fertig hast und noch Lust, dann siehe weiter. MfG
Hi! Ich glaube, wenn man das ganze Stück für Stück aufzieht, ist das durchaus ein Anfängerprojekt. Aber nur weiter lesen, wenn man gewillt ist, etwas Zeit und Verständnis zu investieren. Wenn eine schnell-schnell-Lösung gefordert ist, kann ich nicht helfen, oder nur gegen Bezahlung :) Zuerst die Frage, warum ein USB-Sensor an einen Controller packen, wenn der Controller selber in der Lade ist für wenige Cent mehr die Temperatur zu messen? Grundlage wäre ein AT90USB162, den es für wenige <10€ zu kaufen gibt. 1) USART ans laufen bringen: Tips dazu im Wiki oder den ATMEL AppNotes. 2) Integrierten Temp-Sensor von z.B. Dallas/Maxim adaptieren (Siehe Forum) 3) SPI mit einer SD-Card verbinden und zum laufen Bringen (Siehe Forum) 4) Daten auf SD-Speichern als Datei speichern und mit dem PC austauschen Hier machen wir einen Schnitt und flashen die AT90USB-CDC-Device Software von ATMEL und sehen, dass man so auf einfache Weise ein USB-Device ohne neu zu schreibenden Windows-Treiber in betrieb nehmen kann. 5) Nun fügen wir stück für Stück die Software aus 1..4 in die USB-CDC Implementation ein und können die Temperaturen parallel zum Speichern auch über ein Terminal-Programm mitlesen. 6) Wir spielen nun mal mit der USB-Storage Device Klasse herum und stellen fest, dass man so auf die gespeicherten Daten auf der SD-Card auch über USB zugreifen kann. Nun wird es eng. Der kleine AT90USB162 dürfte jetzt am Ende seiner Kapazitäten sein, wenn er sie nicht schon in 5) erreicht hat. Also wird es zeit unser erworbenes Verständnis auf etwas größeres los zu lassen. Also schwenken wir auf einen AT90USB647 oder 1287 um, oder, weil eh einige Zeit vergangen ist, auf den ATmega32U4 oder einen größeren U4, die diesen Sommer verfügbar sein werden. Man muss halt sehen, ob sie auch USB-Host sein können oder nur Device, die /7 der AT90USB Serie können beides, aber nur an einem Port. Nur an einem Port bedeutet, dass sie wahlweise und auch im Wechsel Host oder Device sein können, aber nicht beides gleichzeitig (siehe OTG Fähigkeit). 7) Wir rüsten die Software als USB-host nach und schaffen eine Verbindung zu dem ominösen USB-Temperatur-Logger. Nun haben wir viel gelernt für wenig Geld und als Ergebnis einen Logger, der USB-Devices mit einem Speicher versieht, selber aber zum Auslesen auch an einen PC angeschlossen werden kann. Für eine Serienproduktion kann man letztendlich die SD-Card durch einen festen FLASH / EEPROM ersetzen, denn so ein SD-Card Sockel halbwegs brauchbarer Qualität kostet mehr als eine kleine SD-Card selbst. ----------------------- Man kann das ganze auch gleich fertig kaufen. Das STK525 für den AT90USB1287 kostet aber ein paar Euro, hat aber alle Anschlüsse, FLASH und Temperatursensor bereits on Board. Schönes Wochenende Ulrich
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.