Sunday, December 5, 2021

Underwater ROV

 The YouTube has delivered yet another project worth looking into.


Peter Sripol has posted up a video without enough content for me to go on, so I'm going to document this one a little better and get the project built. I had previously built a little camera pod to drop into our local fishing hole so we can see what is at the bottom so this will fit right in to my little fleet.

https://www.youtube.com/watch?v=YDM7Ezb_vN0

https://www.thingiverse.com/thing:5152598/files

Components

    Flashlights

  1. The flashlights used on the Peter's build are these Garberiel units. They use 3x     AAA batteries and generally look terrible. For $17 for 2ea, not bad. However,      I'll likely go with a hard-wired setup.
  2. https://www.amazon.com/Garberiel-Flashlight-Underwater-Snorkeling-Battery/dp/B07L5GPG27/

 Motors

  1. The motor frames says 550 so we'll go with that until the prints get done.
  2. https://www.amazon.com/NSD-35000RPM-Electric-Accessories-Replacement/dp/B07MX78PTL/
Controller
1. Relay
Pro - Super simple, lots of current
Con - back EMF, large space requirement
2. L298N
Pro - h-bridge, logic level control, $10 for 4ea
Con - low current 3A
3. BTS7960
Pro h-bridge, logic level
Con - $14 ea

 Prints

    The thingiverse files are there in the link above. I'll break down what each one is for and how many you'll need.

  1. Motor mount sleeve
    1. Used for each motor?
    2. Dunno how many
  2. Depth duct motor mount
    1. Used for the dive motor
    2. Need 1ea
  3. PVC body sleeve
    1. Used to hold the center electronics tube.
    2. Need 2ea
  4. Rudder
    1. Are these needed? They could just be flat pieces.
    2. Need 2ea (if at all)
  5. Tube weight bracket
    1. These hold the white weight tubes to the bottom bracket. Are these needed? Seems like zip ties would work just fine.
    2. Need 2ea (if at all)
  6. PVC frame sleeve
    1. This goes from the 1/2" pipe to the 2" pipe.
    2. Need 4ea
  7. Dive propeller
    1. Used for the dive motor
    2. Need 1ea
  8. Propeller_1
    1. Used for the forward motors
    2. Need 2ea

Bill of Materials - Pipe

    10' of 1/2" PVC

    4' of 2" PVC

    2' of 3" PVC

    3 way pipe fittings - https://www.amazon.com/dp/B086GHR4SJ/ref=emc_b_5_i?th=1 

    4ea 2" end caps

    1ea 3" end cap

    1ea cleanout cap (Peter used a cleanout plug)

    2ea flashlights

    3ea 550 motors

    

Design #2


 https://www.youtube.com/watch?v=0ahCW5KINIc

This frame doesn't use any 3D printing but lacks the onboard battery and electronics tube.

MORE TO COME!

Sunday, August 2, 2020

OEM Inverter Power Levels

Kia Soul 
90kW 
 Chevy Volt 
111kW and 55kW 
 Fiskar Karma 
120kW 
 Fiskar Revero 
120kW 
 Nissan Leaf Gen1 
80kW 
 Nissan Leaf Gen2 
110kW 
 BMW i3 
125kW or 137kW 
 Ford Focus Electric 
107kW

Monday, July 20, 2020

Fiesta Build

A few years back I adopted this 1980 Mk1 Fiesta US Spec, German made
.

Specs:
Motor/Control
8" ADC DC 203-06-4001 series wound motor
http://www.evmotors.com.au/products/8inch.html
Stock transmission
Spark EV inverter configured for DC (400V 1200A)

Batteries
Fiat 500e cells. 64ahr 30S2P
Orion BMS
Blue Seas contactor
Impact sensor shutoff
Three phase breaker configured as branch switch
Same Fiat 64Ahr cell for chassis 3S
No DC-DC

Monitoring
Torque App on tablet
Bluetooth OBD2

Motor Torque Curve


Tuesday, July 14, 2020

Leaf Charger Control

Draft for any knowledge I find regarding the control of the Leaf charger. Would be awesome to have my Orion BMS control it.

More links

https://mynissanleaf.com/viewtopic.php?t=30915&start=40

https://www.electricboxster.com/components

https://www.diyelectriccar.com/threads/nissan-leaf-bms-charger-with-p-s-conversion.201049/


Sunday, July 12, 2020

Mk1 Fiesta Tires

Quick little post about non-US tire sizes. The 1980 Fiesta came with a tire diameter of 21". After talking to Discount and Schwab, neither of them offered a 165/55r14 tire with the same OD as the original 12" steelies that came with the car. I was able to find a set on Amazon that actually worked out well.

https://www.amazon.com/gp/aw/d/B00OYM5NLG/ref=ox_sc_saved_image_5?smid=ATVPDKIKX0DER&psc=1

The other idea was to band the original 12" steel wheels

https://youtu.be/CKdbQoPKAZo

https://youtu.be/Bd6VAqnqaBA

And mount some DOT cart tires.

https://m.buggiesunlimited.com/product.asp?sku=40280&gclid=Cj0KCQjwo6D4BRDgARIsAA6uN1-xQjdj-HkPLSO9mZKNMII6TUBx_IiyeVWK1_Nm2JXLJsMBDvkWUPUaAk9bEALw_wcB

Monday, May 25, 2020

Telsa Model S rear control arm

To create an adjustable upper control for the tesla model S, you'll need some parts:

8ea of these 5/8 to 12mm high misalignment spacers
https://www.barnes4wd.com/58-to-12MM-High-Misalignment-Spacer-Zinc-Plated-Steel-1-12-Inch-Mounting-Width-_p_1063.html


And a list from http://www.colemanracing.com/
2ea right hand 5/8 heim
931-RF (Aurora CM-10
2ea right hand 5/8 heim
931-LF (Aurora CB-10)

2ea Right hand 5/8 jam nuts
941-R
2ea Left hand 5/8 jam nuts
941-L

2ea threaded 5/8 rod with left and right threads
RP-129-85

Sunday, April 19, 2020

Arduino code for Spark EV PWM controller

///////////////////////////////////////////////////////////////////////
// PWM motor controller Part 7
// Built for Spark EV DC controller
// Arduino Adafruit Trinket Pro 5V
//
// Changing PWM output frequency to 8kHz
//
// Analog designation:
// A0 throttle input
// 10 motor PWM output (digital output)
// A3 current 1 sense input
//
//
// Designed for Adafruit Trinket Pro 5V on the generic test board
// By Travis Shorten
// 4/19/20
// Rev -
//
//
///////////////////////////////////////////////////////////////////////


//constants
const int motor_delay = 10; // System clock for updating output
const int numReadings = 4; // this is the number of reading for smoothing
const int motorout = 10; // output pin for motor pwm
const int throttle_in = A0; // input pin for throttle
const int motoramp_in = A3; // motor amperage input
const int motorampmax = 98; // motor amperage is 3x per phase! 100A phase current is 300A total
// cont. 2.5V=0A=128, 2.85mV/A 100A*0.00285V/A=0.285V
// cont. 2.5V-0.285V=2.215V at the sensor output. 2.215V*128/2.5V=113 at the A/D
// bit = (128-0.146*Amperage)
// Amp = (128-bit)/0.146)
// 98 = 600A total
// 113 = 300A total
// 123 = 100A total
const int motorup = 2; // motor throttle up increment
const int motordown = 2; // motor throttle down increment
const int motorlimit; // motor throttle down increment with current limit

//variables and initial values
unsigned int mthr = 0; // throttle value to write to pwm, pos only
unsigned int mthr_inv = 255; // throttle value to write to pwm, pos only
int pedal_read = 10; // pedal_read
unsigned int pedal_ave = 0; // pedal average is set to 0. This sets PWM duty. Pos only
int motor_torque = 128; // motor output torque is set to 0

// average table listings
int readings[numReadings]; // the readings from the analog input
int readIndex = 0; // the index of the current reading
int total = 0; // the running total



void setup(){
TCCR0B = TCCR0B & B11111000 | 0x02;
TCCR1B = TCCR1B & B11111000 | 0x02;
TCCR2B = TCCR2B & B11111000 | 0x02; // 0x01 1 31372.55 changes PWM output frequency for pin 9/10
// 0x02 8 3921.16
// 0x03 64 490.20 <--DEFAULT // 0x04 256 122.55 // 0x05 1024 30.64 pedal_read = analogRead(throttle_in) / 4; while (pedal_read >= 20){
pedal_read = analogRead(throttle_in) / 4;
delay(100);
}
}

void loop(){

//***************************************************
// master throttle reset for over current. Reduces throttle
// with while as long as over current is sensed
//***************************************************


//the 0A current voltage is 2.5V. Going down increases amperage to the motor

//uses stock PWM control. mthr goes to pwm

motor_torque = analogRead(motoramp_in) / 4;
while (motor_torque < motorampmax) { mthr = mthr - motordown; mthr_inv = 255 - mthr; analogWrite(motorout, mthr_inv); motor_torque = analogRead(motoramp_in) / 4; } //***************************************************

// average matrix

//***************************************************





total = total - readings[readIndex];
readings[readIndex] = analogRead(throttle_in) / 4;
total = total + readings[readIndex];
readIndex = readIndex + 1;
if (readIndex >= numReadings) {
readIndex = 0;
}
pedal_ave = total / numReadings;

//***************************************************
// if pedal ave is greater than master throttle
//***************************************************

if (pedal_ave > mthr){
mthr = mthr + motorup;
}

//***************************************************
// if pedal ave is less than master throttle
//***************************************************

if (pedal_ave < mthr){ //if the pedal is lower, reduce motor output mthr = mthr - motordown; } //*************************************************** // if pedal ave is less than min allowed //*************************************************** if (mthr <= 3){ //if the pedal is higher, increase motor output mthr = 3; } //*************************************************** // if pedal ave is greater than greater than max allowed //*************************************************** if (mthr > 252){
mthr = 252;
}

mthr_inv = 255 - mthr; // high voltage control board is active low. 0% duty is wide open
analogWrite(motorout, mthr_inv); //uses stock PWM control. mthr goes to pwm

delay(motor_delay); //adds a little delay to motor speed adjustments to prevent jarring drivetrain

}