Hallo Leute, ich habe vor, mit dem Teensy 3.6 einen Spektumanalysator für mehrere Kanäle zu bauen. Ich möchte die Signale (0...3,3V) über die Analogeingänge einlesen. Es soll für jeden Kanal (10 Kanäle) die Hauptfrequenz (max. 1kHz), die Maximalamplitude und der Amplitudenmittelwert ausgegeben werden. Als Datenübergabepunkt habe ich mir gedacht, die CAN Bus-Schnittstelle zum Koppeln mit einer Siemens-SPS zu benutzen. Hat jemand schon Erfahrung mit dem Teensy gesammelt? Vom Abtasttheorem sollte es ja bei 180MHz Taktung und 10 Kanälen passen.? Hat jemand schon FFT mit einem Arduino oder Teensy gemacht oder Erfahrung mit dem CAN Bus des Teensy gesammelt? Kann man die Analogeingänge in Echtzeit einlesen, oder werden die irgendwie multiplext? Für Anregungen oder Tips wäre ich sehr dankbar.
Die 180 MHz sind der CPU-Takt. Das ist nicht der ADC-Takt und sicherlich nicht der Takt mit dem der ADC Werte einlesen kann. Bei 1 kHz sehe ich da trotzdem kein großes Problem. Du musst halt mal schauen, ob du aus dem ADC in zuverlässig gleichmäßigen Abständen Samples rausbekommst. Wenn das geht ist der Rest handhabbar, aber gibt sicherlich einiges zu tun, musst du halt einfach machen.
Gunnar P. schrieb: > Kann man die Analogeingänge in Echtzeit einlesen, oder werden die > irgendwie multiplext? 25 Analog Inputs to 2 ADCs with 13 bits resolution
datenblatt des µC seite 947 https://www.nxp.com/docs/en/reference-manual/K66P144M180SF5RMV2.pdf kurzbeschreibung : 25 Analog Inputs to 2 ADCs with 13 bits resolution also nur 2 ADCs .. rest alles multiplex
Ja, das mit dem CPU-Takt war auch nur symbolisch gemeint. Ich glaube aber, das Problem wird sein, dass das Board zwei ADCs an Board hat, die auf die 25 AI multiplext werden. Die Schwierigkeit wird weiterhin sein, geeignete Libs und vor allem eine Beschreibung zu finden, um den Sketch richtig aufzubauen. Man wird sicherlich mit mehrdimensionalen Arrays arbeiten müssen und dann den Dump jedes Kanals zyklisch über einen Algorithmus laufen lassen.
Echtzeit und Multiplexing ist allerings kein Widerspruch ... ist dann halt nur langsamer. Und ja, man wird tatsächlich ein bisschen Software schreiben müssen, das glaube ich auch ;) Ist aber alles kein Hexenwerk, wenn du es schaffst ordentlich getaktet Daten einzulesen. Dazu müsste man in's CPU-Handbuch schauen.
:
Bearbeitet durch User
Eigentlich reicht es mir, wenn ich für jeden der 10 Kanäle Pro Sekunde die drei benötigten Werte übergeben kann. Also ist nach 10 Sekunden immer wieder der gleiche Kanal dran. In der SPS bzw. im Leitsystem werden dann die Werte als Kurve abgelegt.
Der Teensy hat eigentlich ein Vielfaches eines normalen Arduino auf AVR - Basis drauf. Aber es fehlt an Dokumentation, weil die Boards noch sehr neu sind. Auch die Libraries sind erst in Anfängen vorhanden.
Wenn du eine FFT machen oder Frequenz zählen willst, musst du in regelmäßigen Abständen sampeln. Du musst mal schauen, ob das ohne Weiteres möglich ist in der Form in der du das willst.
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.