Hallo,
Ich suche für ein Projekt einen I²C der einen Skript speichern kann, und
diesen Skript verwendet um Signale zu vergleichen. Dies soll so
ablaufen, dass am Anfang bei Inbetriebnahme des Systems alle Signale
einmal abgerufen und mit ihrem Wert gespeichert werden. Danach fängt das
System von neuem an und vergleicht die gespeicherten Werte mit den neuen
Werten die gemessen werden. Wenn eine Änderung vorliegt sendet der I²C
diese Änderung an einen weiteren I²C der auch noch von anderen I²C
ebenfalls Änderungswerte erhält. Man kann sich das als einen Pyramide
vorstellen. Unten sind alle Sensoren und Slaves und oben ist der Master
der alles verwaltet.
Ich denke das ich für die I²C jeweils einen Mikrocontroller benutzen
muss. Ich bin mir aber nicht sicher.
Danke für jede Antwort.
T800w schrieb:> Ich suche für ein Projekt einen I²C der einen Skript speichern kann, und> diesen Skript verwendet um Signale zu vergleichen.
I2C ist ein Bus. Ein Bus kann kein Skript speichern, ausführen oder
Signale vergleichen. Du suchst vermutlich einen Mikrocontroller der
einen oder mehrere I2C Buse bereitstellen kann?
Davon ab solltest du mal versuchen die Aufgabenstellung in klare Worte
zu fassen, ich habe keine Ahnung was das Ziel der ganzen Aktion ist.
T800w schrieb:> Unten sind alle Sensoren und Slaves und oben ist der Master> der alles verwaltet.
Master und Slave sind fest vergebene Begriffe in der I2C Welt.
Wenn du einen Baum aufbauen möchtest, brauchst du auf jeder
Zwischenebene einen Master(für seine unterlegene Schicht), welcher dann
auch Slave spielen kann(Für seine überlegene Schicht.)
@Kevin S
Ich habe Zahlreiche Sensoren. Die werden mithilfe eines MUX an einen
Chip durchgestellt. Der Chip hat jeweils einen gespeicherten Wert für
jeden einzelnen Sensor, ein Beispiel: Sensor 001 sendet 1, der Chip
prüft dann, ob der Sensor vorhin schon der Wert 1 hatte. Stimmt das, so
wird kein Signal an den Mikrocontroller weitergegeben. Liegt eine
Änderung vor also von 1 auf 0 dann sendet der Chip, dass sich der Sensor
001 verändert hat. Der Mikrocontroller wertet das vom Chip gesendete
Signal aus und verarbeitet dieses weiter.
Ich weiß aber nicht welchen Chip ich benutzten soll.
Was du suchst, lässt sich am einfachsten mit einem µC erledigen.
Da du scheinbar schon einen im System hast: Warum einen extra µC
davorschalten, kann der das nicht mit übernehmen?
AntiMaker schrieb:> Da du scheinbar schon einen im System hast: Warum einen extra µC> davorschalten, kann der das nicht mit übernehmen?
Nein leider nicht, weil ich ca. 20'000 Sensoren besitze. Deshalb muss
ich das ganze Unterteilen
T800w schrieb:> Nein leider nicht, weil ich ca. 20'000 Sensoren besitze
Du hast also 20'000 Sensoren.
Weisst Du schon was für welche?
Oder welche Art von Signalen sie liefern?
Oder wieviel Sensoren auf unterster Ebene zusammengeschaltet werden?
Und vielleicht könnte es in diesem Fall wirklich das Veständnis
erleichtern, wenn Du schreibst, wie Du an diese 20.000 Sensoren gekommen
bist und wann Dir eingefallen ist, diese zu Skripten.
Ich vermute mal, Du willst mehere digitale Eingänge einlesen aber nur
bei Änderung.
Das geht recht einfach mit dem PCF8574/A. Der hat einen open-drain
Interrupt Ausgang dafür. Je I2C-Bus kannst Du davon 16 Stück
anschließen.
T800w schrieb:> Nein leider nicht, weil ich ca. 20'000 Sensoren besitze.
Ich würd mal sagen, dann hast Du ein konzeptionelles Problem.
T800w schrieb:> Nein leider nicht, weil ich ca. 20'000 Sensoren besitze. Deshalb muss> ich das ganze Unterteilen
Hast Du richtige analoge Sensoren oder nur digitale Inputs?
In letzterem Falle hätte ich einfach kaskadierte SPI Schieberegister
(Parallel->Seriell) verwendet.
T800w schrieb:> Nein leider nicht, weil ich ca. 20'000 Sensoren besitze. Deshalb muss> ich das ganze Unterteilen
Du möchtest gerne irgendwann einmal 20000 Sensoren besitzen und dann
vernetzen, oder ?
T800w schrieb:> ebenfalls Änderungswerte erhält. Man kann sich das als einen Pyramide> vorstellen. Unten sind alle Sensoren und Slaves und oben ist der Master> der alles verwaltet.
Abgesehen davon, dass das Ganze ziemlich unglaubwürdig erscheint -
wie peda schon schrieb:
Du hast ein konzeptionelles Problem.
Marc V. schrieb:> Du hast ein konzeptionelles Problem.
Wie meinst du das?
Ich benötige nuneinma die ganzen analogen Sensoren um Änderungen
festzustellen.
T800w schrieb:> Ich benötige nuneinma die ganzen analogen Sensoren um Änderungen> festzustellen.
Es ist aber für irgendwelche Antorten schon relevant, ob die analogen
Sensoren
- 1Bit (Komparator),5 oder 16-Bit haben.
- sich maximal 1 mal pro Tag oder einmal pro Sekunde ändern
- dito für durchschnittlich
- wie schnell eine Änderung erfasst werden muss
- wie Timeouts bzw. verlorene Telegramme gehändelt werden.
- wie das in etwa räumlich verteilt ist (10 Stück an einem I2C weil 100m
auseinander, oder 1000 Stück auf einem Bierdeckel?)
Es ist bei sowas z.B. durchaus üblich, Schieberegister-Quasibusse zu
verwenden.
T800w schrieb:> Wie meinst du das?
So, wie es geschrieben steht.
> Ich benötige nuneinma die ganzen analogen Sensoren um Änderungen> festzustellen.
Wozu und wie und wo sollen die Sensoren angebracht werden ?
Dir ist klar, dass mehr als 64 I2C-Devices und mehr als 80-100cm
Länge bei 100KHz nicht mehr zuverlässig funktionieren ?
Wenn es analoge Sensoren sind und du nimmst ein uC mit z.B. 20 ADC
Eingängen, brauchst du immer noch 1000 Stück davon.
Das alles klingt für mich immer noch ziemlich unglaubwürdig...
Hallo T800w!
Um Deine Fragen beantworten zu können sind leider nicht genügend
Informationen vorhanden.
20'000 Sensoren... Respekt!
Was sind das für Sensoren?
Achim S. hat ja auch schon einen Fragen-Katalog abgegeben.
Um hier eine sinnvolle Hilfe liefern zu können, werden leider mehr Infos
gebraucht.
Lass uns mal tiefer in Deine Bastelkiste schauen. :-)
Max D. schrieb:> Welche Anwendung ausser einem CCD Chip hat 20k analoge Datenpunkte in> einem einzigen System?
CERN!?
Hast Recht, absolut unglaubwürdig! Ein einzelner Mensch könnte ein
solches System weder finabziell, noch zeitlich, noch softwaremässig
stemmen! Also doch eine Firma?
Gruss Chregu
Analogsignale kann man Muxen. Analoge Muxer kann man kaskadieren.
Nimm den hier zum Beispiel:
http://www.newark.com/texas-instruments/cd74hc4067sm96/analog-multiplexer-demux-1-to/dp/74C8312
Man kann zum Beipiel in zwei Ebenen 1:16 Muxer kaskadieren. Dann
benötist du noch 78 analoge Eingänge, weil jede Kaskade 256 analoge
Eingänge kann.
Wenn du 3 Ebenen machst, kannst du das DIREKT auf die ADC des µC muxen.
Für die 3 Ebenen benötigst du nur 5 analoge Eingänge und 12 normale
GPIOs. Das kann fast jeder µC, drei Muxerebenen sind noch nicht
kompletter Wahnsinn.
Damit sollte eine Messung von 20000 analogen Signalen innerhalb einer
Sekunde zu realisieren sein, falls der ADC schnell genug ist.
Jedenfalls wird - meiner bescheidenen Meinung nach - ein System mit
20000 I2C Nodes niemals zuverlässig funktionieren, egal wie man das
aufbaut. Mindestsen schwierig wird es.
Es geht ja schon los, dass du viele Busse brauchst, und dann die ganzen
Slaveadressen...
Mmhm schrieb:> Es geht ja schon los, dass du viele Busse brauchst, und dann die ganzen> Slaveadressen...
In der Praxis würden man dafür Ethernet nehmen.
Und viele k€ wird es wohl kosten.
Mmhm schrieb:> Man kann zum Beipiel in zwei Ebenen 1:16 Muxer kaskadieren. Dann> benötist du noch 78 analoge Eingänge, weil jede Kaskade 256 analoge> Eingänge kann.> Wenn du 3 Ebenen machst, kannst du das DIREKT auf die ADC des µC muxen.> Für die 3 Ebenen benötigst du nur 5 analoge Eingänge und 12 normale> GPIOs. Das kann fast jeder µC, drei Muxerebenen sind noch nicht> kompletter Wahnsinn.
Milchmädchenrechnung.
Für 256 analoge Eingänge braucht man immer noch 17 Mixer-ICs.
Plus 4 gemeinsame Adresspins, plus 17 separate Steuerpins (die man
ev. auch muxen könnte), die angesteuert werden wollen.
Ergibt 8 Steuerpins für 256 analoge Eingänge im besten Fall.
Ergo:
20000 / 256 = 78.125 = 79 (aufgerundet).
79 * 17 = 1343 Mixer-ICs.
79 * 8 = 632 Steuereingänge.
Das meinte ich (und peda wahrscheinlich auch) mit
konzeptionelles Problem.
So (mit vielen einzelnen ICs und Signalen) wird das nicht gehen.
Achim S. schrieb:> Es ist aber für irgendwelche Antorten schon relevant, ob die analogen> Sensoren> - 1Bit (Komparator),5 oder 16-Bit haben.
Das sind Ldrs die ich mithilfe von Spannungsteilern zu
funktionstüchtigen Sensoren mache
> - sich maximal 1 mal pro Tag oder einmal pro Sekunde ändern
Die ändrnern sich die ganze Zeit, weil ich aber immer einen Mux für 16
Sensoren benutze und den Mux wieder an einen weiteren Mux anschließe
bekomme ich immer den Wert den der Sensor bei einer Durchschaltung
abgibt. Mit meinem Arduino kann ich pro 10ms einmal den Sensor wechseln,
was eigentlich relativlangsam ist. D.h. das ich den selben Sensor erst
wieder nach einer sek anspreche. Da fehlt mir auch noch der passende
Mikrocontroller.
> - dito für durchschnittlich> - wie schnell eine Änderung erfasst werden muss
Der Mux hat eine Änderungswahrnehmung von 10ns, somit wäre es gut wenn
das komplette System eine Änderung von einem Sensor innerhalb von 10sek
wahrnimmt
> - wie Timeouts bzw. verlorene Telegramme gehändelt werden.> - wie das in etwa räumlich verteilt ist (10 Stück an einem I2C weil 100m> auseinander, oder 1000 Stück auf einem Bierdeckel?)
Das ganze ist auf Platten verteilt, pro Platte (~30cm lang) sitzen 31
Sensoren und ein Mux der die einzelnen Sensoren durchschaltet
>> Es ist bei sowas z.B. durchaus üblich, Schieberegister-Quasibusse zu> verwenden.
Ich benutze einmal den 74hc595 um die Mux anzusprechen, und die Mux
eben.
Mmhm schrieb:> Analogsignale kann man Muxen. Analoge Muxer kann man kaskadieren.>> Nimm den hier zum Beispiel:> http://www.newark.com/texas-instruments/cd74hc4067...>> Man kann zum Beipiel in zwei Ebenen 1:16 Muxer kaskadieren. Dann> benötist du noch 78 analoge Eingänge, weil jede Kaskade 256 analoge> Eingänge kann.> Wenn du 3 Ebenen machst, kannst du das DIREKT auf die ADC des µC muxen.> Für die 3 Ebenen benötigst du nur 5 analoge Eingänge und 12 normale> GPIOs. Das kann fast jeder µC, drei Muxerebenen sind noch nicht> kompletter Wahnsinn.
Ich habe bereits drei Ebenen und das funktioniert perfekt, ohne
zwischenfälle
> Damit sollte eine Messung von 20000 analogen Signalen innerhalb einer> Sekunde zu realisieren sein, falls der ADC schnell genug ist.
Mit welchem Mikrocontroller kann man das so schnell machen? Mein Arduino
Uno schafft nur 10ms.
> Jedenfalls wird - meiner bescheidenen Meinung nach - ein System mit> 20000 I2C Nodes niemals zuverlässig funktionieren, egal wie man das> aufbaut.
Es funktioniert sogar sehr gut ;D
> Mindestsen schwierig wird es.> Es geht ja schon los, dass du viele Busse brauchst, und dann die ganzen> Slaveadressen...
Das merke ich auch gerade...
T800w schrieb:> Die ändrnern sich die ganze Zeit, weil ich aber immer einen Mux für 16> Sensoren benutze und den Mux wieder an einen weiteren Mux anschließe> bekomme ich immer den Wert den der Sensor bei einer Durchschaltung> abgibt. Mit meinem Arduino kann ich pro 10ms einmal den Sensor wechseln,T800w schrieb:> Das ganze ist auf Platten verteilt, pro Platte (~30cm lang) sitzen 31> Sensoren und ein Mux der die einzelnen Sensoren durchschaltet
Was den jetzt - 16 oder 32 ?
Ich habe es 2 Mal höfflich versucht...
Du lügst von Dingen von denen du absolut keine Ahnung hast und was
noch schlimmer ist - du widersprichst dir selbst.
Erst sind es 16:1 dann sind es 32:1 Multiplexer.
T800w schrieb:> Mit welchem Mikrocontroller kann man das so schnell machen? Mein Arduino> Uno schafft nur 10ms.
Dein Arduino schafft weitaus mehr als nur 10ms - man muss nur wissen
wie das zu machen ist...
T800w schrieb:>> Jedenfalls wird - meiner bescheidenen Meinung nach - ein System mit>> 20000 I2C Nodes niemals zuverlässig funktionieren, egal wie man das>> aufbaut.> Es funktioniert sogar sehr gut ;D
Das mag sein, nur wird das bei dir bestimmt nicht der Fall sein.
Du hast weniger als Null Ahnung von der ganzen Sache - hör auf hier
rumzutrollen.
P.S.
Mux 32:1 gibt es selbst bei Abnahme von 1000 Stück nicht unter 5E.
> Was den jetzt - 16 oder 32 ?> Ich habe es 2 Mal höfflich versucht...> Du lügst von Dingen von denen du absolut keine Ahnung hast und was> noch schlimmer ist - du widersprichst dir selbst.> Erst sind es 16:1 dann sind es 32:1 Multiplexer.> Das mag sein, nur wird das bei dir bestimmt nicht der Fall sein.> Du hast weniger als Null Ahnung von der ganzen Sache - hör auf hier> rumzutrollen.> P.S.> Mux 32:1 gibt es selbst bei Abnahme von 1000 Stück nicht unter 5E.
Ich habe mit keinem Wort geschrieben, dass ich einen 32:1 Mux verwende.
Ich benutze zwei 16:1 Mux für 32 Signale. Falls ich das irgendwo
geschrieben habe wäre es sehr hilfreich wenn du den Text Zitieren
könntest.
Marc V. schrieb:> Milchmädchenrechnung.> Für 256 analoge Eingänge braucht man immer noch 17 Mixer-ICs.> Plus 4 gemeinsame Adresspins, plus 17 separate Steuerpins (die man> ev. auch muxen könnte), die angesteuert werden wollen.> Ergibt 8 Steuerpins für 256 analoge Eingänge im besten Fall.
Nirgends habe ich behauptet, das sei einfach oder billig ;-)
Unten in meinem Beitrag steht drin, wie das mit 3 Ebenen geht. Für 20k
Pins benötigt man
- 1250 Muxer in der ersten Ebene
- 79 in der zweiten
- 5 in der dritten
- 12x GPIO
- 5x Analog IN
Sowie geschätzte 200 Buffergates für wegen Fanout (kannst ja 25x 74HC244
oder so nehmen), und eine Stromversorgung mit vermutlich um die 5A.
Ja, und ein paar tausend Kerkos, und weiteres Vogelfutter. Und Stecker.
Viele Stecker.
Die ca. 2000 16:1 Muxer kosten nur 600€.
Was dagegen teuer wird, sind Stecker, Platinen und das Zusammenbauen.
Denn die nötige Qualtät, wenn man 2k IC verlötet, ist von Hand kaum
hinzubekommen.
T800w schrieb:> Mit welchem Mikrocontroller kann man das so schnell machen? Mein Arduino> Uno schafft nur 10ms.
Mit dem ATMEGA328 des Arduino gehen immerhin schon 15kSPS.
Jeder halbwegs brauchbare Controller schafft das mühelos. Zwei
Beispiele:
PIC24FV32KA301 (100kSPS)
STM32F072 (1MSPS)
T800w schrieb:> Ich habe mit keinem Wort geschrieben, dass ich einen 32:1 Mux verwende.> Ich benutze zwei 16:1 Mux für 32 Signale. Falls ich das irgendwo> geschrieben habe wäre es sehr hilfreich wenn du den Text Zitieren> könntest.T800w schrieb:> Das ganze ist auf Platten verteilt, pro Platte (~30cm lang) sitzen 31> Sensoren und ein Mux der die einzelnen Sensoren durchschaltet
^^^^^^^
|||||||
Reicht das ?
Marc V. schrieb:> T800w schrieb:> Ich habe mit keinem Wort geschrieben, dass ich einen 32:1 Mux verwende.> Ich benutze zwei 16:1 Mux für 32 Signale. Falls ich das irgendwo> geschrieben habe wäre es sehr hilfreich wenn du den Text Zitieren> könntest.>> T800w schrieb:> Das ganze ist auf Platten verteilt, pro Platte (~30cm lang) sitzen 31> Sensoren und ein Mux der die einzelnen Sensoren durchschaltet>> ^^^^^^^> |||||||>> Reicht das ?
Ok, akzeptiert, ich hab mich falsch ausgedrückt, mein Fehler
Wegstaben V. schrieb:> beschreib doch mal was du mit deiner Apparatur machen möchtest
Ich möchte Änderungen von Sensoren wahrnehmen und die dann später
auswerten, grob gesagt.
Bisher lese ich folgende technische Gegebenheiten:
Du hast/planst 20000 Foto-Widerstände, welche irgend was angucken
sollen.
Und du hast schon eine Platte [*1] mit 31 Sensoren = Foto-Widerständen.
Es fehlen also nur noch 645 weitere identische Platten. Diese
Foto-Widerstände bzw. die Platten sollen irgendwie per Mux mit Hilfe
eines i2c Busses ansteuert werden.
Du möchtest nun mit Hilfe von kaskadiertem Multiplexing die analogen
Werte dieser Foto-Widerstände zu einem? zentralen A/D Wandler führen,
der dann Werte wandelt.
Und der analoge Wert wird also initial eingelesen, gespeichert und dann
von Zeit zu Zeit mit einem neu ermittelten Wert verglichen.
[*1] angenommen, eine Platte hätte eine Größe von 30x2= 60cm², dann
hätten alle Platten zusammen eine Gesamtgröße von ca sqrt(646 x 60) = 2
x 2 Meter. Passt diese Größe zu deinem Vorhaben?
--> Was genau möchtest du denn mit der Apparatur angucken? Ist es ein
geheimes Forschungs-Projekt, oder warum kannst/möchtest du nicht mehr
Informationen heraus geben?
Wegstaben V. schrieb:> Bisher lese ich folgende technische Gegebenheiten:>> Du hast 20000 Foto-Widerstände, welche irgend was angucken.> Du möchtest nun mit Hilfe von kaskadiertem Multiplexing die analogen> Werte dieser Foto-Widerstände zu einem? zentralen A/D Wandler führen,> der dann Werte wandelt.> Und du hast schon eine Platte [*1] mit 31 Sensoren (es fehlen also nur> noch 645 weitere) welche irgendwie per Mux mit Hilfe eines i2c ansteuert> werden.> Und der analoge Wert wird also initial eingelesen, gespeichert und dann> von Zeit zu Zeit mit einem neu ermittelten Wert verglichen.
Genau!
> angenommen, eine Platte hätte eine Größe von 30x2= 60cm², dann hätten> alle Platten zusammen eine Gesamtgröße von ca sqrt(646 x 60) = 2 x 2> Meter. Passt diese Größe zu deinem Vorhaben?
Ja, das haut hin
> --> Was genau möchtest du denn mit der Apparatur angucken? Ist es ein> geheimes Forschungs-Projekt, oder warum kannst/möchtest du nicht mehr> Informationen heraus geben?
Die Sensoren sollen einfach gucken ob sie verdunkelt sind, also ob z.B
ein Gegenstand vor dem Sensor steht oder eben nicht.
Das was ich gerade mache ist nur eine Testversion um zu schauen ob meine
Idee funktioniert, sollte alles wie geplant klappen könnte das ein
Verkaufsschlager werden.
T800w schrieb:> Die Sensoren sollen einfach gucken ob sie verdunkelt sind, also ob z.B> ein Gegenstand vor dem Sensor steht oder eben nicht.
Bei einer seriellen Anordung deiner Platinen könntest du also mit 30 cm
x 646 Stück = ca. 200 laufende Regalmeter überprüfen, ob (im Abstand von
ca. 1 cm) das Regal an besagter Stelle befüllt ist ...
Das wird dann bei der Länge aber nicht mehr mit I2C funktionieren, auch
das Muxen der Signale ....
Ein konzeptioneller Ansatz könnte sein, jeden Streifen mit eigener
Auswerte-Intelligenz (A/D Wandler, Speicher) auszustatten, und die
einzelnene Streifen-Segmente über einem verwendbaren Bus mit einem
zentralen Master sprechen zu lassen.
Dann müßtest du dir noch was einfallen lassen, die einzelnen Segmente zu
codieren/adressieren: im einfachsten Fall mit einem 10 Bit
"Mäuseklavier" zur Adresseinstellung. Oder (eleganter) z.B. zwecks
"anlernen" mit einem Taster und einer LED ausstatten, und zum
Anlernvorgang gehts du die Reihe entlang und drückst jede Taste einmal,
und die LED leuchtet als Quittung kurz auf - der lokale Controller und
der zentalcontrolller handeln dann die individuelle Platinenadrese aus
Dein Projekt ist sicher gut und realisierbar. Was ich nur überhaupt
nicht verstehe:
Was soll der I2C-Bus dabei???
Egal wie Du Dein Design organisierst, also ob Du 31 Sensoren auf einen
ADC (bzw. einen µC) gibst oder 31*31 Sensoren. Egal wie die µC sich
untereinander unterhalten und egal welches Timing du hast: Ich kann mir
kein Szenario vorstellen, wo I2C dafür irgendwie gut ist.
Der Vorteil von I2C liegt in unterschiedlicher Peripherie, Flexibiltät,
Erweiterbarkeit. Aber ganz sicher nicht in der Massen-Kaskadierung.
Beispiel: Am einfachsten wäre für jede 31-Platte ein kleiner µC, der
alle 100µs den nächsten Sensor ausliest. Dann gibt es für 32 Platten
einen Sammler, an den die 32µC z.B. über 485 parallel hängen. Oder Daisy
Chain. Oder CAN. Für die Nummerierung gibt es auch genug Möglichkeiten,
zur Not per zusätzlicher Leitung.
Für 32 Sammler gibt es wieder einen Sammler. Und so weiter.
Mit 1MBaud bekommst Du alle Sensoren mehrmals pro Sekunde ausgelesen.
Oder Du gehst aus jedem Brett auch analog raus und SPI/Schieberegister
rein. So sparst Du Dir den µC (nicht die Kosten von 50Cent, sondern die
Software).
Wenn Du keinen Aufwand in SW treiben willst, dann hast Du halt pro
Platte 6 oder 7 Leitungen, statt 4, die auch bei I2C immer sein werden.
Mit ein wenig Programmiererfahrung reichen auch ohne I2C 4 Leitungen.
T800w schrieb:> Das sind Ldrs ...T800w schrieb:> ... könnte das ein Verkaufsschlager werden.
Da leuchtet ein Problem im Schatten.
Soweit mir bekannt, sind die Cadmium haltigen LDR, bei Neugeräten, nicht
mehr zulässig.
Das steht einem "Verkaufsschlager" doch arg entgegen.
Ich schlage vor, noch mal eine Schleife in der Konzeptphase zu drehen
und dabei insbesondere zu klären
- Was soll eigentlich detektiert werden?
- Was sind das für analoge Sensoren [2], die entweder 0 oder 1 ausgeben
[1]?
- Was wird als eine Änderung bei einem analogen Sensor betrachtet?
- Wie sieht es dabei mit dem Signal-Störabstand aus?
Vielleicht wäre es nicht ganz ungünstig, mal das ganze Problem auf den
Tisch zu legen und statt, ohne links und rechts zu gucken, eine
Umsetzung für einen Brute Force Ansatz zu suchen.
[1] T800w schrieb:> Sensor 001 sendet 1, der Chip> prüft dann, ob der Sensor vorhin schon der Wert 1 hatte. Stimmt das, so> wird kein Signal an den Mikrocontroller weitergegeben. Liegt eine> Änderung vor also von 1 auf 0 dann sendet der Chip, dass sich der Sensor> 001 verändert hat.[2] T800w schrieb:> Jim M. schrieb:>> Hast Du richtige analoge Sensoren oder nur digitale Inputs?> Nein ich habe nur analoge Signale.
Arduino F. schrieb:> Da leuchtet ein Problem im Schatten.> Soweit mir bekannt, sind die Cadmium haltigen LDR, bei Neugeräten, nicht> mehr zulässig.
Echt!? Wo hast du das gelesen?
Wolfgang schrieb:> Ich schlage vor, noch mal eine Schleife in der Konzeptphase zu> drehen und dabei insbesondere zu klären> - Was soll eigentlich detektiert werden?> - Was sind das für analoge Sensoren [2], die entweder 0 oder 1 ausgeben> [1]?
Das war nur ein Beispiel zur Veranschaulichung, ich hätte auch 0,75V und
3.56V schreiben können.
> - Was wird als eine Änderung bei einem analogen Sensor betrachtet?
Eine Veränderung von über zwei Volt
> - Wie sieht es dabei mit dem Signal-Störabstand aus?
Hab ich mir keine Gedanken gemacht, ich denke aber das sich das ganze
mit genügen Zeit ausgleicht.
> Vielleicht wäre es nicht ganz ungünstig, mal das ganze Problem auf den> Tisch zu legen und statt, ohne links und rechts zu gucken, eine> Umsetzung für einen Brute Force Ansatz zu suchen.
Also ich hab ja die ganzen Mux, dabei weiß ich jetzt noch nicht, wie und
wo ich die ganzen Signale entschlüssle und weiter verarbeite. Ich war
jetzt mit meinem Gedankengang schon so weit, dass ich pro 4'096 Sensoren
einen Mikrocontroller mit Ads platziere und der dann eben kontrolliert
ob sich die Signale verändert haben und bei bedarf ein Signal an einen
weiteren Mikrocontroller senden. Und der schickt dann wiederrum ein
Signal an einen höher geordneten Mikrocontroller der dann das Signal an
den Rechner weiter gibt. Der Wertet dann die ganzen Signale aus und
speichert alles.
> [1] T800w schrieb:> Sensor 001 sendet 1, der Chip> prüft dann, ob der Sensor vorhin schon der Wert 1 hatte. Stimmt das, so> wird kein Signal an den Mikrocontroller weitergegeben. Liegt eine> Änderung vor also von 1 auf 0 dann sendet der Chip, dass sich der Sensor> 001 verändert hat.
T800w schrieb:> dass ich pro 4'096 Sensoren> einen Mikrocontroller mit Ads platziere und der dann eben kontrolliert> ob sich die Signale verändert haben und bei bedarf ein Signal an einen> weiteren Mikrocontroller senden. Und der schickt dann wiederrum ein> Signal an einen höher geordneten Mikrocontroller der dann das Signal an> den Rechner weiter gibt
Und wozu sollte dieser hierarchische Ansatz gut sein? Sollen die
übergeordneten Controller das Signal weiter verdichten, oder geben sie
de Informationen nur 1:1 an den Rechner weiter? Dann können alle
Informationen aber auch direkt "linear" weiter gegeben werden.
PS: auf direkte Fragen (das sind Sätze mit diesem Zeichen hintenan: "?")
magst du anscheinend nicht gerne antworten, stimmts ?
T800w schrieb:> Er sollte das signal eigentlich nur linear weiter geben.
ich vermute, du hast meine Frage nicht richtig verstanden?
Wenn ein "übergeordneter", hierarchisch weiter oben stehender Knoten die
Daten nur weiter gibt, dann hat er eigentlich keine sinnvolle Funktion.
Also könnten diese Knoten komplett entfallen, und alle untergeordneten
Knoten sich direkt "linear" an den Zentral-Rechner wenden, ohne eine
zwischengeschobene hierarchische Verarbeitungsstelle.