Posts by Aro

    Hallo Tiieto,


    entschuldige Bitte, das ich erst jetzt antworte. Ich schaue von Zeit zu Zeit noch mal meine alten Beiträge an und dachte der Fall ist abgeschlossenn..


    Deine Frage zu den GPIO:


    Es gibt GPIO, die für spezielle Aufgaben vorgesehen sind( z.B.i2c) und es gibt GPIO zur freien Verwendung. Das solltest Du beachten. Sollten die freien Kontakte nicht ausreichen kannsst Du ganz einfach die Ports erweitern durch MCP23017. Dazu findest Du viele Quellen.

    Hallo,


    sicher ist das eine Aufgabe, die man anders billiger lösen kann.


    Aber wenns mit ddem Pi erledigt werden soll.


    TP4 an Masse.


    TP1 an 5 Volt - Aber da fehlt noch ein Vorwiederstand. Sollte der nur in der Zeichnung vergessen worden sein dann ist das kein Problem. Ansonsten muß der unbedingt eingefübt werden!


    TP2 und TP3 an die GPIO´s anschließen.


    Entweder GPIO verwenden, die bereits uüber PU - Widerstände geschaltet sind oder diese einschalten.

    Hallo,


    egal ob mit Pi oder anders, am besten Paralel zum Relaiskontakt den Eingang eines Optokoppler. Je nach Schaltspannung die der Kontakt schaltet, muß über Vorwiderstände natürlich dafür gesorgt werden, das der richtige Strom fließt. Bei 220 Volt Wechselspannung eignet sich am besten ein so genanntes Sparnetzteil. Eine Grätz-Diodenschaltung liegt an einem Relaiskontakt und der zweite Eingang über einen Wiederstand und Kondensator am zweiten Kontakt. Wenn der Kontakt offen ist dann kannst Du an der Grätzbrücke eine Spannung entnehmen die Du über einen Vorwidersond auf den Optokoppler gebem kannst.


    Aber Achtung ! Bei derartigen Netzteilen gibt es keine galphanische Trennung zum Netz. Alle Bauteile und auch die Senderseite des Optokopplers stehen unter Netzpotenzial ! Das muß ordentlich isoliert sein, sonst kann das lebensgefährlich werden !!!


    Wenn Du auf dem Gebiet nicht die notwendige Ausbildung hast, musst Du Dir unbedingt Hilfe holen, von jemanden, der sich damit auskennt oder einen anderen Weg beschreiten!


    Die Warnung ist absolut ernst gemeint !

    Hallo,


    ich habe da einen ganz anderen Ansatz, von dem ich aber nicht genau weiß, ob das wirklich so funktioniert. Also bitte lediglich als Denkanstoß betrachten. Wenn unmittelbar nach dem Fass ein Stück Glasrohr, durchsichtiger Plasteschlauch oder irgend ein anderer durchsichtiger Behälter in die Bierleitung eingefügt werden würde, könnte man möglicherweise über eine Lichtschranke erfassen, ob Bier in der Leitung ist, oder nicht mehr. Aber bitte ich weiß nicht wie sich das Bier in der Leitung verhält, ob es klar ist, oder ob im Normalfall schon Schaum in der Leitung ist und ob beim Ende des Fasses Luft oder Schaum kommt. Ich habe mich nie mit solchen Problemen befasst. Ich war immer nur für´s trinken zuständig.

    Hallo dreamshader,


    warum begreift denn niemand, das CMOS - IS vom Typ HC am Raspi russisches Roulette sind. Der H-Pegel des Pi liegt nur geringfügig über dem verbotenen Eingangsbereich der Eingänge. Der H-Pegel des Pi wird gerade so an der untersten Grenze des zulässigen Eingangssignals liegen. Wozu geben denn IC - Hersteller Datenblätter heraus? Das wird nur unter günstigsten Bedingungen funktionieren! Schon die geringste Störeinstrahlung kann die Kommunikation stören.


    Wenn solche IS direkt an den Pi angeschlossen werden, dann muß unbedingt ein Typ 74HCT verwendet werden! Der ist von allen Logik-IS verfügbar, und ist von der Logik her absolut Pinkompatibel. Der kostet in der Regel auch genau den gleichen Preis. Der einzige Unterschied ist, das der Einhangspegel optimal zu den GPIO des Pi passen.


    Warum also die Empfehlung zu diesem IC, wenn es einen gleichen Typ gibt, der sich viel besser eignet.

    Hallo,


    Palettenwechsler und Maschinenbau klingen für mich nach mehr Gewicht und Leistung. Da dürfte ein Schrittmotor sehr teuer werden. Ich würde eher zu einem Drehstromer mit 2 Geschwindigkeiten und selbstsperrendem Schneckengetriebe raten. Die Endpunkte könnten über Endschalter realisiert werden und ggf. zur besseren Reproduzierbarkeit der Haltepunkte vorher auf langsame Geschwindigkeit ebenfalls über Endschalter umschalten.

    Hallo ColonelWastl,


    ich persönlich würde in ein Projekt, das funktonsbedingt mal funktioniert nd mal nicht weder einen Euro noch 1 Gramm Gehirnschmalz investieren. Aber wenn Du das Projekt durchziehen willst, dann achte bitte unbedingt auf eine ausreichende Beschusssicherung. Es währe fatal, wenn durch zerschossene Kabel größere Folgeschäden entstehen oder ein Treffer die Kamera beschädigt. Selbst ein Luftgewehrprojektil als Querschläger auf der Kameralinse könnte das aus sein.

    Hallo,


    das könnte klappen, aber ach nicht. Das sieht so aus, als währe am Eingang ein Optokkoppler. Schaue bitte unbedingt, welcher Typ dort verbaut wrde und suche das Datenblatt im Netz. Entscheidend ist, wie viel Strom durch die Sendediode fließen muß, um den Schaltvorgang auszlösen. Mit einem Messgerät kannst Du das natürlich auch messen. Es gibt Optokoppler, die so viel Strom ziehen, das der Pi überlastet wird!

    Hallo,


    da ich genau so etwas professionell entwickelt habe, kann ich Dir sagen, das es nicht funktionieren wird. Du hast viele Probleme, die nichts mit der Kamera oder der Bildauswertung zu tun haben sondern mit der Problematik des Schießens.


    Nicht um sonst wendet kein ernsthafter Hersteller in elektronischer Schießanlagen das Prinzip an. Den Flug des Geschosses kannst Du mit der Kamera nicht erfassen. Du siehst nur im Anschluß das Trefferbild. Und wenn gute Schützen auf der Anlage sind, dann hast Du zum Schluß nur noch ein großes Loch um die 10! Wie willst Du da entscheiden ob es eine 9 oder 10 war, oder ob es irgendwo neben die Scheibe ging. Und irgend wie soll die Anzeige ja auch einigermaßen sicher sein, Wenn später ständig Diskussionnen über Abweichungen wischen Treffer und Anzeige geführt werden macht das bestimmt keinen Spaß.


    Die derzeit genutzten Erfassungssysteme arbeiten mit mehreren Mikrofonen, LED-Lichtschranken oder Laser und haben eine Genaigkeit von 1/100 mm oder besser.

    Hallo,


    bei der Trägheit der ganzen Anlage würde ich auch zu Variante 2 raten. Mit der richtigen Software( GPIO - Treibern) werden die paar Schaltvorgänge den PI nicht belasten. In der CPU-Auslastung ist das vieleicht irgendwo die 5. Stelle hintem Komma, die so wieso gerundet wird.

    Hallo __deets__,


    wer lesen kann ist klar im Vorteil. Wirringpi ist nicht mein Tool !!!! dass habe ich Andreas nur aufgezeigt, falls er einen Weg braucht um am schnellsten an den Bereich der Register zu kommen !


    Aber weder er noch ich haben das nötig!


    Die Register direkt zu setzen hat absolut nichts mit Linux zu tun, sondern geht direkt am Betriebssystem vorbei. Und nur deshalb bin ich auf Deine Linuxanspielungen nicht eingegeangen!


    Warum soll ich denn Aufgaben durch das Betriebssystem übernehmen lassen, wenns auf dem direkten Weg viel schneller geht ?

    Hallo,


    der Multiplexer macht nur Sinn, wenn Du mehr i2c - IS einsetzen must, als Dein System zulässt. Die meisten i2c Schaltkreise haben 3 Adressanschlüsse. Damit kanst Du dann über 8 verschiedene Adressen auch 8 IS an dem i2C - Bus betreiben. Die Geschwindigkeit über den Multiplexer ist sogar noch etwas langsamer als bei direktem Anscluß. Anstatt direkt die IS anzusprechen, mußt Du ja jedes mal erst den Multiplexer umschalten. Und egal ob das Signal direkt oder über den Multiplexer geht, an der Zeit, die benötigt wird, um die Protokolle an die IS zu senden ändert sich nichts. Und die nächste IS kann erst angesprochen werden, wenn die erste fertig ist.


    Also, wenn Du mehr IS benötigst, als direkt möglich, kommst Du nicht darum - sonst lass es sein, das bringt nur neue Fehlerquellen.

    Hallo Andreas,


    Deine Worte gehen runter wie Öl. Wirring Pi währe nur ein schneller Weg gewesen, wie Du an den Pointer kommst um das mal zu probieren. Mir ist das auch zu langsam. Ich hoffe nur, __deets__ hat sich das auch mal durchgelesen, damit er endlich merkt, wie viele Möglichkeiten es gibt, von denen er keinen Plan hat und hält sich in Zukunft etwas zurück. Es ist ja keine Schande wenn man sich nur in Pyhton auskennt. Das ist,warum auch immer, nun mal die offizelle Sprache des Pi . Es ist aber kein Grund alles und jedes zu verteufeln, was andere besser, schneller und resourcenschonender können.

    Hallo Andreas,


    leider liegst Du falsch. Du verwechselst das möglicherweise mit den GPFSELn - Registern, mit dem sich die Belegung des Pins programmieren läßt. Da dort pro Pin mehrere Bits notwendig sind, kann man nicht alle Pins gleichzeitig programmieren. Aber das macht man je gewöhnlich nur einmal am Programmanfang.



    Das Register GPSET0 ( auf Adresse 0x 7E20 001C) ist für das setzen aller GPIO zuständig, die im Pi über den Pfostenstecker ereichbar sind. Und das Beschreiben des Registers mit 0xFFFFFFFF setzt alle Pins die als Ausgang programmiert sind mit dieser einen Ausgabe!


    Ebenso ist das Register GPCLR0 (auf Adresse 0x 7E20 0028) dafür zuständig, alle Pins die als Ausgang programmiert sind gelöscht, also auf Masse gezogen werden !


    Das auslesen des Registers GPLEV0 ( auf Adresse x 7E20 0034) gibt den aktuellen Status aller Pins die im Pi über den Pfostenstecker ereichbar sind zurück. Gleichgültig, ob diese als Eingang, Ausgang oder einer speziellen Funktion programmiert sind.


    Damit bleibt es eindeutig meiner Aussage, das ich mit einer Ausgabe alle Pins setzen oder löschen kann. Wenn ich einige Pins setzen und einige löschen will, muß ich natürlich 2 Ausgaben machen. In jedes Register jeweils eine.


    Das es derzeit keine GPIO-Libraries auf dem Markt gibt, die das unterstützen ist schon möglich.


    Versuche es doch einfach mal.
    Wenn Du ganz schnell zum erfolg kommen willst, holst Du Dir als erstes wirringpi.


    Dann ergäntzt du die Datei wiringpi.c und H um eine Funktion


    void *getIOPointer(void)


    {
    return(gpio);
    }
    und neu nach Anleitung kompilieren.


    in einem C -Programm die Dateien einbinden.


    Das ist der Pointer auf den Begin eines gemapten Bereiches.
    um 28 X 4 Byte erhöht hast Du einen Pointer PDWord auf das Register GPSET0


    Passieren kann nichts. Es werden nur die Pins beeinflusst, die als Ausgänge programmiert wurden.


    um weitere 12 X 4 Byte erhöht hast Du GPCLR0


    und um weitere 12 X 4 Byte erhöht hast GPLEV0


    Du wirst nicht nur sehen, das ich Recht hatte sondern wirst von der effiziens begeistert sein.


    Auf Dauer solltest Du einen eigenen Weg finden, den Bereich zu mappen und an den Pointer zu kommen. Aber zur Überprüfung meiner Aussage dürfte der Eingriff erlaubt sein.

    Hallo __deets__,


    das ist ganz einfach. Da es Dir aber unbekannt ist, geht das offenbar nicht unter Python. In C und Lazarus ist das überhaupt kein Problem. In C beispielsweise geht das über wirringpi. Der Nachteil des Programms ist, das man jeden Pin extra behandeln muß.


    Ich habe in Lazarus den Adressbereich der GPIO´s gemapt und kann somit direkt auf alle Register der Pins zugreifen. Da kann ich z.B auch innerhalb von 2 oder 3 Prozessortakten beliebig viele Pins gleichzeitig setzen oder auf Masse ziehen oder beliebig viele Pins mit einmal abfragen und mit einem vorgegebenen Wert vergleichen. Die eigentliche Umschaltung erfolgt zwar etwas verzögert aber mein Programm kann nach dem setzen der Register sofort neue Aufgaben übernehmen.


    Ich verwende die Interruptauslösung durch die Pins zu fast 100 % wenn es um die Abfrage der Eingangspins geht. Das verstehe ich unter resourcenschonender Programmierung.

    Hallo,


    Du hast zwei Möglichkeiten. Erstens Du zählst jeden Impuls. Dazu solltest du bei jedem Impuls einen Interrupt auslösen. Mit ständiger Abfrage der Pins, ob sich was geändert hat belastet das System sehr stark.


    Wenn das zeitlich Probleme bringt, weil Du eine ineffiziete Programmiersprache nutzt, gibt es noch eine andere Möglichkeit.


    Du gibst die Impulse auf eine Zähler - Ic, die Du auf eine Lochrasterleiterplatte bringst und fragst jede Sekunde oder alle 2 Sekunden 4 Bit über 4 GPIO´s ab. Nach der Abfrage rechnest Du die Differenz zur letzten Messung ab und speicherst den aktuellen Wert für die nächste Messung.


    Wenn die Gefahr besteht, das in einem Zeitinterval der Zähler überläuft, kannst Du auch 2 Zähler hintereinander schalten und 8 Bit abfragen und berechnen.


    Entscheidend ist, ob der aktuelle Stand jede Sekunde oder auch in einem größeren Zeitinterval für die Anwendung ausreichend genau sind.

    Hallo,


    als erstes sollte eins geklärt sein, der Raspberry Pi 3 verträgt nur 5 V ! Das 12 V Netzteil ist gut für die LED aber bitte niemals damit den Raspberry Pi betreiben.


    bei den LED Streifen gibt es verschiedene Typen.


    Da ist zu ersten der Typ mit 2 Anschlüssen. (meistens weiß und SMD 5050) Dieser wird meistens über 12 V versorgt. zum Einschalten benötigst Du einen elektronischen Schalter, den Du mit dem Pi ansteuern kannst.


    Dann gibt es Streifen mit mehrfarbigen LED, bei denen jede Farbe einzeln herausgeführt ist. Das funktioniert analog dem einfarbigen Typ, nur das Du für jede Farbe eine eigene Schaltstufe benötigst.


    Und dann gibt es mehrfarbige LED -Streifen, die die Ansteuerung gleich integriert haben. Da hast Du Masse und (meistens)12 V Versorgungsspannung.


    Zusätzlich hast Du dann noch Steuereingänge (z.B. DI und SI Leitung) die meistens dünner sind, über die Du beliebige Farbkombinationen ansteuern kannst.


    Was Du an Hilfe brauchst, hängt als erstes davon ab, welche LED - Steifen Du besitzt. Längenangaben helfen da nicht wirklich weiter, weil es alle Typen in verschiedenen Längen gibt.

    Hallo,


    ich habe den Raspberry 2 und jetzt den 3 nie mit Kühlkörper betrieben und habe bisher nie eiene Temperatur erreicht, an der ich mir die Finger hätte verbrennen können, was bei 84 °C der Fall währe.


    Wie hoch ist die Auslastung der CPU ? Hast Du schon mal über eine resourcenschonendere Programmierung nachgedacht ? Weniger Wärme = mehr Stabilität , längere Lebensdauer und geringere Stromkosten.