Posts by kintaro

    Hallo __deets__,
    Ich glaub ich war gestern ein wenig verpeilt vor lauter Code, mit Python habe ich biser nur sehr wenig gemacht. Ich habe heute nochmal einen neuen Anlauf gewagt und nochmal alles komplett Bereinigt und getestet, ich habe mir auch nochmal alle deine Ratschläge durchgelesen. Rx/Tx haben in jedem Script einwandfrei Funktioniert mit einer Drahtbrücke. Nur die Verbindung zum Controller scheint nicht zu klappen. :s
    [font="Source Sans Pro, Tahoma, Helvetica Neue, Arial, sans-serif"]Ich habe heute Scripte in PHP, Python und C++ geschrieben und getestet. PHP wäre mein Favorit, da das ganze Später noch hinter einem Webserver läuft.[/font]
    [font="Source Sans Pro, Tahoma, Helvetica Neue, Arial, sans-serif"]Leider wieder alles ohne erfolg, aber evtl. habe ich einfach nicht den Richtigen Controller =( .[/font]
    [font="Source Sans Pro, Tahoma, Helvetica Neue, Arial, sans-serif"]Auf dem Controller sind 3 Pins pro Kanal, ich hab aber nur 2 Pin Motoren, angeschlossen an PWM und GND, ich glaube aber ich muss mir doch ne andere Lösung einfallen lassen. =([/font]


    [font="Source Sans Pro, Tahoma, Helvetica Neue, Arial, sans-serif"]Das erste Programm was ich heute getestet habe ist ein C++ Script:[/font]



    [font="Source Sans Pro, Tahoma, Helvetica Neue, Arial, sans-serif"]Dieses habe ich möglichst ähnlich wie das Beispielscript gehalten, einfach für wiringpi umgeschrieben. Kompiliert, aber nix tut sich.[/font]


    [font="Source Sans Pro, Tahoma, Helvetica Neue, Arial, sans-serif"]2. Script war dann das Python Script, dieses habe ich so verwendet:[/font]


    Und zuletzt das PHP-Testscript, aber auch dies führte nicht zum gewünschten ergebnis:
    [code=php]<?php
    error_reporting(E_ALL);
    ini_set('display_errors', '1');
    include "php_serial.class.php";


    $serial = new phpSerial;
    $serial->deviceSet("/dev/ttyAMA0");
    $serial->confBaudRate(9600);
    $serial->confParity("none");
    $serial->confCharacterLength(8);
    $serial->confStopBits(1);
    $serial->deviceOpen();
    $serial->sendMessage('S');
    $serial->sendMessage(pack("C",1));
    $serial->sendMessage(pack("h",'32768/0xFF'));
    $serial->sendMessage('E');


    $serial->deviceClose();
    echo "I've sended a message! \n\r";
    ?>[/php]


    Ich weiss echt nicht mehr was ich noch versuchen kann. Aber es wird wohl darauf auslaufen das ich einen andern Controller für meine 4 Motoren brauche. :X


    Liebe grüsse
    kintaro

    Ich habe nun mithilfe des Pi2 endlich eine Serielle Verbindung zustande bekommen, beim Pi3 habe ich es einfach nicht hinbekommen aber das macht nichts, denn dann kann ich den Pi3 andersweitig verwenden. :thumbs1:


    Mit Folgendem Code und einer Drahtbrücke erhalte ich auch ein Ergebnis:



    ergibt


    Code
    pi@raspberrypi:~ $ python xser.py
    Serial<id=0x769cfaf0, open=True>(port='/dev/ttyAMA0', baudrate=9600, bytesize=8, parity='N', stopbits=1, timeout=None, xonxoff=False, rtscts=False, dsrdtr=False)
    Starte motor
    
    
    S
    ende


    Nun habe ich ein Wenig an meinem Motor Code gearbeitet und alles wieder verkabelt.
    Aber da ich noch nie wirklich mit "char" Kodierten befehlen gearbeitet habe, habe ich trotz googlen leider nur wenig ahnung was ich da an meinen Controller sende.


    Dieser Testcode sollte den Controller ansprechen, den Kanal 1 Auswählen und dann den Motor drehen lassen und dann wieder ausschalten.
    Der Code wird auch gesendet aber dennoch macht der motor keinen wank :s .



    Grüsse Kintaro

    Ich habe es nun mit einer Drahtbrücke versucht, erst auf dem Board dann auch direkt auf dem Pi3, selber Fehler. Jedoch habe ich nun nach etwas googlen noch folgendes gefunden auf der Seite: http://elinux.org/RPi_Serial_Connection


    Quote

    NOTE FOR RASPBERRY PI 3 The raspberry pi 3 has changed things around a bit: ttyAMA0 now refers to the serial port that is connected to the bluetooth. The old serial port is now called ttyS0. So if you have an RPI3, everywhere you see "ttyAMA0" below, you should read "ttyS0".


    Ich werde nun noch die Anleitung auf der Seite befolgen und versuche es nochmal beim pi3 ansonsten versuche ich es noch mit dem Pi2.


    Grüsse kintaro

    Danke für die Ausfühliche Antwort, ich habe mich ein wenig mit diesem Ansatz beschäftigt, jedoch ist es komisch das selbst jetzt der write nicht ausgeführt wird. Sobald ein write Befehl gesendet wird, hängt das Script. Wenn ich dann nach einer Weile mit CTRL+C abbreche erhalte ich diese meldung:



    Code
    pi@raspberrypi:~ $ python motor.py
    Serial<id=0x76a7bc50, open=True>(port='/dev/ttyAMA0', baudrate=9600, bytesize=8, parity='N', stopbits=1, timeout=3.0, xonxoff=False, rtscts=False, dsrdtr=False)
    Starte motor
    SdE
    ^CTraceback (most recent call last):
     File "motor.py", line 10, in <module>
       ser.write("S{}E".format(struct.pack(">bH", kanal, pwm)))
     File "/usr/lib/python2.7/dist-packages/serial/serialposix.py", line 475, in write
       n = os.write(self.fd, d)
    KeyboardInterrupt


    Das Board Selbst scheint richtig montiert zu sein, ich kann Module über Analog & GPIO ansteuern und diese machen was sie sollen. Ich habe den Controller über UART angeschlossen, den Motor Direkt an GPIO anschliessen und ihn so zu steuern habe ich mich nicht getraut, da ich gelesen habe das man dies unter keinen umständen tun soll, egal wie Klein der Motor ist.


    Der Motor Schafft 8000U/min und hatt eine Betriebsspannung von 1.5-3v DC, an eine 3v Quelle angschlossen, tut dieser brav seinen Dienst.


    grüsse onekintaro

    Ja er hängt bei Write, da ich zum testen momentan folgenden code verwende:


    Code
    import serial
    import time
    ser = serial.Serial("/dev/ttyAMA0", baudrate=9600, timeout=3.0)
    print ser
    
    
    print 'Starte motor'
    ser.write('S')
    print 'ende'


    Da passiert ja nicht viel mit dem Motor, aber wenn der Befehl abgesendet wurde sollte in der Konsole Ende stehen.

    Hallöchen,
    danke erstmals für die Antworten, ich habs nun mal getestet und Rx/Tx über kreuz verbunden, jedoch der Fehler bleibt gleich und das script hängt sich auf. Irgendwie verwirrend :s


    Grüsse kintaro

    Hallöchen zusammen,



    Ich bin neu hier im Forum, beschäftige mich aber schon ein wenig länger mit dem Raspberry Pi. Nun normalerweise fand ich immer alle antworten auf probleme bei meinen Projekten durch Googlen, nur dieses mal konnte ich beim besten willen keine Lösung finden. :wallbash:


    Aber gut gibt es dieses Forum :thumbs1: .


    Nun zu meinem Problemchen:
    Ich habe mir letztens einen Raspi3 geholt und da entdeckte ich Spontan das Linker Kit, und dachte coole sache mir nehme ich gleich dazu. Darauf Kaufte ich das BaseBoard, einen Temp.-Sensor eine Digitalanzeige und ein ServoController.
    Zuhause dann die Ernüchterung, die Doku des Linker Kit ist nicht gerade umfangreich. Vieles muss man mühsam Googlen, und auf den Offiziellen Seiten findet man mehrheitlich C-Code für Adruino.


    Nun arbeite ich an einem Projekt mit dem Servo Controller, dieser kommuniziert via Serieller Verbindung mit dem PI, also Rx/Tx, leider habe ich bisher nie mit der Seriellen verbindung des PIs gearbeitet.
    Die beste info über diesen Controller habe ich bei ELV gefunden, dort gibt es ein deutsches Datenblatt mit einigen Infos. http://files.elv.de/Assets/Pro…/122132_SERVOMODUL_um.pdf


    Daraufhin habe ich mir ein kleines Testscript in Python geschrieben:


    Wenn ich dieses Script auf meinem Pi3 ausführe, wird mir in der Ausgabe angezeigt das eine Verbindung geöffnet wurde, jedoch hängt sich das Script auf wenn es bei der Zeile ser.write('S') angekommen ist.
    Dies trifft aber auch auf alle Read/Write befehle zu, jedesmal ein Hänger, jedoch kein Fehler oder Sonstwas.


    Da ich bisher nie mit Seriellen Verbindungen gearbeitet habe, habe ich weiter gegoogelt aber nach 6 stunden Probieren/Suchen habe ich aufgegeben. Was mir bei meiner suche aber auffiel das bei Verbindungen z.b zwischen zwei PIs das ganze gekreuzt sein muss also Rx -> Tx und Tx -> Rx, dies traute ich mich aber nicht zu Testen.


    Das ganze sieht momentan so aus:
    500x300


    Ich bin wirklich am verzweifeln, ich hoffe jemand kann mir bei meinem Problemchen helfen. :danke_ATDE:


    Liebe grüsse Kintaro