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:
10:1d8b21515ed1
Parent:
9:3278558361a5
Child:
11:c5befe79aa53

File content as of revision 10:1d8b21515ed1:

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

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

// Define Encoder

Encoder encoder1(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;
    }


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

// Read the analog input

 
// The data read and send function
void scopeSend()
{
    scope.set(0,Ticker motorP);
    scope.send();
}
 
int scopeattach()
{
    // Attach the data read and send function at 100 Hz
    scopeTimer.attach_us(&scopeSend, 1e4);   
    
    while(1) { }
}