From 6607e4bd778958365a2de8580e1d9698267d2a5e Mon Sep 17 00:00:00 2001 From: Dylan Thrush Date: Sat, 28 Jul 2018 22:20:13 -0700 Subject: [PATCH] Added IONI configs and mining firmware --- electrical/documents/ioni/IONIFW-1.7.7.gdf | Bin 0 -> 91814 bytes electrical/documents/ioni/roll.drc | 18 +- electrical/documents/ioni/shoulder.drc | 16 +- software/firmware/gripper/gripper.ino | 102 ++++--- software/firmware/mining/mining.ino | 289 ++++++++++++++++++ .../testing/modbus/mining/mining_tester.py | 95 ++++++ 6 files changed, 459 insertions(+), 61 deletions(-) create mode 100644 electrical/documents/ioni/IONIFW-1.7.7.gdf create mode 100644 software/firmware/mining/mining.ino create mode 100644 software/testing/modbus/mining/mining_tester.py diff --git a/electrical/documents/ioni/IONIFW-1.7.7.gdf b/electrical/documents/ioni/IONIFW-1.7.7.gdf new file mode 100644 index 0000000000000000000000000000000000000000..b7110cd0f7374f02cfa620eaa5d70807c258b655 GIT binary patch literal 91814 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

bYmGEVb1t8;%$#2rqm~{YXH(*2~GWYk5>HufOAo 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 R>vAK^%0C$JR!e&`vH-_mKS}@q literal 0 HcmV?d00001 diff --git a/electrical/documents/ioni/roll.drc b/electrical/documents/ioni/roll.drc index 9bc8197..5a5427b 100644 --- a/electrical/documents/ioni/roll.drc +++ b/electrical/documents/ioni/roll.drc @@ -1,7 +1,7 @@ [Header] DRCVersion=110 -GranityVersion=1.14.0 -GranityVersionInt=11400 +GranityVersion=1.14.1 +GranityVersionInt=11401 [GDT3Params] 1\name=GCFWVER @@ -9,7 +9,7 @@ GranityVersionInt=11400 1\scaling=1 1\offset=0 1\readonly=true -1\value=10702 +1\value=10707 1\min=2 1\max=1 2\name=HWTYPE @@ -25,7 +25,7 @@ GranityVersionInt=11400 3\scaling=1 3\offset=0 3\readonly=true -3\value=110028853 +3\value=110028506 3\min=2 3\max=1 4\name=BUILDREVISION @@ -33,7 +33,7 @@ GranityVersionInt=11400 4\scaling=1 4\offset=0 4\readonly=true -4\value=163070257 +4\value=157269493 4\min=2 4\max=1 5\name=CEI @@ -49,7 +49,7 @@ GranityVersionInt=11400 6\scaling=1 6\offset=0 6\readonly=true -6\value=-314970192 +6\value=-261528363 6\min=2 6\max=1 7\name=SMO @@ -291,7 +291,7 @@ GranityVersionInt=11400 36\readonly=false 36\value=3 36\min=0 -36\max=5.99999999999999 +36\max=6 37\name=FOV 37\addr=569 37\scaling=100 @@ -441,7 +441,7 @@ GranityVersionInt=11400 55\scaling=1 55\offset=0 55\readonly=false -55\value=20 +55\value=2 55\min=1 55\max=32767 56\name=CSD @@ -673,7 +673,7 @@ GranityVersionInt=11400 84\scaling=1 84\offset=0 84\readonly=true -84\value=4194047 +84\value=62914303 84\min=0 84\max=0 85\name=CAPS2 diff --git a/electrical/documents/ioni/shoulder.drc b/electrical/documents/ioni/shoulder.drc index 3b75ec2..24fd809 100644 --- a/electrical/documents/ioni/shoulder.drc +++ b/electrical/documents/ioni/shoulder.drc @@ -1,7 +1,7 @@ [Header] DRCVersion=110 -GranityVersion=1.14.0 -GranityVersionInt=11400 +GranityVersion=1.14.1 +GranityVersionInt=11401 [GDT3Params] 1\name=GCFWVER @@ -9,7 +9,7 @@ GranityVersionInt=11400 1\scaling=1 1\offset=0 1\readonly=true -1\value=10702 +1\value=10707 1\min=2 1\max=1 2\name=HWTYPE @@ -25,7 +25,7 @@ GranityVersionInt=11400 3\scaling=1 3\offset=0 3\readonly=true -3\value=110028853 +3\value=110028896 3\min=2 3\max=1 4\name=BUILDREVISION @@ -33,7 +33,7 @@ GranityVersionInt=11400 4\scaling=1 4\offset=0 4\readonly=true -4\value=163070257 +4\value=157269493 4\min=2 4\max=1 5\name=CEI @@ -49,7 +49,7 @@ GranityVersionInt=11400 6\scaling=1 6\offset=0 6\readonly=true -6\value=-314970192 +6\value=-23384809 6\min=2 6\max=1 7\name=SMO @@ -441,7 +441,7 @@ GranityVersionInt=11400 55\scaling=1 55\offset=0 55\readonly=false -55\value=2 +55\value=1 55\min=1 55\max=32767 56\name=CSD @@ -673,7 +673,7 @@ GranityVersionInt=11400 84\scaling=1 84\offset=0 84\readonly=true -84\value=4194047 +84\value=62914303 84\min=0 84\max=0 85\name=CAPS2 diff --git a/software/firmware/gripper/gripper.ino b/software/firmware/gripper/gripper.ino index 3eefb0d..0267115 100644 --- a/software/firmware/gripper/gripper.ino +++ b/software/firmware/gripper/gripper.ino @@ -21,7 +21,7 @@ enum HARDWARE { }; ////////// Global Variables ////////// -// define user words for motor states +// define nice words for motor states #define BRAKE 0 #define FWD 1 #define REV 2 @@ -48,11 +48,12 @@ double signed_setpoint_vel = -200; // Position double setpoint_pos = 0; //PID position variables double input_pos, output_pos; -PID motor_pos(&input_pos, &output_pos, &setpoint_pos, 10, 0, 0, DIRECT); //position PID -long current_pos = 1000; +PID motor_pos(&input_pos, &output_pos, &setpoint_pos, 500, 0, 0, DIRECT); //position PID + +long current_pos = 0; // Homing -int trip_threshold = 650; +int trip_threshold = 550; bool home_flag = true; long prev_millis = 0; @@ -72,68 +73,81 @@ void setup() { void loop() { // Position based homing + //Serial.println(analogRead(HARDWARE::MOTOR_CURRENT_SENSE)); // if (home_flag == true){ // Serial.println("homing"); - // Serial.println(analogRead(HARDWARE::MOTOR_CURRENT_SENSE)); // - // unsigned long curr_millis = millis(); // // if it is time to move the motor and we haven't tripped the current yet: + // unsigned long curr_millis = millis(); // if (curr_millis - prev_millis > interval){ // prev_millis = curr_millis; - // current_pos += 5; // increment by counts - // - // if (analogRead(HARDWARE::MOTOR_CURRENT_SENSE) < trip_threshold){ - // current_pos = 0; - // enc.write(0); - // home_flag = false; + // current_pos -= 10; // increment by counts // } + // if ((analogRead(HARDWARE::MOTOR_CURRENT_SENSE) > trip_threshold) && (curr_millis > 1000)){ + // enc.write(0); + // current_pos = 0; + // home_flag = false; + // Serial.println("homing complete"); // } // } - - // Position movement test - // unsigned long curr_millis = millis(); - // // if it is time to move the motor and we haven't tripped the current yet: - // if (curr_millis - prev_millis > interval){ - // prev_millis = curr_millis; - // current_pos += 1; // increment by counts - // } - // - // set_position(10000); // + // set_position(current_pos); // Serial.print("Set Pos: "); // Serial.println(current_pos); // Serial.print("Curr Pos: "); // Serial.println(enc.read()); // delay(1); - // Velocity based non blocking homing - if (home_flag == true){ +/*----------------------------------------------------------------------------*/ - set_velocity(-150); + // Position movement test + // unsigned long curr_millis = millis(); + // // if it is time to move the motor and we haven't tripped the current yet: + // if (curr_millis - prev_millis > interval){ + // prev_millis = curr_millis; - Serial.println("Homing"); + // current_pos += 10; // increment by counts - Serial.print("Current: "); - Serial.println(analogRead(HARDWARE::MOTOR_CURRENT_SENSE)); - - if ((analogRead(HARDWARE::MOTOR_CURRENT_SENSE) > trip_threshold) && (millis() > 500)){ - Serial.println("Tripped current sensor!"); - set_motor_output(BRAKE, 0); //stop moving - home_flag = false; // no more homing - //set_motor_output(COAST, 0); //stop moving - enc.write(0); // reset encoder - } - } - else { - set_position(current_pos); // hold - Serial.print("Set Pos: "); - Serial.println(current_pos); - Serial.print("Curr Pos: "); - Serial.println(enc.read()); - } + // } + // + set_position(current_pos); + Serial.print("Set Pos: "); + Serial.println(current_pos); + Serial.print("Curr Pos: "); + Serial.println(enc.read()); delay(1); +/*----------------------------------------------------------------------------*/ + + // Velocity based non blocking homing + // if (home_flag == true){ + // + // set_velocity(-150); + // + // Serial.println("Homing"); + // + // Serial.print("Current: "); + // Serial.println(analogRead(HARDWARE::MOTOR_CURRENT_SENSE)); + // + // if ((analogRead(HARDWARE::MOTOR_CURRENT_SENSE) > trip_threshold) && (millis() > 500)){ + // Serial.println("Tripped current sensor!"); + // set_motor_output(BRAKE, 0); //stop moving + // home_flag = false; // no more homing + // //set_motor_output(COAST, 0); //stop moving + // enc.write(0); // reset encoder + // } + // } + // else { + // set_position(current_pos); // hold + // Serial.print("Set Pos: "); + // Serial.println(current_pos); + // Serial.print("Curr Pos: "); + // Serial.println(enc.read()); + // } + // + // delay(1); + } void setup_hardware(){ diff --git a/software/firmware/mining/mining.ino b/software/firmware/mining/mining.ino new file mode 100644 index 0000000..13ea106 --- /dev/null +++ b/software/firmware/mining/mining.ino @@ -0,0 +1,289 @@ +////////// Includes ////////// +#include "HX711.h" + +////////// Hardware / Data Enumerations ////////// +enum HARDWARE { + RS485_EN = 6, + RS485_RX = 9, + RS485_TX = 10, + + MOTOR_LIFT_A = 27, + MOTOR_LIFT_B = 28, + MOTOR_LIFT_PWM = 25, + MOTOR_LIFT_CS = 31, + MOTOR_LIFT_EN = 24, + MOTOR_LIFT_FB = A10, + + MOTOR_TILT_A = 30, + MOTOR_TILT_B = 29, + MOTOR_TILT_PWM = 32, + MOTOR_TILT_CS = 26, + MOTOR_TILT_EN = 33, + MOTOR_TILT_FB = A11, + + LED_13 = 13, + + LED_RED = 20, + LED_BLUE = 21, + LED_GREEN = 22, + + SCALE_DOUT = 8, + SCALE_CLK = 7 + +}; + +enum MOTORS { + LIFT = 0, + TILT = 1, +}; + +enum MODBUS_REGISTERS { + // Inputs + SET_POSITION_LIFT = 0, + SET_POSITION_TILT = 1, + TARE = 2, + CALIBRATION_FACTOR = 3, + + // Outputs + CURRENT_POSITION_LIFT = 4, + CURRENT_POSITION_TILT = 5, + MEASURED_WEIGHT = 6, +}; + +////////// Global Variables ////////// +int set_position_lift = 0; +int set_position_tilt = 0; +int tolerance = 20; //tolerance for position + +float calibration_factor = -120000; //for the scale + +// modbus stuff +const uint8_t node_id = 2; +const uint8_t mobus_serial_port_number = 3; +uint16_t modbus_data[] = {0, 0, 0, 0, 0, 0, 0}; +uint8_t num_modbus_registers = 0; +int8_t poll_state = 0; +bool communication_good = false; +uint8_t message_count = 0; + +// nice human words for motor states +#define BRAKEVCC 0 +#define CW 1 +#define CCW 2 +#define BRAKEGND 3 + +////////// Class Instantiations ////////// +Modbus slave(node_id, mobus_serial_port_number, HARDWARE::RS485_EN); + +void setup() { + Serial.begin(9600); // debug + + setup_hardware(); + num_modbus_registers = sizeof(modbus_data) / sizeof(modbus_data[0]); + slave.begin(115200); // baud-rate at 19200 + slave.setTimeOut(150); +} + +void loop() { + poll_modbus(); + set_leds(); + set_motors(); + set_scale(); + poll_scale(); +} + +void setup_hardware() { + pinMode(HARDWARE::RS485_EN, OUTPUT); + + pinMode(HARDWARE::MOTOR_LIFT_A, OUTPUT); + pinMode(HARDWARE::MOTOR_LIFT_B, OUTPUT); + pinMode(HARDWARE::MOTOR_LIFT_PWM, OUTPUT); + pinMode(HARDWARE::MOTOR_LIFT_EN, OUTPUT); + pinMode(HARDWARE::MOTOR_LIFT_CS, INPUT); + pinMode(HARDWARE::MOTOR_LIFT_FB, INPUT); + + pinMode(HARDWARE::MOTOR_TILT_A, OUTPUT); + pinMode(HARDWARE::MOTOR_TILT_B, OUTPUT); + pinMode(HARDWARE::MOTOR_TILT_PWM, OUTPUT); + pinMode(HARDWARE::MOTOR_TILT_EN, OUTPUT); + pinMode(HARDWARE::MOTOR_TILT_CS, INPUT); + pinMode(HARDWARE::MOTOR_TILT_FB, INPUT); + + pinMode(HARDWARE::LED_13, OUTPUT); + pinMode(HARDWARE::LED_RED, OUTPUT); + pinMode(HARDWARE::LED_BLUE, OUTPUT); + pinMode(HARDWARE::LED_GREEN, OUTPUT); + + // set defualt states + digitalWrite(HARDWARE::LED_RED, LOW); + digitalWrite(HARDWARE::LED_GREEN, HIGH); + digitalWrite(HARDWARE::LED_BLUE, HIGH); + digitalWrite(HARDWARE::LED_13, LOW); + digitalWrite(HARDWARE::MOTOR_LIFT_EN, HIGH); + digitalWrite(HARDWARE::MOTOR_TILT_EN, HIGH); + + // Change motor PWM frequency so it's not in the audible range + analogWriteFrequency(HARDWARE::MOTOR_LIFT_PWM, 25000); + analogWriteFrequency(HARDWARE::MOTOR_TILT_PWM, 25000); + + // set the current desired position to the current position + set_position_lift = analogRead(HARDWARE::MOTOR_LIFT_FB); + set_position_tilt = analogRead(HARDWARE::MOTOR_TILT_FB); + + // setup scale + scale.set_scale(); + scale.tare(); //Reset the scale to 0 + scale.set_scale(calibration_factor); +} + +void poll_modbus(){ + poll_state = slave.poll(modbus_data, num_modbus_registers); + communication_good = !slave.getTimeOutState(); +} + +void set_leds(){ + if(poll_state > 4){ + message_count++; + if(message_count > 2){ + digitalWrite(HARDWARE::LED_13, !digitalRead(HARDWARE::LED_13)); + message_count = 0; + } + + digitalWrite(HARDWARE::LED_GREEN, LOW); + digitalWrite(HARDWARE::LED_RED, HIGH); + }else if(!communication_good){ + digitalWrite(HARDWARE::LED_13, LOW); + digitalWrite(HARDWARE::LED_GREEN, HIGH); + digitalWrite(HARDWARE::LED_RED, LOW); + } +} + +void set_motors() { + set_position_lift = modbus_data[MODBUS_REGISTERS::SET_POSITION_LIFT]; + set_position_tilt = modbus_data[MODBUS_REGISTERS::SET_POSITION_TILT]; + + current_position_lift = analogRead(HARDWARE::MOTOR_LIFT_FB); + current_position_tilt = analogRead(HARDWARE::MOTOR_TILT_FB); + + if (abs(current_position_lift - set_position_lift) > tolerance) { + if (current_position_lift < set_position_lift) { + set_motor_output(MOTORS::LIFT, CCW, 255); + } + else { + set_motor_output(MOTORS::LIFT, CW, 255); + } + } + else { + motor_off(MOTORS::LIFT); + } + + if (abs(current_position_tilt - set_position_tilt) > tolerance) { + if (current_position_tilt < set_position_tilt) { + set_motor_output(MOTORS::TILT, CCW, 255); + } + else { + set_motor_output(MOTORS::TILT, CW, 255); + } + } + else { + motor_off(MOTORS::TILT); + } +} + +void set_scale(){ + scale.set_scale(modbus_data[MODBUS_REGISTERS::CALIBRATION_FACTOR]); +} + +void poll_scale(){ + modbus_data[MODBUS_REGISTERS::MEASURED_WEIGHT] = scale.get_units()*-1 +} + +//---Set Motor Output---// +/* + Inputs: motor number, direction, pwm value + Returns: nothing + + Will set a motor going in a specific direction the motor will continue + going in that direction, at that speed until told to do otherwise. + + direct: Should be between 0 and 3, with the following result + 0: Brake to VCC + 1: Clockwise + 2: CounterClockwise + 3: Brake to GND + + pwm: should be a value between 0 and 255, higher the number, the faster + it'll go + ---------------- + Control Logic: + ---------------- + A | B + Brake VCC: 1 1 + CW: 1 0 + CCW: 0 1 + Brake GND: 0 0 + ---------------- +*/ +void set_motor_output(int motor, int direction, int pwm_input) { + + int a; + int b; + int pwm; + + if (motor == MOTORS::LIFT) { + a = HARDWARE::MOTOR_LIFT_A; + b = HARDWARE::MOTOR_LIFT_B; + pwm = HARDWARE::MOTOR_LIFT_PWM; + } + else if (motor == MOTORS::TILT) { + a = HARDWARE::MOTOR_TILT_A; + b = HARDWARE::MOTOR_TILT_B; + pwm = HARDWARE::MOTOR_TILT_PWM; + } + else { + return; + } + + if (direction <= 4) { + // Set A + if (direction <= 1) { + digitalWrite(a, HIGH); + } + else { + digitalWrite(a, LOW); + } + + // Set B + if ((direction == 0) || (direction == 2)) { + digitalWrite(b, HIGH); + } + else { + digitalWrite(b, LOW); + } + analogWrite(pwm, pwm_input); + } +} + +void motor_off(int motor) { + int a; + int b; + int pwm; + + if (motor == MOTORS::LIFT) { + a = HARDWARE::MOTOR_LIFT_A; + b = HARDWARE::MOTOR_LIFT_B; + pwm = HARDWARE::MOTOR_LIFT_PWM; + } + else if (motor == MOTORS::TILT) { + a = HARDWARE::MOTOR_TILT_A; + b = HARDWARE::MOTOR_TILT_B; + pwm = HARDWARE::MOTOR_TILT_PWM; + } + else { + return; + } + + digitalWrite(a, LOW); + digitalWrite(b, LOW); + analogWrite(pwm, 0); +} diff --git a/software/testing/modbus/mining/mining_tester.py b/software/testing/modbus/mining/mining_tester.py new file mode 100644 index 0000000..7b38ccc --- /dev/null +++ b/software/testing/modbus/mining/mining_tester.py @@ -0,0 +1,95 @@ +#!/usr/bin/env python +##################################### +# Imports +##################################### +# Python native imports + +from time import time, sleep + +import serial.rs485 +import minimalmodbus + +# from std_msgs.msg import UInt8, UInt16 + +# Custom Imports +# from rover_control.msg import TowerPanTiltControlMessage + +##################################### +# Global Variables +##################################### +NODE_NAME = "chassis_pan_tilt_control" + +DEFAULT_PORT = "/dev/rover/ttyChassisPanTilt" +DEFAULT_BAUD = 115200 + +DEFAULT_INVERT = False + +DEFAULT_PAN_TILT_CONTROL_TOPIC = "chassis/pan_tilt/control" + +PAN_TILT_NODE_ID = 1 + +COMMUNICATIONS_TIMEOUT = 0.01 # Seconds + +RX_DELAY = 0.01 +TX_DELAY = 0.01 + +DEFAULT_HERTZ = 20 + +PAN_TILT_MODBUS_REGISTERS = { + "CENTER_ALL": 0, + + "PAN_ADJUST_POSITIVE": 1, + "PAN_ADJUST_NEGATIVE": 2, + "TILT_ADJUST_POSITIVE": 3, + "TILT_ADJUST_NEGATIVE": 4 +} + +PAN_TILT_CONTROL_DEFAULT_MESSAGE = [ + 0, # No centering + 0, # No pan positive adjustment + 0, # No pan negative adjustment + 0, # No tilt positive adjustment + 0 # No tilt negative adjustement +] + +self.mining_node.serial = serial.rs485.RS485(self.port, baudrate=self.baud, timeout=COMMUNICATIONS_TIMEOUT) +self.mining_node.serial.rs485_mode = serial.rs485.RS485Settings(rts_level_for_rx=1, rts_level_for_tx=0, + delay_before_rx=RX_DELAY, + delay_before_tx=TX_DELAY) + + +def run(self): + print(self.mining_node.read_registers(0, 7)) + + +def connect_to_pan_tilt_and_tower(self): + self.mining_node = minimalmodbus.Instrument(self.port, int(2)) + self.__setup_minimalmodbus_for_485() + + +NODE_LAST_SEEN_TIMEOUT = 2 # seconds + + +##################################### +# DriveControl Class Definition +##################################### +class MiningControl(object): + def __init__(self): + self.port = "COM22" + self.baud = 115200 + + self.mining_node = None + self.tower_node = None + + self.connect_to_pan_tilt_and_tower() + + self.pan_tilt_control_message = None + self.new_pan_tilt_control_message = False + + self.modbus_nodes_seen_time = time() + + self.run() + + def __setup_minimalmodbus_for_485(self): +if __name__ == "__main__": + MiningControl()