Hallo zusammen, ich bin neu hier und mehr oder weniger der absolute Anfänger.... Ich will mit einem Raspberry Pi 2 über Can-Bus BLDC-Motoren ansteuern. Die BLDC-Motoren sind Dunkermotoren mit integrierter Regelelektronik. Die Motoren konnte ich bereits über einen Windows Laptop mit einem Python Skript ansteuern. Diese Ansteuerung möchte ich nun über das Raspberry Pi vornehmen. Ich bin dabei nachdem ich das Canboard über "ifconfig" sehen konnte nach dieser Anleitung vorgegangen: http://skpang.co.uk/blog/archives/1220 Hier komme ich bei dem Schritt "import can" nicht weiter. Ich habe bereits die Python Version 3.4.3 installiert. Allerdings benutze ich noch das Wheezy Betriebssystem. Hat jemand vielleicht Erfahrung oder schon ein Projekt realisiert bei dem er mit einem Python-Skript Befehle auf den Can-Bus ausgibt? Beste Grüße
Fabi H. schrieb: > Hier komme ich bei dem Schritt "import can" nicht weiter Hast du auch die Dateien wie beschrieben runtergeladen und installiert?
Ja, habe alle Dateien runtergeladen und entsprechend installiert. Soweit hat das auch ohne Probleme funktionert... Habe mittlerweile ein upgrade von wheezy auf jessie durchgeführt, leider geht es immer noch nicht... Es kommt immer wieder folgende Fehlermeldung: Traceback (most recent call last): File "<stdin>", line 1, in <module> ImportError: NO module named 'can'
Da muss noch das entsprechende Python Module installiert werden, z.B.
1 | pip install cantools |
auf https://pypi.python.org kannst du nach den Modulen schauen, hier z.B. https://pypi.python.org/pypi/cantools/1.0.0 ich weiss nicht, ob das obige Modul das richtige ist, dazu hast du etwas zu wenig Sourcecode preisgegeben ;) Grüße Uwe
Hi Uwe, danke für die schnelle Antwort. Wie kann ich denn herausfinden, welches Modul ich benötige? Gruß
Sieht mir nach python-can aus. https://bitbucket.org/hardbyte/python-can bzw. https://python-can.readthedocs.org/en/latest/index.html Edit: Das steht doch sogar in dem Link den du gepostet hast.
Okay habs mittlerweile hinbekommen... Hatte Probleme mit der Python-Version. Ich bin mir immer noch nicht sicher ob die Verbindung vom Canboard zum Motor funktioniert. Wollte jetzt ein Testprogramm laufen lassen, dabei funktioniert aber der Import eines Moduls nicht... Fehler: "ImportError: No module named 'mc'" Hier das Programm: # Import from mc.dsa import * NodeId = 127 # Knotenadresse #----------------------------------------------------------------------- -------------------------------------------------------------- # Initialisierung mc.Can.SdoWr(NodeId, 0x3003, 0, 3) # Betriebsart "Drehzahlregelung" #----------------------------------------------------------------------- -------------------------------------------------------------- # Start des Testprogramms mc.Can.SdoWr(NodeId, 0x3000, 0, 1) # Fehler löschen mc.Can.SdoWr(NodeId, 0x3004, 0, 1) # Betriebsfreigabe einschalten mc.Delay(100) # 100ms Verzögerung für Regelfreigabe mc.Can.SdoWr(NodeId, 0x3150, 0, 1) # Zur Sicherheit Bremse öffnen a = 0 while (a < 2): mc.Can.SdoWr(NodeId, 0x3300, 0, 500) # Sollgeschwindigkeit 5000 1/min mc.Delay(2000) # 2s Pause mc.Can.SdoWr(NodeId, 0x3300, 0, 0) # Sollgeschwindigkeit 0 1/min mc.Delay(2000) # 2s Pause mc.Can.SdoWr(NodeId, 0x3300, 0, 1000) # Sollgeschwindigkeit 1000 1/min mc.Delay(2000) # 2s Pause mc.Can.SdoWr(NodeId, 0x3300, 0, 0) # Sollgeschwindigkeit 0 1/min mc.Delay(2000) # 2s Pause mc.Can.SdoWr(NodeId, 0x3300, 0, 300) # Sollgeschwindigkeit 300 1/min mc.Delay(2000) # 2s Pause mc.Can.SdoWr(NodeId, 0x3300, 0, 0) # Sollgeschwindigkeit 0 1/min mc.Delay(5000) # 5s Pause a = a+1
wurde hierzu dann noch eine Lösung gefunden? Habe nämlich das gleiche Problem, ich finde das mc Paket nicht. Auch verschiedenste Google Recherchen führen mich leider nicht zu Ziel. Daher, hat das hier schon mal jemand benutzt und wie installiere ich das Paket
Komischer Thread. Das Testprogram hat nichts mit dem Link zu tun, auf den der TO referenziert. http://skpang.co.uk/blog/archives/1220 Da ist in keinem der Testprogramme das "mc.dsa" Modul drin. Frag mal bei https://www.python-forum.de/viewtopic.php?t=29540 nach, den Link habe ich in Google gefunden.
Die Dateien sollten in im mPLC-Paket enthalten sein. Ich habe das Paket mal hochgeladen: http://mechapro.de/pdf/mPLC-V2.80.00.00-Setup.zip Den RasPi brauchst du u.U. gar nicht. Wenn der Controller die gleichen Funktionalitäten hat wie die Stand-Alone Regler von miControl, kannst Du Phyton-Scripte kompilieren und als user-Programm direkt auf dem Gerät ausführen. Mit freundlichen Grüßen Thorsten Ostermann
Lade Dir bei Dunkermotoren den DunkerDriveAssistant herrunter,wenn Du damit den Motor in Betrieb setzen kannst, ist die Verbindung Ok. Damit das so mit dem 'import' klappt muss der Ort der Bibliotheken in der PATH Variablen des PCs eingetragen sein, andernfalls solltest Du in dem Python Script den kompletten Phad mit angeben. Das Problem kann z.B. auftreten wenn man nach Installation von mPLC noch einen zweiten Python Interpreter installiert.
Ist aus dem Projekt noch was geworden? Würde auch gerne mit dem Raspberry ein BG Motor ansteuern. Wenn ja hast du MiControl Bibliotheken für Linux gefunden :) Viele Grüße
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.