![](/media/cache/img/default_profile.jpg.50x50_q85.jpg)
This program is for an autonomous robot for the competition at the Hochschule Luzern. We are one of the 32 teams. <a href="http://cruisingcrepe.wordpress.com/">http://cruisingcrepe.wordpress.com/</a> The postition control is based on this Documentation: Control of Wheeled Mobile Robots: An Experimental Overview from Alessandro De Luca, Giuseppe Oriolo, Marilena Vendittelli. For more information see here: <a href="http://www.dis.uniroma1.it/~labrob/pub/papers/Ramsete01.pdf">http://www.dis.uniroma1.it/~labrob/pub/papers/Ramsete01.pdf</a>
Fork of autonomousRobotAndroid by
Actuators/MaxonESCON/MaxonESCON.h
- Committer:
- chrigelburri
- Date:
- 2013-03-03
- Revision:
- 2:d8e1613dc38b
- Parent:
- 1:6cd533a712c6
File content as of revision 2:d8e1613dc38b:
#ifndef _MAXON_ESCON_H_ #define _MAXON_ESCON_H_ #include "mbed.h" #include "Hallsensor.h" #include "defines.h" /** * @author Christian Burri * * @section LICENSE * * Copyright © 2013 HSLU Pren Team #1 Cruising Crêpe * All rights reserved. * * @section DESCRIPTION * * This class implements the driver for the Maxon ESCON servo driver..... * * Datasheet: * * http://escon.maxonmotor.com */ class MaxonESCON { private: /** To Enable the amplifier */ DigitalOut _enb; /** Duty Cycle to set the speed */ PwmOut _pwm; /** Hallsensor Class */ Hallsensor* _hall; /** Ready output from ESCON */ DigitalIn _isenb; /** Actual speed from ESCON analog Output 1 */ AnalogIn _actualSpeed; /** increment the Hallpattern */ int _pulses; public: /** Create a motor control object * * @param enb DigitalOut, set high for enable * @param isenb DigitalIn, high for enable * @param pwm PwmOut pin, set the Velocity * @param hall HALL Object * @param actualSpeed AnalogIn Filtered Signal for ActualSpeed from Motor * @param hall The Object of the Hallsensor from Motor */ MaxonESCON(PinName enb, PinName isenb, PinName pwm, PinName actualSpeed, Hallsensor *hall); /** Set the speed of the motor with a pwm for 10%..90% * 50% PWM is 0rpm * Caclulate from [1/s] in [1/min] and the Factor of the ESCON * @param speed The speed of the motor as a normalised value in [1/s] */ void setVelocity(float speed); /**Return the speed from ESCON * * Analog input 1.65V = 0 rpm * * @return speed of the motor [1/s] */ float getActualSpeed(void); /** Set the period of the pwm duty cycle. * * Wrapper for PwmOut::period() * * @param period Pwm duty cycle in seconds. */ void period(float period); /** Set the Motor to a enable sate * * @param enb <code>0</code> for disable <code>1</code> for enable. */ void enable (bool enb); /**Tests if the servo drive is enabled. * * @return <code>true</code> if the drive is enabled, <code>false</code> otherwise. */ bool isEnabled(void); /** Return the translativ Position * * @return position in meter */ int getPulses(void); /** Set the Pulses of the Motor * * @return number of turns */ int setPulses(int setPos); }; #endif