Jump to content
Electronics-Lab.com Community

HarryA

Members
  • Posts

    473
  • Joined

  • Last visited

  • Days Won

    24

Posts posted by HarryA

  1.  In the circuit above the 2SD1805 is an NPN  not a PNP as required. The TL431 is a precision programmable reference.  I could try the circuit in the simulator if I can find a spice model for the TL431 or otherwise simulate it.

    I see: "The 2SB1205 is a complementary PNP transistor for the 2SD1805."

    Characteristics of 2SB1205 Transistor

    • Type: PNP
    • Collector-Emitter Voltage: -20 V
    • Collector-Base Voltage: -25 V
    • Emitter-Base Voltage: -5 V
    • Collector Current: -5 A
    • Collector Dissipation: 10 W
    • DC Current Gain (hfe😞 100 to 400
  2. Tenergy claims to have a Nicd charger for 12 - 24v but I could not find it on their web site. They are less expensive on Amazon.com then on their site.  I would think it less expensive than building one from scratch if it is under 100$.  They require an external power source. I use a Tenergy to charge my quadcopter's battery.

    As you are fabricating you own battery you could set it to charge say 10 cells at a time but that requires 8 charges; mine will do 15 cells.

    see: https://power.tenergy.com/chargers/for-battery-packs/12v-24v-nimh-nicd/

  3. If it works in another unit why do you think it is damaged? Perhaps the fault lies with the error sensing circuit.  A  fault that arises with vacuum cleaner power heads is that a string, etc.  gets wound around the wheel axis impeding the wheel. There are videos related to this type of problem on youtube: for example see: https://www.youtube.com/watch?v=kqq6Ezilky4

    In regard to the mosfet; if there is a voltage at the gate of 3 to 4 volts or more the voltage across the mosfet should be less the supply voltage. If not that may mean the mosfet is opened - not conduction current.

    If I were to build a robot I would buy one to use as a base;

    https://shopgoodwill.com/categories/listing?st=robotic cleaner&sg=&c=&s=&lp=0&hp=999999&sbn=&spo=false&snpo=false&socs=false&sd=false&sca=false&caed=11%2F17%2F2021&cadb=7&scs=false&sis=false&col=1&p=1&ps=40&desc=false&ss=0&UseBuyerPrefs=true&sus=false&cln=1&catIds=&pn=&wc=false&mci=false&hmt=false

     

     

     

  4. You can use the serial commucations control in VB (Visual Basic) to commucate with an Arduino board. This allows one to make a more formal interface to the board.

    1834526680_VBpanel.png.f072a4c7b70a92f64e1583e2e7f4f486.png

    The serial comm control is found in project/component/Microsoft Comm Control 6.0 in the VB visual studio. Selecting it adds it to the tool box. It can then be dragged on to the form. Its symbol looks like a telephone.

    In this example an Arduino board is controlling an electric motor via an H bridge circuit. The inputs to the bridge circuit are from pins 4, 5, 6, and 7 from the Arduino board.

    schematic.png.043af3868587bf77d4f106e8827375d6.png

    In the VB code below, the serial interface is setup on loading the form. And four buttons are added: forward, reverse, stop, and exit.

    On selecting a button it sends a signal to the board which in turn outputs signals to pairs of pins to the transistors in the H bridge. A more practical interface would have code to ask the user which comm port to connect with.

    ' VB 6 -motor control via Arduino UNO/Mega 2560
    
    Private Sub Form_Load()
     MSComm1.RThreshold = 3
     MSComm1.Settings = "9600,n,8,1"
     MSComm1.CommPort = 6    'use the one IDE uses
     MSComm1.PortOpen = True
     MSComm1.DTREnable = False
     Text1.Text = ""
    End Sub
    
    Private Sub FORWARD_Click()
     Text1.Text = "FORARD DIRECTION WAS SELECTED"
     MSComm1.Output = "f"
    End Sub
    
    Private Sub REVERSE_Click()
     Text1.Text = "REVERSE DIRECTION WAS SELECTED"
     MSComm1.Output = "r"
    End Sub
    
    Private Sub STOP_Click()
     Text1.Text = "STOP WAS SELECTED"
     MSComm1.Output = "s"
    End Sub
    
    Private Sub EXIT_Click()
     MSComm1.Output = "s" 'make sure motor is stopped
     Unload Me
    End Sub

    On the board side the Arduino code waits for a serial signal then sets or clears the outputs as required.

    //this program receives commands via the visual basic program running on the pc
    //based on: Patel, Ujash.: "Arduino + Visual Basic 6.0:Make your own software to control Arduino Robot 
    
    //outputs to the four transistors in the 
    // H bridge controling the motor
    int pin7 = 7;  
    int pin6 = 6; 
    int pin5 = 5;  
    int pin4 = 4;  
    
    void setup() 
    { 
      Serial.begin(9600); 
      pinMode(pin7, OUTPUT); 
      pinMode(pin6, OUTPUT);  
      pinMode(pin5, OUTPUT); 
      pinMode(pin4, OUTPUT); 
    
      //all low/off = stopped
      digitalWrite(pin4,LOW);  
      digitalWrite(pin5,LOW);  
      digitalWrite(pin6,LOW);  
      digitalWrite(pin7,LOW); 
    } 
    
    void loop() 
    { 
      if (Serial.available()) 
      { 
          int command = Serial.read();  
          //all low/off = stopped
          digitalWrite(pin4,LOW);  
          digitalWrite(pin5,LOW);  
          digitalWrite(pin6,LOW);  
          digitalWrite(pin7,LOW); 
          
        if (command=='f') //forward
        { 
          digitalWrite(pin7,HIGH);  
          digitalWrite(pin4,HIGH);  
        } 
         if(command=='r')  //reverse
        {  
          digitalWrite(pin5,HIGH);
          digitalWrite(pin6,HIGH); 
        }
        //we initialize to stop with all LOWs above
        if(command=='s') command = 's'; //dummy statement
        
      }//end if(serial)
    }//end Loop()

    This project is based on Ujash Patel's book:
    "Arduino + Visual Basic 6.0: Make your own software to control Arduino Robot" . Amazon.com Kindle Edition.

     

     

     

     

     

  5. The 2sc5200 is a large "High-Fidelity Audio Output Amplifier"  it would be used as the last stage in a mullti-transistor amplifier.

    What is the input  in to your amplifier?  Consider using an op amplifier that would give you a simple amplifier that could use a low level input and give you 5 watts or more output.  The LM383/TDA2002 is an 8 watt power amplifier that uses 5 capacitors and 2 resistors. You can drive a 4 ohm speaker directly with It.

    As it is an old op amp you may find a more  modern version of it. The LM383 is available on Ebay.

  6. Can you copy this code and paste it into the IDE and get it to compile? Be sure to select nano in the IDE tools->board = "Arduino Nano". This is for an ultrasonic device but for testing you do not need  the device:

    
      
    #define trigPin 9
    #define echoPin 10
    long duration;
    int distance;
    long firstoff;
    int distancefirst;
    
    void setup()
    {
    Serial.begin(9600);
    pinMode(trigPin, OUTPUT);
    pinMode(echoPin, INPUT);
    delay(1000);
    digitalWrite(trigPin, HIGH);
    delayMicroseconds(10);
    digitalWrite(trigPin, LOW);
    firstoff = pulseIn(echoPin, HIGH);
    distancefirst = firstoff*0.034/2; // cm
    digitalWrite(trigPin, LOW);
    delayMicroseconds(2);
    digitalWrite(trigPin, HIGH);
    delayMicroseconds(10);
    digitalWrite(trigPin, LOW);
    duration = pulseIn(echoPin, HIGH);
    distance= duration*0.034/2; // cm
    //distance = duration * 0.0133 / 2; // in
    Serial.println(distance);
    delay(1000);
    Serial.println(distancefirst);
    
    
    
    if (distance <= distancefirst - 5)
    {
    tone(3, 500, 500);
    delay(500);
    tone(3, 800, 500);
    delay(500);
    delay(50);
    }
    }

    It is the first project from: https://create.arduino.cc/projecthub/projects/tags/nano

  7. Making your R1 2000 ohms from 1000 ohms improves the output with slightly  less output power. What do you expect for output power and what do you have for input voltage?

    Also the transistors are large current perhaps some thing smaller? The circuit you are using has a base current of about 1.8 ma for the 2SC5200 at 150 mv peak input that is quite low.

    2SC5200.png.fc1f0c63ef363cb26b8340e09552434f.png

     

  8. The output looks good in the simulator at 120mv(peak to peak) the current through the 8 ohm resistor is about 500ma pp which is about 1 watt. At 150mv the output is starting to clip on the bottom. This is do to the PNP Q3 having more base current than Q2. Q3 is directly connected to Q1 while Q2 is off from Q1 by the two diodes or 2 * 0.7 volts  I would think. The base currents; green is Q3 and yellow is Q2.

    basecurrents.png.dc1ac931693606b0f04315a01b5ff675.png

    I like this  circuit better as it is symmetrical; both transistor get the same amount of base current I would think.

    bettercircuit.gif.dc61ee99587a106588db093f86fbfea1.gif

  9. So you have a double pole single throw switch. There are two sets of contacts in the switch. Two of the connectors connects to one set of contacts and the other pair of connectors connect to the other set of contacts. You need to know which pair of connectors connects to each set of contacts. I believe.

    DPST-diagram.png.15c5bed4d6e5c1a6dcc4f37c35c2fb06.png

     

×
  • Create New...