Hallo zusammen! Bin ziemlich neu auf diesem Gebiet. Hab mal etwas mit Mikrocontrollern rumgespielt vor ein paar Jahren (damals C-Control von Conrad). Nun will ich ein System aufbauen, bei dem ein µC ca. 20-40 Kanäle (Signale von Lichtschranken oder Mikrofonen ->Schwellenwert) erfassen und aufzeichnen soll. Meine Frage ist jetzt, welchen µC ihr mir empfehlen würdet. Günstig wäre es natürlich, wenn sich die Zahl der Kanäle später vllt. erweitern ließe. Ich weiß nicht, ob's da mittlerweile Möglichkeiten gibt. Außerdem würd es mich interessieren, ob ich einen Kartenleser/-schreiber zum Beschreiben von Speichermedien (CompactFlash-Card oder ähnliches) an solche µCs anschließen kann. Wenn ja, würds mich interessieren, wo ich Informationen dazu finde, wie das geht und was man da nimmt. Wäre schön, wenn ihr mir weiterhelfen könntet. Vielen Dank schon mal im Voraus. see4far
Hallo, du solltest deine Anforderungen etwas spezifizieren. Um CompactFlash oder andere Speicher anzusteuern, gibt es hier im Forum ne Menge Beispiele da kannst du drin stöbern. Einfach die Suche benutzen. wichtig wäre z.B. zu wissen welche Spannung, genaue Anzahl an Lichtschranken bzw. Mikro's, Einsatzziel,... Seb
ich werd mal weiterstöbern... ich habe quasi in einem raum 40 lichtschranken. nun soll von einem µC (oder wenns anders nicht geht auch von zweien) jede lichtschranke einzeln überwacht werden. im prinzip soll dabei vom µC die anzahl der zustandsübergänge pro zeit gezählt werden. wie genau, ist aber denke ich erstmal nicht so wichtig. der µC muss ja erstmal genügend eingänge besitzen. die daten sollen dann zwischengespeichert werden. günstig wäre eben ein flash-speicher, damit man auch bei hoher daten-rate alles loggen kann. daher hatte ich an speicher-karten gedacht. die über einen bestimmten zeitraum gesammelten daten sollen dann später von einem computer ausgelesen werden. das soll dann entweder über eine RS232 schnittstelle oder direktes auslesen der speicherkarte geschehen. ich würd jetzt gerne wissen, welchen mikrocontrollerl ihr mir empfehlen würdet. das mit den mikrophonen soll dann analog zu den lichtschranken funktionieren. das signal müsste praktisch dann schon hardware-seitig als 0-1-Signal vorliegen. see4far
kann mir echt keiner eine empfehlung geben? ihr spielt doch täglich mit AVRs rum und müsstet doch wissen, was man da nimmt, oder täusche ich mich? ;-) gruß see4far
Die Lichtschranken und alles kann man mit fast jedem beliebigen auswerten. Wie oft werden die Lichtschranken getriggert? Wie groß ist der Raum? Was ist wichtig zu wissen (Anzahl pro Zeit oder genauer Zeitpunkt)? Welche Ausgänge haben die 0/24V oder 0/5V,... Im Prinzip brauchst du ja nur ein paar Bausteine die als Eingänge dienen. Dann wird in kurzen Abständen geschaut ob sich was geändert hat. Oder man macht das per Interrupt,.... Im Prinzip ist der ATMEGA32 gut geeignet. Hat ne Menge Flash und ist im DIP Gehäuse. Seb
die lichtschranken sind noch nicht vorhanden. wäre natürlich günstig, welche mit 5V zu nehmen ;-) interrupt wird wohl schwer oder? weil 40 interrupt-eingänge? gibt es so einen µC? oder legt man dann alle auf den interrupt-port und zusätzlich auf einen anderen port? ob anzahl pro zeit oder genauer zeitpunkt soll nicht von vornherein festgelegt werden. aber wahrscheinlich ist eine zählung über ein intervall von einigen minuten. danach wird dann eben ein neues intervall gestartet usw. welche boards würdet ihr empfehlen für den ATMEGA32, das vllt neben RS232 auch USB und ne speicherkarte oder sogar ethernet unterstützt? gibt es da fertige zu kaufen? oder momentan nur dieses projekt: http://www.ispf.de/modules.php?name=News&file=article&sid=5 das is jedenfalls das einzige was ich bis jetzt gefunden hab. thx see4far
Wenn es per Interrupt sein sollte, findet sich bestimmt ne Lösung. Der Mega hat 3 ext Interrupts, wenn man die gut verschaltet geht das schon. Erweitern lässt sich die Sache mit 74x165. Wenn du SMD löten kannst, kannst du auch nen Mega128 oder auch mehrere nehmen. Die haben dann genug Interrupts. Was fertiges wird es wohl nicht wirklich geben.
Und es stört nicht, wenn 40 Leitungen durch den Raum laufen? Klingt für mich eher, als solltest Du einen Bus nehmen. Dann kommt z.B. an jede Lichtschranke ein Zählerbaustein, der ab und zu (wie genau Du es halt brauchst) über den Bus abgefragt und zurückgesetzt wird. Dann hast Du keine Sorge mit einem Dutzend gleichzeitiger Interrupts und sparst die aufwendige Verkabelung. Welcher Bus sich eignet, hängt von der Größe des Raumes ab. Schreibe die Daten lieber auf MMC statt CompactFlash (falls das interne EPROM nicht sogar ausreicht oder Du das Flash des µC nutzen kannst), das dürfte einfacher zu implementieren sein.
smd löten hab ich noch nicht wirklich (gut) gemacht. sollte mir vllt mal anleitungen und material besorgen... 40 leitungen würden nicht unbedingt stören, man könnte notfalls auch 2 µCs nehmen. um an allen lichtschranken vorbeizukommen, wird man vermutlich ne kabellänge von 50m brauchen. genaueres weiß ich aber auch noch nicht. der abstand von den lichtschranken zum µC wird aber wohl nicht mehr als 15m betragen. MMC hatte ich auch schon angepeilt, nachdem ich das forum durchstöbert hatte. scheint ja auch recht gut "erforscht" zu sein. wie viel speicher haben denn die AVRs? doch nicht mehr als 512kB oder? kriegt man sowas echt nirgends fertig? auch nicht die einzelnen teile als module? das zusammenzubasteln wäre ja dann nicht mehr das problem. vielen dank für eure (weitere) hilfe. see4far
Na eigentlich braucht man ja nicht viel. Der Prozessor und ne Spannungsversorgung. Evtl. nen Pegelwandler für die RS232. Nen Steckkontakt für die MMC Karte. Das gibt es alles bei Reichelt. Entweder du nimmst noch ne Hartpapier Karte und lötest das drauf oder machst ne richtige Platine. Dann solltest du noch ein Stecksystem draufmachen für die Schranken. http://www.atmel.com/dyn/products/param_table.asp?family_id=607&OrderBy=part_no&Direction=ASC Hier findest du alle Parameter der Atmels.
welcher bus-typ würde sich denn für die lichtschranken-applikation eignen? praktisch wäre es, wenn man auch noch mehrere µCs an diesen Bus hängen könnte. aber mit bussen kenne ich mich leider überhaupt nicht aus. wie würde ich überhaupt die lichtschranke an den bus anschließen. "zählerbaustein" klingt ja schön und gut, aber wie baue ich den? lohnt sich das dann auch noch von den kosten? kann man an solch einen bus dann auch sowas wie tastatur und display anschließen? wäre ja praktisch, weil man dann evtl gleich mehrere µCs mit einer einheit versorgen könnte. entschuldigt mein großes unwissen. aber ihr könnt mir sicherlich ein paar tipps geben. wenn ihr mir so grob sagt, wies geht, krieg ich den rest auch alleine hin. hab eben nur nicht die erfahrung und weiß daher nicht, wie man es am besten angeht. danke. see4far
Hab mich jetzt mal etwas umgeschaut. Der I²C-Bus is ja eigentlich für kleinere Distanzen ausgelegt. Bei Conrad hab ich allerdings ein Leitungstreiber-Modul gefunden, welches das Problem angeblich bei Installation eines solchen Bausteins alle 20m behebt (Artikel-Nr.: 198280). Was haltet ihr davon? Bis jetzt habe ich aber nur einen Zählerbaustein gefunden, bei dem sich nur 2 Adressen einstellen lassen: http://www.fernando-heitor.de/pic/datasheets/PCF8583.pdf Da ich aber 40 von den Bausteinen bräuchtet, bietet sich das wohl nicht so an. Oder gibt es da eine Lösung? Wo finde ich ansonsten passende Zählerbausteine? Vielen Dank schon mal. see4far
Problem bei den Längen ist meist die Geschwindigleit. Wenn du nur ne sehr langsame Geschwindigkeit brauchst, ist das meist kein Problem. Ansonsten bietet sich CAN,LIN,.... an. Da gibt es aber hier im Forum einiges an Info's. Seb
Die nächste Frage wäre dann nur: Wo krieg ich die Zählermodule her? (aber die Frage stellt sich bei mir auch noch beim I²C-Bus)
Naja da könntest du nen ATTiny11 oder so nehmen und dann das selber schreiben. S.N.A.P. oder SNAP kann dir dann helfen. Am einfachsten und wohl auch preiswertesten ist aber wohl die Kabel zu legen. Die Lichtschranken müssen ja auch Strom bekommen.
Hallo, wieviel Int pro Sekunde können denn auftreten? Das ist bei 40 Eingängen nicht trivial !! Martin
Mit mehr als einem Zustandsübergang brauch mal voraussichtlich nicht rechnen. Mir wären übrigens fertige Zählerbausteine (oder auch ATtinys) lieber als die Lösung über die separate Verkabelung. Wenn genug Adressen zur Verfügung stehen, kann man einen Bus eben viel leichter erweitern, oder täusche ich mich da?
... äh.. meine natürlich: einen Zustandsübergang pro Sekunde und Kanal ...
Jain. Klar kann man das dann erweitern, aber man muss diese Möglichkeit in Betracht ziehen und schon vorher dafür auslegen. Mit der Direktverkabelung geht das auch recht einfach. Einfach noch nen 165 und den dann mit abfragen.
achso... gut, das teil bräuchte ich nur, wenn ich einen Mega32 und nicht Mega128 nehmen würde bei der direktverdrahtung, richtig? ich hab jetz mal n bissl nach lichtschranken geschaut. irgendwie hab ich noch nichts zufriedenstellendes gefunden. die müssten nämlich schon ne reichweite von 1-2m haben. und bei 40 stück ... kann's sein, dass das teuer wird? habt ihr da irgendwelche empfehlungen?
Wenn der Mega128 genug Pins hat. Du wirst das aber dann nicht großartig erweitern können. Ein Lösung für die Lichtschranken wäre diese auch noch selber zu bauen. Einen NE555 auf der Senderseite welcher das Signal moduliert. Als Empfänger nen TSOP1736 oder so und diesen an nen uC. Da kannst du noch mehrere ransetzen und so z.B. 8 Lichtschranken an einen setzen. Über Uart werden die alle vernetzt und Voila. Du solltest dir aber erstmal Gedanken machen was du damit anstellen willst, wieviel Knete du hast, ...
hab mir jetzt erstmal ein paar datenblätter reingezogen. durch den NE555 steige ich noch nicht ganz durch, aber erstmal noch ne andere frage. könnte ich mit einer LD274 und den anderen bauteilen eine reichweite von 2-3 metern erreichen? und ist es evtl. günstiger statt dem NE555 das modulationssignal vom uC zu beziehen? ich weiß nicht, ob ich das signal für mehrere lichtschranken mit einem port erzeugen könnte. bei sagen wir mal 20 ports würde es ja nichts ausmachen, wenn ein port für die sendeeinheiten drauf gehen würde, und ich noch 19 zum empfangen hätte. ich weiß aber nicht, ob das so praktisch ist. schließlich muss der uC ja auch noch arbeiten und kann sich nicht voll aufs senden konzentrieren.. was meint ihr? knete scheint im moment noch nicht das problem zu sein. brauch ich momentan noch nicht so sehr drauf zu achten.
Ja. in Fernbedienungen ist die auch oftmals verbaut. Wenn es nicht aussreichend ist, kannst du auch 2 nehmen. Da die nicht immer an sind, kann man die Pulsen und so kommt man auf die Reichweite. Wie du das Signal modulierst und ob du das modulierst ist egal. Der Mikrocontroller kann das ohne Probleme nebenbei erledigen. Die Timer laufen parallel zum Programm und wenn der uC nen PWM Ausgang hat brauchst du den nur starten und los gehts. Problem ist halt immer die Versorgung. Du musst dann ein Kabel vom Sender zum Empfänger legen. Kannst natürlich auch mit Spiegeln experimentieren. Seb
Hi Leute Ich hab da noch eine Idee für die Beschaltung der Lichtschranken: Versuch's doch mit einer Matrix. Dies habe ich vor allem bei Taster-Feldern gesehen und das geht so: Für 40 Lichtschranken brauchst du 8 mal 5 Leitungen. Mein MSP430F149 hat für die 8 Eingänge an Port2 genau einen Interrupt zur Verfügung, wir wählen also diesen Eingang. Von Port3 verwenden wir fünf Leitungen zur Versorgung aller Lichtschranken mit Strom. Jeder Ausgang versorg eine Lichtschranke pro Eingang. Standardmässig sind alle Ausgänge auf High und die Interrupts für die Eingänge aktiviert. Wird eine Lichtschranke unterbrochen, so wird ein Interrupt ausgelöst, was wiederum eine Auswertungsroutine im Hauptprogramm anwirft. Die Auswertungsroutine schaltet als erstes alle Ausgänge ab. Nun wird der Reihe nach ein Ausgang angeschalten und alle Eingänge abgefragt. Danach wird der nächste Ausgang angeschalten und wieder alle Eingänge abgefragt. So kann der Zustand jeder einzelnen Lichtschranke bestimmt werden und du brauchst nur 13 Pins sowie ein wenig Software. HTH Tom
Hier ist noch der Link auf die Application Note (PDF), von wo ich das Prinzip kenne: http://www-s.ti.com/sc/psheets/slaa139/slaa139.pdf
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
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.