RoboterCC - Robotic Code Compiler
Forum Robot Kits NIBObee Fragen zur PID-Motorsteuerung des NIBObee

Welcome

Nachrichten

Sie sind nicht eingeloggt.

Werbung

Letzte Themen

Site-Statistic

  • 7416 private projects
  • 378 public projects
  • 16172649 lines compiled
  • 58122 builds
NIBO @ facebook YouTube Twitter
Willkommen, Gast
Benutzername: Passwort: Angemeldet bleiben:
  • Seite:
  • 1

THEMA: Fragen zur PID-Motorsteuerung des NIBObee

Fragen zur PID-Motorsteuerung des NIBObee 9 Jahre 8 Monate her #2956

Hallo liebe Leute, :welcome:

Zur zeit erarbeite ich ein einfaches Testprogramm für die PID-Motorsteuerung des NIBObees und habe ein paar fragen dazu.

Hier das Programm:
/* NIBObee C project */
#include <nibobee/iodefs.h>
#include <nibobee/motpid.h>
#include <nibobee/sens.h>

int main() {
  enable_interrupts();
  motpid_init();
  sens_init();
 
  while(1==1){
    switch (sens_getRight() || sens_getLeft()) {
		case  1: motpid_setSpeed (50,50); break;
		case  0: motpid_stop(1); break;
		case -1: motpid_setSpeed (-50,-50); break;
    }
  }
  return 0;
}

Das Programm funktioniert soweit so gut bis auf folgende punkte:
  1. Sobald "motpid_stop(0);" gewählt ist hört der Motor nicht mehr auf zu drehen. Es sollte jedoch langsam abgebremst werden.
  2. Die anweisung "motpid_setSpeed (-50,-50);" scheint wirkungslos. Unabhängig der Taster des NIBObees wird immer der "case 1: motpid_setSpeed (50,50); break;" angenommen, solange ein Taster betätigt wird.
Hattet Ihr bei euren Experimenten ähnliche Probleme und wie habt Ihr sie gelöst? :help: Kennst sich jemand genauer mit der PID-Regelung des NIBObees aus und könnte Evtl. eine korrekte Ansteuerung erläutern B) :whistle:

Anscheinend bin ich für C++ zu blöd :blush:
Letzte Änderung: 9 Jahre 8 Monate her von Horstwursti.
Der Administrator hat öffentliche Schreibrechte deaktiviert.

Fragen zur PID-Motorsteuerung des NIBObee 5 Jahre 7 Monate her #4277

Der PID-Motorregler braucht die Rückmeldung von den Odometry-Impulsen.
Es fehlt also:
#include <nibobee/odometry.h>
und
odometry_init();
dann funktionierts.

Peter
Der Administrator hat öffentliche Schreibrechte deaktiviert.
  • Seite:
  • 1
Ladezeit der Seite: 0.075 Sekunden

Werbung