Also nachdem ich jetzt ein bisschen mit dem ATMEGA8 warm geworden bin und bisher eher Minimalbeispiele nachgebaut und programmiert habe, möchte ich mich an mein erstes Projekt wagen, wobei ich allerdings schon beim Einstieg massiv Hilfe brauche. Es soll ein sogenanntes "Combro CB 625 MK4" ausgelesen werden. Das ist ein Geschwindigskeitmessgerät für Airsoft-Waffen und Luftgewehre das außer einer LCD-Anzeige der Geschwindigkeit auch die Möglichkeit bietet per Schnittstelle die Daten an einen PC + Software zu übertragen. Und hier ist auch schon mein erstes Problem: Ich verstehe das "wie" es übertragen wird bzw. die verschiedenen Optionen nicht wirklich (s. anghänte Grafik). Für mich sieht es so aus als gäbe es zwei Möglichkeiten die Daten auszulesen einmal mit einer RS232-Schnittstelle (die ich nicht habe, s. Hardware) und einmal was für mich aussieht wie eine Art UART (rechtes kleines Rechteck mit runden Ecken). Diese Daten sollen auf einem ATMEGA "gelesen" werden und per UART + Putty auf dem PC/Laptop ausgegeben werden. Ausserdem gibt es eine Möglichkeit das Messgerät zu Resetten (entweder per RST-Taster am Gerät oder mit der Software) um eine weitere Messung durchzuführen. Später möchte ich das die Daten per Funk(RFM12?) an den PC übertragen und dort weiter verarbeitet werden. Hier wären meine Fragen: 1. Ist das Projekt "zu groß" für mich (s. unten "Bisher gemacht") und reicht meine HW dafür aus? Ich sehe das Pojekt als Learning by Doing und bin der Meinung man wächst mit der Aufgabe. Vllt. sieht das Ganze für mich auch ersteinmal komplexer aus als es in Wirklichkeit ist. 2. Wie gehe ich vor? Mein Ansatz wäre jetzt erstmal irgenwie die Daten aus dem Gerät auf den ATMEGA + Putty zu kriegen und das Ausgabeformat (laut angehängtem Bild im ASCII-Format?!)zu verstehen und dann weiterzusehen. Vorhandene Hardware: Multimeter, Oszilloskop OWON VDS1022i 2x25MHz und 100MS/s, Laptop m. 2x USB3 + AtmelStudio7 + WIN10, Pololu ISP v2.1 (UART + Spannungsversorgung), das Combro-Messgerät, Breadboard + ATMEGA8 + Zeug (LEDs, Quarz, Fotowiderstand, Kondensator...) Bisher gemacht: ADC + UART, I2C + UART (MPU6050 Lagesensor), ein bisschen Timer + ISR, Servo ansteuern, alles mit C Ich wäre für jede Hilfe dankbar und wenn Fragen offen sind bitte fragen.
:
Bearbeitet durch User
Frage: Welche Programmiersprache beherrschst Du, bzw. übst Du? dolivo PS: ich hab's gefunden: C. Frage vergessen, bitte. Das ist nicht mein Revier.
:
Bearbeitet durch User
Bau doch mit dem Mega erstmal ein UART Echoprogramm, das die Daten von SOUT empfängt und an einen PC weitergibt. Wenn du das Datenformat verstanden hast, kannst du daran gehen, es in ein für den RFM passenden Paket zu packen und auf der anderen Seite zu empfangen und zu dekodieren. An Hardware wirst du nicht viel brauchen. Als alter Angsthase setze ich zwischen SOUT der Gun und dem Mega einen 470 Ohm Widerstand.
Michael K. schrieb: > Und hier ist auch schon mein erstes Problem: Ich verstehe das "wie" es > übertragen wird bzw. die verschiedenen Optionen nicht wirklich (s. > anghänte Grafik). Das ist tatsächlich dein Hauptproblem. Hättest du dies nicht, würdest du dich als erstes fragen, was der ATmega8 dabei soll... Den brauchst du nämlich absolut nicht. Maximal brauchst du einen USB-RS232-Adapter, den du für ein paar Euro in 'zig Varianten überall kaufen kannst. Darüber können die Daten direkt von dem Gerät in den PC gelangen. Was du dann allerdings brauchst, sind zumindest minimale Kompetenzen bei der PC-Programmierung.
Matthias S. schrieb: > UART Echoprogramm Öhhh??? Also ich stöpsel SOUT an den RX-Pin vom Atmega und der TX-Pin geht zu meinen ISProgrammer (dieser übernimmt bisher die Kommunikation mit dem PC + Putty, wobei bisher RX und TX mit dem Programmer verbunden sind)? > setze ich > zwischen SOUT der Gun und dem Mega einen 470 Ohm Widerstand Gun = der Pin der die Daten ausgibt?. Was macht dieser Widerstand? Meine Vermutung ist ein Spannungsabfall damit der ATMEGA keine Schaden nimmt falls der Pegel zu hoch ist? Bitte nicht lachen aber ich habe keine Ahnung. c-hater schrieb: > Das ist tatsächlich dein Hauptproblem. Hättest du dies nicht, würdest du > dich als erstes fragen, was der ATmega8 dabei soll... > > Den brauchst du nämlich absolut nicht. Maximal brauchst du einen > USB-RS232-Adapter, den du für ein paar Euro in 'zig Varianten überall > kaufen kannst. Darüber können die Daten direkt von dem Gerät in den PC > gelangen. Ich weiß das es diese Kabel gibt aber das ist nicht mein Ziel! Am Ende soll eine kleine Platine am Messgerät hängen die ohne Kabel (und mit eigener Spannungsversorgung) die Kommunikation mit dem PC übernimmt. Hätte ich vllt. im Anfangspost deutlicher machen sollen. > Was du dann allerdings brauchst, sind zumindest minimale Kompetenzen bei > der PC-Programmierung. Ein bisschen Java- und Python3-Skills sind vorhanden wobei ich eher zu Python3 tendiere.
:
Bearbeitet durch User
Ich würde erstmal die Daten des Gerätes ohne Mikrocontroller mit dem Hammer Terminal auslesen.
Michael K. schrieb: > Am Ende soll eine kleine Platine am Messgerät hängen die ohne Kabel (und > mit eigener Spannungsversorgung) die Kommunikation mit dem PC übernimmt. Und was macht diese Platine? Wenn sie nur Daten von links nach rechts und in Gegenrichtung schaufelt kann man sie vermutlich durch ein Stück Kabel ersetzen. Das Gerät hat doch schon eine serielle Schnittstelle. Da kann der PC direkt ran. Eine eigene Hardware würde ich nur bauen wenn das komplett ohne PC laufen soll. Tipp: Lass die Platine erstmal weg und werte die Daten am PC.mit Python aus. Das geht sehr einfach. Zum Empfang ist pyserial geeignet.
Ich würde erstmal die Daten des Gerätes ohne Mikrocontroller mit dem Hammer Terminal auslesen und schauen, was dabei heraus kommt. Mach dich mit dem Gerät und Hammer Terminal vertraut. Und dann: > Lass die Platine erstmal weg und werte die Daten am PC.mit Python aus. Wenn du danach immer noch einen µC dazwischen pappen willst, dann: Schreibe ein Testprogramm auf dem µC, dass Texte und Zahlen an den PC sendet. Schreibe dann ein Testprogramm auf den µC, dass jedes om PC empfangene Byte als Bitmuster auf 8 LEDs ausgibt. Schreibe dann ein anderes Testprogramm, dass Kommandos (bestehend aus Text und Zahlen) vom PC empängt und darauf reagiert. Zum Beispiel "LED 1 an", "LED 2 aus" und "addiere 12 mit 26". Es geht darum, dass du dich mit den einzelnen Teilkomponenten (sowohl Hardware als auch Software) vertraut machst, bevor du sie miteinander kombinierst. Du solltest einen Mikrocontroller mit 2 seriellen Schnittstellen verwenden, weil das einfacher wird. Am Besten eine mit USB-UART Chip und eine ohne, wie beim Crumb-644 Modul oder Arduino Mega. > Ich weiß das es diese Kabel gibt aber das ist nicht mein Ziel! Wenn du gleich Hochzeitstorten backen willst, ohne die üblichen Vorübungen mit Brötchen und Keksen, dann wird das nichts.
-gb- schrieb: > Und was macht diese Platine? Wenn sie nur Daten von links nach rechts > und in Gegenrichtung schaufelt kann man sie vermutlich durch ein Stück > Kabel ersetzen. Es soll doch gerade wireless gehen. Hast du den Abschnitt mit der Benutzung des RFM12 nicht gelesen? Michael K. schrieb: > Später möchte ich das die Daten > per Funk(RFM12?) an den PC übertragen und dort weiter verarbeitet > werden. Als Vorübung ist also der Empfang der seriellen Daten mit dem Mega8 gar nicht dumm. Dann geht das schon mal. Dann kann man sich damit beschäftigen, so einen Datensatz auf das für den RFM12 benötigte Paketformat umzuschnurzeln. Schliesslich muss dann am anderen Ende der Funkstrecke wieder ein Entschnurzler sein, der das auf den PC bringt. Es sei angemerkt, das es Bluetooth Module gibt, die so eine UART Schnittstelle ohne grosse Klimmzüge per BT übertragen können.
Matthias S. schrieb: > Es sei angemerkt, das es Bluetooth Module gibt, die so eine UART > Schnittstelle ohne grosse Klimmzüge per BT übertragen können. Nenne sie doch beim Namen: HC-05 und HC-06 http://stefanfrings.de/bluetooth/index.html
Stefanus F. schrieb: > Nenne sie doch beim Namen: HC-05 und HC-06 Hast du doch schon gemacht :-) Nee, ich habe für sowas noch nie eine Anwendung gehabt und kenne sie deswegen nicht persönlich - ich wusste nur, das es sowas gibt.
Michael K. schrieb: > Ist das Projekt "zu groß" für mich Nicht unbedingt, die Beschreibung ist aber etwas dürftig. Michael K. schrieb: > Wie gehe ich vor? > Mein Ansatz wäre jetzt erstmal irgenwie die Daten aus dem Gerät auf den > ATMEGA + Putty zu kriegen Erst mal die Daten auf dem Ozsilloskop sehen. Das erste Schaltbild zeigt, wie man aus dem 3-poligen Anschluss eine RS232-kompatible Schnittstelle macht. Interessiert dich nicht. Die beiden anderen Bilder zeigen, wie man das Gerät dauereinschaltet. Nicht wichtig, weil damit keine serielle Übertragung mehr geht. Das letzte Bild zeigt die Anschlussbelegung. Aus dem Gerät kommen direkt 0V, 6V und ein serielles Signal. Das serielle Signal möchte mit einem pull up an diese 6V gezogen werden, um das Gerät dauernd einzuschalten. Also
1 | +6V---+ |
2 | | |
3 | GND 10k |
4 | | |
5 | SOUT--+---- |
Du kannst mit deinem Scope direkt zwischen GND und SOUT die serielle Datenübertragung messen, erwartete Spannungen 0V und 6V, und das Gerät sollte dauernd An bleiben. Wenn du nun einen Arduino oder ATMega8 anschliessen willst, kommt GND an GND und SOUT an einen Eingang der das serielle Signal liest (RXD), und der 10k pull up kommt an die +5V des Arduino/ATmega damit keine Querstöme fliessen wenn eines der beiden Geräte ausgeschaltet ist. Dann sollte dein Programm den serillen Datenstrom erfassen können.
Matthias S. schrieb: > Es soll doch gerade wireless gehen. Also BT-Bridges oder WLAN-fähiger COM-Port-Host. Gibt's beides fix und fertig für kleines Geld. Ich sehe immer noch nicht die Notwendigkeit für einen AVR8. Insbesondere keine für den (ziemlich veralteten) ATmega8. Wenn der wenigstens irgendein besonderes Feature hätte, was ihn für die konkrete Aufgabe besonders geeignet machen würde. Hat er aber nicht. Übrigens: auch RFM12 ist nicht gerade "up to date". Gibt's überhaupt noch irgendwo welche zu kaufen?
c-hater schrieb: > Wenn der > wenigstens irgendein besonderes Feature hätte, was ihn für die konkrete > Aufgabe besonders geeignet machen würde. Wenn er für viele Dinge ausreichend ist und spezielle Features nicht benötigt, ist das hier ein besonderes Feature: https://www.ebay.de/itm/10-PCS-MCU-IC-ATMEL-TQFP-32-ATMEGA8A-AU-ATMEGA8A-AN-MEGA8A-AU-ATMEGA8A-NEW/221921782544?hash=item33ab91ab10:g:IoEAAOSwo6lWKzIF 47ct per Stück und bei einigen Dingen ist er dennoch unterfordert. Vor 3 oder 4 Jahren hatte ich auch einen STM8S103 in mein "Reportoire" aufgenommen, weil er damals schlicht 23 ct per Stück gekostet hat. Mittlerweile kostet er das gleiche wie der ATmega8. Sein spezielles Feature ist, dass er 16 MHz mit internem Taktgeber kann, mit 3,3V auskommt und weniger Strom verbraucht (Batterie). Ich verstehe nicht, warum man auch immer gegen "veraltete" Dinge "wettern" muss: Mein Radio hier im Wohnzimmer ist restlos veraltet (aus dem Jahre 1957).. und ich liebe es heiß und inniglich. c-hater schrieb: > Ich sehe immer noch nicht die Notwendigkeit für > einen AVR8. Die sehe ich allerdings auch nicht ! Als erstes Projekt gibts was "schöneres", und nein, ich meine nicht LED's blinken lassen.
Ralph S. schrieb: > Ich verstehe nicht, warum man auch immer gegen "veraltete" Dinge > "wettern" muss Vor ein paar Monaten wurde ich hier im Forum von mehreren Leuten richtig hart kritisiert, weil ich das "Tote Pferd" STM32F103 empfohlen habe. Meine Begründung, dass er preisgünstig auf handlichen Boards erhältlich sei, wurde nicht akzeptiert. Ich hatte die Kritik zum Anlass genommen, die Nachfolger STM32F303 und den STM32L073 auszuprobieren und auf meiner Homepage zu dokumentieren. Jetzt ratet mal, wie viele Leute sich für diese Doku interessieren: F103: 80% F303: 15% L073: 5% So viel zum Thema "veraltete Mikrocontroller".
Michael K. schrieb: > 1. Ist das Projekt "zu groß" für mich (s. unten "Bisher gemacht") und > reicht meine HW dafür aus? Nein! Dein Projekt ist technisch machbar und nicht zu komplex. Also mach es. Wenn du es nicht schaffst, lernst du trotzdem dazu. Das ist ja das Schöne beim Basteln: Man kann seiner Hybris mal freien Lauf lassen. Weil man nicht liefern muss. Also die Frage an Sich ist schon falsch gestellt. Im Höchstfall fragt man: Ist das technisch möglich?
Ich stelle mir die Frage, was der µC zwischen dem Messgerät und dem PC machen soll. So wie die Fotos bei der Threaderöffnung aussehen, würde ich zu einem USB<=>Seriell Wandler Kabel greifen, dass sich als virtueller Com-Port am PC anmeldet und da mit Putty, Hterm etc. drangehen.
Stefanus F. schrieb: > Ich hatte die Kritik zum Anlass genommen, die Nachfolger STM32F303 und > den STM32L073 auszuprobieren und auf meiner Homepage zu dokumentieren. > Jetzt ratet mal, wie viele Leute sich für diese Doku interessieren: > > F103: 80% > F303: 15% > L073: 5% Als Nachfolger würde ich die auch nicht bezeichnen, oder wäre ein ATmega der Nachfolger eines Tinys und der XMega der des Mega? Der L073 ist ein Cortex M0+, wird zum Stromsparen eingesetzt (und läuft meines Wissens mit maximal 32 MHz) und hat von daher komplett anderes Einsatzgebiet Der F103 ist ein Cortex M3 und ich möchte mal sagen ist ein universeller alter Geselle (und für das allermeiste absolut ausreichend) Der F303 ist ein Cortex M4 und somit etwas anderes als der F103. Ich wurde bspw. gefragt, warum ich den F303 einsetze und nicht gleich einen F4xx und bei der Antwort: "Weil ich einen F4xx nicht in einem LQFP-48 Gehäuse bekomme" wurde die Nase gerümpft. Ich habe (außer Spielereien) meiner Zeit als Elektroniker erst 2 Geräte entwickelt, bei denen ein F4 Dienst getan hat. Die Wahl des Controllers richtet sich nach der Anwendung (und nach dem Preis).
Ralph S. schrieb: > Als Nachfolger würde ich die auch nicht bezeichnen Das ist Geschmackssache, ST nennt ihn so. Vielleicht, weil sie sowohl den F103 als auch den F303 als Mainstream Serie bezeichnen. Natürlich sind sie nicht gleich - wenn das so wäre, könnte man nicht von einem Nachfolger sprechen.
Soo, erstmal Danke für die vielen Antworten! Ich will nochmal ein paar Gründe nennen warum ich das wireless machen will und ICH mit meinem bescheidenen Wissen keine Alternative zu einem µC sehe. Als erstes ist es für mich die Möglichkeit in einem Projekt zwei Hobbys (µC und Luftgewehrschiessen [E0 < 7,5J]) zu vebinden und am Ende ein weit nützlicheres Tool zu haben als wenn es dauernd per Kabel verbunden ist oder ich das Messgerät jedesmal per Hand resetten muss. Das hat folgenden Grund. Das Messgerät verwendet ein ausserordentlich sprödes Hartplastik für Hülle und Halterung und beim (wettkampforientierten) Luftgewehrschiessen ist es so, dass man manchmal verschiedene Diabolosorten probiert um zu ermitteln welche am besten mit dem Gewehr harmoniert. Dieses Testen kann sich oft über Stunden hinziehen und in dieser Zeit bewegt man Gewehr unweigerlich und damit erhöht sich die Gefahr das das Messgerät bricht. Bilder 1 und 2 lassen m.M.n. erahnen: A. wie spröde das Material ist und B. wie "filigran" die Befestigungsmöglichkeit ist. Auch wenn man das geschmeidigste Silikonkabel verwendet besteht dann immer noch die Gefahr das wenn das Gewehr unachtsam bewegt wird, das Messgerät -zumindest die Halterung- zerstört wird weil das Kabel zu kurz ist oder sich irgendwo verheddert hat. Ausserdem möchte man den Lauf des Gewehres -auch wenn nur 7,5J- ständig auf einen Kugelfang bzw. in diese Richtung halten, da die Energie doch immer noch erheblich ist (Manche denken: "Ist doch nur ein Luftgewehr" aber auf kürzeste und auch längere Entfernung ist der Finger ab, das Auge weg oder wenn es ganz schlecht läuft die Halsschlagader offen oder andere Gegenstände kaputt). Sprich: hier stört ein Kabel auch. Nun zu den Antworten: Stefanus F. schrieb: > Ich würde erstmal die Daten des Gerätes ohne Mikrocontroller mit dem > Hammer Terminal auslesen und schauen, was dabei heraus kommt. Michael B. schrieb: > Aus dem Gerät kommen direkt 0V, 6V und ein serielles Signal. Das > serielle Signal möchte mit einem pull up an diese 6V gezogen werden, um > das Gerät dauernd einzuschalten. > > Also+6V---+ > | > GND 10k > | > SOUT--+---- > Du kannst mit deinem Scope direkt zwischen GND und SOUT die serielle > Datenübertragung messen, erwartete Spannungen 0V und 6V, und das Gerät > sollte dauernd An bleiben. Ich würde jetzt also ersteinmal ein Adapterkabel basteln (USB) wie in Bild3 mit dem ich dann entweder die Daten per Oszilloskop oder Hammer Teminal auslesen kann? Ist das so wie in der Darstellung richtig? An welchen Pin muss SOUT D+ oder D- damit das Terminal die Daten lesen kann? Kann ich Messgerät + PC + Oszilloskop gleichzeitig verbinden? Matthias S. schrieb: > RFM12 benötigte > Paketformat umzuschnurzeln. Schliesslich muss dann am anderen Ende der > Funkstrecke wieder ein Entschnurzler sein, der das auf den PC bringt. > > Es sei angemerkt, das es Bluetooth Module gibt, die so eine UART > Schnittstelle ohne grosse Klimmzüge per BT übertragen können. Stefanus F. schrieb: > Nenne sie doch beim Namen: HC-05 und HC-06 > http://stefanfrings.de/bluetooth/index.html RFM12 war nur mein erster Gedanke weil ich neulich das (https://www.mikrocontroller.net/articles/%C3%9Cbersicht_Funkmodule) gelesen habe und mir hier vor allem der Support im Forum wichtig ist. Ich schliesse BT keineswegs aus. c-hater schrieb: > Insbesondere keine für den (ziemlich veralteten) ATmega8. Wenn der > wenigstens irgendein besonderes Feature hätte, was ihn für die konkrete > Aufgabe besonders geeignet machen würde. Hat er aber nicht. Den ATMEGA8 würde ich auch nur nehmen weil er schon da ist. Hier kann gerne Kritik geübt werden was später sinnvoller ist. Wie zum Beispiel hier. Ralph S. schrieb: > Wenn er für viele Dinge ausreichend ist und spezielle Features nicht > benötigt, ist das hier ein besonderes Feature: > > Ebay-Artikel Nr. 221921782544 Was für mich jetzt erstmal wichtig ist, ist das Adapterkabel (Bild3) korrekt? Wenn ich die Daten lesen kann, werde ich mich wieder melden und bin dann über Meinungen für das weitere Vorgehen offen.
Du kannst das Ding nicht direkt an einen USB Port anschließen. Du sollst dazu einen USB-UART Adapter verwenden. Und zwar einen, der 5V Pegel hat. Außerdem wurde doch geschrieben, dass du den Pull-Up Widerstand nicht an 6V anschließen sollst, sondern an 5V (vom USB). Verbinde: GND mit GND SOUT mit RxD SOUT durch einen 10kΩ Widerstand mit +5V Wenn du das dann fertig hast, kannst du versuchen, die Daten mit einem Terminalprogramm anzuzeigen. Wie kommst du jetzt auf ein Oszilloskop? Oszilloskope sind Messinstrumente, keine Datenanzeiger.
Stefanus F. schrieb: > Ralph S. schrieb: >> Ich verstehe nicht, warum man auch immer gegen "veraltete" Dinge >> "wettern" muss > Ich hatte die Kritik zum Anlass genommen, die Nachfolger STM32F303 und > den STM32L073 auszuprobieren und auf meiner Homepage zu dokumentieren. > Jetzt ratet mal, wie viele Leute sich für diese Doku interessieren: > > F103: 80% > F303: 15% > L073: 5% > > So viel zum Thema "veraltete Mikrocontroller". Ähnlich bei Schrauben: Überall wird gelobt, wie sehr viel stärker doch eine M 10 sei, aber zum Befestigen von Kühlkörpern wird dann doch M 3 bevorzugt oder gleich geklammert.
Stefanus F. schrieb: > Du kannst das Ding nicht direkt an einen USB Port anschließen. Du sollst > dazu einen USB-UART Adapter verwenden. Und zwar einen, der 5V Pegel hat. So einen? https://www.amazon.de/HER-CH340G-Serial-Converter-Schalter/dp/B01N7KA3OO/ref=sr_1_1?__mk_de_DE=%C3%85M%C3%85%C5%BD%C3%95%C3%91&keywords=USB+to+TTL&qid=1558626823&refinements=p_76%3A419122031&rnid=419121031&rps=1&s=gateway&sr=8-1 Stefanus F. schrieb: > Außerdem wurde doch geschrieben, dass du den Pull-Up Widerstand nicht an > 6V anschließen sollst, sondern an 5V (vom USB). Steht hier aber anders wenn ich das richtig verstanden habe. Michael B. schrieb: > Aus dem Gerät kommen direkt 0V, 6V und ein serielles Signal. Das > serielle Signal möchte mit einem pull up an diese 6V gezogen werden, um > das Gerät dauernd einzuschalten. > > Also+6V---+ > | > GND 10k > | > SOUT--+---- > Du kannst mit deinem Scope direkt zwischen GND und SOUT die serielle > Datenübertragung messen, erwartete Spannungen 0V und 6V, und das Gerät > sollte dauernd An bleiben. Stefanus F. schrieb: > Wie kommst du jetzt auf ein Oszilloskop? Oszilloskope sind > Messinstrumente, keine Datenanzeiger. Wenn ich das so einstelle das das Oszilloskop auf eine steigende Flanke triggert und es danach nicht weiter misst kann ich doch theoretisch das Signal lesen oder ist das ganz falsch?! Ich weiß das einen Logic-Analyzer gibt (z.B. als Erweiterung meines Oszilloskops) aber diesen habe ich nicht.
Michael K. schrieb: > Wenn ich das so einstelle das das Oszilloskop auf eine steigende Flanke > triggert und es danach nicht weiter misst kann ich doch theoretisch das > Signal lesen oder ist das ganz falsch?! Dazu brauchst du ein Speicher-Oszilloskop! Aber für diese Anwendung wird es wohl mühsam bis unmöglich werden, etwas Brauchbares auf den Schirm zu bannen. Bestenfalls bekommst du eine grobe Einschätzung, ob dein Signal gut sein könnte! Gruß Rainer
Michael K. schrieb: > So einen? Ja, zum Beispiel. Gibts auch in Form eines Kabels (ein Ende mit USB Stecker, das andere mit losen Drähten).
Ich habe jetzt den USB-UART-Adapter (https://www.amazon.de/gp/product/B01N7KA3OO/ref=ppx_yo_dt_b_asin_title_o00_s00?ie=UTF8&psc=1) bekommen, das Kabel (Bild: Adapterkabel) gebastelt und das Hammer Terminal installiert ... aber es kommt nichts an. Am Terminal und dem Adapter kann es m.M.n. nicht liegen da man den RX- und TX-Pin kurzschliessen kann und dann mit dem Terminal Zeichen senden und wieder empfangen kann, was problemlos funktoniert. Auch blinken zwei kleine LEDs für den RX- un TX-Pin wenn etwas gesendet und empfangen wird. Ich hab dann doch mal das Oszilloskop angeschlossen und obige Bilder gemacht: Oszi_SOUT_0V_ca_0_80_mpros_Adapter_an_USB.png: USB-UART-Adapter an USB angeschlossen mit Adapterkabel dran, Combro Anzeige = Messwert 0.80 Oszi_SOUT_0V_0_84_mpros_abgezogen: Signal ohne eingesteckten USB-UART-Adapter am Combro-Messgerät, Combro Anzeige = Messwert 0.84 Oszi_RX=TX_char_w: USB-UART-Adapter an USB und RX u. TX verbunden, mit Hammer Terminal ein "w" gesendet HTerminal_Einstellungen: Die Einstellungen die ich im Terminal-Programm eingestellt habe aber trotzdem nichts ankommt Edit: Das Gerät bleibt jetzt dauernd eingeschaltet wenn es mit Adapterkabel, USB-UART-Adapter am PC hängt
:
Bearbeitet durch User
Ich glaube es ergibt mehr Sinn, den Eingang des Oszilloskopes auf DC einzustellen. w = 119 = 0111011101 (von links nach rechts: Start-Bit, 8 Daten Bits, Stop-Bit) Das passt zu dem gezeigten Oszilloskop-Bild. Ich sehe, dass die Übertragung des Zeichen etwa 1ms dauert, was zur Bitrate 9600 passt. Dein USB-UART Adapter ist also in Funktionsfähig. Die Übertragungsrate deines Messgerätes scheint zu passen. Nach 1,9 horizontalen div kehrt das Signals stets zum High Pegel zurück, das wäre ein gültiges Stop-Bit. Was hier nicht passt, sind die Spannungspegel. Ich sehe da nur 1,5V anstatt die erwarteten mindestens 3V. Versuche mal einen niedrigeren Pull-Up Widerstand, zum Beispiel 3,9kΩ oder 2,2kΩ.
Mehr Bilder: 2k_Pull_Up: 2kiloOhm zwischen SOUT und 5V USB-UART-Adapter Ohne_Pull_Up: SOUT und 5V nicht verbunden Auf dem PC kommt immer noch nichts an. Edit: Die Batterien im Messgerät neigen sich dem Ende. Am 6V Pin kommen nur noch ca. 4,6V an. Die einzelnen Zellen (insgesamt 4) haben jeweils nur noch ca. 1,2V.
:
Bearbeitet durch User
Oh, das Gerät hat wohl einen zu schwachen Ausgang. Ich glaube du brauchst eine Verstärkerstufe. Bei diesem blöden Signalpegel würde ich das mit einem Operationsverstärker lösen, geschaltet als Schmitt-Trigger.
Michael K. schrieb: > Ich würde jetzt also ersteinmal ein Adapterkabel basteln (USB) wie in > Bild3 mit dem ich dann entweder die Daten per Oszilloskop oder Hammer > Teminal auslesen kann? Ist das so wie in der Darstellung richtig? An > welchen Pin muss SOUT D+ oder D- damit das Terminal die Daten lesen > kann? Au weia. Gehe zurück in den Kindergarten, armer Troll. Man kann gar keine serielles Signal an D+ oder D- eines USB Anschluss einlesen.
Michael B. schrieb: > Au weia. > > Gehe zurück in den Kindergarten, armer Troll. Danke für die konstruktive Kritik. Für mich ist ein Forum zum Fragen und Antworten erhalten da, auch wenn man ganz falsch liegt. Ich habe im Eröffnungspost geschrieben: Michael K. schrieb: > Ich sehe das Pojekt als Learning by Doing und bin der Meinung man wächst > mit der Aufgabe. und so sehe ich das immer noch und weiß jetzt auch, unter anderem wegen Dir, das das nicht geht. Stefanus F. schrieb: > Oh, das Gerät hat wohl einen zu schwachen Ausgang. > > Ich glaube du brauchst eine Verstärkerstufe. Bei diesem blöden > Signalpegel würde ich das mit einem Operationsverstärker lösen, > geschaltet als Schmitt-Trigger. > Schaltungsvorschlag für den Schmitt-Trigger. Danke für die konstruktive Kritik. Würde es was bringen neue Batterien zu verwenden? Gibt es Alternativen zu dem von Dir vorgeschlagenen OPV?
Michael K. schrieb: > Würde es was bringen neue Batterien zu verwenden? Kann sein, Aber wenn das Gerät mit schwachen Batterien noch läuft, dann würde ich auch wollen, dass die Schnittstelle so noch nutzbar ist. Ich ärgere mich oft genug darüber, dass Geräte frühzeitig ausfallen, obwohl die Batterien noch nicht wirklich leer sind. Manche Geräte machen schon bei 1,2V (pro 1,5V Zelle) Schluss - das ist unverschämt.
Verstärkerschaltung (mit TI LM358P) ist gebaut. Signal kommt an (RX-LED am UART-USB-Adapter blinkt wenn neuer Wert auf dem Messgerät erfasst wird) aber ich weiß nicht wie die Daten zu interpretieren sind! Deshalb wieder Bilder. Speziell die Werte im Hammer Terminal für 0.79 m/s kann ich nicht nachvollziehen, da es ja eigentlich immer derselbe Wert ist den das Messgerät anzeigt und überträgt. Auswertung_Combro_Excel.PNG: Spalten von links nach rechts. "Hterminal" ist das was das Hammer Terminal empfängt/anzeigt. "Combro" ist der Messwert der auf dem LCD des Messgeräts angezeigt wird. "Bild Oszill." s. Bild oben. "Bild Hterm" s. Bild oben OPV_Combro_0.86.PNG: Bild vom Wert 0.86(Combro) und Signalform HTerminal_Combro_0.86.PNG: Bild vom Hammer Terminal mit den übertragenden Daten des Messwerts 0.86. HTerm_gesamte_Session.PNG: Alle empfangenen Daten im HTerminal. Die ersten 6 Werte waren ohne Pull-Up zwischen SOUT und 5V. Jetzt 10k.
:
Bearbeitet durch User
Das Signal auf deinem Oszilloskop-Bild hat jetzt gute Pegel, aber die Flanken sind mir nicht steil genug. Dies kann zu einzelnen Bitfehlern führen. Vermutlich kriegen wir das verbessert, indem wir einen Widerstand in Reihe zu C1 schalten. Vielleicht 10kΩ. Da allerdings dein HTerm ausschließlich Ziffern empfangen hat und alle Zeilenumbrüche korrekt empfangen werden, hast du hier vermutlich nochmal Glück gehabt. Ich würde Schaltung vorläufig unverändert lassen. Bleibt also noch die Interpretation der Zahlen. Dazu habe ich spontan keine hilfreiche Idee.
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.