Ergebnis 111 bis 120 von 155
Thema: Eigenbau Synchrontester
-
23.10.2018, 21:05 #111
AW: Eigenbau Synchrontester
Hallo,
zum einstellen der Vergaser wird nur die Differenz der Meßwerte benötigt. Alle anderen Anzeigen sind überflüssig. Einen Mittelwertbildung macht nur Sinn wenn das Ergebnis mehr als 4x/sec. vorliegt.
Gruß
WalterIgnitech Zündung preiswert von Entwickler => https://forum.2-ventiler.de/vbboard/...tech-Z%FCndung
Gebt alle Hoffnung auf, die ihr hier eintretet! (Dante Inferno (Alighieri, 1265-1321))
-
24.10.2018, 09:17 #112
AW: Eigenbau Synchrontester
gruß christian
r100rt monolever '96 | rundluftfilter 16 löcher | dellorto PHM40 | eigenbau 2in1 auspuffanlage | ignitech V88 | eigenbau kabelbaum mit tasterarmaturen und blinker/lichtrelais von elektronikbox | wilbers 631 und ducati 1098 gabel | brembo m4
-
25.10.2018, 09:28 #113
AW: Eigenbau Synchrontester
Grundssätzlich sollte es ausreichen nur den Differenzwert auszugeben. Ich persönlich habe gerne einen grafischen Vergleich, da ich diesen schneller beurteilen kann - auch während der Fahrt.
Ich schau mal, ob ich die Differenz noch bei der Darstellung ergänze.
Auf eine Mittellwertbildung habe ich verzichtet, die Werte werden pro Motorumdrehung ausgegeben - also bei 800 1/min alle 75 ms (13,33x/sec). Dadurch zappelt die Anzeige mehr, was manche Leute ja besser finden. Allerdings zappelt dadurch auch der Differenzwert.
VG Holger
-
19.03.2019, 11:51 #114
AW: Eigenbau Synchrontester
Ich hab auch mal ein paar vorhandene Teile "zusammengeworfen":
Ein AVR-Eval-Board mit ATMega 128 (Olimex AVR-MT128), einem LC-Display 16x2 (alphanumerisch, Controller HD44780) und zwei Absolutdrucksensoren MPX 5100.
Die Software wird so ausgelegt, dass maximal 4 Kanäle (4 Sensoren) unterstützt werden.
Vorgesehen ist bis jetzt:
- Parallele Absolutdruckanzeige aller Kanäle als Balkendiagramm (Auflösung 80 Stufen)
- Anzeige des Differenzdrucks zwischen Kanal 0 (Referenz) und einem der anderen Kanäle (Auflösung 75 Stufen)
- Kalibrieren der Kanäle 1 - 3 auf Gleichlauf zu Kanal 0.
- Anzeige der Drehzahl und des maximalen und minimalen Ansaugdrucks
So sieht die Balkenskala aus ("synthetische" Testwerte):
und so die Skala für die Mittenanzeige:
Noch ein paar (geplante) technische Daten:
Sample-Frequenz 1 kHz je Kanal.
Ausgabe der rohen Messwerte per RS-232.
Ermitteln von
- Maximalem Unterdruck (Druckminimum) inkl. Zeitstempel
- Minimalem Unterdruck (Druckmaximum) inkl. Zeitstempel
- tiefpass-gefiltertem Unterdruck (für Abgleich)
- Upm (aus Abstand der Druckminima)
Im Moment designe ich die Filter zur Aufbereitung der Messwerte.
Blau ist der Ansaugdruck, gelb der Ausgang eines einstufigen IIR-Tiefpass ("Trockentest" mit Excel).
Das ist sicherlich noch nicht das Optimum. Tests mit Alternativen wie "moving average" oder einem Median-Filter kommen als Nächstes.
Leider hab ich im Moment nur Messdaten eines Motors im Leerlauf.
Und das "Henne-Ei-Problem", denn meine Q ist "zuwendungsbedürftig" und scheidet als Quelle für "gute" Messdaten aus.
Falls also ein Münsterländer (oder Umgebung) mal Zeit und Lust hätte, würde ich gern (bei einem Kaffee, natürlich) hier ein paar Messwerte aufnehmen.
Und jetzt noch der obligate "Blick in die Zukunft":
Das Ganze ist so ausgelegt, dass es im Grunde auf fast jedem Experimentierboard mit einem etwas größeren ATMega (ATMega 128, ATMega 328, ATMega 256x) laufen sollte. Benötigt werden 7 Portleitungen für das Display, 5 für die Taster und 2 bzw. 4 ADC-Kanäle sowie ein UART für die Ausgabe der rohen Messwerte.
Die Software ist komplett in C erstellt, avr-gcc > 4.5.x. Im Moment habe ich ca. 70% des Funktionsumfangs "gebaut".
Die Anpassung an andere Displays (GLCD) und die Erweiterung auf grafische Darstellung des Ansaugdrucks ist als Option vorgesehen.
(Fortsetzung folgt.)
Viele Grüße
StefanViele Grüße
Stefan
Die blaue Q:
R75/6 (1976) mit
Doppelscheibenbremse
und S-CockpitStreckensperrungen betreffen uns alle!
Hilf mit und werde BVDM-Mitglied!
-
19.03.2019, 12:13 #115
AW: Eigenbau Synchrontester
Moin Stefan,
Seeehr hübsch, da könnte ich mich inspirieren :-)
Das wird sportlich. Denk dran, dass der Prozessor gerne niedrige Impedanzen <10 kOhm am Eingang hätte (Quelle), sonst gibts fürchterliches Crosstalk zwischen den Kanälen. Umgekehrt verträgt der Druckwandler nicht viel Ausgangsstrom (maximal 0.5 mA für "meinen" MPXA6115A, d.h. 10 kOhm maximaler Lastwiderstand.
RS232 ... Du bist definitiv ein GeekGeändert von Joerg_H (19.03.2019 um 12:16 Uhr)
Gruss aus dem Westen der Schweiz,
- Joerg
--
SchweizerSchrauber.ch | 1990er R80GS und K100LT | Moto-Chalet.ch
LED-Voltmeter, Heizgriff-Steuerung, Tachogeber-Adapter, LED-Rücklichteinsätze und mehr
Technische Fragen? Bitte ins Forum stellen - kein PN - Wissen ist für alle da! Danke fürs Verständnis
-
19.03.2019, 12:47 #116
AW: Eigenbau Synchrontester
Hatte ich schon seit längerem vor. Jetzt hab ich es einfach mal auf den Tisch geholt, auch weil ich meine Embedded-Programmiererfahrungen nicht weiter einrosten lassen wollte.
Beim MPX5100 sind es 0,1 mA, also auch nicht viel anders. Das Datenblatt empfiehlt einen Stützkondensator von 470 pF am Ausgang. Die S&H-Stufe des ATMega 128 wird mit ca. 14 pF angegeben.
Müsste eigentlich ausreichen. Wird die nächsten Tage messtechnisch überprüft. Das einzige, das ich noch nicht sicher weiß ist, wie viel Zeit ich zwischen der Umschaltung des ADC-Kanals und dem Start der nächsten AD-Wandlung wirklich brauche. Aber auch das sollte heraus zu bekommen sein...
Gut, dass du (noch) nicht weißt, dass ich mehrere serielle Protokollanalysatoren besitze... (HP 4951A sowie eine "Laptop-Lösung" mit eine Dual-Port-PCMCIA-Karte und Y-Kabel.)
Aber für den Fall "USB-only" liegen in der entsprechenden Box auch mehrere kleine Boards mit FT232.
Viele Grüße
StefanViele Grüße
Stefan
Die blaue Q:
R75/6 (1976) mit
Doppelscheibenbremse
und S-CockpitStreckensperrungen betreffen uns alle!
Hilf mit und werde BVDM-Mitglied!
-
19.03.2019, 13:04 #117
AW: Eigenbau Synchrontester
Beim Arduino (also ATmega328P statt "Deinem" 128) sagt die Arduino Reference "It takes about 0.1 ms to read an analog input".
Gemessen habe ich - ohne jede Optimierung - 120 us pro Messung. [Blödsinn gelöscht, ich sollte nicht so kurz vor dem Mittagessen posten ]
Wenn Du den Test machst, dann häng die beiden Analogeingänge under Test an stark unterschiedliche Spannungen, aber aben nicht an die Versorgungsspannung, sondern in einen mittelohmigen Spannungsteiler:
/*
ADCcrosstalk - analyse ADC cross-talk during channel switching.
This program is free software; you can redistribute it and/or modify it
under the terms of the GNU General Public License version 2 as published
by the Free Software Foundation, provided that the copyright notice remains
intact even in future versions. See the file LICENSE for details.
If you use this program (or any part of it) in another application,
note that the resulting application becomes also GPL. In other words,
GPL is a "contaminating" license.
This program is distributed in the hope that it will be useful,but WITHOUT
ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
for more details.
--------------------------------------------------------------------
Modification/history:
2016-07-22, first operational version (JHa)
2016-07-23, better data structures, better loop, no more printing in loop (JHa)
*/
#include "QuickStats.h"
const int NCHAN = 2;
const int NSAMP = 10; // <80 otherwise you'll have memory problems
const char do_plot = 1 ;
void setup() {
pinMode(A0, INPUT);
pinMode(A1, INPUT);
Serial.begin(115200);
Serial.print("Init, N=");
Serial.println(NSAMP);
}
/*
Read two analog inputs, print the result to the serial monitor.
Note: feed the two inputs with very different (!) voltages
(NOT equal to the Arduino supply rails)
*/
void loop() {
int dly[] = { 0, 5, 10, 25 };
int wait[] = { 0, 5, 10, 25 };
int ndly = sizeof(dly) / sizeof(dly[0]);
int nwait = sizeof(wait) / sizeof(wait[0]);
int i, j;
for (j = 0; j < nwait; j++)
for (i = 0; i < ndly; i++)
run_test (dly[i], wait[j]);
Serial.println("\n========== End of loop ==========\n\n");
}
void run_test (int dly, int wait) {
float ch[NCHAN][NSAMP]; // arrays to hold data points. We use float for the stat library
QuickStats stat[NCHAN];
int i;
String s = "";
s = String("\n# N=" + String(NSAMP, DEC) + ", " + String(wait, DEC) + " ms before, " + String(dly, DEC) + " ms between channels");
Serial.println(s);
for (i = 0; i < NSAMP; i++) {
if (wait) // time to settle
delay(wait);
ch[0][i] = analogRead(A0);
if (dly) // time between channels
delay(dly);
ch[1][i] = analogRead(A1);
}
/* only print *after* the loop, since all printing *in* the loop
will slow down data acquisition and falsify results
*/
if (do_plot) { // print only if data are desired
for (i = 0; i < NSAMP; i++) {
Serial.print(i);
Serial.print("\t");
Serial.print(ch[0][i]);
Serial.print("\t");
Serial.println(ch[1][i]);
}
}
if (do_plot) {
/* show statistics */
Serial.print("Avg (StdDev): ");
for (i = 0; i < NCHAN; i++)
{
Serial.print(stat[i].average(ch[i], NSAMP));
Serial.print(" (");
Serial.print(stat[i].stdev(ch[i], NSAMP));
Serial.print(")\t");
}
Serial.print("\nMin/Max: ");
for (i = 0; i < NCHAN; i++)
{
Serial.print(stat[i].minimum(ch[i], NSAMP));
Serial.print("/");
Serial.print(stat[i].maximum(ch[i], NSAMP));
Serial.print("\t");
}
Serial.print("\nMode: ");
for (i = 0; i < NCHAN; i++)
{
Serial.print(stat[i].mode(ch[i], NSAMP));
Serial.print("\t");
}
}
Serial.println("");
}Geändert von Joerg_H (19.03.2019 um 13:59 Uhr)
Gruss aus dem Westen der Schweiz,
- Joerg
--
SchweizerSchrauber.ch | 1990er R80GS und K100LT | Moto-Chalet.ch
LED-Voltmeter, Heizgriff-Steuerung, Tachogeber-Adapter, LED-Rücklichteinsätze und mehr
Technische Fragen? Bitte ins Forum stellen - kein PN - Wissen ist für alle da! Danke fürs Verständnis
-
19.03.2019, 13:54 #118
AW: Eigenbau Synchrontester
Hallo Jörg,
Das erwarte ich auch. Bei 125 kHz ADC-Takt (16 MHz Oszillatortakt und Prescaler 128) ergibt das nach Datenblatt ca. 120 µs.
Rechnen wir unterschiedlich?
1 kHz Sampletakt bedeutet 1 ms zwischen den Messungen. Ich rechne mal zusätzliche 30 µs Setup-Zeit nach dem ADC-Kanalwechsel ein.
Es beginnt bei der "vollen ms":
Kanal 0 startet bei +0 µs
Kanal 0 fertig bei +150 µs
Kanal 1 startet bei +150 µs
Kanal 1 fertig bei +300 µs
Kanal 2 startet bei +300 µs
Kanal 2 fertig bei +450 µs
Kanal 3 startet bei +450 µs
Kanal 3 fertig bei +600 µs
Ruhepause von 400 µs bis zur nächsten "Sample-Kette". Dann geht es im gleichen Zeitraster wieder los.
Ergebnis: Die Samplefrequenz je Kanal beträgt für alle Kanäle 1 kHz, der "Sampletakt" der einzelnen Kanäle ist aber phasenverschoben (müsste für die Anwendung "Synchrontester) nichts ausmachen.
Klar. Überschlägig gerechnet sollte ein 47k-Poti ganz gut passen.
Ansonsten hab ich auch MPX 6115 hier. Die sind von den Kennwerten her etwas besser (z.B. etwas mehr Ausgangsstrom), haben aber das "unschönere" Gehäuse (SSOP-8, nur über Pins befestigt, ganz kurzer Schlauchstutzen). Da müsste ich den Anschluss "nach außen" mechanisch anders gestalten. (Kurzes Stück flexibler Schlauch und am Gehäuse befestigte Schlauchkupplung, denke ich.)
Viele Grüße
StefanViele Grüße
Stefan
Die blaue Q:
R75/6 (1976) mit
Doppelscheibenbremse
und S-CockpitStreckensperrungen betreffen uns alle!
Hilf mit und werde BVDM-Mitglied!
-
19.03.2019, 14:09 #119
AW: Eigenbau Synchrontester
Gruss aus dem Westen der Schweiz,
- Joerg
--
SchweizerSchrauber.ch | 1990er R80GS und K100LT | Moto-Chalet.ch
LED-Voltmeter, Heizgriff-Steuerung, Tachogeber-Adapter, LED-Rücklichteinsätze und mehr
Technische Fragen? Bitte ins Forum stellen - kein PN - Wissen ist für alle da! Danke fürs Verständnis
-
19.03.2019, 14:49 #120
AW: Eigenbau Synchrontester
Könnt ihr das nicht per PN machen.
Ich komm mir so doof vor.
Prima, weiter so, davon lebt das Forum
Felgenwahl 1. Serie /5
25.04.2024, 21:40 in Mechanik