Mit Raspberry Pi 2 über Can-Bus BLDC-Motoren steuern

OP #4499254
Lesenswert?

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
OP #4499901
Lesenswert?

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'
OP #4507099
Lesenswert?

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
Gast #4649244
Lesenswert?

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
(Firma: mechapro GmbH) Persönliche Seite #4650053
Lesenswert?

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
Gast #4650075
Lesenswert?

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.

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren