Jump to content

Recommended Posts

Geschrieben

Hallo,

kann es sein, dass in der FW-Version 2.0.1 der OSR-Wert immer auf 4096 stehen bleibt? In "mcp3911.c" werden neue Werte nur ODER-verknüpft:

			case S_SET_RATE_R:
			spi_fifo_read_fifo(&mcp3911.spi_fifo, &mcp3911.spi_fifo_buf[0], 3);

			mcp3911.config = (uint16_t)(mcp3911.spi_fifo_buf[1] <<  | mcp3911.spi_fifo_buf[2];

			switch(mcp3911.rate) {
				case SAMPLE_RATE_976_SPS:
					mcp3911.config |= MSK_CONFIG_OSR_1024;
					break;

				case SAMPLE_RATE_488_SPS:
					mcp3911.config |= MSK_CONFIG_OSR_2048;

					break;

				case SAMPLE_RATE_244_SPS:
				default:
					mcp3911.config |= MSK_CONFIG_OSR_4096;

					break;
			}

 

Nach "mcp3911.config = ..." habe ich testweise diesen Ausdruck eingefügt:

mcp3911.config &=~MSK_CONFIG_OSR_4096;

Ansonsten ist die maximale Abstastrate wohl auf kleiner 610sps begrenzt, bzw. "S_GET_ADC" wird höchstens ca. alle 1,65ms aufgerufen (gemessen per Oszi).

 

Wenn man sich per Oszi ansieht, wie oft der ADC ausgelesen wird, fällt auch ein relativ starker Jitter der Abtastzeitpunkte auf. Dies lässt sich durch eine Erhöhung der SPI Baudrate des MCP3911 verbessern. Die Baudrate ist per Default auf 100kBd eingestellt. Kann diese problemlos erhöht werden? Bei meinen Tests funktionierte es mit z.B. 4Mbd noch ohne erkennbare Fehler.

 

 

Geschrieben

Ich hab es mir nicht im Detail angeschaut, sieht aber in der Tat nach einem sehr unnötigen Bug aus!

 

Schaue ich mir schnellstmöglich an, gibt dann eine neue Firmware. Danke für den Hinweis :).

Geschrieben

Firmware Version 2.0.2 ist jetzt veröffentlicht und sollte das fixen.

 

Ich hab die Firmware in dem Zuge auf die neuen Coop Tasks umgestellt die wir in der bricklib haben (gab es zu dem Zeitpunkt als wir die Firmware geschrieben haben noch nicht)

 

Die Baudrate hab ich auf 200kHz erhöht um das Jitter zu verringern, wobei der Durchsatz bei 100kHz prinzipiell auch bereits gereicht hatte.

 

So sieht das jetzt aus:

976 SPS

Va4btqL.png

488 SPS

97fYTly.png

244 SPS

MPT34A3.png

 

Der etwas größere Block bei CLK sind immer die Daten und die kleinen Blöcke sind die Statusabfrage. Das sieht jetzt IMO ganz gut aus und bleibt auch langfristig gleichmäßig.

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Gast
Reply to this topic...

×   Du hast formatierten Text eingefügt.   Formatierung jetzt entfernen

  Only 75 emoji are allowed.

×   Dein Link wurde automatisch eingebettet.   Einbetten rückgängig machen und als Link darstellen

×   Dein vorheriger Inhalt wurde wiederhergestellt.   Clear editor

×   Du kannst Bilder nicht direkt einfügen. Lade Bilder hoch oder lade sie von einer URL.

×
×
  • Neu erstellen...