atom007 Geschrieben 12. April 2006 Autor Teilen Geschrieben 12. April 2006 gut, dann must du nur noch die dominante frequenz in dem kurzen aufgenommenen stueck herausfinden.geht mit FFT oder auch spectrum.kannst ja mal was rumprobieren. beim gsf_dyno ist ne testdatei dabei. die kannst du ja einspielen. Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
VespaSepp Geschrieben 12. April 2006 Teilen Geschrieben 12. April 2006 (bearbeitet) Hallo hab nochmal zwei fragen:1. Ist bei allen Geräten die Line-In-Spannung bei 0.6V???2. Ist der Spannungsteiler so richtig gebaut, weil ich finde, dass es auf dem Bild und dem Schaltplan verschieden aussieht!?!? Bearbeitet 12. April 2006 von VespaSepp Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
Auweia Geschrieben 12. April 2006 Teilen Geschrieben 12. April 2006 mir wird von der Bildschärfe leicht schwindelig Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
VespaSepp Geschrieben 12. April 2006 Teilen Geschrieben 12. April 2006 (bearbeitet) Stimmt wohl, so ist glaub ich besser!!Das rechts sind die 3 Kabel vom Klinkenstecker, mir gehts vor allem um die Anordnung der Widerstände und Dioden!Hab die Bilder in dem anderen Beitrag mal gelöscht sonst wirkt das hier wegen mir so chaotisch... Bearbeitet 12. April 2006 von VespaSepp Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
scooter50 Geschrieben 12. April 2006 Teilen Geschrieben 12. April 2006 Hallo Atom007,dass war nur der Befehl, mit dem du es realisieren kannst.Da ich nicht den M Code habe, kann ich auch keine Änderung mit dem Befehl machen, das müsstest dann Du schon machen.Da ich den M Code nicht habe.Es war nur eine hilfe, würde aber gerne weiter mit helfen.GrußFrank Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
scooter50 Geschrieben 12. April 2006 Teilen Geschrieben 12. April 2006 (bearbeitet) Hallo Atom007,habe noch was interessantes gefunden, hoffe das mir nun keiner den Kopf abhackt.Habe wichtige stellen markiert.GrußFrankIst eine offene Datei Daqwaterfall.--------------------------------------------------------------------------function varargout = daqwaterfall(varargin)% daqwaterfall%% Displays a waterfall plot with data streamed in from the Data% Acquisition Toolbox. This demo was created using Guide in MATLAB 6.5.% This demo uses a lot of the code from demoai_fft.%% The input source is hardcoded to channel one of the system soundcard.% You should be able to change this if necessary by modifying the% parameter in the I N P U T S section of the file daqwaterfall.m%% Last Modified by GUIDE v2.5 06-Jan-2003 23:34:34% Author: Daniel Lee ([email protected])% Begin initialization code - DO NOT EDITgui_Singleton = 1;gui_State = struct('gui_Name', mfilename, ... 'gui_Singleton', gui_Singleton, ... 'gui_OpeningFcn', @daqwaterfall_OpeningFcn, ... 'gui_OutputFcn', @daqwaterfall_OutputFcn, ... 'gui_LayoutFcn', [] , ... 'gui_Callback', []);if nargin & isstr(varargin{1}) gui_State.gui_Callback = str2func(varargin{1});endif nargout [varargout{1:nargout}] = gui_mainfcn(gui_State, varargin{:});else gui_mainfcn(gui_State, varargin{:});end% End initialization code - DO NOT EDIT% --- Executes just before daqwaterfall is made visible.function daqwaterfall_OpeningFcn(hObject, eventdata, handles, varargin)% This function has no output args, see OutputFcn.% hObject handle to figure% eventdata reserved - to be defined in a future version of MATLAB% handles structure with handles and user data (see GUIDATA)% varargin command line arguments to daqwaterfall (see VARARGIN)% Choose default command line output for daqwaterfallhandles.output = hObject;%%%%%%%%%%%%%%%%%%%%%%%% ++++ I N P U T S ++++ %%%%%%%%%%%%%%%%%%%%%%%% Change these settings to select a different source.handles.adaptor = 'winsound';handles.id = 0;handles.chan = 1;handles.samplesPerTrigger = 1024;handles.sampleRate = 44100;handles.numTraces = 10; % number of traces to show in the waterfall.handles.cycleTime = .9; % Proportional to the amount of time spent per % visualization on CycleAll setting.%%%%%%%%%%%%%%%%%%%%%%%% ---- I N P U T S ----%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% ++++ S E T U P T H E F I G U R E ++++%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%*%%%%%%set(handles.figure1,'Color',get(handles.tTitle,'BackgroundColor'));axes(handles.axes1);handles.hLine1 = plot(zeros(1,handles.samplesPerTrigger)'); set(handles.hLine1,'Color', [.1 .1 0.5]);set(handles.axes1,'Color',[235/255 255/255 235/255])set(handles.axes1,'XGrid','on','YGrid','on')t=title('Time Domain Signal','Color',[.05 .05 .25],'FontWeight','Bold','FontSize',9);xlabel('Time (s)','FontSize',8);ylabel('Voltage (V)','FontSize',8);axes(handles.axes2);handles.hLine2 = plot(zeros(1,handles.samplesPerTrigger/2)'); set(handles.hLine2,'Color', [.1 0.5 .1]);set(handles.axes2,'Color',[235/255 255/255 235/255])set(handles.axes2,'XGrid','on','YGrid','on')t=title('Frequency Domain Signal','Color',[.05 0.25 .05],'FontWeight','Bold','FontSize',9);xlabel('Frequency (Hz)','FontSize',8);ylabel('Magnitude (dB)','FontSize',8);axes(handles.axes3);set(handles.axes3,'View',[103 10]);set(handles.axes3,'Color',[234/255 234/255 255/255]);grid(handles.axes3,'on');h = get(handles.axes3,'title');set(h,'string','Waterfall Plot','FontWeight','Bold','Color',[.25 .05 .05],'FontSize',9);h = get(handles.axes3,'ylabel');set(h,'string','Frequency (Hz)','FontSize',8);h = get(handles.axes3,'zlabel');set(h,'string','Magnitude (dB)','FontSize',8);set(hObject,'RendererMode','Manual') % If you don't do this, the surface plotset(hObject,'Renderer','OpenGL') % will draw VERY slowly.set(handles.tSource,'String',sprintf('%s:%d',handles.adaptor,handles.id));set(handles.tChannel,'String',num2str(handles.chan));set(handles.poSampleRate,'String',[{'44100'},{'22000'},{'8000'}]);set(handles.poPlotType,'String',[{'CycleAll'},{'Classic'},{'Classic(Top)'},{'Mosaic'},{'Waterfall'},{'Rotate'}]);%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% ---- S E T U P T H E F I G U R E ----%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%*%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% ++++ D R A W T H E L O G O ++++%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%L = 40*membrane(1,25);axes(handles.axes4);set(handles.axes4,... 'CameraPosition', [-193.4013 -265.1546 220.4819],... 'XLim',[1 51], ... 'YLim',[1 51], ... 'Visible','off', ... 'ZLim',[-13 40]);s = surface(L, ... 'EdgeColor','none', ... 'FaceColor',[0.9 0.2 0.2], ... 'FaceLighting','phong', ... 'AmbientStrength',0.3, ... 'DiffuseStrength',0.6, ... 'Clipping','off',... 'BackFaceLighting','lit', ... 'SpecularStrength',1.1, ... 'SpecularColorReflectance',1, ... 'SpecularExponent',7);l1 = light('Position',[40 100 20], ... 'Style','local', ... 'Color',[0 0.8 0.8]);l2 = light('Position',[.5 -1 .4], ... 'Color',[0.8 0.8 0]);%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% ---- D R A W T H E L O G O ----%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%ai=localSetupAI(handles);handles.ai = ai;% Update handles structureguidata(hObject, handles);localStartAI(ai);% UIWAIT makes daqwaterfall wait for user response (see UIRESUME)% uiwait(handles.figure1);function localStartAI(ai)%%%%%%%%%%%%%%%%%%%%%%%%%%% ++++ S T A R T A I ++++%%%%%%%%%%%%%%%%%%%%%%%%%%start(ai);trigger(ai);%%%%%%%%%%%%%%%%%%%%%%%%%%% ---- S T A R T A I ----%%%%%%%%%%%%%%%%%%%%%%%%%%function localStopAI(ai)%%%%%%%%%%%%%%%%%%%%%%%%% ++++ S T O P A I ++++%%%%%%%%%%%%%%%%%%%%%%%%stop(ai);delete(ai);%%%%%%%%%%%%%%%%%%%%%%%%% ---- S T O P A I ----%%%%%%%%%%%%%%%%%%%%%%%%function ai=localSetupAI(handles)%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% ++++ S E T U P T H E A N A L O G I N P U T ++++%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% Object Configuration.% Create an analog input object with one channel.ai = analoginput(handles.adaptor, handles.id);addchannel(ai, handles.chan);% Configure the callback to update the display.set(ai, 'TimerFcn', @localfftShowData);% Configure the analog input object.set(ai, 'SampleRate', handles.sampleRate);% Configure the analog input object to trigger manually twice.% We do this because we are using peekdata to acquire the data in% a timer callback function.% The first trigger will fill the buffer with handles.samplesPerTrigger% number of samples. We'll know we have enough samples to start % processing data when the analog input object's SamplesAvailable property% is equal to handles.samplesPerTrigger.% The analog input object will then wait for % another manual trigger, and while it is waiting the object will still be % in its running state, which means the timer event will run. To keep the% object in the running state, we need only never manually trigger this% second trigger. % Had we set the TriggerRepeat to 0, the analog input object would stop % after the first trigger and the timer functions would stop running.%set(ai, 'SamplesPerTrigger', handles.samplesPerTrigger);set(ai, 'TriggerRepeat', 1);set(ai, 'TriggerType', 'manual');% Initialize callback parameters. The TimerAction is initialized % after figure has been created.set(ai, 'TimerPeriod', 0.01); set(ai, 'BufferingConfig',[handles.samplesPerTrigger*2,20]);% Initialize time and frequency plots with lines of y=0d=zeros(1,handles.samplesPerTrigger);time = 1:handles.samplesPerTrigger;f=1:handles.samplesPerTrigger/2;mag=zeros(1,handles.samplesPerTrigger/2);% Store state information in the analog input objects UserData area.data.storedFFTsIndex = 1;data.plotSurf = 0;data.ai = ai;data.getdata = [d time];data.daqfft = [f mag];data.handle = [];data.figureHandles = handles;data.view = [103 10];data.rotateStep = 4;data.counter = 0;% Set the object's UserData to data.set(data.ai, 'UserData', data);%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% ---- S E T U P T H E A N A L O G I N P U T ----%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% --- Outputs from this function are returned to the command line.function varargout = daqwaterfall_OutputFcn(hObject, eventdata, handles)% varargout cell array for returning output args (see VARARGOUT);% hObject handle to figure% eventdata reserved - to be defined in a future version of MATLAB% handles structure with handles and user data (see GUIDATA)% Get default command line output from handles structurevarargout{1} = handles.output;% --- Executes on button press in pbExit or when you press% the figure close 'X' button (I set this function to% the figures CloseRequestFcn in GUIDE).function pbExit_Callback(hObject, eventdata, handles)% hObject handle to pbExit (see GCBO)% eventdata reserved - to be defined in a future version of MATLAB% handles structure with handles and user data (see GUIDATA)localStopAI(handles.ai);closereq;% --- Executes during object creation, after setting all properties.function poSampleRate_CreateFcn(hObject, eventdata, handles)% hObject handle to poSampleRate (see GCBO)% eventdata reserved - to be defined in a future version of MATLAB% handles empty - handles not created until after all CreateFcns called% Hint: popupmenu controls usually have a white background on Windows.% See ISPC and COMPUTER.if ispc set(hObject,'BackgroundColor','white');else set(hObject,'BackgroundColor',get(0,'defaultUicontrolBackgroundColor'));end%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% ++++ C H A N G E T H E S A M P L E R A T E ++++%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% --- Executes on selection change in poSampleRate.function poSampleRate_Callback(hObject, eventdata, handles)% hObject handle to poSampleRate (see GCBO)% eventdata reserved - to be defined in a future version of MATLAB% handles structure with handles and user data (see GUIDATA)% Hints: contents = get(hObject,'String') returns poSampleRate contents as cell array% contents{get(hObject,'Value')} returns selected item from poSampleRate% First, stop and delete the current analog input objectlocalStopAI(handles.ai);% Extract the new samplerate.v=get(handles.poSampleRate,'Value');s=get(handles.poSampleRate,'String');handles.sampleRate = str2num(s{v});% Create a new analog input with the new sample rate.handles.ai = localSetupAI(handles);% Update handles structureguidata(hObject, handles);% Restart the analog inputlocalStartAI(handles.ai);%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% ---- C H A N G E T H E S A M P L E R A T E ----%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% *********************************************************************** % Calculate the fft of the data. (Copied from demoai_fft.m)function [f, mag] = localDaqfft(data,Fs,blockSize)% Calculate the fft of the data.xFFT = fft(data);xfft = abs(xFFT);% Avoid taking the log of 0.index = find(xfft == 0);xfft(index) = 1e-17;mag = 20*log10(xfft);mag = mag(1:blockSize/2);f = (0:length(mag)-1)*Fs/blockSize;f = f(:);% *********************************************************************** % Update the plot. This routine is a Timer callback, it is called% automatically at a preset time interval. See line 184 for where% this routine is assigned as a callbackfunction localfftShowData(obj,event)if (get(obj,'SamplesAvailable') >= obj.SamplesPerTrigger) % Get the handles. data = obj.UserData; handles = data.figureHandles; % Execute a peekdata. x = peekdata(obj, obj.SamplesPerTrigger); % FFT calculation. Fs = obj.SampleRate; blockSize = obj.SamplesPerTrigger; [f,mag] = localDaqfft(x,Fs,blockSize); % Dynamically modify Analog axis as we go. maxX=max(x); minX=min(x); yax1=get(handles.axes1,'YLim'); yax1(1)=minX - .0001; % need to subtract a value to make sure yax(1) never equals yax(2) yax1(2)=maxX + .0001; set(handles.axes1,'YLim',yax1) set(handles.axes1,'XLim',[0 (obj.SamplesPerTrigger-1)/obj.SampleRate]) % Dynamically modify Frequency axis as we go. maxF=max(f); minF=min(f); xax=get(handles.axes2,'XLim'); xax(1)=minF; xax(2)=maxF; set(handles.axes2,'XLim',xax) % Dynamically modify Magnitude axis as we go. maxM=max(mag); minM=min(mag); yax2=get(handles.axes2,'YLim'); yax2(1)=minM - .0001; yax2(2)=maxM + .0001; set(handles.axes2,'YLim',yax2) % Update the line plots. set(handles.hLine1, 'XData', [0:(obj.SamplesPerTrigger-1)]/obj.SampleRate, 'YData', x(:,1)); set(handles.hLine2, 'XData', f(:,1), 'YData', mag(:,1)); % Find the frequency at which the max signal strength is at. [ymax,maxindex] = max(mag); set(handles.tFreq,'String',sprintf('%4.1d Hz',f(maxindex))); % Store the current FFT into the array of FFTs used for the waterfall. data.storedFFTs(data.storedFFTsIndex,:) = mag'; % This circular shift is used so that when we display the 3D plot, the % newest FFT will appear in 'front' and the oldest in 'back'. % To understand this, note how the plotting routines are using this fftOrder % array to reorder the FFTs stored in data.storedFFTs and also note % how data.storedFFTsIndex is used to store FFTs in data.storedFFTs. % fftOrder = 1:handles.numTraces; fftOrder = circshift(fftOrder,[ 1 -data.storedFFTsIndex ]); data.storedFFTsIndex = data.storedFFTsIndex + 1; if (data.storedFFTsIndex > handles.numTraces) data.storedFFTsIndex = 1; data.plotSurf = 1; % Indicates a full history is stored. end % Update the surface plot if we have a full history. if (data.plotSurf) cla(handles.axes3); v=get(handles.poPlotType,'Value'); s=get(handles.poPlotType,'String'); switch s{v} case 'Classic' data.view = [103 30]; data=localClassic(handles,data,f,fftOrder); case 'Classic(Top)' data.view = [90 -90]; data=localClassic(handles,data,f,fftOrder); case 'Mosaic' data.view = [90 -90]; data=localMosaic(handles,data,f,fftOrder); case 'Waterfall' data.view = [103 30]; data=localWaterfall(handles,data,f,fftOrder,yax2); case 'Rotate' data=localRotate(handles,data,f,fftOrder); case 'CycleAll' data=localCycleAll(handles,data,f,fftOrder); end end set(data.ai, 'UserData', data); drawnow;end%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% ++++ V I S U A L I Z A T I O N ++++%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%function data=localClassic(handles,data,f,fftOrder) [X,Y] = meshgrid(1:handles.numTraces,f(1:end)); surf(X,Y,data.storedFFTs(fftOrder,:)','parent',handles.axes3); set(handles.axes3,'XLim',[1 handles.numTraces],'YLim',[0 f(end)]) shading(handles.axes3,'interp'); set(handles.axes3,'View',data.view)function data=localMosaic(handles,data,f,fftOrder) [X,Y] = meshgrid(1:handles.numTraces,f(1:10:end)); surf(X,Y,data.storedFFTs(fftOrder,(1:10:end))','parent',handles.axes3); set(handles.axes3,'XLim',[1 handles.numTraces],'YLim',[0 f(end)]) set(handles.axes3,'View',data.view)function data=localWaterfall(handles,data,f,fftOrder,yax2) [X,Y] = meshgrid(1:handles.numTraces,f(1:end)); p=plot3(X,Y,data.storedFFTs(fftOrder,:)','parent',handles.axes3); % rotate the color map of the lines in the plot3 map = linspace(0,1,handles.numTraces); map2 = linspace(1,0,handles.numTraces); rotatemap = map(fftOrder); rotatemap2 = map2(fftOrder); for k=1:handles.numTraces; set(p(k),'Color',[rotatemap(k) .1 rotatemap2(k)]); end set(handles.axes3,'XLim',[1 handles.numTraces],'YLim',[0 f(end)]); shading(handles.axes3,'interp'); set(handles.axes3,'View',data.view)function data=localRotate(handles,data,f,fftOrder) [X,Y] = meshgrid(1:handles.numTraces,f(1:8:end)); surf(X,Y,data.storedFFTs(fftOrder,(1:8:end))','parent',handles.axes3); set(handles.axes3,'XLim',[1 handles.numTraces],'YLim',[0 f(end)]) set(handles.axes3,'View',data.view) % Rotate the view point. data.view(1) = 90; if data.view(2) >= 90-data.rotateStep data.rotateStep = -4; elseif data.view(2) <= -90-data.rotateStep data.rotateStep = 4; end data.view(2) = data.view(2)+data.rotateStep; function data=localCycleAll(handles,data,f,fftOrder) data.counter = data.counter + get(data.ai,'TimerPeriod'); if data.counter > 5*handles.cycleTime data.counter = 0; elseif data.counter > 4*handles.cycleTime data=localRotate(handles,data,f,fftOrder); elseif data.counter > 3*handles.cycleTime data.view = [103 30]; data=localWaterfall(handles,data,f,fftOrder); elseif data.counter > 2*handles.cycleTime data.view = [90 -90]; data=localMosaic(handles,data,f,fftOrder); elseif data.counter > 1*handles.cycleTime data.view = [90 -90]; data=localClassic(handles,data,f,fftOrder); else data.view = [103 30]; data=localClassic(handles,data,f,fftOrder); end%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% ---- V I S U A L I Z A T I O N ----%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% --- Executes during object creation, after setting all properties.function poPlotType_CreateFcn(hObject, eventdata, handles)% hObject handle to poPlotType (see GCBO)% eventdata reserved - to be defined in a future version of MATLAB% handles empty - handles not created until after all CreateFcns called% Hint: popupmenu controls usually have a white background on Windows.% See ISPC and COMPUTER.if ispc set(hObject,'BackgroundColor','white');else set(hObject,'BackgroundColor',get(0,'defaultUicontrolBackgroundColor'));end% --- Executes on selection change in poPlotType.function poPlotType_Callback(hObject, eventdata, handles)% hObject handle to poPlotType (see GCBO)% eventdata reserved - to be defined in a future version of MATLAB% handles structure with handles and user data (see GUIDATA)% Hints: contents = get(hObject,'String') returns poPlotType contents as cell array% contents{get(hObject,'Value')} returns selected item from poPlotType Bearbeitet 12. April 2006 von scooter50 Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
Auweia Geschrieben 12. April 2006 Teilen Geschrieben 12. April 2006 Vespasepp, mir kommt´s eher vor als hättest du dir die falschen Widerstände abgegriffen.Widerstands-kennfarben Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
atom007 Geschrieben 12. April 2006 Autor Teilen Geschrieben 12. April 2006 (bearbeitet) Hallo Atom007,dass war nur der Befehl, mit dem du es realisieren kannst.Da ich nicht den M Code habe, kann ich auch keine Änderung mit dem Befehl machen, das müsstest dann Du schon machen.Da ich den M Code nicht habe.Es war nur eine hilfe, würde aber gerne weiter mit helfen.GrußFrankden befehl kenne ich schon, aber wie weiter vorne geschrieben weiss ich nicht, ob der auch im stand-alone modus funktioniert. fuer deinen anderen beitrag braucht man die "Acquisition Toolbox", so dass ich denke, dass es sich hierbei um die darstellung der messwerte einer messkarte handelt. auch das habe ich weiter vorne schon geschrieben ist moeglich, nur ebenso bleibt hier die frage, ob es im stand-alone modus noch funktioniert. weiterhin habe ich weder messkarte noch die besagte toolbox.ich dachte du willst das selber auspriobieren...liess doch in realtime von der soundkarte ein und gebe die frequenz mit der hoechsten energiedichet aus. meinetwegen als text im befehlsfenster. dann compilier das ganze und guck ob es immer noch geht. hast du das geschafft ist alles andere nur noch spielkram mit der GUI.@ VespaSepp: die eine diode sieht sehr verbruzelt aus :-/ Bearbeitet 12. April 2006 von atom007 Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
scooter50 Geschrieben 12. April 2006 Teilen Geschrieben 12. April 2006 (bearbeitet) Hallo Atom007,Du kannst die den M source auf Matlab downloaden heist Daqwaterfall, einfach nach suchen.Es läuft mit ganz normaler Sound Karte von Windows,habe es schon aus probiert(Data Acquisition Toolbox ist erforderlich).Das mit der höchsten Frequenz noch nicht, muss mich erst mal schlau machen welchen Filter und wie der sein muss.GrußFrankPS: der Link zur Info Seite ist:http://www.mathworks.com/support/product/demos_index_by_product.html?product=CO dann auf Deployment of a Soundcard Audio Analysis Application. Link zum Zip File von daqwaterfall http://www.mathworks.com/matlabcentral/fil...o?objectId=2904 Bearbeitet 12. April 2006 von scooter50 Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
atom007 Geschrieben 13. April 2006 Autor Teilen Geschrieben 13. April 2006 % Find the frequency at which the max signal strength is at. [ymax,maxindex] = max(mag);was fuer ein filter??? in dem programm wird schon alles fuer dich gemacht. die frequenz ist dann:Fmax = f(maxindex);trozdem werde ich mir die data acquisition toolbox nicht kaufen!hast du auch ein compiler dazu? Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
VespaSepp Geschrieben 13. April 2006 Teilen Geschrieben 13. April 2006 Was du mit verbruzelt meinst weiß ich, aber das sieht da nur so aus, ist bloß etwas verkratzt.Die Widerstände sind mir aber als die richtigen verkauft worden, oder meinst du nur dass die anordnung falsch ist?Ist denn sonst alles richtig geschaltet??Tim Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
atom007 Geschrieben 13. April 2006 Autor Teilen Geschrieben 13. April 2006 muesste der knochige widerstand nicht ein gelben statt den orangen ring haben? Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
scooter50 Geschrieben 13. April 2006 Teilen Geschrieben 13. April 2006 Hallo Atom007,habe mir nur die Trail version gezogen, in der ist alles drin.Könnte aber von einem Bekanten die data acquisition toolbox bekommen,wenn interesse besteht.Werde es mal probieren, melde mich dann.GrußFrank Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
Goorke Geschrieben 16. April 2006 Teilen Geschrieben 16. April 2006 (bearbeitet) wo bekomm ich denn die werte her für die getriebe übersetzungen ?weiß jemand auswendig wieviele spulen meine dt. sprint v. hat ?woher bekomm ich die upfirdn.dll alle links dahin sind irgendwie tot.goo Bearbeitet 16. April 2006 von Goorke Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
atom007 Geschrieben 16. April 2006 Autor Teilen Geschrieben 16. April 2006 @goorke: gibt jetzt ne neue installations: http://land.heim.at/pampa/252319/tmt/gsf_dyno.htmlda sollte die upfirdn.dll ja dabei sein????die spulen anzahl, oder signale pro motorumdrehung bekommst du sehr schnell durch probieren raus. wird ja vermutlich 3 sein. vielleicht auch 2. sieht man dann recht schnell an der drehzahl , wenn die zu hoch ist, so hast du ein zu hohen wert eingetippt.getriebe weiss ich bei der sprint nicht so genau. weisst du die anzahl der zaehne der verschiedenen zahnraeder zwischen kulu und rad? Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
Goorke Geschrieben 16. April 2006 Teilen Geschrieben 16. April 2006 hab ihn nun mit der TTT version zum laufen bekommen, allerdings scheint meine aufnahme ziemlich übersteuert zu sein. eine kurve im (einigermaßen) passenden drehzahlbereich bekomm ich auch nur wenn ich auf 6! spulen stelle. kann ich dir die .wav mal zukommen lassen, vielleicht kannst du mir sagen was nich richtig is.goo Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
atom007 Geschrieben 17. April 2006 Autor Teilen Geschrieben 17. April 2006 hab ihn nun mit der TTT version zum laufen bekommen, allerdings scheint meine aufnahme ziemlich übersteuert zu sein. eine kurve im (einigermaßen) passenden drehzahlbereich bekomm ich auch nur wenn ich auf 6! spulen stelle.hast du mit dem mikrofon aufgenommen? da ist das relativ normal, sonst schick mir die datei. Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
Goorke Geschrieben 17. April 2006 Teilen Geschrieben 17. April 2006 mail an tavsic is raus. hab die file mit line in aufgenommen, also ohne mic.goo Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
atom007 Geschrieben 17. April 2006 Autor Teilen Geschrieben 17. April 2006 klingt bei mir so, als ob rein garnix aufgenommen wurde. kannst du was hoeren, wenn du die datei abspielst? soll in etwa so klingen wie dies uralt computer-auto-spiele. Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
Goorke Geschrieben 17. April 2006 Teilen Geschrieben 17. April 2006 jo, die testfile bei TTT hört sich so an. bei mir is nix. komisch. an was kann das liegen ?goo Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
atom007 Geschrieben 18. April 2006 Autor Teilen Geschrieben 18. April 2006 bei mir is nix. komisch. an was kann das liegen ?du schreibst, du haettest es ans licht angeschlossen, ging das licht auch?weiterhin muesste man den spannungsteiler eigentlich etwas verbessern... gerade fuer die leute mit gleichstrom. der gleichstromanteil muesste mit einem kondensator herausgenommen werden und der pegel des rest-wechselstroms sich automatisch auf ca. 0.6V einstellen. Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
Goorke Geschrieben 18. April 2006 Teilen Geschrieben 18. April 2006 du schreibst, du haettest es ans licht angeschlossen, ging das licht auch?jupp licht war an. werde es die tage mal an ner kontatklosen probiern.goo Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
atom007 Geschrieben 19. April 2006 Autor Teilen Geschrieben 19. April 2006 jupp licht war an. werde es die tage mal an ner kontatklosen probiern.dann haettest du trozdem was aufnehmen muessen. vielleicht hast du was bei den einstellungen deines recorders falsch gemacht? Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
scooteria frankonia Geschrieben 19. April 2006 Teilen Geschrieben 19. April 2006 hat evtl mal jemand nen testfile von ner Aufnahme mit nem Rollensensor?am besten auch nen Screenshot von dem File, wie das aussehen sollte.wer hat denn nen tip wie der Spannungsteiler dafür aussehen sollte. Ich hab jetzt nen OT-Sensor aus nem KFZ und der bekommt 5V Eingansspannung, leider bekomm ich noch keine brauchbaren Signale. Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
scooter50 Geschrieben 19. April 2006 Teilen Geschrieben 19. April 2006 Hey scooteria frankonia,dass dürfte auch etwas schwierig werden, der Sensor mist immer 1 Kurbelwellen Umdrehung,solsche Sensoren können mit max 15KHz arbeiten.Das bedeutet, dass du 15000 Impulse pro Sekunde messen kannst, also 15000Umdrehungen.Wenn die Rolle sich mit ca. 6000/U dreht, dann kannst Du ca. 2 Messungen pro Umdrehungmachen, mehr geht leider nicht.Es gibt aber auch Sensoren die auch über 10000/U können die sind aber etwas teurerund Du brauchst die Elektronik zu auswerten,da mit der Software von atom007nicht geht.Du bräuchtest also eine Hardware mit Buffer, damit du die Daten dann verarbeiten kann.GrußFrank Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
Bertl Geschrieben 19. April 2006 Teilen Geschrieben 19. April 2006 Ich hab ne Limaaufzeichnung auf meinem Prüfstand gemacht. Walzensensor ist noch keiner dran. Wie krieg ich da jetzt ein Diagramm raus?So hab ichs eingestellt:Linker Kanal: Limarechter Kanal: Trägheitsrolle (noch ohne Signal)Gesamtgewicht: 0 (hab ja auf dem Prüfstand gemessen)Cw: 0 (da geht kein Wind in der Garage)Stirnfläche: 0 (brauch ich nicht)Getriebe: 5.314 (2.54er Primär im 4. Gang)Reifenumfang: 1.292mFilterlänge: 1sLimasignale: 3Rollensensoren:0Luft:20°Druck:1013Trägheitsmoment: 2.13Rollenumfang: 0.9378Drehzahl: 1500 - 10.000Mit diesen Einstellungen stürzt das Programm ab. Die Limaaufzeichnung ist einwandfrei. Mir sind die Schalter im Programm auch nicht ganz klar. Wenn ich z.B. mit Lima und Rolle einstell, warum muss ich dann noch den Radumfang und die Übersetzung angeben. Kürzt sich in dem Fall doch raus. Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
scooteria frankonia Geschrieben 19. April 2006 Teilen Geschrieben 19. April 2006 Ich hab ne Limaaufzeichnung auf meinem Prüfstand gemacht. Walzensensor ist noch keiner dran. Wie krieg ich da jetzt ein Diagramm raus?So hab ichs eingestellt:Linker Kanal: Limarechter Kanal: Trägheitsrolle (noch ohne Signal)Gesamtgewicht: 0 (hab ja auf dem Prüfstand gemessen)Cw: 0 (da geht kein Wind in der Garage)Stirnfläche: 0 (brauch ich nicht)Getriebe: 5.314 (2.54er Primär im 4. Gang)Reifenumfang: 1.292mFilterlänge: 1sLimasignale: 3Rollensensoren:0Luft:20°Druck:1013Trägheitsmoment: 2.13Rollenumfang: 0.9378Drehzahl: 1500 - 10.000bin mir nicht sicher obs so geht das sollte dir aber atom sagen können,die Filterlänge solltest du mal testen evtl ist die zu lang kommt drauf an wie lang dein Prüflauf ist. Kommt keine Fehlermeldung? Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
atom007 Geschrieben 19. April 2006 Autor Teilen Geschrieben 19. April 2006 Ich hab ne Limaaufzeichnung auf meinem Prüfstand gemacht. Walzensensor ist noch keiner dran. Wie krieg ich da jetzt ein Diagramm raus?So hab ichs eingestellt:Linker Kanal: Limarechter Kanal: Trägheitsrolle (noch ohne Signal)Rollensensoren:0Mit diesen Einstellungen stürzt das Programm ab. Die Limaaufzeichnung ist einwandfrei. Mir sind die Schalter im Programm auch nicht ganz klar. Wenn ich z.B. mit Lima und Rolle einstell, warum muss ich dann noch den Radumfang und die Übersetzung angeben. Kürzt sich in dem Fall doch raus.einfach nur rollenaufnahme ohne rollensensor war nie vorgesehen. stell rechts "aus" ein, dann kannst du vielleicht ne kurve sehen. Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
Bertl Geschrieben 19. April 2006 Teilen Geschrieben 19. April 2006 Jetzt hab ich versucht mir selbst zu helfen, bin mir aber nicht sicher, ob man so rechnen kann. Ich hab versucht das Trägheitsmoment meiner Walze in eine äquivalente linear beschleunigte Masse umzurechnen.Meine Walzendaten:J=2,13 kgm²U=0,9378 mm=193,8 kg Nach meiner Umrechnung entspricht die Walze einer linear beschleunigten Masse von 95,62 kg.Ich hab jetzt mal die Trägheitsrolle im Programm deaktiviert und als Gesamtgewicht meine 95,62 kg eingetragen. Luftwiderstand wieder auf 0 gesetzt.Getriebe: 5,314Radumfang: 1,292 mSignale:3Dann kam das hier raus:Werd jetzt nochmal ne orginal PX200 testen und schaun, ob das Ergebnis brauchbar ist. Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
scooteria frankonia Geschrieben 19. April 2006 Teilen Geschrieben 19. April 2006 will dir ja keine Leistung absprechen, scheint aber noch etwas zu viel zu sein. Ansonsten sehr geil und selbst mit zwei drei PS weniger eine super Leistung Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
Empfohlene Beiträge
Erstelle ein Benutzerkonto oder melde Dich an, um zu kommentieren
Du musst ein Benutzerkonto haben, um einen Kommentar verfassen zu können
Benutzerkonto erstellen
Neues Benutzerkonto für unsere Community erstellen. Es ist einfach!
Neues Benutzerkonto erstellenAnmelden
Du hast bereits ein Benutzerkonto? Melde Dich hier an.
Jetzt anmelden