Posts by rob.z

    Hallo Rolf,


    willkommen im Raspberry Pi Forum. Ich bin sicher, du wirst hier auch ein paar Controller-Freaks finden. Der RasPi ist aber kein Controller, sondern ein Computer mit einem Prozessor und einem Betriebssystem. Die meisten programmieren mit Python oder C, aber ich glaube Assembler ist auch möglich. Über die Arbeitsregister weiß ich nichts, aber wenn du schon mikrocontroller.net erwähnst, dann schau dir doch mal diese Einführung an. Da werden auch die Pins erläutert.


    https://www.mikrocontroller.ne…pberry_Pi_Einf%C3%BChrung


    Ich hoffe, dass dich die Möglichkeiten des RasPi nicht abschrecken werden.


    Gruß
    Rob

    Hallo Ingo,


    ich habe mir mal deine Funktionen angeschaut. In der Funktion LogarDimWert() ist ein Fehler, da taucht einmal STRwert auf, sollte aber wohl INTwert sein. Die Funktion decToBin() ist ok, es gibt aber auch eine eingebaute Funktion dafür. In der Funktion EncodeToMan() stecken ein paar Fehler.

    • Die Dezimalzahl dimwert wird in ihre Ziffern zerlegt, für jede Ziffer der Ascii-Code ermittelt und der dann in eine Binärzahl umgewandelt. Für jede Binärzahl wird der Manchester-Code ermittelt und das Ergebnis als Liste zurückgegeben. Es reicht aber, dimwert direkt in Binär umzuwandeln, daraus den Manchester-Code zu ermitteln und das als Ergebnis zu liefern.
    • Die Schleife zum Anhängen von Nullen (1. i-Schleife) wird einmal zu wenig ausgeführt. Das Ergebnis ist 7-stellig.
    • Alles hinter dieser Schleife ist eingerückt, es sollte aber nur eine Zeile innerhalb dieser Zeile ausgeführt werden.
    • Den Manchester-Code gibt es in 2 Varianten, hier wird die Falsche erzeugt. D.h. 0 und 1 sind vertauscht.


    Ich habe mal die fehlerhaften Teile überarbeitet und noch eine Funktion Frame() hinzugefügt, da an das manchestercodierte Datenbyte noch Start- und Stopbits dran müssen. Das Ergebnis hat dann 21 Bit. Die Funktion LogarDimWert() habe ich so verändert, dass sie eine Integerzahl zurück liefert.



    Zu der Idee, das Ganze über den seriellen Pin zu senden, kann ich nichts sagen. Wenn das Signal so auch der zeitlichen Spezifikation entspricht, wäre das eine einfache Lösung. Ich hätte das wahrscheinlich ein Script machen lassen, weil ich nicht auf die Idee gekommen wäre. Bezüglich der Elektronik überlege ich, ob vielleicht noch eine Strombegrenzung auf die 12V-Seite sollte, die Spezifikation spricht da von 2mA pro EVG.


    Gruß
    Rob

    Mit Digitalpoti meinte ich sowas hier oder hier, ICs mit SPI-Schnittstelle. Bei Conrad hab ich noch dieses und dieses gefunden. Das selbe wie die Steckdose, nur ohne Steckdose.
    Vielleicht eignet sich das ja.


    Nachtrag: Ich sehe gerade, dass bei den "Leistungsreglern" die Poti an 230V liegen. Dafür sind die Digipoti nicht geeignet. Zumindest die oben genannten nicht. Also war meine Idee vielleicht doch nicht so gut. Sorry! Aber mir kommt gerade noch eine coole Idee. Wie wäre es, einen Schrittmotor auf den Poti aufzusetzen?

    Hallo Danny,


    das, was du da zeigst und beschreibst, ist ja nicht einfach nur eine Steckdose mit Poti. Das ist eher sowas wie ein Dimmer. Dass Grundprinzip ist die Phasenanschnittsteuerung, sowas wird mit einem Triac realisiert. Unter dem Poti sitzt also noch eine Elektronik, der Poti dient nur zum Einstellen. Du könntest versuchen, den Poti durch einen Digitalpoti zu ersetzen. Der Digitalpoti kann dann vom RasPi angesteuert werden. Oder du baust eine eigene Phasenanschnittsteuerung und steuerst den Triac direkt mit dem RasPi an. Ob es ein fertiges Bauteil für sowas gibt, weiß ich nicht.


    Gruß
    Rob

    Hallo,


    es gibt SSH-Clients als App für Android, oder auch Apps zur RasPi-Kontrolle mit der Möglichkeit, Shell-Befehle zu speichern und durch Antippen per SSH zu senden.
    Die funktionieren auch über Tethering.


    Gruß
    Rob

    Hi,


    ULN2003 klingt ja schon mal gut, da hast du ja in der Richtung schon Erfahrung. Fehlt also nur noch das Script, das im richtigen Takt den GPIO High und Low schaltet. Als Alternative gibt es ja auch noch EVGs mit analoger Steuerung (0-10V), aber dafür braucht man dann wieder einen D/A-Wandler.


    Gruß

    Hallo Ingo,


    ich habe auch keine Erfahrung mit dem Thema, darum setze ich jetzt einfach nur mal zusammen, was ich mit Google gefunden habe. Ich vermute, die DSI-Schnittstelle am EVG sind 2 Anschlüsse? Dann braucht es einfach 2 Leitungen, Signal und GND, zwischen RasPi und EVG. Der Code wird übermittelt, indem auf der Signalleitung der Pegel entsprechend der Codierung und in der richtigen Geschwindigkeit High bzw. Low geschaltet wird. Das erledigt ein Python-Script, das den Code erzeugt und auf einem GPIO ausgibt. Das Script muss natürlich noch geschrieben werden. DSI arbeitet mit einer Spannung von 12V, also 12V für High und 0V für Low. Der GPIO hat eine Spannung von 3,3V. Das Signal muss also noch verstärkt werden. Das kann über einen Transistor (Pegelwandlerstufe) erfolgen. Das müsste es dann schon gewesen sein.


    Im Forum von mikrocontroller.net hat jemand das Problem bereits gelöst, allerdings wahrscheinlich mit einem Mikrocontroller. Leider hat er seinen Lösungsweg dort nicht bekannt gegeben, sondern nur das Stichwort Transistor als Pegelwandlerstufe genannt. Ich denke nicht, dass es für dein spezielles Vorhaben eine fertige Lösung gibt, aber mit den genannten Stichworten sollte eine Umsetzung auch ohne Studium möglich sein.


    Gruß
    Rob

    Hallo xMaschx,


    kann es sein, dass du Kollektor und Emitter vertauscht hast? Oder versuch es einfach mal so, dass der Emitter an GND ist und die LED am Kollektor. Oder vielleicht erstmal, was ist es denn für ein Transistor? NPN oder PNP?


    EDIT: Das N auf dem Transistor in der Fritzingzeichnung steht vermutlich für NPN. Damit hätte sich diese Frage erledigt.


    Gruß
    Rob

    Hallo Andreas,


    ich glaube, das mit der Signal-Invertierung trifft hier nicht zu. Wenn die Emitter-Schaltung zur Verstärkung verwendet wird, dann sinkt bei steigendem Basisstrom die Ausgangsspannung, weil auch der Kollektorstrom steigt. Das ist mit Invertierung gemeint. Aber wenn der Transistor wie hier nur als Schalter verwendet wird, spielt das keine Rolle. Es ist dann nur folgendes Verhalten wichtig: Wenn ein Basisstrom fließt, fließt auch ein Kollektorstrom, und umkehrt. Es findet also keine Invertierung statt. Oder habe ich da was falsch verstanden?


    Gruß
    Rob

    Hallo Ingo,


    das DSI besteht ja, einfach ausgedrückt, aus zwei Teilen. Dem elektrischen Signal und dem Code. Der Code sollte kein Problem sein, 1 Startbit, ein Datenbyte für den Dimmwert und 4 Stopbit, und das bei 1200 Baud. Siehe hier. Fehlt noch das passende elektrische Signal. Vielleicht hilft dieser Thread bei mikrocontroller.net weiter. Aber Achtung, das Thema driftet zu einem großen Teil Richtung DALI ab. Aber weiter unten gibt es einen Link zu einem PDF mit den DSI Spezifikationen. Viel Erfolg!


    Gruß
    Rob

    Hi,


    ah ok, du hattest ein 5V-Netzteil. Das war mir nicht klar, irgendwie ging es ja um ein mobiles Gerät. Und du hast 5V u. GND vom RasPi mit dem Batterie-Pack verbunden? Keine Ahnung, ob der noch zu retten ist.

    Ok, den +/- Fehler hat Joe auch gefunden. Aber in der Anleitung ist von zwei Akkus die Rede. Einer mit 10x1,2V für die Motoren und einer mit 5V für den RasPi. Hast du den 5V-Akku nicht verwendet? Der RasPi wird mit 5V betrieben. 12V bzw. 15V sind viel zu viel!

    Hallo Piranhajoe,


    laut Anleitung sollte es für den RasPi einen eigenen 5V-Akku geben, so dass der RasPi mit den 12V (bzw. 15V) gar nicht in Berührung kommen kann. Allerdings scheint sich in dieser Abbildung zum Anschluss des L293E-Chips ein kleiner Fehler eingeschlichen zu haben. Da sind doch + und - der 12V-Versorgung vertauscht, oder nicht? Wenn das die Ursache für den defekten (?) RasPi ist, würde ich dem Autor die Rechnung schicken.


    Gruß


    Viele der Übertragungsgeschwindigkeiten sind missverständlich. So sagt die Angabe 100 MB/s meistens 100 * MegaBit prio Sekunde aus - viele Anwender gehen aber von 100 MegaByte aus...


    Hallo,


    ich muss ehrlich zugeben, dass ich auch einer dieser Anwender bin. Ich habe nämlich mal in der Schule gelernt, dass in der Informatik das Einheitenzeichen B für Byte steht. Und weil die Verwendung des Einheitenzeichens bit für Bit eigentlich auch sehr gängig ist, bin ich bisher noch nicht auf die Idee gekommen, dass die Verwendung von MB/s oder Mbit/s missverständlich sein könnte. Ich hoffe, diese falsche Verwendung des B gilt nicht inzwischen auch für Speicher.


    ein freundlicher Gruß