Danielle Kruijver / Mbed 2 deprecated Daan_Test1_maxon

Dependencies:   mbed mbed-rtos

Committer:
DanielleKruijver
Date:
Thu Apr 04 10:08:08 2019 +0000
Revision:
0:785972ab5892
Child:
1:822c609fb2ce
Test one to send a message to the maxon motor controller with CAN

Who changed what in which revision?

UserRevisionLine numberNew contents of line
DanielleKruijver 0:785972ab5892 1 #include "mbed.h"
DanielleKruijver 0:785972ab5892 2 #ifndef EPOSS
DanielleKruijver 0:785972ab5892 3 #define EPOSS
DanielleKruijver 0:785972ab5892 4
DanielleKruijver 0:785972ab5892 5 // EPOS commands that you need to home, you can find those in chapter 8 from the application node.
DanielleKruijver 0:785972ab5892 6 const char Shutdown_Data[8] = {0x2B,0x40,0x60,0x00,0x06,0x00,0x00,0x00};
DanielleKruijver 0:785972ab5892 7
DanielleKruijver 0:785972ab5892 8 const char Switch_On_And_Enable_Data[8] = {0x2B,0x40,0x60,0x00,0x0F,0x00,0x00,0x00};
DanielleKruijver 0:785972ab5892 9
DanielleKruijver 0:785972ab5892 10 const char Homing_Mode_Data[8] = {0x2F,0x60,0x60,0x00,0x06,0x00,0x00,0x00}; //aan de 0x6060-00 geef je aan dat je nu gaat homen wat de waarde 06 heeft in de data bytes
DanielleKruijver 0:785972ab5892 11
DanielleKruijver 0:785972ab5892 12 const char Homing_Method_Data_positive[8] = {0x2F,0x98,0x60,0x00,0xFD,0x00,0x00,0x00}; //bij de index 0x6098-00 geef je aan welke homing method je gaat gebruiken: 0xFD = -3 = current treshold positive speed
DanielleKruijver 0:785972ab5892 13
DanielleKruijver 0:785972ab5892 14 const char Homing_Method_Data_negative[8] = {0x2F,0x98,0x60,0x00,0xFC,0x00,0x00,0x00}; //bij de index 0x6098-00 geef je aan welke homing method je gaat gebruiken: 0xFC = -4 = current treshold negative speed
DanielleKruijver 0:785972ab5892 15
DanielleKruijver 0:785972ab5892 16 const char Start_Homing_Data[8] = {0x2B,0x40,0x60,0x00,0x1F,0x00,0x00,0x00}; //om te beginnen met homen geef je het controlword de waarde 0x001F om het homen te starten
DanielleKruijver 0:785972ab5892 17
DanielleKruijver 0:785972ab5892 18 const char StatusWord_Data[4] = {0x40,0x41,0x60,0x00};
DanielleKruijver 0:785972ab5892 19
DanielleKruijver 0:785972ab5892 20 /** Sends a CAN Message to the controller
DanielleKruijver 0:785972ab5892 21 Returns 1 for succes. May be slow. a faster send message is build into Goto_Pos
DanielleKruijver 0:785972ab5892 22 @param COB_ID
DanielleKruijver 0:785972ab5892 23 @param Message length
DanielleKruijver 0:785972ab5892 24 @param Data string
DanielleKruijver 0:785972ab5892 25 */
DanielleKruijver 0:785972ab5892 26 CANMessage create_CAN_msg(int COB_ID, int LENGTH, char * DATA);
DanielleKruijver 0:785972ab5892 27
DanielleKruijver 0:785972ab5892 28 // The EPOS class
DanielleKruijver 0:785972ab5892 29 class EPOS{
DanielleKruijver 0:785972ab5892 30
DanielleKruijver 0:785972ab5892 31 public:
DanielleKruijver 0:785972ab5892 32
DanielleKruijver 0:785972ab5892 33 int NODE_ID; // the CAN adress of this controller
DanielleKruijver 0:785972ab5892 34
DanielleKruijver 0:785972ab5892 35 /** puts the EPOS in shutdown state */
DanielleKruijver 0:785972ab5892 36 CANMessage Shutdown();
DanielleKruijver 0:785972ab5892 37
DanielleKruijver 0:785972ab5892 38 /** puts the EPOS in Switchon state */
DanielleKruijver 0:785972ab5892 39 CANMessage SwitchOnAndEnable();
DanielleKruijver 0:785972ab5892 40
DanielleKruijver 0:785972ab5892 41 /** Requests a statusword from the EPOS */
DanielleKruijver 0:785972ab5892 42 CANMessage StatusWord();
DanielleKruijver 0:785972ab5892 43
DanielleKruijver 0:785972ab5892 44 /** puts the EPOS in homing mode */
DanielleKruijver 0:785972ab5892 45 CANMessage Homing_Mode();
DanielleKruijver 0:785972ab5892 46
DanielleKruijver 0:785972ab5892 47 /** sets the homing method to current mode positive speed */
DanielleKruijver 0:785972ab5892 48 CANMessage Homing_Method_positive();
DanielleKruijver 0:785972ab5892 49
DanielleKruijver 0:785972ab5892 50 /** sets the homing method to current mode positive speed */
DanielleKruijver 0:785972ab5892 51 CANMessage Homing_Method_negative();
DanielleKruijver 0:785972ab5892 52
DanielleKruijver 0:785972ab5892 53 /** puts the EPOS in start homing state */
DanielleKruijver 0:785972ab5892 54 CANMessage StartHoming();
DanielleKruijver 0:785972ab5892 55
DanielleKruijver 0:785972ab5892 56 /** Sets the EPOS home method to current pos */
DanielleKruijver 0:785972ab5892 57 CANMessage Homing_Method_current_pos();
DanielleKruijver 0:785972ab5892 58
DanielleKruijver 0:785972ab5892 59
DanielleKruijver 0:785972ab5892 60 //public:
DanielleKruijver 0:785972ab5892 61
DanielleKruijver 0:785972ab5892 62 /** Homes the EPOS with Current mode */
DanielleKruijver 0:785972ab5892 63 void Homing();
DanielleKruijver 0:785972ab5892 64 };
DanielleKruijver 0:785972ab5892 65
DanielleKruijver 0:785972ab5892 66 #endif