Draaiende motor op commando van knopje (WERKEND)

Dependencies:   Encoder MODSERIAL mbed

Fork of P_controller_motor by Bouke Scheltinga

main.cpp

Committer:
ThomasBNL
Date:
2015-09-17
Revision:
5:8ea7a765c1f7
Parent:
4:dfdfcb518e60
Child:
6:34b39eb3dcb6

File content as of revision 5:8ea7a765c1f7:

#include "mbed.h"
#include "HIDScope.h"
#include "encoder.h"

// Define the HIDScope and Ticker object
HIDScope    scope(1);
Ticker      scopeTimer;

// Define Encoder

Encoder encoder(PTD0,PTC9,true);
Serial pc(USBTX,USBRX);

// Define Potmeter
AnalogIn potmeter1(PTB0);

////// P Motor Controller

// Controller gain
const double motorP_Kp=2.500 ;
const double Convert_volt_to_position=0.00300 ;

// Reusable P controller (FUNCTIE)
double P (double error, const double Kp)
    {
            return Kp*error;
    }

// encoder1
// potmeter1
    
// Error measurement and apply the output to the plant
void motorP_Controller()
    {
        double reference_position = potmeter1.read();
        double position = Convert_volt_to_position*encoder.getPosition();
        motorP=P(reference_position - position, motorP_Kp);
    }
    
int main()
    {
        myControllerTicker.attach(&motorP_Controller,0.01f); //100Hz
        while(1){}
    }


// Read the analog input
float triangle_signal = 2.05;
 
// The data read and send function
void scopeSend()
{
    scope.set(0,motorP);
    scope.send();
}
 
int main()
{
    // Attach the data read and send function at 200 Hz
    scopeTimer.attach_us(&scopeSend, 2e4);   
    
    while(1) { }
}