Forum: Mikrocontroller und Digitale Elektronik Stm32f401 fotodiode Werte auslesen, adc auslesen stm32, stm32cubeide


von Albin T. (alb_97)



Lesenswert?

Hallo,
Ich versuche mit dem code(in der while Schleife):
"
HAL_ADC_Start(&hadc1);
HAL_ADC_PollForConversion(&hadc1, 100);
adc1 = HAL_ADC_GetValue(&hadc1);

HAL_ADC_PollForConversion(&hadc1, 100);
adc2 = HAL_ADC_GetValue(&hadc1);

HAL_ADC_Stop(&hadc1);
"
Werte von mehreren fotodioden auszulesen, zum Schluss möchte ich damit 
"Farben erkennen bzw ausgeben".

Im Anhang ist ein Bild von der Konfiguration meines Adcs.


Leider funktioniert das nicht ganz so..

Hat jemand Ideen, oder das gleiche schon mal gemacht?

Mfg der neuling.. :)

von pegel (Gast)


Lesenswert?

Was möchte dir das Warnsymbol vor ADC1 sagen?
Geh einfach mir der Maus drüber.

von Albin T. (alb_97)



Lesenswert?

Hallo,
Ich versuche mit dem code(in der while Schleife):
"
HAL_ADC_Start(&hadc1);
HAL_ADC_PollForConversion(&hadc1, 100);
adc1 = HAL_ADC_GetValue(&hadc1);
HAL_ADC_PollForConversion(&hadc1, 100);
adc2 = HAL_ADC_GetValue(&hadc1);
HAL_ADC_Stop(&hadc1);
" Werte von mehreren fotodioden auszulesen, zum Schluss möchte ich damit 
"Farben erkennen bzw ausgeben".
Im Anhang ist ein Bild von der Konfiguration meines Adcs.
Leider funktioniert das nicht ganz so..
Hat jemand Ideen, oder das gleiche schon mal gemacht?
Mfg der neuling.. :)

von Gerd E. (robberknight)


Lesenswert?

Fangen wir doch mal lieber ganz anders an, auf der analogen Ebene.

Wie sieht Dein Schaltplan aus? Hast Du einen Transimpedanzverstärker 
zwischen Photodiode und ADC?

Wenn Du mal den Anschluss an den ADC des Mikrocontrollers entfernst und 
da statt dessen ein Multimeter ranhängst, was wird da angezeigt? 
Reagiert die Anzeige des Multimeters auf Helligkeitsunterschiede? Passt 
der angezeigte Spannungsbereich zu dem des ADC?

Bevor das alles nicht passt brauchst Du Dich gar nicht erst mit dem 
Mikrocontroller zu beschäftigen. Und ob dann dieses 
Cube-Codegenerator-Gewürge hilft wäre auch noch zu hinterfragen.

von Albin T. (alb_97)


Lesenswert?

Welches warnsymbol?stimmt der Code?

von Albin T. (alb_97)


Lesenswert?

Der Mikrocontroller, bzw der ganze "Roboter" ist fest gegeben und es 
funktioniert angeblich(aus Sicht des Schaltplan) mir geht es rein um den 
Code.

von Albin T. (alb_97)


Lesenswert?

Hallo,

Hat von euch schon jemand mal Werte einer fotodiode ausgelesen? 
Verwendeter Mikrocontroller stm32f401, als Programm wird stm32cubeide 
verwendet. im Internet hab ich dazu einiges mit dem auslesen von Werten 
des adcs gelesen.
Ziel ist es, mit der fotodiode Farben zu erkennen.
Hat dies schon mal jemand gemacht und kann mir evtl helfen mit seinen 
Code? Bin etwas überfordert..

Mfg der neuling.

von Albin T. (alb_97)


Lesenswert?

Hallo,

Hat von euch schon jemand mal Werte einer fotodiode ausgelesen? 
Verwendeter Mikrocontroller stm32f401, als Programm wird stm32cubeide 
verwendet. im Internet hab ich dazu einiges mit dem auslesen von Werten 
des adcs gelesen.
Ziel ist es, mit der fotodiode Farben zu erkennen.
Hat dies schon mal jemand gemacht und kann mir evtl helfen mit seinen 
Code? Bin etwas überfordert..

Mfg der neuling.

: Verschoben durch User
von C. U. (chriull)


Lesenswert?

Albin T. schrieb:
> Hallo,
>
> Hat von euch schon jemand mal Werte einer fotodiode ausgelesen?
> Verwendeter Mikrocontroller stm32f401, als Programm wird stm32cubeide
> verwendet. im Internet hab ich dazu einiges mit dem auslesen von Werten
> des adcs gelesen.
> Ziel ist es, mit der fotodiode Farben zu erkennen.

Dazu wirst du mehrere brauchen - mit entsprechender spektraler 
Empfindlichkeit oder Filtern.
So wie durch mischen verschiedener Farben eine Farbe erzeugt werden 
kann, kann durch messen verschiedener (relevanter/sinnvoller) 
Farbanteile auf die Farbe geschlossen werden.

> Hat dies schon mal jemand gemacht und kann mir evtl helfen mit seinen
> Code? Bin etwas überfordert..

Als Start für die Schaltung der wiki Eintrag

https://de.m.wikipedia.org/wiki/Photodiode
oder auch (einfacher?)
http://elektronik-kurs.net/elektronik/fotodiode/

Zur Monitorkalibrierung sollte/könnte es solche Schaltungen  bereits zu 
leistbaren Preisen geben, die du verwenden könntest?

Ansonsten, wenn du es selbst machen willst beschreibe inwiefern du 
überfordert bist und was du messen willst, dann steigen deine Chancen 
auf hilfreiche(hilfreichere) Antworten.

von Albin T. (alb_97)


Lesenswert?

Danke erstmal für eine Antwort.
Ich habe eine Art Roboter zu programmieren, der Farben erkennen soll. 
Dies soll mit der fotodiode geschehen. Aufgebaut und gelötet,.. Ist 
schon alles, es fehlt quasi nur noch der Code bzw die Konfiguration des 
Adcs.
Zuerst meine Frage, ob ich mit der farberkennung durch die fotodiode mit 
den adc auslesen auf dem richtigen Weg bin,
Die 2. Wie genau das ginge.

von Gerd E. (robberknight)


Lesenswert?

Durch das Anlegen von 17 verschiedenen Threads auf mikrocontroller.net 
zum selben Thema kommst Du sicher schneller zu einer Lösung als mit nur 
einem.

: Bearbeitet durch User
von C. U. (chriull)


Lesenswert?

Albin T. schrieb:
> Danke erstmal für eine Antwort.
> Ich habe eine Art Roboter zu programmieren, der Farben erkennen soll.
> Dies soll mit der fotodiode geschehen. Aufgebaut und gelötet,.. Ist
> schon alles, es fehlt quasi nur noch der Code bzw die Konfiguration des
> Adcs.

Das steht alles in den Docs zum verwendeten uC - eigentlich keine 
Hexerei. Ich habe mit dem von dir genannten keine Erfahrung - aber wie 
schon oben geschrieben, je genauer du dein Problem beschreibst, desto 
"bessere" Antworten kannst du bekommen.
Drei Beiträge zum Thema zu starten, hilft dabei auch nicht wirklich...

> Zuerst meine Frage, ob ich mit der farberkennung durch die fotodiode mit
> den adc auslesen auf dem richtigen Weg bin,
Eine wird nicht reichen, außer du wechselt die Filter. Mehrere, sinnvoll 
gewählte, richtig beschalte mit dem ADC auslesen wäre derrichtige Weg.
> Die 2. Wie genau das ginge.

:)

: Bearbeitet durch User
von C. U. (chriull)


Lesenswert?

Albin T. schrieb:
> im Internet hab ich dazu einiges mit dem auslesen von Werten des adcs
> gelesen

Noch ein Gedanke dazu - aus deinen diversen Beiträgen ist zu entnehmen, 
dass du eine fertige, funktionierende Schaltung hast und du "nur" ein 
eigenes Program dazu schreiben willst?

Warum auch immer du dies machen willst, der Weg dazu ist die 
Dokumentationen des uC zu lesen. Da führt kein Weg daran vorbei. Die 
sind ausführlich und meist mit Beispielen versehen. Beim Hersteller gibt 
es auch genug Beispielprogramne.Falls dir das nicht ausreicht, gibt es 
vielfältige Sekundärliteratur, die die Themen ausführlicher erklären. 
Oder die diversesten Blogs/Webseiten/(pfff..)Youtube Videos im 
Internet.... Bei unteranderen http://stefanfrings.de/index.html gibts 
zum Beispiel eine umfangreiche Info Sammlung zu STM32

 ... Oder du findest wen, dem gerade fad ist, und der es für dich 
macht...

von Rufus Τ. F. (rufus) Benutzerseite


Lesenswert?

Ein Hinweis:

In diesem Forum macht man sich nicht beliebt, wenn man ein und dieselbe 
Frage gleichzeitig in mehreren Forenbereichen stellt.

Auch nicht, wenn man Fragen in offensichtlich falschen Forenbereichen 
stellt.

Das Thema hat weder mit "Projekte & Code" noch mit "PC-Programmierung" 
zu tun.

Ich habe die vier Threads mal zusammengefasst.

: Bearbeitet durch User
von Stefan F. (Gast)


Lesenswert?

Albin T. schrieb:
> Hat von euch schon jemand mal Werte einer fotodiode ausgelesen?

Ja, aber nicht ohne Verstärker. Den wirst du schon brauchen.

> Der Mikrocontroller, bzw der ganze "Roboter" ist fest gegeben und
> es funktioniert angeblich(aus Sicht des Schaltplan) mir geht es
> rein um den Code.

Zeige doch mal, wir sind nämlich neugierig wie die Katzen. Locke 
potentielle Helfer mit einem Häppchen an, dann stehen die Chancen 
größer, Hilfe zu bekommen.

Für den STM32F4 kann ich Dir leider kein Code-Beispiel geben, nur für 
den STM32L0, F1 und F3 und ohne Cube Hal.

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
Noch kein Account? Hier anmelden.