texts:
I'm trying to control an I2C Enabled LCD Display using the STM32F0. I have a bunch boards built with the LCDs and a couple of them work all the time, a few work intermittently and a few rarely work at all and I'm not sure where the issue is coming from.

I've tried analyzing the I2C lines and sometimes I see the display NACKing while othertimes I see it ACK but the I2C just stops. Sometimes I even see a bunch of unexpected data being sent.

I'm trying to figure out if this is a hardware issue, LCD issue, or FW issue to start with. From a hardware perspective I've followed the recommended circuit on the datasheet and used ~6k pull-ups. I can only assume the LCD itself is working since sometimes I can get it to display properly. This leads me to believe it's a FW issue. I've noticed that if I play around with the delays between messages I can get it to work sometimes and I can certainly break it. Is there any more error checking or similar that I should be doing do on the uC to improve reliability?

void I2C_LowLevel_Init(void)
{
  GPIO_InitTypeDef  GPIO_InitStructure;

  /* Configure the I2C clock source. The clock is derived from the HSI (8MHz default)*/
  RCC_I2CCLKConfig(RCC_I2C1CLK_HSI);

  /* LCD_I2C_SCL_GPIO_CLK and LCD_I2C_SDA_GPIO_CLK Periph clock enable */
  RCC_AHBPeriphClockCmd(LCD_I2C_SCL_GPIO_CLK | LCD_I2C_SDA_GPIO_CLK, ENABLE);

  /* LCD_I2C Periph clock enable */
  RCC_APB1PeriphClockCmd(LCD_I2C_CLK, ENABLE);

  /* Connect PXx to I2C_SCL*/
  GPIO_PinAFConfig(LCD_I2C_SCL_GPIO_PORT, LCD_I2C_SCL_SOURCE, LCD_I2C_SCL_AF);

  /* Connect PXx to I2C_SDA*/
  GPIO_PinAFConfig(LCD_I2C_SDA_GPIO_PORT, LCD_I2C_SDA_SOURCE, LCD_I2C_SDA_AF);

  /* GPIO configuration */
  /* Configure LCD_I2C pins: SCL */
  GPIO_InitStructure.GPIO_Pin = LCD_I2C_SCL_PIN;
  GPIO_InitStructure.GPIO_Mode = GPIO_Mode_AF;
  GPIO_InitStructure.GPIO_Speed = GPIO_Speed_2MHz;
  GPIO_InitStructure.GPIO_OType = GPIO_OType_OD;
  GPIO_InitStructure.GPIO_PuPd = GPIO_PuPd_NOPULL;
  GPIO_Init(LCD_I2C_SCL_GPIO_PORT, &GPIO_InitStructure);

  /* Configure LCD_I2C pins: SDA */
  GPIO_InitStructure.GPIO_Pin = LCD_I2C_SDA_PIN;
  GPIO_Init(LCD_I2C_SDA_GPIO_PORT, &GPIO_InitStructure);
}

void I2C_Initialize(void)
{
  I2C_InitTypeDef  I2C_InitStructure;

  I2C_LowLevel_Init();

  /* I2C configuration */
  /* LCD_I2C configuration */
  I2C_InitStructure.I2C_Mode = I2C_Mode_I2C;
  I2C_InitStructure.I2C_AnalogFilter = I2C_AnalogFilter_Enable;
  I2C_InitStructure.I2C_DigitalFilter = 0x00;
  I2C_InitStructure.I2C_OwnAddress1 = 0x00;
  I2C_InitStructure.I2C_Ack = I2C_Ack_Enable;
  I2C_InitStructure.I2C_AcknowledgedAddress = I2C_AcknowledgedAddress_7bit;
  I2C_InitStructure.I2C_Timing = I2C_TIMING;

  /* Apply LCD_I2C configuration after enabling it */
  I2C_Init(LCD_I2C, &I2C_InitStructure);

  /* LCD_I2C Peripheral Enable */
  I2C_Cmd(LCD_I2C, ENABLE);

  /* Select the LCD device address */
  I2C_Address = I2C_HW_ADDRESS;
  Delay(10);
}

uint32_t LCD_Initialize(void)
{
  static int initBuffer[8] = {0x14, LCD_CONTRAST_RESET, 0x5E, 0x6D, LCD_DISPLAY_ON, LCD_CLEAR, 0x06};
  static char welcomeMessage1[LCD_MAX_LINE_SIZE + 1] = "HELLO WORLD";
  int n = 0;

  /* Send Start Bit and I2C Device Address */
  I2C_TransferHandling(LCD_I2C, (LCD_DEVICE_ADDRESS << 1), 10, I2C_AutoEnd_Mode, I2C_Generate_Start_Write);

  /* Wait for TXIS to be set */
  //lcdTimeout = LCD_LONG_TIMEOUT;
  while(I2C_GetFlagStatus(LCD_I2C, I2C_ISR_TXIS) == RESET)
  {
    //if((lcdTimeout--) == 0) return LCD_INITIALIZE_FAIL;
  }

  I2C_SendData(LCD_I2C, 0x00);          /* CMD Byte- Only Data to Follow */
  Delay(1);
  I2C_SendData(LCD_I2C, LCD_BASIC_CONFIG);
  Delay(10);
  I2C_SendData(LCD_I2C, LCD_EXTENDED_CONFIG);
  Delay(10);

  /* Send Remaining Initialization Buffer Data */
  for (n=0; n<7; n++)
  {
    I2C_SendData(LCD_I2C, initBuffer[n]);
    Delay(1);
  }

  Delay(10);

  /* Display welcome message to confirm LCD initialization */
  LCD_Display(LCD_LINE1_START, welcomeMessage1);
  Delay(1000);
  LCD_Clear();
  return LCD_INITIALIZE_PASS;
}


texts: LPC1768 internal RTC time register is not incrementing

texts:
Value is read right,but time is not incrementing.

 int main()
    {
        uint16_t year,hour, min, sec, date, month;

    uart_init(9600);

    LPC_RTC->CCR  =   0x00;    //Disable RTC

    LPC_RTC->DOM    = 17;
    LPC_RTC->MONTH  = 02;
    LPC_RTC->YEAR   = 2019;

    LPC_RTC->HOUR   = 05;
    LPC_RTC->MIN    = 50;
    LPC_RTC->SEC    = 00;

    LPC_RTC->CCR  =   0x01;    //Enable RTC

    while (1)
    {
        /* Read Time */
        hour = LPC_RTC->HOUR;
        min  = LPC_RTC->MIN;
        sec  = LPC_RTC->SEC;

        /* Read Date */
        date  = LPC_RTC->DOM;
        month = LPC_RTC->MONTH;
        year  = LPC_RTC->YEAR;

        /* Display date and time on Serial window */

                uart_string("\r\nDate: ");
                uart_integer(date);
                uart_tx('-');
                uart_integer(month);
                uart_tx('-');
                uart_integer(year);

                uart_string("\r\nTime: ");
                uart_integer(hour);
                uart_tx(':');
                uart_integer(min);
                uart_tx(':');
                uart_integer(sec);
                uart_string("\r\n\r\n");

    }
}


texts: Missing 1 bit shift Bitbang I2C Atmega328p

texts:
I implement bit-banging I2C on Atmega328P and met the problem when the Master receives data from the slave. I'm in depression in debugging this code since I found no problem. Master Write work perfectly in many cases (Receive ACK, NAK if wrong slave address, sen multiple data,... ) But When Master want to read data from slave it only send 7/8 bit :( The receive algorithm seems correct just missing 1 bit! Please help me!
Master Arduino Using bit-banging i2c on AVR, Slave Arduino using Wire.h (Master writing work perfect)

Master AVR code
#include <util/delay.h>
#include <stdint.h>

// CODE from STM32
#define SDA PC4
#define SCL PC5
//OUTPUT REGISTER: PORTC
// PC4: Pin A4 - SDA | PC5: Pin A5 - SCL | Arduino (Atmega328P)
#define SDA_ON (PORTC |= (1 << PC4))
#define SDA_OFF (PORTC &= ~(1 << PC4))
#define SCL_ON (PORTC |= (1 << PC5)) // PORTC = 0b0000 0010
#define SCL_OFF (PORTC &= ~(1 << PC5))

#define READ_SDA() (PINC & (1 << SDA))
#define READ_SCL() (PINC & (1 << SCL))

#define SET_SDA_OUT() DDRC |= (1 << SDA)
#define SET_SDA_IN() DDRC &= ~(1 << SDA)

#define I2C_READ 0x01
#define I2C_WRITE 0x00

#define ADDR 0x08 //Slave Address
#define ADDR_W (ADDR << 1)
#define ADDR_R (ADDR_W | 1)

void init()
{
    DDRC = (1 << DDC5) | (1 << DDC4);
    SCL_ON;
    SDA_ON;
}

void start()
{
    SDA_ON;
    _delay_us(4.5);
    SCL_ON;
    _delay_us(4.5);
    SDA_OFF;
    _delay_us(4.5);
    SCL_OFF;
    _delay_us(4.5);
}

/*  i2c stop sequence */
void stop()
{
    SDA_OFF;
    _delay_us(4.5);
    SCL_ON;
    _delay_us(4.5);
    SDA_ON;
    _delay_us(4.5);
}

/* Transmit 8 bit data to slave */
uint8_t Tx(uint8_t dat)
{

    for (uint8_t i = 0; i < 8; i++)
    {
        if (dat & 0x80)
        {
            SDA_ON;
        }
        else
        {
            SDA_OFF;
        }
        _delay_us(3);
        SCL_ON;
        _delay_us(5);
        SCL_OFF;
        _delay_us(2);
        dat <<= 1;
    }
    SET_SDA_IN();
    _delay_us(3);
    SCL_ON; // the 9th pulse is high
    _delay_us(3);
    if (READ_SDA())
    {
        _delay_us(2);
        SCL_OFF; // the 9th pulse is low
        PORTC = 0x00;
        SET_SDA_OUT();
        return 0;
    }
    else
    {
        _delay_us(2);
        SCL_OFF; // the 9th pulse is low
        PORTC = 0x00;
        SET_SDA_OUT();
        return 1;
    }
}

uint8_t Rx(void)
{
    uint8_t byte = 0;
    uint8_t bit = 0;

    _delay_us(10);
    SET_SDA_IN();

    for (bit = 0; bit < 8; bit++)
    {
        byte <<= 1;
        do
        {
            SCL_ON;
        } while (READ_SCL() == 0);
        _delay_us(3);
        if (READ_SDA())
        {
            byte |= 0x01;
        }
        _delay_us(2);
        SCL_OFF;
        _delay_us(5);
    }

    PORTC = 0b00010000;
    SET_SDA_OUT();
    SDA_ON;
    SCL_ON;
    _delay_us(3);
    SCL_OFF;
    _delay_us(3);

    return 1;
}

int main(void)
{
    init();
    _delay_ms(3000);
    unsigned char ack;
    while (1)
    {
        start();
        ack = Tx(ADDR_R);
        if (!ack)
        {
            stop();
            break;
        }
        Rx();
        stop();

        _delay_ms(1000);
    }
}```

**Slave code using Wire.h**

```#include <Wire.h>

void setup() {
  Wire.begin();        // join i2c bus (address optional for master)
  Serial.begin(9600);  // start serial for output
  pinMode(10,OUTPUT);
}

void loop() {
  Wire.requestFrom(0x08, 1);    // (a,b) request b bytes from slave device #a

  while (Wire.available()) { // slave may send less than requested
    char c = Wire.read(); // receive a byte as character
    Serial.print("Master received data: ");Serial.println(c);
    delay(100);
  }
}```


texts:
I am hoping someone can point me toward some clarity regarding the durability of thin film SMD resistors. Google pointed me toward a number of pages that indicate they are sensitive to humidity and self-etching (e.g., EE Times) as well as to manufacturer pages who claim to have tackled the problem (e.g., Vishay).

In practice, should I be concerned about using all/some thin film SMDs in consumer electronics applications (analog high-performance audio in particular)? Including situations where the user leaves the unit unpowered for long periods and/or the resistor dissipates very little power? Will conformal coating improve/aggravate the problem?


texts:
I am trying to design a CAN bus node. The CAN bus shall be split-terminated with 120Ohm, 60Ohm for each line.

Therefore i tried using this paper to calculate a characteristic impedance of 60Ohm for a coplanar strip attaching the CAN-Transceiver to a Twisted Pair cable, the CAN bus medium. But somehow i cant obtain reasonable values for this setup. I reach 60Ohm only with dimensions far too small or too large for manufacturing.

What is the best approach for attaching a CAN-Transceiver to a Twisted Pair cable regarding a PCB layout?

Edit: I guess I'll go by trial and error then. But how would i solve this theoretically? With USB3.0 devices i would run into the same issue without the option of scrificing some of the signal.


texts: LTspice XVII problem simulating SEPIC converter

texts:
This is the second time I'm trying to simulate a SEPIC converter today. First I went with LT3959, but after hours of trying to make it work, I assumed there is something wrong with the component and it would be easier to choose another component and everything would work.

The second time i went with LT8364 and again I did everything as the datasheet said, placed realistic components (parasitic C,L,R) but again I can't make it to work.

I'm using the newest version of LTspice. (LTspice XVII (x64), May 4 2018

The problem that occurs is that the output voltage is 0V.

This is my schematic:

Vin and Vout:

Can anyone help me? Should I instal older version of LTspice?

*.asc file: link


texts: Overvoltage and overcurrent protection to digital signal lines

texts:
I'm looking for a technology that protects digital signal lines like SPI, I2C, UART and general purpose I/O against overvoltage and short circuit. That is, protects the microcontroller's digital communication pins. These conditions can have an indetermined duration, so, solutions with TVS diodes would be no good solutions.
I imagined to use opto-coupling, but I came across with the issue of bidirectionality, which with opto-coupling technology is difficult to achieve. I found two other alternatives, galvanic isolation and  Detection and Surge Protection Switches.
Galvanic isolation: I faced the issue of bidirectionality, I saw that, normally, these ICs do not have bidirectionality along the same line. I found an IC, ADuM1250, whose a good description can be found in document AN-913, but as I understand it, it is optimized for I2C communication. I'm not sure if it would be suitable for general purpose I/O pins.
Detection and Overvoltage Protection Switches: This technology seemed to be the most promising for my purposes. A good example is the ADG5412F/ADG5413F.
So, I have the following doubts:

ICs based on galvanic isolation technology, like the one I mentioned, how would they behave in case of an overvoltage? Is there a general purpose IC with galvanic isolation that has bidirectional lines? What would happen in a short-circuit situation, like a short to ground in one of the lines?

Is there a switch with overvoltage detection and protection that also protects against short-circuit?


texts:
It's been a long while since I played with circuits, I'd appreciate a sanity check of the following design; I'm trying to count the number of hours since the reset button was last pressed. Ideally it'd last a long time just powered by batteries, but if I ever get it to work I'll be happy!

(Circuit diagram below)

I calculated my NE555 astable values by brute forcing the equation on Wikipedia for 'common values' of resistors and capacitors which were closest to 3600 seconds (I've added the ruby code below for those interested). Do they seem sensible?

C: 100mF
R1: 51KΩ
R2: 470Ω
CTL capacitor: 10µF (pulled this out of thin air…)
This should set the duty cycle to 1.00057 hours.

I'm planning on using the following components - is there anything else I should be taking into account?

1x low power NE555 (TLC555)
1x quad 2-input NAND (SN7400N)
1x dual binary ripple counter (74HC393)
2x BCD to 7 segment decoders (4511)
1x 2 digit 7 segment display (Common Cathode)
The above capacitors and resistors - I have literally no idea which ones to pick from the ridiculously vast array out there…

(I realised the NAND logic may not be clear - it took me a while to figure out how to implement an AND + OR combo with NANDs! - so I pulled it out beneath the circuit diagram)

Thanks!

Circuit diagram

Reset Logic gate layout

Ruby code for brute-forcing the closest NE555 component values:

require "pp"
capacitor = [1, 1.5, 2.2, 3.3, 4.7, 6.8]
resistor = [10, 11, 12, 13, 15, 16, 18, 20, 22, 24, 27, 30, 33, 36, 39, 43, 47, 51, 56, 62, 68, 75, 82, 91]
powers = [0.001, 0.1, 1, 10, 100, 1_000, 10_000, 100_000, 1_000_000]

target = 3600
tolerance = 1

best = []

ln2 = Math.log(2)

powers.each do |c_p|
  capacitor.each do |c_v|
    c = c_v * c_p
    powers.each do |r1_p|
      resistor.each do |r1_v|
        r1 = r1_v * r1_p
        powers.each do |r2_p|
          resistor.each do |r2_v|
            r2 = r2_v * r2_p

            value = ln2 * c * (r1 + 2*r2)

            proximity = (target - value).abs

            if proximity <= tolerance
              best.push(
                proximity: proximity,
                value: value,
                c: c,
                r1: r1,
                r2: r2
              )
            end
          end
        end
      end
    end
  end
end

best.sort! do |a, b|
  a[:proximity] <=> b[:proximity]
end

pp best.take(5)


texts:
The paper Measurement of Impulsive Thrust from a Closed Radio-Frequency Cavity in Vacuum (H. White et al, J. Propulsion & Power, November, 2016, http://dx.doi.org/10.2514/1.B36120) refers to an unusually shaped copper cavity with a resonance at about 1.94 GHz. This is described in the quoted section below. (further reading: https://space.stackexchange.com/questions/tagged/emdrive)
Fig. 4 suggests that the Q of this cavity is over 7,000 (7E+03). As far as I can tell there is no suggestion of an unusually conductive coating inside the copper.
My question is about the extremely high Q. I think among those with experience with ~GHz resonant copper cavities should be able to answer this based on experience, without it being too opinion based. Could a copper RF cavity like this be reasonably expected to have a Q > 7000?
I'm curious - with a drive of 50W, what would be the order of magnitude electric fields inside? kV/m? MV/m? I can break this off as a separate question if necessary.
An example of anything close in configuration and Q could be the basis of a "yes" and an example of anything close in configuration, highly optimized, and not even close in Q could be the basis of a "no" answer.

B. Test Article
The RF resonance test article is a copper frustum with an inner
diameter of 27.9 cm on the big end, an inner diameter of 15.9 cm on
the small end, and an axial length of 22.9 cm. The test article contains
a 5.4-cm-thick disk of polyethylene with an outer diameter of 15.6 cm
that is mounted to the inside face of the smaller diameter end of the
frustum. A 13.5-mm-diam loop antenna drives the system in the
TM212 mode at 1937 MHz. Because there are no analytical solutions
for the resonant modes of a truncated cone, the use of the term TM212
describes a mode with two nodes in the axial direction and four nodes
in the azimuthal direction. A small whip antenna provides feedback
to the phase-locked loop (PLL) system. Figure 3 provides a block
diagram of the test article’s major elements.

above: Figure 4 from here. Right click to open in a separate window to view clearly as full size, or view at the original link.

above: "Fig. 14 Forward thrust mounting configuration (heat sink is black finned item between test article and amplifier)." from here

above: "Fig. 17 Null thrust mounting configuration, b) view from side" from here


texts: Why weren't all usb ports type c /symmetric from the beginning?

texts: Did it really take them so long to think about a symmetric port?


texts: Spilling water to keyboard fixes keyboard weird

texts:
I have a laptop of about 5-6 years old.
(A) key hasn't working properly for a while.
But I spilled water on down arrow key and weirdly (A) key started working.
How is this possible?


texts:
I have been working on a project that utilizes a 10MHz Oscillator and 28V input power. At the start of my project, I used a DC/DC converter which took my 28V line and moved it to a 5V line. I then used this line to power my Oscillator. After hooking this up to my scope, I saw that the noise really affects my signal after the Oscillator, its only slightly noticeable, but the part this plugs into expects a very accurate 10MHz line.. .

In my original design I had my ground of the 5V grounded up with the 28V line, but I was told that I should not do this, and instead have a small local ground to the oscillator. Additionally I was told that I should keep the wires as close to each other as possible to reduce some more noise. I redesigned, and it worked, but very minimally did it change the amount of noise.

I was told that using filters is the way to go, but everwhere I look I can't really see what exactly I'm looking for or what I should be doing exactly.

Here is my schematic at the moment:

With the imoportant aspects of this project:

DC/DC Converter: XP Power JCM2024S05

Variable Input, Output 5V, 4A Max draw output

Oscillator : Abracon LLC AOCTQ5-X-10.000MHZ-I3-SW

5V input, 10MHz Out, Pulls 5W

Could anyone point me towards a nice source on the subject or some nice tips/pointers/help on my specific problem? Anything would be so much appreciated.


texts: Water's ability to short an L18650 cell?

texts:
Personally I no longer use 18650 cells, I use polymer packs with safety circuits.

However having once or twice in the past I have briefly shorted a connection between the positive terminal and the negative siding in the past, I'm curious:

Can water bridge the connection and cause a short?

When I have shorted and get a small spark (usually due to a small tear or hole in the plastic wrap) when the metal tab bridges the gap, I would always worry about the heat causing damage and possibly a fire.

How likely is this? And if water were to somehow breach the seal on a project is it possible for it to react the same way, ie a short with a spark and heat, presenting a possible fire hazard?


texts: MOS Differential Pair - Transistor Mismatch

texts:
I have the following,

I'm not too sure how to proceed. Usually, I can just split the circuit down the middle due to symmetry, but since there's a transistor mismatch, I can't even do that.
Do I really have to draw the small-signal model for the entire thing?


texts:
I have built the following N-MOS & P-MOS push-pull dual MOSFET circuit. Its purpose is to control some external LEDs from a 3.3V microprocessor.

However, there seems to be a problem, where the dual MOSFET chip “SI4554DY-T1-GE3 Dual N/P-Channel” dies a horrible fumy smoke death, when 12V is connected as shown in the schematic below.

The smoke appears even when no load is connected and the MOSFETs are not switched (idle).

As far as I can see in the datasheet, none of the limits (V[GS] < 20V, V[DS] < 40V) are exceeded.

Can you help in identifying the problem? Thank you!

simulate this circuit – Schematic created using CircuitLab


texts:
I want to implement a device with 2 push buttons. When I press the first button, it will increment a counter. When I press the second, the number of times the first one was pressed (counter content) will be displayed in an LCD screen.

I want to use a PIC microcontroller and save as much power as possible in order to extend battery life. I think one good way is to put the system in sleep mode when nothing happens and when I press the first button, wake the system up. Is this better to implement with interrupts or is there another way? Also if someone has a better idea that will save energy, please share with me.


texts: How can I tell whether an SMT/SMD Capacitor is oriented with plates horizontal or vertical?

texts:
This article talks about mounting capacitors with the electrodes parallel or perpendicular to this microstrip indicating that "By mounting the capacitor vertically, that is, with the electrodes perpendicular to the microstrip, the first parallel resonance will not be present thereby significantly extending the usable bandpass."
Sounds great, maybe everyone should all mount them vertically.  But how can I tell?
Is there an industry standard for showing how plates in the SMT cap are oriented?
Some datasheets have pictures like this that help if the cap is thinner it is wide, how can you tell if it is a square-rectanguloid instead of being flattish in one dimension?


texts: LCD interfacing Issues: Embedded Systems

texts:
Hobbyist tend to use parallel communication for interfacing with an LCD and all the libraries are for a specific type of microcontroller (Arduino or AVR) or LCD.

But, for a design engineer, it is often necessary to design with a microcontroller with optimum performance (may be because of power optimization or processing power or some specific peripherals of interest). In that case, it surely takes a lot of engineering time to develop libraries to interface with the specific LCD of choice with the specific microcontroller, if not provided by the manufacturer. How do the professional embedded system engineers deal with with it?

Example: For my case, I planned to use the STM32L476 microcontroller. I found the New Haven LCD with an I²C interface quite intriguing for my design. New Haven does not provide libraries for STM32L476, but they have example code for some other microcontrollers. I have to take the risk going through the datasheet and the examples and build my own. Does a professional follow this or I am heading towards wrong direction?


texts: Latch circuit requiring the button to be pressed 6 times

texts:
I need a low dc voltage circuit that will control a resistive load with a single push button. In order for the load to be powered the push button must be pressed 5 times within 1.5s and then the push button must be held down. Once the the push button is released, it can be pressed again and the load will be powered. Once the button is pressed 5 times within 1.5s again the device will be off and will require the button to be pressed 5 times within 1.5s to allow the load to be powered.
Due to restriction of space, I need this as small as possible. What is the most space saving way to get this accomplished?

Thanks in advance.


texts:
Recently I have been working on a basic RF receiver, but my efforts so far have proved fruitless. I designed the following circuit based of of previous research into the topic.
According to what I read, I need the LC tank circuit connected to an antenna so the LC circuit resonates at the frequency based of the inductor and the capacitor. The signal is then fed through a germanium diode into a transistor which should amplify the signal. Am I correct? Do you think this circuit will amplify the incoming signal? (I don't have the proper equipment to measure the oscillations and, as far as I could tell, it isn't working)
Sorry for the bad schematic. I'm not very good with drawing circuits on the computer.
Thanks for any advice.


texts:
I've been looking at a metal detection circuit. As I understand, it depends on changes in the magnetic field in a coil: when metal comes close from the coil, the circuit can detect that metal is nearby.

My question is: what will happen if I cover the coil with a 3mm thick plastic layer? Will this plastic affect the response of the circuit, or will the circuit continue to operate correctly?

Here is a picture of the circuit:


texts: Why are the letters U, V and W used in AC motors to represent the windings?

texts:
I am connecting up an AC motor and was wondering if this labeling system was representative of something? Or just another set of letter like X,Y,Z?

I could not find any information regarding this in IEC 60034-8,
Rotating electrical machines – Part 8: Terminal markings and direction of
rotation or a brief search of google, forums etc.


texts: I connect a 5 volts to a low resistance, but I measure a much lower current than I expect

texts:
I cannot understand why the current I expect is so different from what I am measuring.

I found a very low resistor, 15 ohm and connect it to 5 volts. Why is the current I measure so low? Shouldn't it be 0.333 amperes?

Obviously, I am a noob, but I am tripped up by this. Are there good reasons why it is like this?


texts:
Correct me if I am wrong

There are 3 modes for mosfet: 1, cut-off; 2, active (triode); 3, saturation; When VgsVt, it's mode 2; when Vgs>vt & Vds>=Vgs-vt, it's mode 3;

For N-mosfet, the drain is positive side, and source is the negative side, and the load should be connected to the drain side.

Here are my doubts

1, P0903BDG n-mos has 3 Vt values: min, typical, max (1, 1.6, 3V), which one should I use? Since this Vt is so critical here.

2, I setup a simple testing circuit with 4.07V Vdd -- red led -- 100 ohm -- drain, source -- ground and have a 50k pot connected to the gate.

According to Vgs>vt & Vds>=Vgs-vt and so when it's in saturation mode, Vds should be equal to 0v in my circuit. so Vds>=Vgs-vt == 0=Vgs-(1-3), and the result for Vt should be equal to (1-3) when it's in saturation.

Here are My measurements: when Vgs<1.2v, it's in cut off mode; When Vgs=1.3v, the led start to light up slightly; Vgs=1.3-2v = active mode; when Vgs=>2.1V, it's in saturation mode. When it's in sat mode, Vds=0, 0=vgs-vt, 0v=2.1v-2.1v. so Vt=2.1v for this mosfet? It can't be because when Vgs=1.3V, the led is already On. SO I am very confused here. What exactly is Vt? what is the exact problem here?

3, I want to operate this simple LED circuit, so when the pot is at 0 position, the led is off; when I turn the pot slightly, the led is slight on; and when I turn the pot to the other end, the LED is totally on with the mosfet in saturation mode. 1.2-2.1v is the range with my measurement, but how do I do it mathematically?

4, This should be a 50W mosfet. Yesterday, I tested this mos with a 12v vdd and a 12v power led.  12v-led-drain/ source-ground/ gate-10kohm-12v; and the current is just 550ma. It's not bright enough if I were connect the led directly to 12v power source. what is the problem here?


texts:
i know this might be a very simple question .
i have to simulate some delays for various adders in ISE Suite . ( i'm a little familiar with vhdl concepts but ISE Environment , not at all ! )

this is the vhdl Code for Carry select adder :

library IEEE;
use IEEE.STD_LOGIC_1164.ALL;
use IEEE.NUMERIC_STD.ALL;
use work.all ;

library UNISIM;
use UNISIM.VComponents.all;

entity csa is
  generic (
    WIDTH : natural := 32 -- adder will add WIDTH bits, should be a power of 2
  );
-- some port mappings ..
end csa;

architecture csa_arch of csa is

  component csa is
    generic (
      WIDTH : natural
    );
    port (
      op_1  : in std_logic_vector(WIDTH-1 downto 0);
      op_2  : in std_logic_vector(WIDTH-1 downto 0);
      c_in  : in std_logic;
      sum   : out std_logic_vector(WIDTH-1 downto 0);
      c_out : out std_logic
    );
  end component;

  signal sum_loc_0   : std_logic_vector(WIDTH-1 downto 0);
  signal sum_loc_1   : std_logic_vector(WIDTH-1 downto 0);
  signal c_out_loc_0 : std_logic_vector(1 downto 0);
  signal c_out_loc_1 : std_logic_vector(1 downto 0);
begin

  base_case : if (WIDTH = 1) generate
   full_adder_0 : full_adder -- GENERATES ERROR --
      port map (
        op_1  => op_1(0),
        op_2  => op_2(0),
        c_in  => '0',
        sum   => sum_loc_0(0),
        c_out => c_out_loc_0(1)
      );
  end generate;

and the line creating a component of the full adder entity rises tthe error :

Line 44: full_adder is not a component

the full adder is defined in a seprate file : ( in teh same project as another vhdl module )

library IEEE;
use IEEE.STD_LOGIC_1164.ALL;
use IEEE.NUMERIC_STD.ALL;
library work ;

library UNISIM;
use UNISIM.VComponents.all;

entity full_adder is
port (
    op_1  : in std_logic;
    op_2  : in std_logic;
    c_in  : in std_logic;
    sum   : out std_logic;
    c_out : out std_logic
);
end full_adder;

architecture full_adder_arch of full_adder is

begin

    sum   <= op_1 xor op_2 xor c_in;
    c_out <= (op_1 and c_in) or (op_2 and c_in) or (op_1 and op_2);

end full_adder_arch;


texts: Regulate high negative voltage (below -30V)

texts:
So I have seen Bost/Inverting switching regulators capable of producing high (positive or negative) output voltages due to the many possibilities associated with switched regulators.

However, to obtain low noise supply rails, I need to follow the switching regulator by LDOs and filters. For positive voltages, there are LDOs that can continuously operate on input voltages as high as +60 or even +75 V and outputs in the same order of magnitude.

What about negative voltages?

Why are there no LDOs operating below -37V (must have to do with the internat design?)
How would I produce a clean -55V signal from +5V? (without just using an inverting switching regulator on its own)

NOTE: I am happy with about 50mA of output current ;-)


texts:
So if a wind turbine has a capacity of 10MW, what does that exactly mean? does it produce 10MW every hour, or is it the peak power it can generate at any time?

the following question is how to know how much MWh does it produce in a certain time-frame (lets say 24hrs)?


texts: I am building a project for a robot on breadboard, and I have come across the need for a voltage regulator.  I have an existing voltage regulator, but it will not fit into the holes on my breadboard.  As a result I have begun to look for a new voltage regulator that will fit into my breadboard.  I ran into this voltage regulator with the datasheet here https://www.jameco.com/Jameco/Products/ProdDS/902071.pdf, and in the datasheet it seems to say that the lead width is 0.69 - 0.94.  I don't understand why the width of the lead would change and is displayed as a range and which part of the range to count as the lead width.  My breadboard only accepts wires between 20-28 AWG.  I was wondering if the regulator would fit well into the breadboard without being forced.


texts: How to convert this FM transmitter to receiver?

texts:
I made this circuit and it works properly but I need to make an FM receiver using the same idea of this circuit (common base).

Would you tell me what changes should I make so that the circuit is able to receive FM waves instead of transmitting it ?

I've tried to connect an antenna to the base of the transistor, and connect a 8-ohm speaker in parallel with the tank circuit but it doesn't work. Also, I tried to connect it in series it doesn't work as well ?!

I have one more question: When I receive radio wave from this circuit using a radio receiver device, It receives the waves on many frequencies such as 108 MHz and 95 MHz.

when I change the values of capacitor and coil of the tank circuit, the frequencies change but it still receives on many frequencies.

I connected a capacitor of 1000uF instead of C2 ( To be out of the range 87 - 108 MHz ) but the receiver still receives signals.

I connected a wire instead of the coil ( with C2 = 22 pF ) but it still also receives.

Is that normal ? or have I made something wrong ?

Thanks in advance,


texts: 400W inverter not charging power tool battery charger

texts: I have a 2018 Ford SuperDuty with a factory 400 Watt AC inverter. When I plug in a Milwaukee charger, the circuit protection light starts flashing and the battery will not charge. The charger does not give a wattage rating, but states that the input should 120V at 2.1amps. This should be 252 Watts required by the charger. I have plugged the charger into a Kill-A-Watt device and it only shows 0.8 Watts with a fully charged battery on the charger and 73 Watts when a discharged battery is installed. Why would the circuit protection light start flashing when everything I'm seeing is showing that the charger is pulling far less power than the inverter is rated for? I suspect that it has something to do with the type of inverter. I suspect that the inverter is a modified sine wave type, but was not able to confirm that with Ford.


texts: Altium Footprint using lines arcs and shapes

texts:
I am attempting to create a PCB hatch footprint as used on calculators etc with a rubber keypad switch.

I can create a hatched area without any issues:

Which is clearly lovely.

If you look, you'll see that the two ends of the pads are 1 and 2, as per the round pads at the top and the bottom of the footprint.

However, when I try an use it in my PCB layout, Altium complains that the traces are shorted around pad 1, as all the traces are labeled as GND (the net attached to pin 2). I have redrawn this multiple times in multiple ways to try and ensure that the traces are as you would expect.

Is there a way in Alitum to force a set of traces to connect to a pin?
Is there a way to check which pin the trace is connected to?
What simple thing have I stupidly managed to miss?


texts: capacitive switch behind a mirror (silver backing)

texts:
I am new to this field, and I would like to DIY a mirror with a hidden capacitive \inductive touch sensor behind it, once touched it will turn on a 12V LED light.

I have bought a capacitive switch but it does not work behind a mirror. After doing some research I think it has to do with the silver backing of the mirror (interfere with the magnetic field perhaps ? ).

Can you please recommend me on what technology should I be looking in (capacitive, inductive, piezo) in order to achieve my goal ?
btw, this is a regular commercial bathroom mirror.

Thank you


texts:
When the specification of a regulator says that output is 1A for example the whole current of the circuit will be 1A?
For example I have a regulator in series with a 100Ω  resistor and a 7V source.The regulator has 5v and 1A outputs. How can I calculate the whole current?


texts: STM32F103C8 Debugging Using STM Studio (version 3.5.1)

texts:
I am trying to obtain real time variable reading in STM Studio But When My STM Board starts running program My STM Studio was unable to detect STLInk V2 and My program Runs only in Flash Mode.
I am using ST Link Utility for programming My STM32 Board. In my program I toggle LED to know that program is running. And I also declared variables for real time debugging.
   The Board does not start to run program when programming is done using ST Link Utility. Instead when I set device to flash mode code runs but device is not detected by STM Studio and ST Link Utility.


texts: Eagle keepout: ignore Restrict layer violations within a footprint

texts:
I am working on an Eagle PCB footprint for this TagConnect TC2030-IDC-NL connector.
The footprint specifies a keepout restriction between the pads:

However, when I implement this footprint in Eagle, I get Restrict errors when I try to connect traces to the pads themselves.

I could resolve this by modifying the Restrict area so that there is room for the traces to connect to the center of the pad without conflicting with the Restrict. I could simply shrink the Restrict to give clearance, or I could change the Restrict from a simple rectangle to some more complicated shape that goes around the pads themselves.
It seems that the Eagle DRC is fine with the trace making contact with the pad, and it's fine with the pad overlapping with the Restrict, but it has an issue with the trace connecting to the center of the pad...even though it wouldn't change Gerber output at all. The DRC is also fine with the GND polygon connecting to Pin 5.
Is there a setting in Eagle to ignore Restrict conflicts for traces within the area of a pad itself?


texts: Why am I not able to compile this assembly code?

texts:
When assembling the code, I get the error : fpu.s(13): error: A1240E: Immediate value cannot be used with this operation

AREA PGRM, CODE, READONLY
ENTRY
EXPORT __main
__main
    LDR R0,=0XE000ED88
    LDR R1,[R0]
    ORR R1,R1,#(0xF << 20)
    STR R1,[R0]
    dsb

    VMOV.F32 S7, #0x419c0000
    VMOV.F32 S8, #0X41B40000
    VADD.F32 S9,S7,S8

LOOP    B LOOP
    END


texts: Power Supply Issues in Cold Temperatures

texts:
We use a relatively old 12V 5A power supply in an unheated room to drive motors for an astronomical observatory. When the temperature gets close to 0C, the power supply voltage drops to a few volts. Warming the power supply up by a few degrees fixes the issue.

This is proving very hard to debug because I cannot reproduce the issue under room temperature. How would you approach this problem? What components are most likely the cause of this failure? Or would you expect multiple components to fail, making an easy fix less likely?


texts: TI TPS57160-Q1 step-down converter outputs sawtooth-like voltage at high input voltages

texts:
Disclaimer: I have posted this question on Texas Instruments' E2E Community before (Here), but haven't found a solution to my problem yet. In the meantime, I haven't found any way to progress on this problem on my own either. I hope this cross posting between StackExchange and non-SE sites does not pose a problem.

Hello,

I am working with a Texas Instruments TPS57160-Q1 step-down converter. The possible input voltage lies between 20V and 41V and the output voltage is supposed to be a (relatively) stable 5V. I chose all of the components according to the datasheet.

Thing is, now I am experiencing problems under load with high input voltages. As long as the input voltage stays below 25-30V, everything is fine. But when I increase the input voltage to values above 25-30V, the output seems to get unstable, especially under load. With 50mA load and an input voltage of 36V, the output voltage sometimes even switched between 4V and 6V, when it should actually be 5V.

Buck converter setup:

Vin: 25V-41V
Vout: 5V
Iout (max): 900mA
Switching frequency 950kHz

The schematic:

As to the components, all of the capacitors are (multilayer) ceramic capacitors, the input capacitor has a voltage rating of 100V, the output capacitor is rated at 10V.

The PCB layout:

Here the scopemeter plots, unfortunately I didn't have access to a regular oscilloscope that day: (From left to right: Vin, Vout (10mA load), Vout (250mA load), PH pin (switching pin))

Things I have tried so far:

Changed the switching frequency to 400kHz
Used a larger input capacitor (electrolytic in parallel)
Used a larger output capacitor
Changed the frequency compensation components connected to the COMP pin to a more "robust" combination (According to TI's webench designer: R3=130k, C3=470p, C2=4.3p)

Neither of these things made a big difference. The output voltage definitely changed, but it still was not stable enough.

Here are the plots in the modified configuration (As outlined above: larger input cap, 400kHz switching frequency, "robust" comp pin components). From left to right: Vin, Vout (10mA load), Vout (250mA load), PH pin

Now that I have tried varying almost all of the components, I am thinking the culprit may be the PCB layout and the placement of the input and output capacitors. Maybe someone of you with more experience in switching voltage regulators can shed light on this problem. If the problem is indeed the PCB layout, is there any way I can test/simulate if changing the distances between the components will make a drastic difference without getting another board manufactured?


texts: What is the most mechanically durable wiring solution for about 1-2amps?

texts:
I am working on art project, which is a living statue made from plastic pipes and fabric, and it folds, unfolds, dances pretty violently. I want to attach some LED strips to the pipes, but I am worried that my wiring may break down due to mechanical stress.

What are the best wires in terms of mechanical flexibility and fatigue resistance?


texts: Flyback Converter - Low Voltage High Current Output Problem

texts:
I have designed a digitally-adjustable 22W Flyback LED driver using FSL136MR which has a built-in 650V MOSFET. Here's the simplified schematic (Auxilliary supply regulators and some other components (e.g. bypass caps, PFC stage, etc.) are not shown):

simulate this circuit – Schematic created using CircuitLab

Vref1 and Vref2 come from DAC outputs of an MCU and they set the maximum output voltage and current, respectively. VDC = 390VDC coming from PFC stage.

As seen from the simplified schematic above, the circuit operates as a constant current or a constant voltage source depending on which control block wins.

Maximum allowed output current is 750mA (so the max. output voltage is set to around 30V by the MCU) and maximum allowed output voltage is 80VDC (so the max. output current is set to around 250mA by the MCU).

PROBLEM:

If I set the output current to 300mA and connect an LED strip (VLoad=75V, Pout=22.5W) the circuit works fine as a constant current source, chip and even the snubber network don't heat up much (around 75 degC which is way lower than the Tj-max=135 degC) and the total efficiency is greater than 85%, as expected.

However, if I set the output current to 600mA and connect a different LED strip (VLoad=36V, Pout=21.6W) the circuit works as a constant current source but the efficiency decreases to 72% and the chip heats up quickly (still the snubber network is cooler) thus the chip triggers its internal thermal protection.

I have checked the voltage across the built-in MOSFET's drain and ground. In the first situation (Iout=300mA, VLoad=75V), the drain voltage hits to maximum 510V (including spikes). In the second situiation(Iout=600mA, VLoad=36V), the drain voltage hits to maximum 460V (including spikes). This is expected because the drain voltage depends on the output voltage: The lower the output voltage, the lower the reflected voltage and thus the drain voltage. So in the second situation the MOSFET's stress should be lower, isn't it? But why does the chip heat up quickly even with lower output power?

Flyback Transformer Specs:

Core: PQ2620 (Ae = 120mm², Ve = 5.3cm³)
Primary Inductance: 1mH ± 10%
Primary Turns: 50
Secondary Turns: 43

I cannot find where the problem comes from.

EDIT

After reading comments I first scoped the primary current by scoping the voltage across a series 1R resistor. Even right before entering thermal protection the current had a well triangular shape.

I also started to think about the possibility of saturation. So I made another test with an 18V/25W LED load. Here's the results:

I started with Iout=300mA (VLoad=17.8V) and I gradually increased the output current by 20mA each step. Interestingly, the current could not go beyond 600mA even if I set it to 800mA! Is the core saturating? Can saturation be caused by load current?

Now the question is updated: What should I do?


texts: Can you solder the tab on a FQP30N06 MOSFET to the GND plane on a PCB?

texts: I've got a FET that I want to be laid down on my first PCB. Can I solder the tab to a pad attached to the GND plane as someone on reddit suggested?


texts:
I want to provide a fairly constant current (say 10mA RMS, peak 20mA, of 60Hz AC, using a 120V supply) to a load of highly variable resistance.  It doesn't have to be super-clean or precise, but should be able to adjust within a few cycles and never stray more than 100% from set current level.

The contemplated load is an electrolytic chemical reactor. It'll be a lot easier to tell once I can feed some current through actual reagents, but best guess right now is that resistance can vary from single-digit to thousands of ohms depending on all sorts of things (temperature, reagent phase, etc.). So I'll want to pick a current and be able to hold that relatively constant as all the other internal and external parameters vary.

What components or circuits can accomplish this?


texts:
How can I make a Flat Flex Cable (FFC) Zero Insertion Force (ZIF) connector resistant to environmental contamination?

Background/Assumptions:

I have a microwave over my stove. Every few months, the keypad begins to malfunction and register key presses without human interference. Naturally, it's one of the buttons that will start the microwave. After a while, the keypad will become non-responsive. The keypad in this unit is a sealed membrane unit with a single FFC. Nothing in the keypad requires active electronics, and the number of contacts and buttons) strongly suggests a standard sampled keypad switch matrix.

I'm pretty sure a row line adjacent to a column line is getting a low enough resistance to register as a button press. Removing the FFC from the ZIF connector and re-inserting it will fix the problem for about a day. Cleaning the FFC and flushing the ZIF connector with isopropyl alchohol will fix the problem for a few months. Considering that the electronics compartment isn't well sealed, I believe steam and other cooking byproducts are making their way into the ZIF connector and causing measurable leakage between pins.

The FFC termination is single-sided with a pitch of about 1.25mm/50 mil. The microwave is a Samsung, but I don't think that's relevant to the solution.

How can I improve the environmental resistance of a FFC connection? Looking at the connector, it seems like there is an unsealed path on both the top and bottom of the connector. My priorities (in order) are:

Don't buy a new microwave - the old one works*
Make the fix permanent so I'm not constantly disassembling the microwave
Don't make the connection permanent (e.g. soldering the FFC to the board)


texts:
While it is easy to bulk produce PCB's with sensors attached directly on the PCB how do you bulk produce PCB's that area attached with a length of wire (up to 1.5m) to sensors?

One solution would be to have PCB headers on the PCB and the wire but I cannot find anywhere that sells wire in this form. We could build it ourselves but when scaling to any significant number this becomes infeasible. You can see how we solved the problem in our prototype in the photo below.

How would you solve this problem?


texts: Can I use Cat6 ethernet cable to connect switches to Fibaro binary sensors

texts:
The Fibaro binary sensor ( https://manuals.fibaro.com/binary-sensor ) is capable to handle two potential-free inputs and is powered by 9-30V DC.

Can I use Cat6 ethernet cable from four double switches to connect to two Fibaro binary sensors? I would use all the four pairs of wires to connect the devices. The cable runs inside the wall but not in a tube.

Ps: Unfortunately there is no neutral 230V behind the switch and it would be hard to have one, but for historical reasons ethernet cables are run there.


texts: Voltage Follower Not Giving Expected Output

texts:
Have set up a voltage divider inputting 1 volt into a LM741 op amp to act as a voltage follower.
For some reason I get 2 volts at the output.
Have checked everything I can think of and can’t figure out why.


texts: How does the NPN transistor in a 555 timer discharge the capacitor when the output is low?

texts:
I am new to electronics and I'm trying to understand how the 555 timer works based on the diagram below. I am following the tutorial/explanation at https://www.electronics-tutorials.ws/waveforms/555_timer.html

In the tutorial, for the description of pin 7 (discharge), it says:

  The discharge pin is connected directly to the Collector of an internal NPN transistor which is used to “discharge” the timing capacitor to ground when the output at pin 3 switches “LOW”

However, I don't understand how the base of the transistor could be allowing the capacitor a path to ground (which would require the base to be "high", if I understand correctly) if the output at pin 3 is "low" at the same time, since they are both connected to /Q. Shouldn't they both be "high" or both be "low"?


texts: How do I, as a consumer, gain or lose when the utility company line voltage varies from rated value?

texts:
A little background; the line voltage supplied here in my part of India varies as a function of the load. At dusk, the measured value is as high as 248V. Household appliances are rated at either 220V, or 240V.

A friend and I were talking; my take is the bill is for Energy (kWH). Ergo, regardless of whether the line is 220, 240, 250 - the energy consumed will be constant. His take is that the higher voltage means a lower current drawn - less heat, and less energy consumed.

How do I, as a consumer, gain or lose when the utility line voltage swings above or below the rated value?


texts:
I used to use this thing to setup variable load to my AC output.
It is a smoothly variable resistor, Just slide, and resistance vary smoothly unlike Decade Resistors.. But I cannot remember the exact name.
In our lab we just call it "slideck" (sic). But, i need the actual name
because I want to buy one. Does anybody know where I can get one of these?


texts:
total noob here. I have a general question regarding the NFC tags:

I have a 12mmx19mm NFC tag.
I notice I was able detect it (1-1.5cm away) without a problem until I place a circuit board behind it (or close to it). Is this a common issue?

Would having a larger NFC tag help?
Or anyway for the NFC to work in front of a circuit board? Thanks!


texts: How to voltage divide down a single ended analog signal?

texts:
I have a 0-5V Single ended analog signal coming into an A/D pin on my microcontroller.

The Micro pin can tolerate only 0-3.3V analog signal.

What can I do? Can I just add a simple voltage divider (one resistor in series and other to GND to divide the voltage when it is at 5V down to 3.3V)?

I am concerned.  Isn't this going to add noise from my ground on to this Analog signal of mine and distort it?

UPDATED with a related question:
I also noticed in some circuits some folks add 'Rail to Rail Output Operational Amplifiers (like LMV321 from TI) - how exactly does this help?


texts:
I don't know what op-amps have against me, but they don't like me.
Yesterday, I wanted to amplify an AC signal coming from a photodiode using a non-inversing configuration mode. I had a lot of noize, so I wanted to inverse it twice.

My problem is the following: When I measure the voltage across D1, it gives me 230mV. The output of my op-amp is a non-inverted signal with an amplitude of 15mV.

NB: It is not high frequency
,the board, the op-amp, the voltage source, the oscilloscope, the resistors, the wires, everything has been changed; it is not failure related.
Thank you!

simulate this circuit – Schematic created using CircuitLab

Shouldn't the op-amp try to compensate to bring the fake ground to a 0V, so output a negative signal? (at the very least)... I expected a 2V over inverted PWM signal...


texts: Which topology is used in practice to couple a noise generator to a signal?

texts:
I want to add noise (from a noise generator hardware) to a sine wave signal. The sine wave signal is coming from a function generator. The noise is generated by another hardware.

What is the method used in practice for such purpose? I came across the following topology:

Is there any advantages to using a non-inverting or an inverting  adder in this case? I'm asking because I'm planning to superimpose (add) white noise (from a white noise generator) onto a sine wave (from the function generator). So I'm not going add two signals but signal plus noise.


texts:
I work as and E/E intern for a industrial panel company.  A customer wants a 30kA SCCR panel.  The input power is 3 phase 460V, an unknown distance from the main panel in the customer factory.  Inside the NEMA 12 enclosure is a 2 phase transformer for 120v control voltage, fuse blocks, Motor protectors, motor controllers and a GFCI for the 120v power.
The only circuit breakers in the box are used post ac-dc converters.  Everything else is either fused or behind a motor protector.
My initial understanding of SCCR was that the last component that needed the SCCR was the current protection device.  I have recently been educated on that mistake as I recently found out that the wiring is also a factor.
The smallest panel I work on is a 460v 60A up to a 460v 400A panel.  For simplicity sake lets say all wires from current limiting devices are 10 feet long with the only amp load for sizing.
I have found the part in the UL508A about transformers and I think I understand that part.  The power from the transformer mostly stays inside the panel but does go out to multiple sensors and switches nearby.
Most of our components from the disconnect, primary fuses, and distribution block are already in the 100kA+ range.
Finally my question, I have a contactor that is a 5kA rating, controlling a 47A resistive heater load that is 10 feet away from the fuse block.  What do I need to look at / calculate to see if it will meet the required 30kA for the box and wiring?


texts:
given the circuit below to be used as a H-bridge with AVR PWM.

Is this a good desing to use? What can you recommend?

I already built something like this but without the resistors. ( and so burned the fets )
My fear is that when the PWM signal switches between HIGH and LOW there will be a small amount of time when both mosfets on the same side will be 'half-open' and so shorting the circuit. Could it happen or is this design safe?

Thank you for helping!

---UPD: here's my new idea of the schem. according to the comments:


texts:
I am working on a formula style car and creating a digital dash based on an Arduino. I currently have a signal from the ECU running at 12v DC and a varied frequency depending on the RPM of the engine. What I need to do is lower the voltage to 5v DC and maintain the same frequency, with as little frequency noise as possible on the output. Is there a good way to do this? Do Voltage Regulators keep frequency, or at least keep some sort of ratio?

UPDATE - SOLVED

My team and I just realized yesterday that we can use the CAN-BUS signal straight out of the car and just comb through the data for what we need. A little bit more coding, but way easier in the long run. Less wires too :D


texts: Most accurate way to obtain angular velocity from a IMU sensor

texts:
I have been using a BNO055 sensor (9° dof IMU) for a project which will use angular velocity to move the mouse cursor on a PC screen.
So far, I have gotten quaternion output from the sensor and been able to convert it to angular velocity in a couple of ways. The first, multiplying 1 quaternion sample by its conjugate in the next sample, and then converting the quaternion Delta in Euler angles. The second, converting from quaternions to Euler angles and then finding the change in those between samples.
Both methods result in angular velocity measurement, but each with their advantages and disadvantages. E.g. Quaternion Delta between samples does not suffer from gimbal lock, but it's difficult to isolate pitch from roll.
I know that you can ask the sensor for angular velocity data directly, but apparently that's less precise due to the Gyro drift and it's relative orientation only, which is why I opted to work with quaternions.
Is there a better way to go about this?
My code included below for reference with the 2 approaches in case it's helpful/interesting. It uses the Adafruit repository for BNO sensor.
void quaternion_Delta () {
  // Quaternion data 1
  imu::Quaternion quat = bno.getQuat();
  // Euler 1
  imu::Vector<3> euler_one = quat.toEuler();
  //delay between samples
  delay(BNO055_SAMPLERATE_DELAY_MS);
  // Quaternion data 2
  imu::Quaternion quat_two = bno.getQuat();
  // Euler 2
  imu::Vector<3> euler_two = quat_two.toEuler();
  // quaternion comparison
  imu::Quaternion quatDelta = quat_two * quat.conjugate ();
  imu::Vector<3> euler = quatDelta.toEuler();
  Serial.print(" X: ");
  Serial.print(euler.x()*radius_to_degrees, 2);
  Serial.print(" Y: ");
  Serial.print(euler.y()*radius_to_degrees, 2);
  Serial.print(" Z: ");
  Serial.print(euler.z()*radius_to_degrees, 2);
  Serial.print("\t\t");
  // Euler comparison
  imu::Vector<3> euler_comparison = euler_two - euler_one;
  Serial.print(" x: ");
  Serial.print(euler_comparison.x()*radius_to_degrees, 2);
  Serial.print(" y: ");
  Serial.print(euler_comparison.y()*radius_to_degrees, 2);
  Serial.print(" z: ");
  Serial.print(euler_comparison.z()*radius_to_degrees, 2);
  Serial.print("\n");
  }

Edit: demonstration for quaternion Delta.
When quaternion current * quaternion home and transforming to Euler angles, we get the angular velocity between the 2 quaternions. Please imagine the sheet of paper to be the earth reference frame and to the watch the sensor's reference frame. With no yaw rotation, if with tilt the sensor up that causes a positive change in the y (pitch) axis. With 90° rotation of the sensor in the X (yaw) axis, however, a tilt of the sensor results in a change in the z (roll) axis instead.
My understanding is that this happens because quaternions are a representation of absolute orientation. So with any angle of rotation in the yaw axis we get a mixture of change in the pitch and roll axis whenever we tilt the sensor up or down.
This is what I mean that a change in sensor tilt (moving it up or down) results in a change in either/both the Y and Z axis.


texts: Exactly how much programming will I be doing if I work as a hardware design engineer?

texts:
I have a question for current hardware design engineers or others, closely related to that field.

Say I want to be a computer hardware engineer for the automotive industry. I very much like working with hardware, but much less fond of writing software. I heard however that I will have to write the software to command the hardware I build/test.

How much programming skills do I need? Approximately what part of my job (in %) will consist of writing computer programs? How advanced will my programming ability need to be (for example, will the skill level acquired in CS I, CS II and Data Structures courses offered in most universities be enough)?

Thank you in advance.

EDIT: Thank you all for the replies. I did get an idea what the job will be like in regard to programming. I already have decent skills in C++, Java and Bash scripting, so I was wondering how much of my time will consist of pure programming, but as I see, it varies greatly. Again, thanks for the replies, they were really helpful.


texts: Is there any dependency between SNR and Link Speed for WiFi AP?

texts:
Today we use RSSI as indicator of AP quality. However even if you have rssi=-45dm it's not enough to say that AP WiFi guarantees you good BW. Because if many clients connected to the same AP and some of them have the same channel the RSSI still will be good but actually we get low BW (throughput).

For that reason I try to fetch SNR or Noise from AP. The problem is - for mobiles like Android and iOS we can't get nor SNR neither Noise. I have only RSSI and AP Link speed.

For that reason I try to find any correlation between SNR and Link Speed.

Any suggestions, documents?


texts: According to impedance bridging principles, are these results accurate?

texts:
Here is the relevant data

The setup for this experiment was a Shure SM57 dynamic microphone routed into a Magneto Audio Labs VariOhm, a variable load impedance device, which was then routed into a Focusrite Saffire Pro 14. Room EQ Wizard was used to collect the data.

The purpose of my experiment was to explore the effects of load impedance on a variety of microphones. To this end, I have also included the results of the experiment using an AKG C414 B-XLS as well.

According to impedance bridging principles, optimal voltage transfer is achieved when the load impedance is roughly ten times larger than the source impedance. The results of my experiment, however, have proven me otherwise. Ideally, the voltage of the microphones at the output of the signal chain will decrease at each reduction of load impedance, but instead we see a rise in voltage up to 600 Ohms, and then a significant reduction in voltage at impedances lower than 600.

Is my understanding of impedance bridging principles wrong or is the experiment flawed?


texts: Switching gains on a precision operational amplifier using a microcontroller

texts: I need to be able to switch between gain values on a precision opamp in the microvolt region using a MCU. What is the best method to do this? Noise is critical.


texts:
I'm a noobie in pcb designing, so i created this one single sided board, do i need do add a ground plane if I have a ground trace?

Cheers!


texts:
I'm looking for a way, under any configuration/OS(windows or linux)/programming language you suggest to simultaneously access memory addresses, that are under different channels, meaning the access will happen simultaneously.
As far as I know, it is not trivial, any piece of code, references to research papers or other resources would really help.
Edit:
To elaborate how I see it.
Address A under channel X and Address B under channel Y.  Now assume 2 cores issue a request to write, for example, using _mm_stream_pi for instance to bypass CPU cache. The requests "reach" the controller which might serial the "requests" but issue them to different channels.
Now what I need is a way to write to different addresses which are mapped into different channels.


texts:
Disclaimer: This is my very first time I have to work with batteries so I have basically no idea whatsoever.

I need to protect a 14.8V LiPo Battery from overcharging/overdischarging. I have looked up PMICs but this one only works up to 8V or am I mistaken?

So my question is: do I need to program any of these PMICs or do I just put them in front of the battery and it will do it's job?

I'm sorry if this question sounds super silly and very unprofessional. But like I said, I have never worked with batteries.


texts: Does direction of current flow affect induced current?

texts: I am working on a pcb design. On the board there are two separate areas where I have a constant 5VDC trace running close to and parallel to another trace which has a pulse-width modulated 5V signal going through it. In one of the cases I can see the pulse width modulated signal being induced onto the 5VDC line. With my oscilloscope I measure a peak-to-peak volatge of about 350mV on the signal that should be constant. In the other case I can not detect the pulse-width-modulated signal being induced at all. The only difference between the two areas of the board is that in one case the current in the traces is traveling in the same direction, in the other case the current is traveling in opposite directions. I remember from my Electromagnetics course that the direction of current flow changes the direction of the magnetic field. Is it possible that in one case the magnetic fields are being cancelled out but in the other case they are being added or something? Has anyone see this before?


texts:
I am after a way to activate a 300 W LED lamp to come on when a trampoline is jumped on and to turn off when the mat goes level again, then back on when jumped on and so forth.

I was thinking tilt switch but unsure if it would work right, so was wondering if anyone had any ideas. I am also open for the idea for someone to make it for me too. I need to make about 85 of them.


texts: How do I find the UTP and LTP of an Oscillator?

texts:
I am trying to figure out how to find the UTP (upper trigger point) and LTP (lower trigger point) in this circuit:

This is an ideal op-amp being used as an oscillator.

My understanding of trigger points is that they occur when e+ = e- (the op-amp inputs are equal). However this example confuses me as there is no Vin and I'm not sure how to handle the capacitor.

If I put the capacitor in the frequency domain, then everything in the circuit will be treated as a resistor and nothing will ever change, so how can there be any trigger points?
I think I need to analyse this circuit in the time domain but I'm not sure how.

Any hints on how I should go about solving this problem would be a big help.


texts: MX-FS-03V one transmitter to many recivers

texts:
I want to use MX-FS-03V RF module as single transmitter to many receivers.
As this module sold as pairs I don't know if this works or not or any trick to do this.

i think the screw on the module could helps but I don't know if its working.

Quote: "Im using arduino"

Thanks in advance

update:  At last i found its working.  You need to do nothing.  only use one transmitter and many receivers.


texts: Self-resonance frequency of chip inductors

texts:
I am studying chip inductors and here's one of the frequency response:

There are more than one resonance frequencies exist in a single inductor. When we say inductor resonance frequency, it usually means the first one, right?

Is there a specific name for the 2nd resonance frequency(m4 on Smitch chart?)?


texts:
I am not a professional in this area, so I hope I am asking questions correctly.

I have a 5V clock pulse with 50-200Hz (square wave) and would like to build a simple unpowered clock divider. Output should be 1/2 of input frequency. So it's literally skips every second beep.

There are a lot of solutions with decade/ripple counters I've found, but all require at least 2-3V of power supply. I've read a lot of JK/D flip flops but got frustrated with too many information and zero experience in this area.

I assume I need a module that should have some kind of solid state 1 bit memory that will be not power dependant. If it's even possible and exists.

TLDR: Need a passive module that I can put in the middle of the clock signal wire, that halves the frequency.

Thanks!


texts:
I would like to load some data from the program memory (e.g. a sine table) on my t10. Like on other AVRs the lpm command is for that purpose but it seems not to exist on the t10. I saw this crazy project (https://github.com/dop3j0e/noiseplug/blob/master/avr/noiseplug.s) which is for a t9 (same core as t10 but without ADC). They have just 32byte SRAM and if you scroll down you see a lot of tables which definetly would not fit into 32byte. They load thier tables like so:

157     ; note = notes[bassline[bassptr]]
158     ldi  r30, lo8(bassline)
159     add  r30, r20
160     ld   r20, Z
161     ldi  r30, lo8(notes)
162     add  r30, r20
163     ld   r21, Z+
164     ld   r20, Z

and my code looks like:

ldi     ZL,     LOW(prog_mem*2)  ; set pointer to
ldi     ZH,     HIGH(prog_mem*2) ; table address
ld      r16,    Z+               ; patern = (Z), post inc

prog_mem:
.db 0b11110000, 0b11001100

but simulating it 0xF0 doesnt appear in r16. I already had a look at atmel.com/webdoc/avrassembler/avrassembler.wb_LPM.html and atmel.com/webdoc/avrassembler/avrassembler.wb_LD.html but both werent enlightning.

Can anyone tell me where I made the mistake? Did they use another trick? Is it even possible to get data from program memory?


texts: Which ASCII character could interrupt communication?

texts:
Which ASCII character could interrupt or terminate or otherwise disturb communication on the reciever part. Not including acknowledgment, handshakes,
identification or other programmed protocols. Just what could inadvertently interrupt the data stream because such ASCII character was inserted among normal characters.
Data sent in 8N1 format.
In most of known cases, where the reciever is:
- Windows OS computer
- non-Windows OS computer
- Any kind of Microcontroller recieving these data etc
(sorry for not being more specific but that's really what it is: Multipurpose)

The reason why I ask this, is that I want to send bit strings, but for some reasons, I'm using the ASCII equivalent of the binary string. I imagine one of these would cause an "End of Transmission" but I'm not sure which ones.

  Blockquote


texts: I have a transformer with a midpoint that gives a voltage of 1U at the ends of its secondary winding. Can I, using only capacitors and diodes get a DC voltage of about 1.5U (but less than 2U)? If so, then how?


texts:
I am designing a digital board with USB input and output.

Shield of USB is connected to a chassis ground as per USB specs and connected to GND through a R and C in parallel

USB power has a common mode choke inline ( negative going to GND) and then it connects (after CMC) to DGND

My question is: on a PCB with as many layers as I want , should I make 2 full planes of grounds?
 1. GND (only used before CMC on input and after CMC on output)
 2. AGND (this is required for sure)

Both GND and AGND will be connected to chassis ground. Connection betwen GND and AGND will be using common mode chokes.


texts: Can I increase the no of operating hours of a battery without increasing its capacity?

texts:
Setup
Let's say I have a 12V / 1Ah rechargeable battery pack. A device that consumes 0.1A will run for 10 hours.
When the battery drops to 8V, the voltage will be insufficient and the device won't work anymore.
Most of the current flows through a transistor that sends pulses to a coil (of a metal detector). The pulse width gets shorter as the voltage increases so I guess, the consumption remains the same not matter which is the battery voltage.
Question:
Can I increase the number of operating hours for that device WITHOUT increasing the capacity (Ah) of the battery? More exactly by adding extra batteries (series) to the pack and thus increasing the voltage from 12V to 14V?  (We assume that the device can operate also to 14V).
My explanation/thoughts:
The capacity of a 1Ah of a battery means that it can provide 1A current for one hour without dropping its output voltage under 75%.
If the device stops working at 8V, it means that the battery can be used from 12V downto 8V. This is a 4V difference.
By adding another battery, the total capacity is still 1Ah. But the total voltage is now 14V. So, the battery pack can be used from 14V down to 8V. This is a 6V difference! Therefore, by adding another battery, it takes longer until the voltage drops from max to min. HOWEVER, the load will "burn" more current because now it operates at 14V instead of 12V (I = U/R).


texts: Sensorless speed control and startup of BLDC

texts:
Regarding the sensorless speed control of a BLDC, I have some doubt about what may happen in the following two scenarios when the rotor's position is unknown

the start-up from zero
with an initial rotation different from zero

In (1) I would like just to know if I can close two generic contacts without knowing the initial position of the rotor. In (2) I wonder if I can drive in open-loop a 3-phase input voltage and expecting that after a transient (but systematic response) that the rotor follows the synchronization.
Can you help me please to figure it out?


texts:
I am trying to add a radio transmitter to small remote controlled airplane. I would like it to fit inside and the space I have to work with is 1.25 by 1.25 by 0.2 cm. I am wondering what sorts of issues I might run into with this, in particular regarding the size of the space for the transmitter.

Also, are there transmitters (not receivers) of this size that can be purchased online? If so where?

Thanks for the advice, addressing any other issues I might encounter would be appreciated.

The range should be about 300 meters
I am transmitting data about the planes propeller frequency.


texts: How to send different data to three DACs at the same time?

texts:
I am building ultrasonic system that needs to generate three different signals for three transducers at the same time.The system is controlled via DSP. Currently I have a DAC with 4 outputs, but as I understood it can only update either one output at a time with different value or all of them but with the same value. My new idea is to use three DACs, but I am trying to figure out how to simultaneously update different values to them. I could use different McBsp and SPI ports of DSP eval board that are clocked, but how to make the execution of transmission parallel? Any ideas?

DSP: TMDSEVM6657

DAC: DAC80504EVM


texts: Boost converter drops to 4.5V when trying to achieve 6V with an 18650 cell

texts:
I don't have a lot of experience with this but I'm working on a prototype device which I want to run off a 18650 cell. I need to boost the voltage from 3.7V to 6V using a boost converter that uses a LM2587 chip that I bought on amazon.

When I connect the load, the voltage drops from the 6V that I need to 4.5V.

The cell is rated for 6.5A continuous and the boost converter is rated at 3A continuous.

Cell: https://www.imrbatteries.com/panasonic-ncr18650a-18650-3100mah-3-7v-protected-flat-top-battery/

Boost Converter: https://www.amazon.com/gp/product/B00J2PT83E/ref=oh_aui_detailpage_o00_s00?ie=UTF8&psc=1

At 4.5V, the circuit is drawing around 1.8A. What am I missing?


texts: Triac and Optoisolator not turning on lightbulb

texts:
I'm trying to switch on a lamp using a microcontroller. I've wired the schematic below using a 5v power supply instead of the microcontroller for now and the first time I turned on the lamp   the light bulb flashed quickly and would not come back on or flash again. Note: I am using an MOC3010 instead of a MOC3081.

This is based off a schematic below I found online that was said to be for switching on a lightbulb

Did I miss something completely? Why isn't mine working correctly?


texts: Very short range indoor RF transmitter - receiver circuits

texts:
I am learning RF electronics and I have the desire to start building real radio circuits with discrete components. So far I have just played with local oscillators (of course, without power amplification stages).
I would like to build a simple CW transmitting and receiving circuits that should work inside my house and I am very confused about the frequency I should use. Initially, I was considering the 27Mhz band because is free to use (my RC cars used to work in that band when I was a kid). However, my old oscilloscope has just 20Mhz bandwidth so won't able to debug my circuits and understand how they works.
That leads me to a lower one, I've think that 6.765MHz-6.795MHz ISM band should be OK, and even work on breadboards so I can iterate faster and experiment. However, I am still wondering if that is physically possible to make it work for very short distances like in my bench and without the requirement of large and complex antennas and just using a piece of wire of a selected a fraction of wavelength and at the same time using the lowest transmitting power as possible.


texts: Can two capacitors be used in series to get an equivalent capacitance in a circuit?

texts:
I am building an FM radio circuit and a 27pF capacitor (ceramic) is required in that, but I don't have one. But I do have 56pF capacitors. So I was thinking that I can  use two 56pF in series to get an equivalent 28pF.

Is it possible and will it affect the circuit?


texts: What do I do when I have an empty row/column when making a Karnaugh map?

texts:
I am working on an assignment for my Architecture and Assembly course and I am tasked with making a circuit using JK Flip Flops to analyze a bistream for when 10110 occurs with overlap.

I am progressing just fine until I hit a roadblock when making the karnaugh map. The circuit is calling for 6 different states (3 JK Flip-Flops) so I am progressing in binary from 000 to 101 but my karnaugh maps are 4x4. (I have to take into account the input too)

The thing is, on the Karnaugh maps, I have an entire column that is empty. I would assume that I would place a "d" (Don't care) in each cell but I am not entirely sure of what actually goes there.


texts:
I'm trying to get my head around how the offset NULL works for an op amp. I think i'm getting somewhere with it. The op amp i'm using is the TL081 from this datasheet:  http://www.futurlec.com/Datasheet/Linear/TL084CN.pdf

I understand that the input offset is the voltage of the output when the two inputs are equal and I also understand that when you use a set of resistors to get a voltage gain this offset is also multiplied by the gain.

So my main question is by using a variable resistor on the offset NULL legs and getting this closer to 0v than the op amps current input offset does this mean I can use the op amp to amplify voltages in the range of mV now?

So if i use a gain of around 1000 would this now be acceptable to use given that i null the input offset?

Thanks


texts: nRF24L01+ mezzanined over microcontroller

texts:
I'm designing a hobby project to fit in a certain form factor using a mini nRF24L01+ module and an ATtiny441 microcontroller.

To save space I'd like to mezzanine the nRF module -- i.e. solder it to a 1mm-high standoff -- with its antenna facing into the board.  Here's a snippet of what the PCB may look like, where U1 is the ATtiny and the yellow box surrounding it is the nRF's outline:

Notice how the through-hole by the ATtiny's pin 13 corresponds to the nRF's antenna perimeter.  It'd be swell to use this configuration, because it:

Keeps the SPI lines nice and short
Saves a ton of space compared to placing the nRF on the PCB (facing outwards)

I plan on configuring the nRF to a reasonably-low power output of -12dBm, running the ATtiny with the internal 8MHz clock, and sending packets (never receiving) about every 10 seconds.  The nRF operates at ~2.4GHz.  In the PCB screenshot, C1 is the 0.1uF decoupling cap for VCC, and I'll place that much closer to the IC after placing the IC more permanently.  I've done something similar using an Arduino Pro Mini, but the nRF was at the end of the board -- not directly hovering over the microcontroller.

Questions: Will the nRF's communication severely mess with the ATtiny's behavior?  If it'll work, are there caveats (e.g. make sure not to run any instructions on the CPU while transmitting)?


texts: Why doesn't current flow through the resistor in cases where transistors A and B are on?

texts: I was watching this video and wondering why the current doesn't flow through the resistor and through the transistors A and B at the same time. Why does it have to flow only through A and B? (Bottom Left)


texts:
In my current project, I try to connect a load rated at 5V/2A with a 5V power supply. To avoid plugging and unplugging the supply over and over again, I decided to add a push button. To turn the device on and off, it must be held down for 3 seconds.
Constructing this circuit is harder than I thought it would be.

(This is just the beginning.)

When the button is pressed, C2 charges through R1. After some time, Q1 becomes saturated when C2's voltage drop gets higher than 0.7V. Load resistor R2 is powered at this time.
However, this circuit is missing crucial aspects: The current through the load equals ~2A, there should be no voltage drop bigger than 0.01V across the transistor when saturated, C2 must discharge way faster to timeout a press shorter than 3 seconds, and most importantly, R2 must keep its voltage.

My suggestions would be:

Instead of feeding the voltage across C2 directly through the base-emitter junction, I could compare the voltage with a comparator, then feed the output (HIGH / LOW) to a power MOSFET
Use some kind of latching circuit or flip-flop to keep the voltage at R2 consistent
Add a resistor parallel to C2 with an N-channel BJT to open a discharge path when SW1 is open (inverter?)

Will this approach work? Or is there an even simpler solution?

EDIT

To clarify why I can't use switches, here are some reasons:

The switch is exposed to the outside. If the user accidently hits it, it cuts the power, therefore losing all unsaved data without any warning. Even with a timer, most of the time the user wouldn't realize it fast enough.
The push button is used to give a smartphone-like interface. It can trigger different things after a certain time held down instead of a switch with only 2 states.


texts: Replacing an Arduino Uno with a 3.3V ATMega328p

texts:
For a school project my partner and I have been prototyping our system, a microcontroller + sensor + rf transceiver, with an Arduino Uno as the micro. The sensor and transceiver both run off of 3.3V, the Uno, 5V and cooperate using logic level shifters. We've recently designed our PCB's with the intention of using an ATMega328p in place of the Arduino Uno to save space. We also read on the spec sheet for the ATMega328P that it can operate from 1.8V - 5V so we designed the layout assuming we'd just run it at 3.3V and eliminate the need for level shifters.

However, we can't figure out how to program the ATMega328p so that it works at 3.3V. We do have another Uno that we were hoping to use as a loader. From doing some online research, it seems like this can certainly be done, but our attempts have been unsuccessful so far and our deadline is approaching rather quickly. We were wondering if anyone had any experience with this sort of thing and could recommend a solution.

Here is the data sheet of atmega328p


texts: Understanding compensator's transfer function

texts:
Referring to https://www.analog.com/media/en/technical-documentation/data-sheets/AD2S90.pdf page 9 states that RDC chip implements a type2 servo loop and the compensation is provided by the function
$$\frac{K}{s}\cdot \frac{1+st_1}{1+st_2}.$$
Elsewhere in https://www.analog.com/media/en/technical-documentation/data-sheets/AD2S80A.pdf, page 11, the circuit appears different. Adding to confusion, https://www.ti.com/lit/an/slva662/slva662.pdf page 4, the Transfer function appears different too. Why is this so?


texts: Reverse polarity protection with a MOSFET, am I doing it right?

texts:
I'm creating a simple LiPo charger and I would like to add a reverse polarity function to the module.
The source voltage is 4.2V, the maximum current draw is 2A.
Is this schematic correct?
The MOSFET used in the schematic is IRLML5203TRPBF.
Also, how can I determine the correct MOSFET (Vds, Vdg, etc..) for my project?
I choose this one because of it's maximum current capabilities. (Vdss -30V 165@VGS = -4.5V -2.6A)


texts: Find transfer function and step function for this circuit

texts:
Can someone help me to find the transfer function of
this circuit (i want to have the tension through the capacitor I think)
and the step response in order to get the voltage in the function of the time?

I have a comparator (the block to the right with " ??? ") and it
compares the tension between V1 (voltage divider) and V2
(tension I try to express with respect to time)
and I want to know WHEN V1 = V2.

V1 is obtained by a voltage divider then it's a constant voltage

V2 can be expressed with respect to time but the circuit is too complex
for me (Simulink seems to calculate this tension with the diode D7, R12, R10 and maybe R6 and R 100k...).
Could someone help me to find the transfer function and also the step function because I can't find the constant of time?

(t= 0.497s when V1=V2)
I'm sorry if I made mistakes as I'm not English (and I'm not an engineer either)

Here are the pictures -

The Circuit:

V2:

And V1 (I can express the voltage divider and find by myself the tension given by Matlab):

And at t=0.497 reached (with V3), the voltage is zero as you can see before the diode because of the comparators and the block "NOT" with the MOSFET in the right corner:

Thanks in advance.


texts:
I'm making locked antiphase drive for motor control on STM32F4 board. Im configuring Timer4's 4 channels to be in pairs, ch2 inverse of ch1 and ch4 inverse of ch3. Each pair will control its own motor.

    TIM_TimeBaseInitTypeDef TIM_BaseStruct;
    RCC_APB1PeriphClockCmd(RCC_APB1Periph_TIM4, ENABLE);
    TIM_BaseStruct.TIM_Prescaler = 0;
    TIM_BaseStruct.TIM_CounterMode = TIM_CounterMode_CenterAligned1;
    TIM_BaseStruct.TIM_Period = 3999;
    TIM_BaseStruct.TIM_ClockDivision = TIM_CKD_DIV1;
    TIM_BaseStruct.TIM_RepetitionCounter = 0;
    TIM_TimeBaseInit(TIM4, &TIM_BaseStruct);
    TIM_Cmd(TIM4, ENABLE);

    GPIO_InitTypeDef GPIO_InitStruct;

    RCC_AHB1PeriphClockCmd(RCC_AHB1Periph_GPIOD, ENABLE);

    GPIO_PinAFConfig(GPIOD, GPIO_PinSource12, GPIO_AF_TIM4);
    GPIO_PinAFConfig(GPIOD, GPIO_PinSource13, GPIO_AF_TIM4);
    GPIO_PinAFConfig(GPIOD, GPIO_PinSource14, GPIO_AF_TIM4);
    GPIO_PinAFConfig(GPIOD, GPIO_PinSource15, GPIO_AF_TIM4);

    GPIO_InitStruct.GPIO_Pin = GPIO_Pin_12 | GPIO_Pin_13 | GPIO_Pin_14 | GPIO_Pin_15;
    GPIO_InitStruct.GPIO_OType = GPIO_OType_PP;
    GPIO_InitStruct.GPIO_PuPd = GPIO_PuPd_NOPULL;
    GPIO_InitStruct.GPIO_Mode = GPIO_Mode_AF;
    GPIO_InitStruct.GPIO_Speed = GPIO_Speed_100MHz;
    GPIO_Init(GPIOD, &GPIO_InitStruct);

    TIM_OCInitTypeDef TIM_OCStruct;

    TIM_OCStruct.TIM_OCMode = TIM_OCMode_PWM2;
    TIM_OCStruct.TIM_OutputState = TIM_OutputState_Enable;

    // Channel 1
    TIM_OCStruct.TIM_OCPolarity = TIM_OCPolarity_Low;
    TIM_OCStruct.TIM_Pulse = 1999;
    TIM_OC1Init(TIM4, &TIM_OCStruct);
    TIM_OC1PreloadConfig(TIM4, TIM_OCPreload_Enable);

    // Channel 2
    TIM_OCStruct.TIM_OCPolarity = TIM_OCPolarity_High;
    TIM_OCStruct.TIM_Pulse = 1999;
    TIM_OC2Init(TIM4, &TIM_OCStruct);
    TIM_OC2PreloadConfig(TIM4, TIM_OCPreload_Enable);

    // Channel 3
    TIM_OCStruct.TIM_OCPolarity = TIM_OCPolarity_Low;
    TIM_OCStruct.TIM_Pulse = 1999;
    TIM_OC3Init(TIM4, &TIM_OCStruct);
    TIM_OC3PreloadConfig(TIM4, TIM_OCPreload_Enable);

    // Channel 4
    TIM_OCStruct.TIM_OCPolarity = TIM_OCPolarity_High;
    TIM_OCStruct.TIM_Pulse = 1999;
    TIM_OC4Init(TIM4, &TIM_OCStruct);
    TIM_OC4PreloadConfig(TIM4, TIM_OCPreload_Enable);

For changing duty cycle I will use

void changePulseCH1_2(uint32_t pulse)
{
    uint32_t prim;
    prim = __get_PRIMASK();
    __disable_irq();

    TIM4->CCR1 = pulse + DEADTIME;
    TIM4->CCR2 = pulse - DEADTIME;

    if (!prim) __enable_irq();
}

As I understand, TIM_OCPolarity_Low will make channel output be first low and then high, while TIM_OCPolarity_High will be exactly opposite, thus making locked antiphase. Testing on LEDs seems to confirm that setting same pulse for both of them makes one LED dimmer and other LED brighter, if pulse isn't 50%. What I don't understand is the significance of the line

TIM_OCStruct.TIM_OCMode = TIM_OCMode_PWM2;

What is the difference between the PWM1 and PWM2? I can't seem to find reliable source of information on this, what is its purpose?

Also, what is the difference between three possible Center Aligned modes? There are

TIM_CounterMode_CenterAligned1
TIM_CounterMode_CenterAligned2
TIM_CounterMode_CenterAligned3

Standard Peripheral Library is very vague about it:

TIM_CounterMode : specifies the Counter Mode to be used
This parameter can be one of the following values:

TIM_CounterMode_Up : TIM Up Counting Mode
TIM_CounterMode_Down : TIM Down Counting Mode
TIM_CounterMode_CenterAligned1 : TIM Center Aligned Mode1
TIM_CounterMode_CenterAligned2 : TIM Center Aligned Mode2
TIM_CounterMode_CenterAligned3 : TIM Center Aligned Mode3

Thank you!


texts: Are there any traditional colours to use for the wiring in a 4 mA - 20 mA current loop?

texts:
I am designing a cable that carries a 4 - 20 mA current loop.

Considerations:

The positive lead is connected to VCC.
The negative lead is connected to a 120 Ω resistor (other end of the resistor is grounded).


texts:
I've written a test program which outputs 255 to the TLV5606 DAC via SPI, all which works as expected.

I then tried extending the program to update the value to 512, after a 5 second delay.

#include "mbed.h"

SPI spi(p5, p6, p7); // mosi, miso, sclk
DigitalOut fs(p8);

int main() {
    fs = 0;

    uint16_t fixed = 0x4000;
    uint16_t value = 255;

    value = value << 2;
    uint16_t final = fixed | value;

    spi.format(16,1);
    spi.frequency(100000);

    fs = 1;

    fs = 0;

    spi.write(final);

    fs = 1;

    wait(5000);

    value = 512;
    value = value << 2;
    final = fixed | value;

    fs = 0;

    spi.write(final);

    fs = 1;

}

Measuring with my oscilloscope, I can see that the initial voltage is ~1.01v, which is expected, however there is no subsequent change, after 5 seconds, or longer. I tried brings fs high and then low again as well, and this made no difference. Any thoughts on what's happening?

Here is what the scope shows for the first transmission (fs, and data):


texts:
Will someone please explain the purpose of inverting the outputs (0 through 15) as well as the use the NAND gates here?

2nd, less important question:  why are there two input G1 and G2 if the technical specs for this DIP states that all inputs (a,b,c,d) are only considered when both G1 and G2 are low, and than when either (or both) G1 and G2 are high, all inputs are "don't care" ?

My first question is more important... 2nd is just my observation that I wonder about.


texts: Removing pull-up resistors from breakout board

texts:
I use VL53L0X breakout boards for distance measurement on I2C, each with built-in level shifter and pull-up resistors (10kΩ, as measured). As I connect many of those on a single bus (5 and more), I need to remove the pull-up resistors to keep the total resistance above some critical value, about 1.63kΩ for 5V, as explained here, so that i2c low-level voltage does not go above 0.4V.

I would am not sure I identify correctly the resistor on the board and how to remove it. It is a cheap board from ebay, so of course no schematics and so on. The board looks like this:
[![board front][1]][1]
[![board back][2]][2]

This is a better back picture from Amazon:
[![enter image description here][3]][3]

By measuring resistances, I could identify the resistor as the one "103" (not EDI -- edited; thanks) in the middle, which is a 4-way resistor. It seems to be connecting more things together, so I think if I remove it completely, the board will stop working altogether. Is it doable "by hand" (I do have that fine tip for soldering but not much experience with miniature soldering)?

I appreciate any hints, I have numerics background, this is new to me :)


texts: Running DC DC converter at max. rated amperage

texts:
I purchased a board to run an old laptop LCD screen. The description on ebay says I need a 12 V 3 A input source. I only have 12 V 2.5 A and an old laptop powersupply at 14 V and 4.74 A. I thought about using a DC DC (LM2596) converter which is rated at max. 3 A to get the laptop power supply down to 12 V.

This feels like a hacked solution instead of purchasing a 3A power supply. But as I wanted to save money with this project and already have the converter I figured this maybe a solution as well.

Are there any safety issues with this solution I should consider? Any reasons one should never ever do that?


texts: Use a current sense transformer to step-up for a photoflash capacitor charger?

texts:
I need to charge a capacitor up to 640 V (from a 3V) source for an embedded systems project I'm working on. I've considered other options, such as voltage multipliers and Hulda-Clark based zapper circuits, and I think the following will be a better solution, given my space constraints.

I plan to use this Linear Technologies chip: http://www.linear.com/product/LT3484
to control the charging, but I'm having some difficulty finding a small flyback transformer with a 1:20 turns ratio suitable for this application.

I have found a current sense transformer that's the right size and turns ratio:
TDK Current Sense Transformer B82801B01, but its a current sense transformer and not a flyback transformer.


texts: In logic levels, why are both the driver and receiver needed?

texts:
Here is what my textbook has to say about logic levels:

  The mapping of a continuous variable onto a discrete binary variable is done by defining logic levels. [...] The first gate is called the driver and the second gate is called the receiver. The output of the driver is connected to the input of the receiver. The driver produces a LOW (0) output in the range of 0 to VOL or a HIGH (1) output in the range of VOH to VDD. If the receiver gets an input in the range of 0 to VIL, it will consider the input to be LOW. If the receiver gets an input in the range of VIH to VDD, it will consider the input to be HIGH. If, for some reason such as noise or faulty components, the receiver’s input should fall in the forbidden zone between VIL and VIH, the behavior of the gate is unpredictable. VOH, VOL, VIH, and VIL are called the output and input high and low logic levels.

(Digital Design and Computer Architecture - David Harris and Sarah Harris)

Since it seems that the driver itself is able to convert continuous analogue values to discrete ones (HIGH and LOW). Why do we need the receiver as well?

Thank you!


texts: FET - Source follower utilizing current source to lower voltage offset

texts:
I understand that if I use a FET as a source follower, the signal will be slightly attenuated due to the fact that there is some small inherent resistance in the FET, creating a voltage divider effect between the FET's internal resistance and the source resistor Rs.

In the student manual for 'The Art of Electronics' (Horowitz), he shows a diagram that implies using a current source in the place of Rs can create a circuit with no attenuation. As is the case with many diagrams in this book, his explanations kind of glaze over what is going on, without going into great detail.

In this particular situation, he's aiming to have 2 mA Id current flow. He picked the 1.4k resistor from the curve of ∆Id vs ∆Vgs given this current requirement - making Vgs = -2.8V.

In the diagram, he traces his reasoning: (1) Here drops Vgs, (2) so same current also drops Vgs here ... so Vout = Vin.

I get why Vgs drops across these resistors, but I don't understand how he arrives at the conclusion that Vout = Vin. In particular, I don't see why the voltage at the source of the top FET should be equal to Vin+Vgs.

Can anyone shed some light on this confusion?

Here's the diagram:


texts: Two resonances in the admittance of capacitor C

texts:
I have this question that has been haunting me for a week now. I was given a measurement file of a previous student. Allegedly, they are the measurements of the admittance of a circuit that is supposed to behave as an capacitive circuit. When I plot the values measured, I get the following figure:

What I don't understand, is why is there two resonance frequencies. I was expecting only one, the one due to the resonance of the parasitic inductance and the capacitance C?  Any ideas why is that and how can I interpret this behavior?
Thanks in advance
EDIT: the measurements were performed on a cylindrical conductor that has dielectric layer on top. In order to measure the capacitance created by this dielectric layer, another layer of Galium was used as a second conductive cylindrical plate for us to be able to quantify the capacitive coupling. So basically the measured capacitance is a cylindrical one and The measured admittance is that of a parallel RC circuit because of the presence of dielectric losses. So Yc is the module of the measured admittance of the circuit that could be modelled as an RC circuit and $\phi$ is the phase.


texts:
I have a question regarding using an n-channel mosfet in the high side with a charge pump bootstrap.

Lets assume the following:

Vgs max is 15v
Vgs(th) is 2v (logic level)
voltage pressent at source pin is 10v
charge pump is charged to 20 volts
all grounds are common

Now, the voltage at the gate must be higher than the source to turn on. Since the source pin is at 10v, the gate must be at least 2 volts (Vgs(th)) higher. So you have to apply at least 12 volt to the gate, so that the fet can turn on.
Now if i apply the output of my charge pump to the gate with the help of a transistor ( and here is the real question ) what voltage does the gate of the fet see ?

Is it 20 volts ? Bad because Vgs max is 15v.
Or does it see 10 volts ?  (20v pump - 10v source = 10v gate ?)

And if it sees only 10v, why or how ? I ask why, because i dont understand why its 10v even though im applying 20v.

Second question: Would it be still 10v at the gate if i use an external 20v battery with no common ground. + of the battery to the gate and - to the source ( which is at 10 volts )

Thanks

Edit: Added schematics for this example.

Edit2: Added second schematics for my second question.
(ofc there isnt a common gnd, but just saying)
Edit3:( Only the +15 volts gnd is the same gnd as the 10 volts battery )


texts:
Hello I have built a d latch using 4 NAND gates and an inverter made from transistors. Here is the schematic. D latch basic schematic http://courses.cs.tamu.edu/cpsc321/walker/labs/lab6.h6.gif

For some reason the latch does not remember its previous input like it is suppose to do. It just goes back to 0 as soon as I release the enable/clock button. I am using a 5v DC power source. Here is the truth table

 When I press data button and clock button I get a one but that one is not remembered. It just goes back to 0. I have drawn a schematic of my transistor d latch below. The data and enable pins are either connected to ground or 5v depending on what data wants to be inputted or saved.

simulate this circuit – Schematic created using CircuitLab

The led's do flicker quite a bit when I touch wires if that is a symptom of anything. The trapeziums are NPN transistors that are collector, base, emitter from left to right. The grey rectangles are diodes and the orange ovals are resistors. the black dots are connection points. Sorry for the bad drawing, I am not an artist. How can I get the d latch to latch the last input and if you happen to know how to stop the LED's from flickering that's a bonus. Thanks -Jack.


texts: I am trying to program a cc2530 mcu, all the example software and libraries are provided for IAR, but since I am on ubuntu, I am unable to use it, I have installed sdcc but I am still unclear as to how should I go about debugging codes and where can I get hardware abstraction libraries and linker script.