Guten Tag, ich bin völlig neu hier und hab (bisher) null Ahnung, das mal vorweg. (Ich weiß, ihr liebt mich jetzt schon...) Einen Schaltplan kann ich grob lesen und es ist mir auch schon mal gelungen dieverse Schaltungen nachzubauen. Nun zum Thema: Ich möchte parallel zwei 0V-5V Ausgänge überwachen und in Abhängigkeit der Zeit an einen PC übertragen, um zu Vergleichen wie schnell sich die Werte verändern. Ist das mit AVR Controlern möglich oder hat jemand einen Tip für mich? Bevor ich viel Zeit investiere um festzustellen, das ich völlig auf dem falschen Weg bin, hoffe ich hier ein paar Tipps von den Profis zu bekommen. Ich möchte auch keine kpl. Lösung bekommen (würde ich natürlich auch nehmen...), schön wäre nur zu wissen, das ich auch dem richtigen Weg bin. Generell möchte ich hinterher verstehen, wie das funktioniert und bin ein großer Fan von "Learning by doing", möchte nur nicht zu sehr auf die Nase fallen dabei. Auf AVR bin ich gekommen, weil ich erfolgreich einen E-Advenzkranz nachgebaut habe und ein AVR ISP Programmiergerät vorhanden ist. "Nachgebaut" bedeutet: Schaltplan, Stückliste aus dem Internet, Platine per direkt-Toner Methode (nach mehrfachen Versuchen) geätzt, zusammengebraten und Programm aufgespielt. Ich würde mich über zahlreiche Tipps sehr freuen
Hierzu ein paar Stichworte: - AVR mit ADC und serieller Schnittstelle - Schaltungsentwurf (evtl. ein Starterkit) - Schaltungsdesign (evtl. ein Starterkit) - Firmware programmieren Wenn du wirklich lernen möchstest, wirst du um diese Punkte nicht drum herumkommen. Hirzu ein paar Links, die Hilfreich sein könnten: http://www.mikrocontroller.net/articles/AVR-Tutorial http://www.mikrocontroller.net/articles/AVR-GCC-Tutorial Ich hoffe dass es hilfreich war
Wie schnell ändern sich deine Signale denn? Haben beide den selben Massebezug? Ist sichergestellt, dass sie wirklich nur 0..5V sind? wenn die Antworten 'langsam' (bis vielleicht 10kHz..), 'ja', 'ja' sind, ist das eigentlich sehr einfach zu machen. Such dir einen Controller mit Analog-Digital-Wandler (ADC) und serieller Schnittstelle (UART) raus. Deine Signale an die AD-Wandler und an die serielle einen Pegelwandler (Stichwort MAX232). Das Programm würde dann wohl so aussehen: - Initialisierung - Endlosschleife - warten - Kanal_1 messen - Ergebnis_Kanal_1 per UART senden (und warten bis fertig!) - Kanal_2 messen - Ergebnis_Kanal_2 per UART senden Natürlich müsstest du dir noch etwas überlegen um dann auf dem PC Kanal_1 und Kanal_2 auseinander halten zu können. Auf die AVR Tutorials wurde ja schon hingewiesen. :-)
Das klingt ja, als wäre das tatsächlich machbar wie ich mir das grob vorgestellt habe... Die Tut's habe ich mir auch schon mal angesehen, nur lerne ich am liebsten am lebenden Objekt, also werde ich mir mal ein paar Komponenten besorgen und einfach mal über die Tut's anfangen. Die schon erwähnten E-Candles habe ich ja auch hinbekommen, aber das war ja auch nur Bauen nach Anleitung, anschließen und fertiges Programm aufspielen... Das war ein schönes Erfolgserlebnis und gut für die ersten Schritte, aber ich würde das viel lieber Verstehen und nicht nur machen. Es gibt z.B. viele Linux Anleitungen in Schema: tipp mal alles so ab und dann geht das schon... Ich würde dann schon lieber verstehen was die Befehle und Parameter in der Komandozeile bedeuten, was aber selten dabei steht. Anyway: Vielen Dank für die Anregungen, ich werde das mal in Angriff nehmen.
Solange die Messrate niedrig ist sollte das eigentlich schon zu nem Erfolgserlebnis führen :-) Pass auf dass dein Messsignal 0..5V nicht verlassen kann, sonst ist noch eine Schutzschaltung notwendig (oder der Austausch des Controllers..). Das einzige Problem könnte vielleicht noch die Visualisierung auf dem PC sein. Aber ich dachte da gabs auch mal eine Art Terminalprogramm, das auf der seriellen Schnittstelle lauscht und dann alles in eine CSV-Datei schreibt, die man dann mit Excel/Openoffice/Gnuplot weiter verwursten kann. Leider ist mir der Name des Programms entfallen.
Sind das 0 bis 5V oder 0 oder 5V, also Analog- oder Digitalsignale? MW
Was bedeutet denn langsam bis 10kHz? 10 000Hz = 10 000 Takte pro Sekunde? Also aus dem Bauch raus würde ich mir 10 Takte pro Sekunde vorstellen und vermutlich habe ich da schon hoch gegriffen. Die Bauteile haben den gleichen Massenbezug und werden mit 5V versorgt, also denke ich nicht das da mehr als 5V wieder raus kommen wird.
Es sind 0V BIS 5V und analog. Der Hinweis auf CSV ist interessant, mit Excel sollte das ein kurzes Problem sein, die Werte auszuwerten.
Dendosh wrote: > Also aus dem Bauch raus würde ich mir 10 Takte pro Sekunde vorstellen > und vermutlich habe ich da schon hoch gegriffen. Also bei 10 Messungen/Sekunde langweilt sich jeder AVR. Sollte ohne Probleme mit jedem der einen A/D-Wandler hat machbar sein da eigentlich alle AVRs eine serielle Schnittstelle drin haben. Einfach noch ein RS232 Pegelwandler für ±10V (z.B. MAX232) und ein wenig Hühnerfutter und fertig ist. Codebeispiele zum Einlesen eines A/D-Wertes und Ausgabe auf Serielle Schnittstelle gibt es bestimmt hier in der Code-Sammlung oder ansonsten über Google.
Und später wenn du noch ein bisschen Löterfahrung gesammelt hast kannst du den MAX232 auch gegen einen FTDI232 austauschen. Der setzt nach USB um und der Treiber simuliert auf dem PC eine virtuelle serielle Schnittstelle. Von dem Teil merkst du also im Idealfall garnicht, dass es kein MAX232 ist. Der einzige Nachteil ist das ziemlich kleine SMD-Gehäuse :-(
FTDI323 = FT 245 BL von Reichelt? Oder wo bekommt man einen FTDI323? USB hört sich in meinen Ohren ja auch gut an, weil die serielle Schnittstellen ja langsam aussterben. Wie ist den der Aufwand zwischen Seriell und USB? Vor der Löterrei habe ich eigentlich keine Angst, das bekomme ich schon hin (früher oder später) ;o)
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.