Hallo, Ich will einen Wegsensor nach seinem Verschleiß ausmessen, so habe ich mir das vorgestellt. Sensor -> TP-Filter -> A/D Wandler -> µC USB Controller -> Auswertung am PC Ich Will die daten die ich von dem Sensor bekomme über USB auf dem PC haben, um sie dann z.B. in Matlab auswerten zu können. Ich kenne mich leier mit µC leider nicht gut aus, könnte mir da einer Helfen, welchen µC ich da am besten benutzen könnte? Lg Peter
Entweder über den USART und dann einen USB <-> USART-Wandler (z.B. FT232 od. CP2102) dran, oder direkt einen uC nehmen der mit USB zurecht kommt. Beides mal hat man dann einen VCP und kann die Daten bequem auslesen. Über Matlab oder ein Terminalprogramm gar kein Problem. Schau mal hier etwas im Forum rum, das hat so ziemlich jede 2. uC-Schaltung hier. Grüße
Peter schrieb: > Ich kenne mich > leier mit µC leider nicht gut aus, könnte mir da einer Helfen, welchen > µC ich da am besten benutzen könnte? Prinzipiell gibt es zwei Möglichkeiten: entweder einen kleinen Mikrocontroller (z.B. AVR oder PIC) mit UART verwenden und über einen Seriell-nach-UART-Chip an den USB vom PC hängen; oder du nimmst einen Mikrocontroller mit integriertem USB - hier wäre ein kleiner Controller im DIL-Gehäuse der PIC18F14K50 (Beispielschaltung: www.fundf.net/usbnub/).
Vielleicht hilft Dir ein fertiges Gerät in der Art: http://www.conrad.de/ce/de/product/123079/PICOLOG-1012-LOGGER/SHOP_AREA_17210&promotionareaSearchDetail=005 http://www.elv.de/Datenlogger-4-Kanal-PCS10/x.aspx/cid_74/detail_10/detail2_29441/flv_/bereich_/marke_ (gibt es bestimmt noch mehr, auch von anderen Firmen... dies waren nur die ersten Geräte, die ich gerade gefunden habe) Oder vielleicht sogar ein Voltmeter mit USB / PC - Anschluss ? Welchen Spannungsbereich und welche Abtastrate stellst du dir vor ?
SO jetzt nochmal für den dummen Peter ^^. Müsste ich den µC selber Programmieren? Oder gibt es da von Hersteller Seite schon was fertiges? Kannst du mir erklären was VCP heißt? Lg Peter
Ich benütze für solche Aufgaben in der Regel so was in dieser Art hier: http://sine.ni.com/nips/cds/view/p/lang/de/nid/201986
Peter schrieb: > Müsste ich den µC selber Programmieren? Wenn Du einen nackten Controller kaufst oder ein Demo/Evalboard, dann ja. Es gibt aber entweder beim Hersteller oder in gewissen Foren (wie hier) auch oft Beispielcode. Den müsstest Du dann evtl. auf Dein genaues Problem anpassen. Also z.B. Samplerate, Anzahl bzw. Auswahl der ADCs, Datenformat über USART/USB usw.... Peter schrieb: > Oder gibt es da von Hersteller Seite schon was fertiges? Vom Hersteller mit Sicherheit nicht, aber wie gesagt es gibt fertige Hardware die Du dann halt noch Flashen musst. Peter schrieb: > Kannst du mir erklären was VCP heißt? Virtual-COM-Port. Die meisten PCs haben ja heute keinen COM-Port mehr, deshalb der "Umweg" über USB. Wenn Dein PC noch einen COM-Port hat, dann müsstest Du nur den USART-Pegel auf die RS-232 Pegel umsetzen lassen (z.B. über einen MAX232). Macht aber heut zu Tage wohl keinen Sinn mehr!? Grüße
Ich würde sowas lieber selber "basteln", weil dadruch der lern effekt einfach größer ist. Ich habe mir gerade was über UART durch gelesen, wird das als schnittstelle für RS232 genutzt, oder auch für USB?. Das ist mir nicht ganz klar geworden. Einen AVR µC könnte ich nutzen oder? Haben die auch die möglichkeit auf USB zu gehen? mit eingebautem UART? sry falls ich so blöde fragen stelle, kenne mich mit µC nicht so gut aus Lg
Die Frage wurde schon beantwortet: Ballermann schrieb: > Entweder über den USART und dann einen USB <-> USART-Wandler (z.B. FT232 > od. CP2102) dran, oder direkt einen uC nehmen der mit USB zurecht kommt. bei den kleine AVRs z.b. ATmega16U4 Wichtiger wäre die Frage, welche Genauigkeit und Geschwindigkeit dein Messaufbau haben muss. Es gibt auch Oszis mit USB Schnittstellen oder professionelle Datenkarten. Einfache Datenerfassungskarten zum spielen gibt es z.B. von H-Tronik
Peter schrieb: > Ich würde sowas lieber selber "basteln", weil dadruch der lern effekt > einfach größer ist. Kein Problem. Ich würde als Einstieg ein fertiges kleines Board nehmen. Steckbrett geht zwar auch, ist aber wahrscheinlich auch nicht billiger und gerade für den Anfang ist es besser man hat eine funktionierende Hardware und kann sich nur auf die eigenen Softwarefehler konzentrieren. Flashen geht entweder über ein selbst gebasteltes ISP-Kabel oder manche haben auch sowas schon bereits auf dem Board (2. würde ich empfehlen). Bootloader geht theoretisch auch. Peter schrieb: > Ich habe mir gerade was über UART durch gelesen, wird das als > schnittstelle für RS232 genutzt, oder auch für USB?. Das ist mir nicht > ganz klar geworden. Ne, nur RS232. Deshalb braucht man ja auch einen Baustein alla FT232 oder CP2102 der noch den ganzen USB-Stack außen um die eigentlichen Nutzdaten rumbastelt. Gerade als Einsteiger würde ich Dir empfehlen, mach es über den USART und dann einfach einen oben genannten Baustein dran. Direkt in Sachen USB einzusteigen ist vielleicht nicht so dienlich!? Peter schrieb: > sry falls ich so blöde fragen stelle, kenne mich mit µC nicht so gut aus Kein Problem, so habe ich auch mal angefangen. Nur wirst Du Dir das meiste selbst aneignen müssen. Bist Du Student oder kennst Du einen Studenten? Dann könntest Du Dir z.B. das STK500 besorgen: http://student.embedded-projects.net/index.php?module=artikel&action=artikel&id=373 Wenn Du unbedingt gleich alles auf dem Steckbrett aufbauen willst, dann besorg Dir wenigstens gleich nen richtigen ISP Programmer alla AVR-ISP MK2 oder gleich nen AVR-DRAGON, dann kannst Du sogar etwas Debuggen. Denke mal ein JTAG-ICE-MKII willst Du Dir für den Anfang nicht gönnen. Grüße
Ich bin Student. Mir geht es Primär um die Hardware, ich will eher die Selbstständig konzepieren, und sekundär geht es mir um die Software. Aber so wie ich das raus lese ist das keine gute idee oder? Ich denke Softwaremäßig dürfte das doch nicht so umfangreich werden oder? Wie Ballermann ja schon schrieb, gibt es viele Beispielcodes, die ich dann auf meine Anwendung anpassen könnte.
Peter schrieb: > Mir geht es Primär um die Hardware, ich will eher die Selbstständig > konzepieren, und sekundär geht es mir um die Software. Aber so wie ich > das raus lese ist das keine gute idee oder? Doch, klar geht das auch. Nur würde ich es heute nicht mehr so machen. Ich finde halt, gerade beim fliegenden Aufbau auf einem Steckbrett geht schneller mal ein Draht raus oder man macht anderstwo nen Kurzschluss und man sucht sich dann ewig den Wolf weil sein Programm nicht mehr funktioniert. Wenn Du trotzdem so einsteigen willst, geht das relativ kostengünstig. Kauf Dir ein ATMEGA (z.B. ATMEGA644) im DIP Gehäuse, dann noch ein Quarz dazu (z.B. 14,7456 MHz), 2 x 12-22pF Kondensator (für den Quarz), ein paar 100nF Kondensatoren (wegen evlt. Störungen auf der Betriebsspannung), 10k Widerstand für den Reset, evtl. noch ein kleiner Elko und ein kleines Steckernetzteil (z.B. 5V geregelt) und natürlich noch den FT232 für die USART<-->USB Umsetzung. Zusammen kommst Du da auf ca. 15-25 Euro. Dann noch den Selbstbau-Programmer oder besser ein AVR-ISP-MKII. Peter schrieb: > Ich denke Softwaremäßig dürfte das doch nicht so umfangreich werden > oder? USART gibt es schon fertig. Der AT644 ist glaub ich weitgehend gleich zum alt bekannten ATMEGA16/32/128. ADC auch. Timer auch. Also musst Du nur noch diese Komponenten zusammenfügen. (Ich gehe hier mal von Programmiersprache C aus). Anonsten wäre noch BASCOM oder ASSEMBLER möglich. Da kenne ich mich aber nicht aus, gibt es aber bestimmt auch Beispiele dazu. Grüße
Danke vielmals, ich versuche mal die Schaltung aufzubauen, und werde mich dann mit ergebnossen melden
Was soll der zusätzliche Microcontroller und die seriell-Bastelei? Einfach wäre es doch einen A/D Wandler mit SPI oder I2C Interface zu nehmen und einen vernünftigen Schnittstellenbaustein für die USB Anbindung. Dann entfällt die Programmierung auf der Hardware. z.B. IO-Warrior: http://www.codemercs.com/index.php?id=64&L=0 Gibts auch handlich verpackt: http://www.codemercs.com/index.php?id=256&L=0
Guido Körber schrieb: > Was soll der zusätzliche Microcontroller und die seriell-Bastelei? >... > z.B. IO-Warrior: Durchsatz typ. 750 Bytes/sec ist nicht gerade so der reiser, oder!? Bei der angegebenen FCPU von 14,7456MHz schafft der AT644 immerhin 1,8432Mbps. Bei 20MHz dann sogar 2,5Mbps. Der ADC könnte theoretisch mit bis zu 15kSPS betrieben werden (bei vollen 10Bit Auflösung). Grüße
Ich hätte nochmal eine frage, was wäre denn ein guter einstieg in die µC Programmierung? Kann mir da jemand ein Buch empfehlen? Lg
Peter schrieb: > Ich hätte nochmal eine frage, was wäre denn ein guter einstieg in die µC > Programmierung? Das was Du hier machen willst ist eigentlich schon gut geeignet. Du musst es nur in die einzelnen Aufgaben zerlegen. Später wirst Du das auch so machen. Alles auf einmal machen zu wollen geht meist schief und wird schnell frustrierend. Weiterer Vorteil: Wenn Du dir richtige Librarys erstellst kannst Du die später immer wieder benutzen (annähernd gleicher uC vorrausgesetzt). Also:
1 | 1. Timer verwenden und evtl. eine LED im Timertakt schalten. |
2 | 2. USART in Betrieb nehmen und ein "Hello World" übertragen an den PC. |
3 | 3. ADC Wert auslesen und über USART übertragen. |
4 | 4. Interrupt einstellen für Timer, USART und ADC. |
5 | 5. Das ganze in ein Projekt zusammenfügen. |
Im Prinizip kannst Du dafür das unten aufgezählte Tutorial hernehmen und anhand dessen diese Punkte realisieren. Peter schrieb: > Kann mir da jemand ein Buch empfehlen? Kannst Du schon eine Programmiersprache? Also C/C++, Basic oder Assembler? Wenn Du in Richtung C einsteigen möchtest, dann ist das Tutorial hier auf der Seite nicht schlecht. Schau Dir mal die 2 Links an: http://www.mikrocontroller.net/articles/AVR-Tutorial bzw. http://www.mikrocontroller.net/articles/AVR-GCC-Tutorial Und da es immer übersehen wird, ja das Tutorial gibt es auch als PDF: http://www.mikrocontroller.net/wikifiles/1/1b/AVR-GCC-Tutorial.pdf (nicht immer auf aktuellstem Stand). Wenn Du wirklich noch keine Ahnung von Programmierung hast, dann kannst Du auch zuerst mal in eine Programmiersprache auf dem PC einsteigen (Dann entfällt der Kauf der Hardware und man kann direkt loslegen). Für C gibt es auch noch ein kostenloses Buch bei Galileo: http://openbook.galileocomputing.de/c_von_a_bis_z/ Hier hatten Sie es vor kurzem über C++ Tutorials: Beitrag "c++ tutorial" Für Basic/BASCOM gibt es bestimmt auch noch eins, musst Du mal suchen oder jemand anderes was dazu schreiben... Grüße
Ballermann schrieb: > Bei der angegebenen FCPU von 14,7456MHz schafft der AT644 immerhin > 1,8432Mbps. Bei 20MHz dann sogar 2,5Mbps. 1,8 Mbps auf dem I2C, cool...
> 1,8 Mbps auf dem I2C, cool... I2C: "up to 400 kbit/s in the Fast-mode, up to 1 Mbit/s in Fast-mode Plus, or up to 3.4 Mbit/s in the High-speed mode." siehe auch (Seite 3 ganz unten) http://www.nxp.com/documents/user_manual/UM10204.pdf Ich weiß aber nicht, ob der AT644 dies kann und ob "Ballermann" hier nicht SPI o.ä. gemeint hat :-)
Martin Maurer schrieb: > "up to 400 kbit/s in the Fast-mode, up to 1 Mbit/s in Fast-mode > Plus, or up to 3.4 Mbit/s in the High-speed mode." Ja, nur fast mode plus ist eher selten und high speed exotisch.
Guido Körber schrieb: > 1,8 Mbps auf dem I2C, cool... Wie gesagt...funktionieren würde es sogar (entsprechende Hardware vorrausgesetzt). Aber auf das wollte ich garnicht raus. Es wurde gefragt: Guido Körber schrieb: > Was soll der zusätzliche Microcontroller und die seriell-Bastelei? Darauf habe ich dann die Antwort gegeben: Beitrag "Re: USB µC daten auswertung" Ein uC bringt den Vorteil, dass man die 15ksps des ADCs über eine serielle Schnittstelle (USART/RS232) mit bis zu 2,5Mbps an den PC bringt. Von I2C war nicht die Rede. Das ist mit dem vorgeschlagenen IO-Warrior (über I2C) eben nicht möglich, da er eben "nur" 750 Bytes/sec übertragen kann. Grüße
Abgesehen davon, dass der IOW56 über 60kByte/s schafft ist die Frage wie hoch die Samplerate sein muss gar nicht spezifiziert worden. Die A/D Wandler Chips sind heute im Allgemeinen recht schnell und werden häufig nicht ausgenutzt. Die Aufgabenstellung hörte sich für mich nicht nach einer schnellen Datenrate an.
Guido Körber schrieb: > Die Aufgabenstellung hörte sich für mich nicht nach einer schnellen > Datenrate an. Ja, da hast Du recht...Verschleiß wird wahrscheinlich nicht eine Sache von us sein :-D Aber jetzt wird es für den Verschleiß gebraucht und später soll eine Wechselspannung mit gesampelt werden. Die IOWarrior sind ja auch nicht schlecht. Hatte mir auch mal überlegt so ein Ding zu kaufen. Wenn ich aber dann die 33 Euro sehe, geht es halt zumindest mir so, dass ich lieber einen ATMEGA16 oder so nehme und das kurz selber mache. Arbeitszeit ist da auch nicht der Rede wert, die ADC+Timer+USART-Routinen hat man normalerweise schon in der Schublade. Den da ist der AD-Wandler schon für einen Preis von 1-3 Euro inklusive, dann noch ein USB-Seriellwandler dazu und fertig ist der Braten. Wenn wir im absoluten Low-Budget-Bereich sind, dann würde auch ein Attiny reichen: http://www.obdev.at/products/vusb/prjdetail.php?pid=31 Da ist dann die USB-Buchse das teuerste an der ganzen Sache (klar hat man dann auch nicht die Übertragungsraten, aber für 3 Euro kommt man dann für eine Verschleißüberwachung aus). Er meinte ja auch weiter oben er möchte es selbst machen: Peter schrieb: > Ich würde sowas lieber selber "basteln", weil dadruch der lern effekt > einfach größer ist. Letzten Endes liegt es bei Ihm was er machen will...wir haben ihm ja jetzt genügend INPUT gegeben. Grüße Ballermann
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.