Hallo,
ich habe einen Roboterarm gebaut, der mit RC Servos angetrieben wird. Ich habe ein Python-Programm geschrieben und die Hardware funktioniert. Nun will ich den Arm mit CoDeSys programmieren und versuche erste Schritte mit den mitgelieferten Beispielsprojekten. Das I2C Soft Motion Beispiel funktioniert aber das I2CExamples Programm bringe ich nicht zum Laufen. Was mache ich falsch?
Joachim
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
Hi,
das muss gehen.
mit sudo raspi-config
device tree
i2C
SPI
enabled?
Dann muss das Beispielproject : "c:\Users\<deinwindowsusername>\CODESYS Control for Raspberry PI\3.5.8.10\Examples\SoftMotion Servo Example.project"
gehen wenn alles korrekt angeschlossen ist, wovon ich ausgehe.
(Im Gerätebaum alles grün)</deinwindowsusername>
Grüße
Edwin
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
Hallo Edwin,
vielen Dank für Deine Tips. Leider haben sie mich auch nicht weitergebracht.
Die Situation ist folgende:
1. Mit dem Python Programm und dem Adafruit Hat funktionieren alle 6 Servos so wie sie sollen. Das heißt für mich, dass die Hardware ok ist.
2. Das SoftMotion Servo Example funktioniert mit einem Servo in Port 0 auch.
3. Ich habe in das I2CExamples Programm noch einen MCP23017 eingefügt (siehe Anhang). Das Einlesen der Eingänge vom 23017 funktioniert auch.
Leider weiß ich nicht mehr weiter. Hast Du vielleicht noch eine Idee, was ich noch probieren kann?
Viele Grüße
Joachim
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
Hallo Edwin,
Sie hatten Recht mit der Aussage "es muss funktionieren". Nachdem mir einen Oszi besorgt hatte sah ich, dass das PWM-Signal immer 1ms lang war, obwohl beim CoDeSys- Debugging Werte von 1.0 bis 2.0 angezeigt wurden, entsprechend der Programmzeile "Adafruit_PWM.alrPWM[0] := 1.5 + 0.5*SIN(t);". Durch Zufall habe ich mir noch einmal die Beschreibung für alrPWM angesehen. Dort wurde klar angegeben, dass die Werte nur zwischen 0 und 1 (=1ms ... 2ms) liegen sollten. Ob diese Programmzeile nun im Originalbeispiel so gestanden hat, oder zufällig durch mich abgeändert wurde, kann ich nicht mehr beurteilen. Jedenfalls laufen meine Servos jetzt wie ich es mir wünsche.
Vielen Dank noch einmal für Ihre Unterstützung.
Joachim
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
Hallo Edwin,
man darf den Tag nicht vor dem Abend loben. Von meinen sieben Servos kann ich mit dem I2CExamples Programm nur 4 ansteuern. Die anderen bewegen sich nicht. Kann es sein, dass das Beispielsprojekt nur für 4 Servos angelegt ist? Wenn ja, was kann ich machen um die restlichen Seervos einzubinden?
Viele Grüße
Joachim
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
Hallo Edwin,
vielen Dank für die Antwort. Das Soft-Motion Beispiel funktioniert bei mir auch. Ich habe aber Probleme mit dem I2CExamples.project. Ich würde gern das Programm verwenden, um die Servos mit "Adafruit_PWM.alrPWM[0] := 0.5;" einzeln ansprechen zu können. Es lassen sich aber leider nur die ersten vier Servos ansteuern. Danach rührt sich nichts mehr. Wie muss ich das Programm erweitern, um die restlichen Servos (4 ... 6) ansprechenzu können?
Viele Grüße
Joachim
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
die ersten 4 sind per Default "enabled" so wie es in der Lib aussieht,
die Lib ist ja ne "Library" d.h du kannst dir jederzeit den CODE anschauen entweder im BibliotheksManager direkt oder mit CODESYS die Bibliothek öffnen.
finden tut man die hier:
"c:\Users\<deinwindowsusername>\CODESYS Control for Raspberry PI\3.5.8.10\Libraries\I2C_AdafruitPWM.library" </deinwindowsusername>
Hello:
I'm doing a project with an adafruit pwm card to manipulate two DC motors with the L298N driver but I can't get it to work. Do you have an example where you can configure the PWM 0 output.
Thank you
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
Hallo,
ich habe einen Roboterarm gebaut, der mit RC Servos angetrieben wird. Ich habe ein Python-Programm geschrieben und die Hardware funktioniert. Nun will ich den Arm mit CoDeSys programmieren und versuche erste Schritte mit den mitgelieferten Beispielsprojekten. Das I2C Soft Motion Beispiel funktioniert aber das I2CExamples Programm bringe ich nicht zum Laufen. Was mache ich falsch?
Joachim
Hi,
das muss gehen.
mit
sudo raspi-config
device tree
i2C
SPI
enabled?
Dann muss das Beispielproject : "c:\Users\<deinwindowsusername>\CODESYS Control for Raspberry PI\3.5.8.10\Examples\SoftMotion Servo Example.project"
gehen wenn alles korrekt angeschlossen ist, wovon ich ausgehe.
(Im Gerätebaum alles grün)</deinwindowsusername>
Grüße
Edwin
Hallo Edwin,
vielen Dank für Deine Tips. Leider haben sie mich auch nicht weitergebracht.
Die Situation ist folgende:
1. Mit dem Python Programm und dem Adafruit Hat funktionieren alle 6 Servos so wie sie sollen. Das heißt für mich, dass die Hardware ok ist.
2. Das SoftMotion Servo Example funktioniert mit einem Servo in Port 0 auch.
3. Ich habe in das I2CExamples Programm noch einen MCP23017 eingefügt (siehe Anhang). Das Einlesen der Eingänge vom 23017 funktioniert auch.
Leider weiß ich nicht mehr weiter. Hast Du vielleicht noch eine Idee, was ich noch probieren kann?
Viele Grüße
Joachim
PS: Welche Funktion hat axEnable im Function_Block AdafruitPwm??
Hallo Edwin,
Sie hatten Recht mit der Aussage "es muss funktionieren". Nachdem mir einen Oszi besorgt hatte sah ich, dass das PWM-Signal immer 1ms lang war, obwohl beim CoDeSys- Debugging Werte von 1.0 bis 2.0 angezeigt wurden, entsprechend der Programmzeile "Adafruit_PWM.alrPWM[0] := 1.5 + 0.5*SIN(t);". Durch Zufall habe ich mir noch einmal die Beschreibung für alrPWM angesehen. Dort wurde klar angegeben, dass die Werte nur zwischen 0 und 1 (=1ms ... 2ms) liegen sollten. Ob diese Programmzeile nun im Originalbeispiel so gestanden hat, oder zufällig durch mich abgeändert wurde, kann ich nicht mehr beurteilen. Jedenfalls laufen meine Servos jetzt wie ich es mir wünsche.
Vielen Dank noch einmal für Ihre Unterstützung.
Joachim
Hallo Edwin,
man darf den Tag nicht vor dem Abend loben. Von meinen sieben Servos kann ich mit dem I2CExamples Programm nur 4 ansteuern. Die anderen bewegen sich nicht. Kann es sein, dass das Beispielsprojekt nur für 4 Servos angelegt ist? Wenn ja, was kann ich machen um die restlichen Seervos einzubinden?
Viele Grüße
Joachim
Hi,
wir hatten ne Applikation die 8 verwendet.. das muss gehen.
Grüße
Edwin
Hallo Edwin,
vielen Dank für die Antwort. Das Soft-Motion Beispiel funktioniert bei mir auch. Ich habe aber Probleme mit dem I2CExamples.project. Ich würde gern das Programm verwenden, um die Servos mit "Adafruit_PWM.alrPWM[0] := 0.5;" einzeln ansprechen zu können. Es lassen sich aber leider nur die ersten vier Servos ansteuern. Danach rührt sich nichts mehr. Wie muss ich das Programm erweitern, um die restlichen Servos (4 ... 6) ansprechenzu können?
Viele Grüße
Joachim
Hallo Joachim,
versuch es mal so:
Adafruit_PWM.axEnable[4]:=TRUE;
Adafruit_PWM.axEnable[5]:=TRUE;
Adafruit_PWM.axEnable[6]:=TRUE;
Adafruit_PWM.axEnable[7]:=TRUE;
Adafruit_PWM.alrPWM[0] := 1.5 + 0.5SIN(t);
Adafruit_PWM.alrPWM[1] := 1.5 + 0.5SIN(t);
Adafruit_PWM.alrPWM[2] := 1.5 + 0.5SIN(t);
Adafruit_PWM.alrPWM[3] := 1.5 + 0.5SIN(t);
Adafruit_PWM.alrPWM[4] := 1.5 + 0.5SIN(t);
Adafruit_PWM.alrPWM[5] := 1.5 + 0.5SIN(t);
Adafruit_PWM.alrPWM[6] := 1.5 + 0.5SIN(t);
Adafruit_PWM.alrPWM[7] := 1.5 + 0.5SIN(t);
die ersten 4 sind per Default "enabled" so wie es in der Lib aussieht,
die Lib ist ja ne "Library" d.h du kannst dir jederzeit den CODE anschauen entweder im BibliotheksManager direkt oder mit CODESYS die Bibliothek öffnen.
finden tut man die hier:
"c:\Users\<deinwindowsusername>\CODESYS Control for Raspberry PI\3.5.8.10\Libraries\I2C_AdafruitPWM.library" </deinwindowsusername>
Grüße
Edwin
Related
Talk.ru: 1
Talk.ru: 2
Talk.ru: 3
Talk.ru: 5
Talk.ru: 7
Hello:
I'm doing a project with an adafruit pwm card to manipulate two DC motors with the L298N driver but I can't get it to work. Do you have an example where you can configure the PWM 0 output.
Thank you
Hallo Edwin,
jetzt scheint alles zu funktionieren. Noch einmal herzlichen Dank für Deine Unterstützung!
Viele Grüße
Joachim