texts: Battery charger MCP73831 (2-OT) doesn't charge LiPo battery

texts:
I work on a wearable, battery powered device. When it is connected to an external power source it's supposed to charge the battery and switch load to that source.
I use LiPos 1000-2500 mAh. I've experimented with two different new ones, with the same result.

simulate this circuit – Schematic created using CircuitLab
But actually, it doesn't charge battery (not completely). Voltage on mcp's vbat pin is 3.9-4.01V (or even less). Not 4-4.2V as must be according to the datasheet. Also D1 is flickering.
I've tried to connect battery (2500mAh) though an amperemeter and it showed 300mA at max, instead of 500, and after several hours battery was even discharged up to 1 Volt! Without ampermeter (quantum effects? :) battery charges up to 3.8-3.9V after more then 8 hours.
I don't have  special precise power source, and tried macbook's USB port and iphone's  power adapter. I've tried with and without load.
UPDATE
I checked 2.1A power source - nothing changes.


texts: What is the proper term for the upper part, the one we push on push button switches? Is it button or knob (I also saw it referred as head and actuator)? I am asking because I want to buy some for a project but I don't want the whole mechanism for the contact to be made, just the plastic upper part. Red part in this picture.


texts: Does Transformer equivalent have anything to do with L12 when we have Lm?

texts:
There was question in my exam:

A single phase transformer 4000/120V 60Hz has the following parameters:
Lm = 450H, Rc = 160K Ohm, L12 = 19uH, L11 = 21mH, R2 = 1.44m Ohm, R1 = 1.6 Ohm
A 4000V source is connected to its primary and it has an inductance Load of
0.9 ohm and 0.8Lag in the secondary.
a) Find Load Voltage
b) Voltage regulation of transformer

My question is about the L12. is it just for confusion because we've got the Lm? if not how the circuit equivalent should be


texts:
I want to create a circuit that can detect audio frequencies and flash RGB LEDs different colors depending on the detected frequency. The frequency range will be from 20 Hz to 12 kHz, after looking at the chart below.

(source: independentrecording.net)

So my question is: what circuit design should I choose to make a good frequency detector? I suppose I would need

Preamp for the microphone (is it necessary for the ADC?)
Band pass filters (active or passive?)
A microcontroller with an onboard ADC that has a sampling rate of at least 24 kHz.

Before I get too excited, are there any circuits out there that already do this?


texts: What are the ways I can make my circuit communicate with a computer?

texts:
I am a novice at electronics hacking. I would like to know how I can make a circuit communicate with a PC. Take for example, a simple circuit, with one LED and a switch. The switch on the circuit however, is not used to control the LED. Pressing it communicates the present state of the LED. I have a program running on my computer, which has for an UI, a button and a graphic object; a black filled circle.

I should be able to turn the LED on and off from my computer by clicking the button on the screen.
Pressing the switch on the board, should communicate to the program the state of the LED. If the LED is on, the black circle should turn green, else it should turn black.

This a hypothetical situation I have described to explain the problem. I am not looking for a solution to implement this thing, but want to know how this communication between my circuit and the computer can be achieved, in a simple, inexpensive way, over

wire?
wireless?

And if you could suggest where I should look and what I should learn to get started with my electronics project, that would be of great help.


texts: Powering SN754410 with 5V, controlling with 3.3V

texts:
I want to use a bunch of SN754410 chips to control some electromagnetic valves. MCU is ATmega64A running at 3.3V. I'll be using 5V for powering SN754410 (VCC1). According to the datasheets low-level output voltage for 3V operation of AVR chip is 0.6V at max and high-level output voltage is 2.2V at least. At the same time low-level input voltage for SN754410 is 0.8 at max and high-level input voltage is 2.0V at least so I should be on safe side using these voltages (datasheet of SN754410 also confirms OK for 3.3V CMOS logic). The only thing I can't understand is the following quote on page 8:

however open or high impedance input voltage can approach VCC1 voltage.

What does that mean? How input of SN754410 can produce voltage? Is it safe to use AVR@3.3 + SN@5 together? May be it's better to use some kind of level shifters instead...
UPD 1
By accident I've powered SN754410 with 3.3V input (the same rail used by AVR) and it seems like the chip works fine. But it feels that I shouldn't rely on that mode despite of my personal case and a bunch of another posted on the Web...


texts: Charge USB device with power generating by mechanical computer keystrokes

texts:
I search on electronics.stackexchange.com but I not found an answer.

I want make a output on my keyboard to charge an usb device (ie: mp3 reader or smartphone).

- In first time I want to know if is there a mechanical computer keyboard generating current with keystrokes? (with current generation in keyboard)

- In second time I want to know how is possible to make that?

EDIT #1 :  The journal ACS Nano published an article on it in December 30, 2014.

This article describes a keyboard, which can among other features, harvest energy. But the abstract does not reveal the harvesting method and it is not clear if the harvested energy is sufficient to fulfil its own tasks.

EDIT #2 : http://ieeexplore.ieee.org/document/6136691/

  This paper presents a hybrid energy harvester which combines piezoelectric (PZT) and electromagnetic (EM) transduction mechanisms to scavenge vibration energy from a keyboard. The system comprises of improvements to the dome structure presented in previous studies, in which only PZT transduction mechanism was used to harvest 16.95 μW of experimentally verified power. An in-house modeling and simulation tool is first introduced in this work to evaluate the integration of EM transduction into the PZT system. The tool combines analytical mechanical equations and FEM results for magnetic fields for the optimization of the electromagnetically generated power. Two designs of different cost are then compared. It is concluded that the design utilizing the frequency-up-conversion technique at an incrementally higher cost is superior due to significantly higher contribution to the generated power compared to the alternative implementation without frequency-up-conversion. Modeling and simulations show an additional 2.81 μW power can be generated through EM integration to the previous PZT based keyboard energy harvester system.

According to user287001 comment:

  only 4077 years needed for 1 kWh..

I think (fix me if I mistake) USB device need 500 mA to charge 5V.

- I ask me how many times is needed to charge an usb device?

EDIT : I feel that this question goes beyond me


texts: What is the name/type for this soldering iron tip?

texts: I got a old soldering iron, I'm trying to find the replacement tip but I don't know what to search for. When I search soldering iron tip it only show the hakko style tips. Can someone help me identify this tip?


texts: why is shadow fading also called slow fading and large-scale fading?

texts:
I've encountered several similar claims regarding shadow fading on several books, and have some difficulty understanding them.

(1) Shadow fading is called slow fading because the duration of the fade may last for multiple seconds or minutes.

If the obstacles are still between the transmitter and receiver, why would the fade last only up to minutes, instead of forever until the obstacles are gone?

(2) Shadow fading is called large-scale fading; on the contrary, fading caused by multipath is called small-scale fading.

To my understanding, shadow fading is due to large obstacles such as buildings, that's the "large-scale". Where does the "small-scale" in multipath fading come from? Obviously, reflection of large buildings can cause multipath.


texts: Does it take more power (battery-life) to stream video or to do local video processing?

texts:
I have a raspberry pi with a camera. I want to take analytics from the video (mostly object detection). This doesn't have to be run in real time and the RPI doesn't need the output of the video processing.
What I'm wondering is if it would take less power on the RPI to do the video processing locally or to stream the video to a server using 5g? I need to have the longest battery life possible.


texts: Load cells in Wheatstone bridge to produce logic signal

texts:
The goal is to use 4 units of 50kg load cells in Wheatstone bridge to act as a load detector. It should output a logic 0 or 1 if the load is greater than a threshold value. A MCU will read the states of 100 load detectors through a series of PISO shift register. Potentiometers will be used to adjust threshold level and they have to be placed near the MCU which is 5-10 meters away from the load detectors.

I have trouble determining a circuit to read the differential voltage signals from the bridge. A signal amplifier IC and a comparator IC might be sufficient. But is there other approach?

Edit: The default weight around 2kg. The threshold value varies from 5kg to 20kg.


texts: How to correctly manipulate the I/O pins of PIC chips?

texts:
I learned a concept that when changing bit value of PIC I/O pin, PC would first read the value of the I/O port, and change the value, and write the changed value to the register.

I validate this argument by using this circuit:

The code I wrote in mikroC for PIC:

void main() {
     TRISB = 0;
     PORTB.F0 = 1;
     PORTB.F1 = 1;

     while(1) ;
}

I learned that because LED D1 only need 0.7 V, so RB0's voltage is about 0.7V. When my program set RB1 to 1, PIC first read the value of port B, get 0000 0000. And since RB0 is 0.7V, it was interpreted as low. So after changing the value(set prot B as 0000 0010), only D2 is on.

So I connect resistors between LED and IO pins, and changed the code:

void main() {
     TRISB = 0;
     PORTB.F0 = 1;
     Delay_ms(500);
     PORTB.F1 = 1;

     while(1) ;
}

At the beginning of simulation, the circuit act as I expected, voltage of RB0 is 4.5V.

However, after the 500ms delay, only D2 is on. It seems weird to me, I thought D1 and D2 would be on at the same time.(Read should get 0000 0001, so after changing, port B should be 0000 0011)


texts: RC Snubber for synchronous MOSFET (SMPS)

texts:
I am trying to understand the theory of RC snubber for synchronous buck converters. Some statements seem to be contradictory to me in the below mentioned application notes:

“The snubber capacitance is designed to block lower frequencies (such as the switching frequency) but appears as a short at the ringing frequency. “
http://www.ti.com/lit/an/slpa010/slpa010.pdf - Page 12
“It is important to notice that only the magnitude of the ringing was affected by the boot-resistor and gate resistor methods. The snubber method also changed the ringing frequency and damped out the ringing waveform”
http://www.ti.com/lit/an/slyt465/slyt465.pdf - Page 6

My doubts:

How does the snubber capacitor acts as a short circuit during the ringing frequency ?  After all it is the one which decides the new ringing frequency.
Why is Cp (parasitic capacitance) used in the characteristic impedance calculation? The equivalent capacitance should have been considered, which is Cp + Csnubber.


texts: How do coaster table pagers order themselves?

texts:
You've probably seen them. Those coaster or puck size electronic things they give you at a restaurant to buzz you when your food is ready.

A seemingly common element of their design is that they have a pair (sometimes more) of metal posts that (apparently) run through the device. These facilitate the stacking of the devices in to a pile on a charger. I assume the current just runs up the common bus created by the posts as they are aligned to be on top of each other.

Another feature of the pager is that they occasionally strobe an LED. Mostly I think just to let folks know the things are alive and charged.

However, when combined in to a stack (both on and off of the charger), the pagers will orient themselves so that when the pagers strobe individually, they will do so in order, say, from bottom to top. Giving the entire stack an attractive, animated light display.

So, my question, is how do the pagers self orient? Given that their only connectivity is through the pair of charging posts? Now, they may have an optical sensor to tell them they're underneath something. The may have a magnetic sensor to tell them they're near each other. But I'm still not sure how they coordinate to determine not just who's on top or bottom, but, indeed, their place in the stack.

What are some mechanisms that can facilitate this kind of connectivity and ordering?

Addenda responding to comments:

The animation behavior happens on and off the charger. It's very possible the LED blink could be a PING of some kind from the central server ("not only is the puck alive, but the server can sense it as well"). It's possible that the pucks can talk back to the server. How would the puck know the ID of the device is was placed upon to relay to the server (or was placed upon it). If the server is driving the ping, then it's transmitting the ping packets in order, with the animation mind. If you have several stacks of the pucks, you will have several animations (though I can't say if they happen simultaneously, this is all casual observation in a restaurant). It's very possible the devices might have other optical or proximity sensors, but seems excessive to do that just for this feature, which suggests they manifest it with the hardware they already have.

No, I'm not familiar with the 433Mhz protocol.


texts:
Given the transformer connection of the primary and secondary winding, in example: Yd11, how do I connect the LV side so I get the correct phase-shift?
I understand what clock vector groups represent, and I can draw the vector diagram, but I find it quite hard to connect the LV side to get the correct phase-shift.


texts:
Hi i am designing my stm32f401rbt6 board i have stlink v2 which is common and cheap :

I used blue pill (stm32f103),programming is done with 3.3v,gnd,swclk and swdio.So can i do same process with stm32f401

edit:

i tied the swclk swdio 3.3v GND to programmer`s pins but i cant detect my MCU by st-link v2.i am not sure where is my mistake

edit:

power line is under the board and it is so complicated but i checked every pin multiple times.


texts: How to compare carry-lookahead and ripple-carry adders?

texts:
I am a bit stuck with the concept of carry-lookahead adder so I'd like to compare it with another concept I'm more familiar with: the ripple-carry adder. I'm trying to make some basic math comparison between the two ones.

Assuming every gate can accept at most 2 (two) inputs and has a delay of '1', and that, at least for the moment, we're adding two 4-bit numbers.

Let's start with the ripple-carry adder. I've built it putting four full-adder in column. Every carry-out is computed as

$$c_i^{(\text{out})} = a_i \cdot b_i + \left[ a_i + b_i \right] \cdot c_i^{(\text{in})} \qquad \text{where} \; \cdot \equiv \text{AND},\, + \equiv \text{OR}$$

Since

$$\left[ a_i + b_i \right]$$

is computed in parallel for every full-adder, the cost for computing the k-th carry-out is

$$1 + 2k$$

right?

Now say we want to compute carry's at first, then the sum -- bit by bit. Using the formula above, (and omitting the superscript) we write that

$$c_{i+1} = g_i + p_i c_i$$

Hence, we can write recursively the fourth term as a function of the first one, i.e.

$$c_1 = g_0 + p_0 c_0 \\
c_2 = g_1 + p_1 g_0 + p_1 p_0 c_0 \\
\vdots \\
c_4 = g_3 + p_3 g_2 + p_3 p_2 g_1 + p_3 p_2 p_1 g_0 + p_3 p_2 p_1 p_0 c_0$$

Of course it is the last term that costs more. How much? I'd say

$$\lceil \log_2{4} \rceil + \lceil \log_2{4} \rceil $$

where the first term is needed for computing every AND operations, while the second one for computing every OR operation.

Hence for an overview ...

$$1 + \lceil \log_2{k} \rceil + 2$$

where the first term is the gate delay needed for computing every propagator/generator term, the second term is the one needed for computing every carry_in, then the last term is the gate delay of a single full-adder.

That is, the comparison of "time" between a ripple-carry adder and a carry-lookahead's one is the comparison of the following two functions

$$1 + 2k$$
$$3 + \lceil \log_2{k} \rceil$$

I know  that carry-lookahead can be improved more, and I've done that by myself...though I'd like you give me some feedback about the stuff above for now.


texts:
I want to use DSP's parallel I/O to communicate with FPGA synchronously but find an issue with the timing. In this design, DSP writes data to FPGA through its parallel IO. The CLKOUT is generated from DSP and used as FPGA's system clock. My purpose is when the condition (nIOSTRB=0 and RW=0 and nIS=0) is met, the data 'D' should be assigned to the corresponding registers in FPGA according to the address A[19:0].The issue is when I tried to sample D with CLKOUT on FPGA, I can't find a proper clock edge.
I once tried to read D bus on CLKOUT's rising edge 'A' with the condition(nIOSTRB=0 and RW=0 and nIS=0). Then I found signal nIOSTRB's rising edge may exist either before or after CLKOUT's rising edge A. As you can see parameter td(CLKH-ISTRBH) values between [-2,3]ns in the table below. When it is before edge A, the condition(nIOSTRB=0 and RW=0 and nIS=0) can't be met but the 'D' is valid at that moment, so this 'D' is missed.
Other edges of CLKOUT are also not proper for sampling 'D' in my opinion. I've tried to use different ways but all failed, so my question is how to timing correctly sample 'D' with CLKOUT?


texts: How to reduce SPI bit errors between a Bus Pirate and a BIOS chip?

texts:
I need to eliminate bit errors when reading a BIOS chip using a Bus Pirate v3.6.

The BIOS chip is still soldered onto the motherboard.  I'm using a Bus Pirate probe set to connect the Bus Pirate to a SOIC test clip.

Here's a diagram:

laptop  ---usb--->  bus pirate  ---probes---> ---clip--->  BIOS IC

The motherboard has power but is not booted (the computer's power supply is plugged in but the computer is not turned on).  I needed to plug in the computer to power the BIOS chip; powering the BIOS from the Bus Pirate didn't work (maybe because the Bus Pirate's weak power supply was trying to power the whole motherboard via the BIOS VCC pin).

Using flashrom I can read the BIOS chip, except I get lots of bit errors (about one every 400k bits).  The Bus Pirate is configured to use a 30kHz clock (the lowest setting).

Is there anything I can do to reduce the bit error rate without desoldering the SOP8 BIOS chip?

Bus Pirate SPI settings:

Clock polarity: "Idle low" (CPOL=0, I think).  (The other option is "Idle high".)
Output clock edge: "Active to idle".  (The other option is "Idle to active".)
Input sample phase: "Middle".  (The other option is "End".)  I'm not sure what this means, but "Middle" is the default.
Output type: "Normal (H=3.3V, L=GND)".  (The other option is "Open drain (H=Hi-Z, L=GND)".)

Unfortunately flashrom has the above settings hard-coded, so if they're not right for my BIOS chip then I'll have to edit the source code and recompile.


texts:
I had bought a Maxwell ultracapacitor (this one) rated for 1200F at 2.7V. Its ESR according to the datasheet should in ballpark of 0.4 milliohms.
It got delivered today and is undamaged and new by appearence. However, I don't understand something.
To test it, I charged the capacitor briefly (with a 1.8V supply with 1A peak current) to 50mV and shorted it across a wire (it charged very slowly as expected from a supercapacitor). Nothing.
I tried again with 500mV. Still nothing.
Then with 750mV. Still doesn't do anything.
To, investigate it further, I charged it to 750mV and shorted it across a wire with the multimeter in parallel set in voltimeter mode. When I shorted it for 2 seconds,the voltage dropped close to zero when the short was active. However, upon removing the short, the voltage climbed immediately back to 750mV.
This is behaving as if the ESR of the cap is really high and doesn't even discharge easily with a dead short.
Why is it doing this and how do I stop it from happening?


texts:
I peered into one of the VCD files that was generated when I ran a Verilog testbench using Cadence's ncverilog suite. There, I noticed many wires (belonging to different module scopes though) that had been given the exact same IDs. For example, multiple wires (one being out[23], another being o_prod[30]. both belonging to different scopes) had the ID '.

How does any waveform viewer know which of those is being referred to when it is reading the value change information?


texts: Battery powered project with multiple voltages

texts:
I am working on a project which requires three different voltage levels - Motor that can run at 7-12 V. Hall sensor that can run at 5-25 V. nRF24L01+ that can run at 2-3.6 V and AVR (arduino) which can run at 2-5 V.

Since battery life is a major concern, I think voltage regulators (specially the linear ones) will be a bad idea. For motor, I am planning to use a LiPo battery - 11.1 V rated. It'd be great if remaining circuit can be run on 3V. This way I can use AA cells for them. The only blocker is Hall sensor. I saw one which can run at 2.5-25 V but most of them run at 4.8-25V so I am not sure whether I'd be able to get low power version in local market.

As such, I am left with two choices:

Use AA cells to get 3V which will take care of Arduino and nRF.
Use boost converter to power Hall sensors.
Use 2xAA cells to power up Arduino and nRF and another 2xAA cells
added in series with the previous ones to get 6 V and use it for Hall
sensor.

Which one would be a better idea?

Also, it'd be great if you can suggest me some non-latching type Hall sensors in 3 pin sil package, if possible with working voltage range starting from 1.5 or 2 volts.


texts: IR Remote, use a relay to send on and off pulses

texts:
I have a little problem. I'm using the raspberry pi to send a output signal from the GPIO pins to activate / deactivate the relay. I have a IR remote, when i short the two "connectors" on (for example G1) on the remote together the control activates. But If I want to do it like this I would have to use two relays on each button. One relay for on(g1), and one for off(k1).

Is there a way to make it turn off and on with only one relay?


texts: How to read all information from 125 khz RFID card?

texts:
We are working on a project, where user should be able to access the application via rfid card and PIN.

We have got sample card from client and procured reader from online store, which is following:

http://kitsguru.com/index.php?route=product/product&product_id=592&search=rfid+reader

This card can be connected to computer and is identified as hid device. It works as keyboard wedge. (When I open notepad and swipe the card over reader, it gives output like 0008011225 , which is unque serial number printed in the card, i can actually read this number in the surface of the card)

Client says this card also store more information about user in it. But we are not able to read it.

My question is:

  How can we read all the information available in the card? Do we need
  another reader, if yes please let me know more about it, like what it
  is called etc.

I am not from electronic background.


texts:
I'm learning how to run a Nokia 5110 LCD (similar to this) using an atmega328p chip. I don't understand how the backlight works. If I power the LED/backlight from one of the chip pins, it turns on when I set the pin LOW, rather than HIGH. For example, with the LCD backlight connected to PB0, and using the following code:

#include <avr/io.h>
#include <util/delay.h>

int main(void){
    DDRB |= 0b00000001;
    while(1){
        PORTB |= 0b00000001;
        _delay_ms(2000);
        PORTB &= ~(0b00000001);
        _delay_ms(500);
    }
}

The backlight is off for two seconds and on for 0.5 seconds each time through the loop. I checked the voltage to confirm, and when PB0 is high (3.3V), the backlight is off, and PB0 is low (0V) when the backlight is on. If I connect the backlight directly to ground, it stays on.

The tutorials I've been reading (e.g. SparkFun and Adafruit, and yes they're for Arduino but I'm just using the atmega328p chip) clearly show the backlight being connected to a voltage supply, not ground.

My question is: is this normal, or have I got an oddball Nokia screen with the backlight wiring reversed? How should I be wiring/controlling the backlight?

EDIT:

Here's the board I'm using:

Ebay

I notice now that it lists a 'backlight control terminal', rather than a backlight VCC as in the tutorials I'm using.


texts:
I have an LM317AHVT power supply with PNP pass transistor.

I noticed that the power transistor is heating up to about 64C after a few minutes. I am using an 130x80x30mm heatsink and an 92mm fan to cool the heatsink. The temperature of the heatsink is about 46C.
I mounted the transistor using mica insulator and thermal paste.

I also made another test, using a bigger heatsink (170x80x35mm), and the temperature of the TIP36C transistor was the same (about 64C) even if I used a bigger heatsink. The temperature of the heatsink was about 40C. I also used the same fan to cool the heatsink and the transistor was mounted using mica insulator and thermal paste.
In both cases, the transistor was mounted using an M3 screw.
The fan is blowing air like in this image:

This is the schematic of my power supply:

The input voltage is about 39Vdc (measured on the filter capacitor), the output voltage is about 0.6V (the power supply works in constant current mode, because I want to test the power supply in the worst conditions) and the current throungh transistor is 1A. The current through LM317 is about 0.7A.

Is this temperature normal or it should be less?
When I used a bigger heatsink, why the temperature remained the same?
It is OK to use the transistor without mica insulator and only with thermal paste?
Will the transistor be damaged if I will use it at 64°C?


texts: Effect of a wire thickness affect the magnetic field

texts:
I understand that the thickness of a wire affects the resistance of a wire and thus the current flowing through it, and this in-turn would affects the magnetic field.

But if I am able to supply the same amount of current through the two wires of different thicknesses, in theory, I should be able to witness the same magnetic field from both of the wires right?

So, can I say that only current affects the magnetic field and not the thickness?


texts: Calculating resistor values for STEF01 overvoltage protection

texts:
EDIT : I was making a mistake and there isn't an issue in the data sheet (see answer below). Keeping here for reference to others.
The STEF01 is an electronic fuse by ST with features such as soft start, overcurrent protection, undervoltage protection, overvoltage protection:

Data sheet:
https://www.st.com/resource/en/datasheet/stef01.pdf
The overvoltage protection is configured by setting values for R1 and R2, but I can't understand how this is done correctly.
Page 9 of the data sheet has the following equation:

(resistor values in k Ohms)
e.g. for a VClamp of 48V: R2 = 100k, R1 ~= 18128k
However this doesn't match the values denoted in the graph:

(the equation doesn't seem to match the graph).
Notes:
The circuit is something like this:

Where RH, RL are R1, R2 respectively, and the divided voltage is compared to 1V.
Page 8 states that the internal divider current is fixed to 10 uA. This is a bit strange and might be the key to understanding this.


texts:
I recently bought this LCD screen for a project:
https://www.jaycar.com.au/4-digit-field-effect-lcd/p/ZD1886

This LCD screen is just for testing at the moment, the final project will use these (I Hope): http://au.element14.com/lumex/lcd-s2x1c50tr/no-of-digits-alpha-2-5/dp/1703044

I read the specs and both say that they run at about 3V (The second one I believe says 3-5V).

My project is running off of 6V (4 x AA), and I read online that to drive something that requires 3V from a 6V supply, is to put another wire between two of the pairs of batteries:

+6V    +3V     GND
AA AA | AA AA

(I hope the above makes sense).

So back to my initial questions

1) I did a few tests of hooking 3V up to the ground and one of the pins for a decimal place (as I won't be using those so it doesn't matter to me if those parts die), and I noticed that upon disconnecting the LCD section remained in its darkened/visible state for about half a second, and so I was curious and hooked 6V up to another decimal point (again on a second I know I won't need), and it became visible, and still worked afterwards, but it remained darker for about 2 seconds.

Is this caused by the higher voltage actually damaging the insides or what's the go here?  I would have assumed if I put double the recommended voltage, it would have stuffed that segment, or the whole LCD screen.

2) As per the above question the segments remain on for about half a second, while my project won't require quick timing, I want to know if there is an AMP limit (similar to LEDs) and I just can't notice it in the specs, or will I be safe to hook the LCD straight to the supply?


texts: Problem with XC8, RX interrupt [PIC18F4550]

texts:
I have a problem with my interrupt and I don't know why. I want to use an interruption each time I receive a data from my RX port. So, I used the interrupt on the port RX of my microcontroller. My problem is, I can detect an interruption but I am locked into the interruption. I'm locked into like a while(1). Any idea?

This is my test code:

//Functions//

void interrupt SerialRxPinInterrupt(void);

int main(int argc, char** argv)
{
    //Variables//
    unsigned char UARTConfig = 0, baud = 0;

    //Toggle led//
    TRISAbits.RA1=0; //output

    //Configuration internal clock to 8Mhz//
    OSCCONbits.IRCF0 = 1;
    OSCCONbits.IRCF1 = 1;
    OSCCONbits.IRCF2 = 1;

    /*UART PINS*/
    TRISCbits.RC6 = 0; //TX pin set as output
    TRISCbits.RC7 = 1; //RX pin set as input

    //UART Configuration//
    UARTConfig = USART_TX_INT_OFF & USART_RX_INT_ON & USART_ASYNCH_MODE & USART_EIGHT_BIT & USART_BRGH_HIGH ;
    baud=51; //Formula 16(X+1) = Fosc/Baud Rate
    OpenUSART(UARTConfig,baud);

    //Interrupt configuration//
    RCIF = 0; //reset RX pin flag
    RCIP = 0; //Not high priority
    RCIE = 1; //Enable RX interrupt
    PEIE = 1; //Enable pheripheral interrupt (serial port is a pheripheral)
    ei();   //(INTCONbits.GIE = 1)

    while(1)
    {
        LED=1;
    }

    return (EXIT_SUCCESS);
}

    void interrupt SerialRxPinInterrupt(void)
    {
        LED=0;
        //check if the interrupt is caused by RX pin
        if(PIR1bits.RCIF == 1)
        {
            RCIF = 0; // clear rx flag
        }
    }


texts: Below which voltage should an AGM deep cycle battery cease to supply charge to devices

texts:
I am using an AGM deep cycle battery 130Ah 12V connected to 200W solar panels and a 500W inverter to power electrical devices such as fans, laptops and lamps. The inverter has an automatic cutoff feature at a nominated voltage. I understand that deep cycle batteries should not be discharged below 12V (approximately 50% SOC). I have noticed that when the inverter is in a state of providing charge that the measured battery voltage is considerably lower than that measured if I switch the inverter off. Sometimes the measured battery voltage can jump as high as 0.5 to 1V when the inverter is powered off while it is powering devices. On this basis, I have set the inverter's auto cut off setting to 11.5V. Sometimes the voltage drops to 11.5V or less and I lose power even though the battery's actual voltage is much higher.

If the battery should not be discharged to less than 12V, does this refer to the battery's resting voltage or the lower voltage that I am seeing while it is powering devices?

What is a safe level to set for the inverter's auto cutoff voltage so that I don't destroy the battery and also to prevent devices from cutting out while the battery still has a sufficient SOC?

UPDATE:

I don't have the battery's datasheet handy. This information is available on the battery itself:

Valve Regulated AGM Rechargeable

BATT130LED

Charging Details:

Float 13.6-13.8V

Equalisation 14.4-14.7V


texts: Will crimped wire or soldered wire carry a current better?

texts:
I am running a 160amp DC current through a 1/0awg wire.  Will the connection be more reliable with crimped connections, soldered connections, or screw terminals?

I have looked online and it seems that all of those connectors have their advantages and disadvantages, but for something with such high DC amperage what will be the best?

I would lean towards soldering because a good solder connection will not have any air, but I want to know if I am wrong with that thought.


texts:
I have two signals sampled at, say, 256 Hz. I want to make the difference between these two signals and downsample them, say until 32 Hz.

Is it rigourously the same (in term of final result) to make first the difference between the two original signals and then downsample OR downsample separately the two original signals and then make the difference and that's it ?

If they are not equivalent, what's the best and why ?

Thanks


texts:
I've been trying to get an SSHI circuit running on LTspice for several days now (see below schematic). My problem is the following: the simulation (.tran) stops after a hundred milliseconds. Being a beginner, I don't know what to do about this problem.
Thank you in advance for your help.


texts: Why does quantization noise in ADC have such a wide bandwidth?

texts:
In the slide shown below by red arrow  we have quantization noise up to fs/2, but why?
From Nyquist fs=fb/2  for good sampling but why is there noise here noise up to fs/2?
What is the logic ?


texts: (Capacity 20hr: 65AH) Does this mean 65amps per hour for up to 20 hours?

texts:
Cranking Amps: 675
Im trying to find a good battery for a project.
That part where it says "20hr" keeps making me rethink what i sorta hope it means.


texts:
If I have a source voltage of 5 V going to a 10000 µF capacitor will the voltage/amps remain the same (obviously it will discharge) when I disconnect the source?

Example:

5 V 1 A Src ----- 10000 µF --- (5 V 60 mA electronic drain) -- (back to the 5 V Src)

simulate this circuit – Schematic created using CircuitLab

Will the capacitor dump all its voltage/amps at once? or will it only be drained what the electronic drain is meant to use(5 V 60 mA until capacitor is fully discharged)?


texts: Newbie question - sawtooth signal generation - capacitor discharge via bjt

texts:
I'm trying to realize a sawtooth wave generator. The circuit is composed by an op-amp integrator which creates the ramp. Then the integrator output is chained to a comparator with a fixed threshold, which feeds a NPN BJT through a resistor. I want to use the BJT as a switch.
When the input signal is below the threshold, the Ib current is 0 and BJT Vce is 'high' and the Ib is null, but when the input signal is over the threshold, the BJT Vce becomes 'low' (saturation condition) while the Ib is greater than zero. I'd like to connect the BJT to the Capacitor in the integrator module so that the capacitor can be discharged, but I don't understand how. Can you help me please? Thank you very much.

Here is a LTSpice sketch of the project.


texts:
I am designing a product solution which needs a 240V AC to 12V DC. I am getting that done with one of those standard laptop chargers from a reliable OEM(with necessary certifications) which looks like this with a plastic case.

The DC connector from this power supply goes to my device via a mating female DC jack. My device has a painted sheet metal casing. Its not mains earthed as the power supply DC output connector is not having the Earthing pin(Although the AC mains plug has it). After reading about Connecting Chasis GND and PCB Circuit GND here, I am thinking of connecting the Circuit GND with the Chasis via Mounting holes at a few points(I believe most PC Motherboard manufacturers do the same).

Should I be doing the above step as the Chasis is effectively not grounded?
If its connected and there is ESD on the metal chasis, wouldn't the circuit get damaged as its connected to the Circuit GND at multiple points via mounting holes?


texts: Rectenna - What's the Purpose of the Capacitors?

texts:
My current knowledge is a single college introductory EE class. I came across this video which shows the user harvesting electromagnetic (radio?) signals into electricity (using a couple of capacitors and diodes).

I do understand how absurdly inefficient this is, but it's still a project I'd like to try anyways to gain some understanding. (Yes, we have another very abundant electromagnetic radiation called visible light, and yes, I understand if I wanted electricity from "thin air" it would be much better to use a solar panel)

He included this diagram:

And these figures:

C1 = C2 0.22uF, 100V, Ceramic or Polyester
Diodes 1N34, OA70, 1N4148
C3 = C4 100uF 16V, electrolytic

I believe I understand what the diodes do (rectify electromagnetic radiation to energy) and the C3 and C4 capacitors (store energy), but I'm not sure what is the purpose of C1 and C2 capacitors. Would I even need them to complete this project? Could I substitute them?

Thank you! And maybe a follow up secondary question (or perhaps it's required for my main question). Could someone explain in general how this circuit works? I think I somewhat understand, but I feel like there are knowledge gaps. For example, where is ground? Once I understand well enough, I would love to buy the parts to try this out!


texts: Do I have to protect the CD4013 outputs from short circuits?

texts:
I'm trying to determine whether a CD4013BE ("CMOS Dual D-Type Flip Flop") can take damange if one of the outputs (Q or Q-bar) is set to high, but shortened to ground (or vice versa) with no resistor in between. (I just take this particular IC as an example as it is something I'm currently working with, but I'm wondering how to determine this in general.)

Other ICs I have looked at have a specified maximal output current - which would let me determine what kind of resistor I can append to the output to protect the device in case of a short circuit. But even then many times it is not clear if this is just e.g. the safe output current without the voltage dropping, or whether exceeding this limit will actually damage the circuit.

The datasheet (pdf) only specifies a maximal input current of 10mA, but I think since it has a separate supply input this is not relevant for what I'm trying to determine.

So how can I determine whether and how I need to protect the output pins if I anticipate a possible short circuit?


texts: In a battery continuous contactor used as a master switch, what limits the current draw through the coil once the contact is shut?


texts: Common practice for creating software switchable power rails

texts:
I have created a circuit which has a HackHD camera attached to it. To turn on and off the video, you drive a pin to ground for a fraction of a section. The GPIO pin fluctuates on boot, which triggers the camera into an unknown state. I'd like to prevent the camera from coming on till the system is ready (which could be many hours later).

My solution so far has been to create a power rail I can turn on and off to control if power is reaching my attached sensors (such as the camera). Is there a common way to create this, or should I just use some Half-H Bridge drivers to turn on and off the power when I want? I was considering using the SN754410 HBridge chip. https://www.sparkfun.com/datasheets/IC/SN754410.pdf

All thoughts are welcome.

Cheers,

Gregg


texts: Finding the power output when one single sideband at m=0.4 is transmitted together with the carrier component which is reduced by 26dB

texts:
Question

  An AM transmitter has an output of 24kW when modulated to a depth of
  100%. Determine the power output from first principles when one single
  sideband at m=0.4 is transmitted together with the carrier component
  which is reduced by 26dB.

My Work

Am I correct?

Thank you for your help.


texts: Is it necessary to add fuse protection (at the inputs) when using multiple DC-DC converters?

texts:
I would like to know if it is necessary (or recommended) to add fuses at the inputs when using multiple DC-DC converters. I have attached a quick schematic to illustrate what the design would look like if fuses are involved.

I guess in principle the fuses are there to protect the other DC-DC converters in case one becomes shorted.

However the DC-DC converters I plan to use seem to advertise "continuous short protection" and various other protections as well (ex: PYB20-Q48-S12 from CUI Inc.).

Are fuses really necessary if there is already protection in place? Would I be doing potentially more harm than good by adding them to the circuit? (ie: if I end up selecting fuses with incorrect thresholds)

Cheers!


texts:
One of the signals I've traced in ISim is a 16-bit bus. How do I find all time points when its level became a given value?

Running the simulation takes several hours, and I don't know in advance what values I will be searching for (I come up with the next step as I get deeper and deeper into debugging), so I am looking only for after-the-fact solutions (so changing something in the original VHDL to print something out on encountering that value and rerunning the simulation is a no-go).

More generally, I think I could get good mileage out of programmatic access to the simulation results -- what is the format of the resulting .wdb file, and are there existing libraries to parse it?


texts: When talking about input and output impedances, what are we comparing them to?

texts:
Let's consider a theoretical highpass filter:

simulate this circuit – Schematic created using CircuitLab

I'm trying to show that the worst-case input and output impedance is R but the whole concept of input / output impedance isn't really clicking for me.

Resistors have impedance. Capacitors have impedance. How can an input or output node have impedance? I think that they must be comparing the node to something but I'm not exactly sure.

Initially I was thinking that input impedance must be the amount of impedance that would be met as the current traveled through my RC filter. If the frequency was high, C1 would look like a short and the current would flow through R1 to ground. If the frequency was low, C1 would look like an open circuit and impedance would be infinite. Having a low input impedance is the worst-case scenario and I just showed that the lowest it could be is R1. So that seems to work.

Following that train of thought, I figured that output impedance must be the amount of impedance that would be met as the current traveled through ..... the rest of my RC filter? This train of thought suggests that C1 is irrelevant because the only place left for the current to go is through R1. That is the right answer but it seems like I got there incorrectly.

Is this right? If not, can you please explain it?


texts: How does Return/Insertion loss work for wireless devices if there’s no cable?

texts:
I understand return loss is the ratio of how much signal is reflected in a transmission line. But for wireless devices there is no cable. So how is this measured?

So is the impedance mismatch for wireless devices between air and the antenna?


texts: Mic preamp: Inverting or non-inverting op-amp configuration?

texts:
What are the relative merits of using inverting/non-inverting op-amp configurations for a microphone preamp? While searching for microphone preamp schematics based on op-amps, I have found both inverting, and non-inverting varieties.

You can have a non-inverting amplifier, which presents a massive input impedance to your microphone. The values of R1 and R2 do not alter the input impedance of the gain stage as far as I see.

You can also use an inverting amplifier, but here you have to make sure that the value of R1 is sufficiently high so as not to load the microphone (perhaps using the rule of thumb that the input impedance should be approximately 10x the nominal impedance of the microphone).

Aside from signal phase, are there any major differences in the outputs from these gain stages??


texts: Use smartphone fingerprint sensor with MCU

texts:
With the rise of fingerprint sensors on smartphones, one could only wonder, is there a way to re purpose them to use with a MCU. They are fairly accurate and very cheap. LG G6 sensor

I noticed most of them have 10 pins as their interface, are there any available datasheets for any of them?

Could someone give me a hint as where to look for the protocol specifics?

I know that the sensor probably doesn't do any processing and it is left to the SOC on the phone, however i think such processing could be replicated on a fast ARM MCU.


texts:
I am trying to understand DAC operation on STM32 nucleo-L476RG.
I am running a test script which iteratively changes DAC input from 0 to 4095, raising the output voltage from 0V to 3.3V, as you can see in the image.
DAC is tuned to use a buffer and has a trigger ON.

However, when I am adding a load (simple blue LED),  the maximum output values over 3.1V are never reached and being cut off.

I would be really grateful if someone could explain such a behaviour.


texts: How to Wire a 120V Dryer Motor for Use in Other Projects?

texts:
I have a Whirlpool Dryer Motor (Model Number S58NXMKE-6674 or Part Number: 3395652) Image Below:

This is a type of universal motor that uses an electromagnet instead of a permanent magnet in the stator region. I have a hypothesis that I may be wiring this device improperly. I've also observed a curious thing. When using an Ohmmeter to measure the resistance between the 2 red wires (Which I assume are for the brushes giver their larger diameter) I get an overload condition, indicating non-continuity. I have a picture of what the wiring situation looks like below.

Using the multimeter's connectivity mode I've determined that:
The black wire is not connected to anything, and that
the bright green wire on the bottom is the cases's ground connection. This just leaves the two large red wires (Which I believe were directly wired to the 120V (One was wired to the mode selector switch I think), and the two smaller wires (The blue sky one, and the white one) which I believe are the field coils.

What is the proper wiring for this? I've assumed that the two red wires are for the brushes and tried a wiring scheme of (All are series connections): Hot wire -> Red Wire 0, Red Wire 1 -> Field Winding 0, Field Winding 1 -> Neutral. When I flipped the switch, nothing happened and my clamp on multimeter read 0A when clamped just on the hot wire. Granted I was using 120V, but I would have expected around a burst of 12A or so and for the motor to start spinning, this didn't happen.

Is the black wire relevant somehow, or is it just used for a computer to manage speed or RPM or stats or something like that? What is the correct wiring for this type of motor?

Edit 0: Judging from the comments this is almost certainly an induction motor without a capacitor. I'll retry it in with a new setup tomorrow.


texts:
My question intersects with "What does this op-amp circuit do? (part of an ECG)", but I need some more detailed clarification on the opamp integrator of this right leg drive circuit as found in the LT1168-Datasheet, especially what calculation is behind C1, R1, R2 and the frequency response of that integrator...

If I understand correctly the integrator acts like a low pass filter because of the capacitor C1 in the feedback path that alters the output gain with increasing input frequency. I reckon "POLE AT 1kHz" is meant as the point where the integrator starts to attenuate the output signal with increasing input frequencies (and so, amplifying only the wanted common mode signal (50Hz/Europe)). Can you please explain how the "1kHz" calculation come about? I am confused by two resistors in the feedback path. What does R2 do?


texts:
I wrote simple uart transmit and receive functions(for serial communication between PC and stm32f4 discovery board). I am using usart4 on the board and a usb to serial converter to create a virtual COM port. Aso, when any character is received from terminal , an LED connected to PC1 must light up. But neither the transmit nor receive functionalities seem to work and i cant figure why.

The folowing is my code:

#include "stm32f4xx_hal.h"
//#include "cmsis_os.h"
#include "stm32f4xx_hal_uart.h"
#include "stm32f4xx.h"
#include "stdio.h"
#include "string.h"

#include "rt_misc.h"

#ifdef __DBG_ITM
volatile int32_t ITM_RxBuffer;
#endif

void SER_Init (void){
    #ifdef __DBG_ITM
    ITM_RxBuffer=ITM_RXBUFFER_EMPTY;
    #else
    RCC->APB1ENR|=(1UL<<19);//Enable USART 4 clock
    //RCC->APB2ENR|=(1UL<<4);//Enable USART 1 clock
    RCC->AHB1ENR|=(1UL<<2);//Enable GPIOC clock
    GPIOC->MODER &=0XFF0FFFFF;
    GPIOC->MODER |=0X00A00000;
    GPIOC->MODER |=0X00000008;
    GPIOC->AFR[1]|=0X00008800;//PC10 UART4_Tx, PC11 UART4_Rx (Connect RX of xbee to pc10 of board, TX to PC11)
    UART4->BRR=0x1117;

    UART4->CR1=0X200C;//    setting data word , enabling uart(UE), enable tx,rx(TE,RE)
    UART4->CR1 |= 0x0020; // Enable RX interrupt//RXNIE=1
    NVIC_EnableIRQ(UART4_IRQn); // Enable IRQ for UART4 in NVIC
    #endif
}
int data1,data2;

    int32_t UART4_IRQHandler(void)     {
  // RX IRQ part
        data1=SER_GetChar();
        if(data1)
            GPIOC->BSRR=(1<<1);

}
int32_t SER_PutChar (int32_t ch){
//  #ifdef __DBG_ITM
//  int i;
//  ITM_SendChar (ch&0xFF);
//  for(i=10000,i,i--)
//      ;
//  #else
    while (!(UART4->SR& 0X0080));

    UART4->SR&= 0XFFBF;
        UART4->DR=(ch &0xFF);
//  #endif

    return(ch);
}
int32_t SER_GetChar (void){
    #ifdef __DBG_ITM
if(ITM_CheckChar())
    return ITM_ReceiveChar();
#else
if(UART4->SR&0X0020)
    return (UART4->DR);
    #endif

    return(-1);
}
void wait(unsigned long delay);
void wait (unsigned long delay){
    unsigned long i;
    for (i=0;i<delay;i++)
    ;
}
//#########################Clock Configuration#################
void SystemClock_Config(void) {
  RCC_OscInitTypeDef RCC_OscInitStruct;
  RCC_ClkInitTypeDef RCC_ClkInitStruct;

  /* Enable Power Control clock */
  __HAL_RCC_PWR_CLK_ENABLE();

  /* The voltage scaling allows optimizing the power consumption when the
     device is clocked below the maximum system frequency (see datasheet). */
  __HAL_PWR_VOLTAGESCALING_CONFIG(PWR_REGULATOR_VOLTAGE_SCALE1);

  /* Enable HSE Oscillator and activate PLL with HSE as source */
  RCC_OscInitStruct.OscillatorType = RCC_OSCILLATORTYPE_HSE;
  RCC_OscInitStruct.HSEState = RCC_HSE_ON;
  RCC_OscInitStruct.PLL.PLLState = RCC_PLL_ON;
  RCC_OscInitStruct.PLL.PLLSource = RCC_PLLSOURCE_HSE;
  RCC_OscInitStruct.PLL.PLLM = 25;
  RCC_OscInitStruct.PLL.PLLN = 336;
  RCC_OscInitStruct.PLL.PLLP = RCC_PLLP_DIV2;
  RCC_OscInitStruct.PLL.PLLQ = 7;
  HAL_RCC_OscConfig(&RCC_OscInitStruct);

  /* Select PLL as system clock source and configure the HCLK, PCLK1 and PCLK2
     clocks dividers */
  RCC_ClkInitStruct.ClockType = RCC_CLOCKTYPE_SYSCLK | RCC_CLOCKTYPE_PCLK1 |
                                RCC_CLOCKTYPE_PCLK2;
  RCC_ClkInitStruct.SYSCLKSource = RCC_SYSCLKSOURCE_PLLCLK;
  RCC_ClkInitStruct.AHBCLKDivider = RCC_SYSCLK_DIV1;
  RCC_ClkInitStruct.APB1CLKDivider = RCC_HCLK_DIV4;
  RCC_ClkInitStruct.APB2CLKDivider = RCC_HCLK_DIV2;
  HAL_RCC_ClockConfig(&RCC_ClkInitStruct, FLASH_LATENCY_5);
}
//########################################################
 int  received_string;
    int st;
int arg;
 int i=0;
char ch='c';
int count=20;
char buffer[20];
    int main (void){
    char a[100]="Testing!",b[100];

    SystemClock_Config();
    SER_Init();
        for(i=0;i<10;i++)
        {
  while(!(UART4->SR& 0X0080));
        SER_PutChar (ch);

        }
    while(1){
        printf("Sending Data");

    }}


texts:
I'm working on a project where I'm going to drive 2 x 8-ohm loudspeakers using 1 (or more) car batteries and a Class-D amplifier. The setup is going to be used at a festival, so I need maximum efficiency from my system.

My question is, how does the amplifier draw power? Does it keep a constant load on the battery or does it vary according to the power needed from the loudspeakers? If I simply hook the amplifier up and simply vary the amplitude of the audio-signal, will it use power accordingly, or?

I'm considering this amplifier at the moment:
http://classdaudio.com/products/600w-class-d-power-amplifier.html since I should be able to drive it with 2-batteries in serial. Anything I should notice?


texts: Pi filter with resonance in power supplies

texts:
I have recently read in older book (I don’t have it on me, it was from at least 90’s) about LC filter with resonance in chapter about filters in power supplies. It looks like regular pi LC filter but with additional capacitor parallel to inductor. Resonance frequency of additional capacitor and inductor was equal to frequency of rectified signal which give this filter good suppression of ripple voltage. It sounds great, but I never seen it used in any device, why?

Example of this filter:

simulate this circuit – Schematic created using CircuitLab


texts: Is there an economical 2-3 RPM 120v motor with speed control? Or what components could I use to achieve that scenario?

texts: I've got a mechanical design for a piece of catering equipment and I need to figure out a way to achieve some variable speed control for a slow RPM motor. This is a direct drive application (imagine the motor shaft connected to the center of a lazy susan - with the load supported by a bearing plate). I've been using a uxcell Synchronous Motor AC 110V 50/60Hz 6W 2.5/3RPM . What I really need to do is utilize a foot pedal that would allow the turntable to speed up to anywhere between 6-20 RPM. My background is the mechanical side of engineering so I'm lacking knowledge about the exact electrical components I could be using. Any suggestions are appreciated! I'd like to keep the cost at or below $200 if possible but I'm willing to consider anything at this point. Thanks!


texts: What is the difference between inductive coupling and resonant inductive coupling?

texts:
The resonant inductive coupling is better than inductive coupling, the difference between them, is that resonant inductive coupling use the "resonance" in their favor.

But what is the difference in the diagram of both?

According to internet, this is the diagram of resonant inductive coupling:

And this, is the diagram of inductive coupling:

So, the only difference according to the image, is that the resonant circuit, uses 2 wire circles, called "broadband antenna" and "pick up antenna", but this is really so? (And if so, why those circles help? so much) or are there more differences in its diagrams?

In addition to these images, I have seen that the function of these circles is to match the impedance, I would appreciate your help.


texts: How does a laptop power adapter automatically "adapt" to world voltages and frequencies

texts:
I would be interested in understanding the inner workings of a laptop power supply. In particular how does it automatically "adapt" to world voltages and frequencies. I suppose there must active components to achieve this. In particular I would be interested in schematics explaining the principle behind this. Thanks!

Edit: By power supply I mean the components that are inside the "brick" with AC in-DC out


texts: Is it true that on a modern processor, parallelism is possible on a single core?

texts:
Final Edit: I just realized that when use the word "parallelism", it's almost parallelism==ILP, I originally thought even a single instruction could be divided into several phrases, and at that level there would be some parallelism, but then I realized this has no meaning. Both my title and my example didn't mentioned anything about more than one threads' parallelism as done by HyperThreading, so @user110971's is the correct answer, without doubt anymore. (In the philosophical level, I just need a base-case condition to return my recursiveness of finding the deepest part of parallelism)

Edit3: I made a graph for my Edit2, and I found this video on YouTube about HyperThreading useful.

Edit2: In short, for my question I adopt the definitions on Wikipedia, and for the definition of the terms:

Parallel: Two threads, run independently, at any physical instant. So one thread won't interrupt the other, at any instant.
Concurrent: Two threads, run independently, interleavedly is allowed, i.e. not restricted to parallel, and one can interrupt the other.
In short, for me and Wikipedia writers, Concurrent includes Parallel. Thanks.

Edit: Just to be clear, for me parallelism means true parallelism, I add a "true" for it because people I talked to tend to think parallel==concurrent. (See my second link)

Is it true that on modern processor, "true" parallelism is possible on a single core? I asked elsewhere but didn't get a confirming answer. What I want to know is e.g. whether at t=0, two instructions are fetched and executed. At the same physical instant.

My question came from here:

  parallel computing is impossible on a (one-core) single processor, as only one computation can occur at any instant (during any single clock cycle).


texts: What is the transfer function for a first order active high-pass filter

texts:
What is the transfer function for the below circuit?

simulate this circuit – Schematic created using CircuitLab

Since the op-amp has unity gain, the transfer function should be the same as a passive high pass RC filter.

This can be found by calculating the voltage across \$R\$ using the potential divider rule, in the \$s\$ domain:

The impedance of a capacitor in the S domain is \$\frac{1}{sC}\$, so the transfer function is:

$$H(s) = \frac{R}{R+\frac{1}{sC}}$$

In standard form this is:

$$H(s) = \frac{RCs}{RCs+1}$$

$$H(s) = RC * s * \frac{1}{RCs+1}$$

DC Gain: \$20log(RC)\$ dB

Gain due to single zero at origin: \$20log(\omega)\$ dB ; Argument: \$90^o\$

Gain due to pole:

at high frequencies: \$-20log(RC\omega) = -20log(RC)-20log(\omega)\$ dB
at low frequencies: \$20log(1) = 0\$ dB
with corner frequency: \$\frac{1}{RC}\$

Argument (phase) due to pole: \$-tan^{-1}(RC\omega)\$

So the complete gain is:

\$for \:\omega >> \frac{1}{RC}\$

\$|H(j\omega)| = 0\$ dB

\$for \:\omega << \frac{1}{RC}\$

\$|H(j\omega)| = 20log(\omega) + 20log(RC)\$ dB

Complete phase response:

\$\angle H(j\omega) = 90-tan^{-1}(RC\omega)\$

However, in my lecture notes it says that the transfer function for the above circuit is:

$$H(s) = \frac{s}{1+sCR}$$

Without any derivation.

Which is correct?


texts: Siren sounds weird when driven through NPN transistor

texts:
I'm trying to drive a 6-28VDC siren from an Arduino Nano output pin. The latter provides 5V (max 50mA).

I've connected Arduino output to base of NPN through a 100k resistor, with emitter to ground and collector to the negative terminal of my sounder. Positive terminal of my sounder to 19.5V. (I'm using an old Dell charger to power the whole project, and a separate 5V regulator for the Arduino).

The NPN transistor is a BC548. I've checked the order of pins as follows: reading from left to right, with flat side of the transistor facing me: collector, base, emitter.

When I bring the Arduino output pin high, the siren sounds like a dead cat. The current through it is about 3mA. The siren does not pulsate.

When I connect the siren directly to the Dell charger, it pulsates very loudly, as it should.

What am I doing wrong here?


texts:
I did some SPI software configuration for my DSP board. Then I soldered several missing 0 ohm resistors onto the board so I can tapping the SPI signal from pin headers. Then I measured the SPI Chip Select and SPI Clock signal. To my surprise, there are very large noise in both signals. And the noise is there regardless whether there are SPI transfers.

For the Clock signal, the noise is a roughly regular sawtooth shape with a frequency of 20MHz and 1V amplitude, when it should be a constant voltage of 3.3V.

What might be the cause of this noise and how to remove it?

Thanks.

(Edit: I found the noise coming from another chip driving SPI clock line with 20MHz clock. That chip is not using SPI protocol. Instead it's using other duplexing functions so the clock is always there. After disconnecting that chip from contaminating SPI, the signal becomes clear. Thanks for the help of you all, especially @gl3829, @FakeName.)


texts:
I am making my own LED bulbs (for wedge-base sockets in a low-voltage application). A key construction detail requires me to cement a small (roughly 3/8" x 1") piece of FR4 circuit board (which plugs into a wedge-base socket and holds a couple of small components) to an aluminum "star" (a thermal substrate for the LED emitter itself):

https://www.mouser.com/ProductDetail/Bergquist-Company/804087?qs=jQRjkUoUCJebprw0Kn9Vjw%3D%3D

The FR4 will be perpendicular to the star, with the narrow 3/8" edge of the FR4 against the back of the star.

The Osram Oslon SSL emitter will be running at up to a watt (but usually closer to 3/4). They will operate continuously for up to 10 hours at a time. The maximum spec'd junction temp is 135 C.

My question, what is the best method for making this attachment? I have tried JB Weld epoxy (two part), 100% silicon caulk (specifically GE clear Silicon II), and intend to experiment with Sugru. The epoxy is quite strong, but I have managed to break the connections when pulling bulbs out of sockets when they have gotten stuck. The silicon has the advantage of flexibility, but I don't think it's as strong; it's also easier to assemble, as it has enough stiffness to hold the FR4 in position while it cures, whereas the epoxy requires bracing. I've never worked with Sugru.

Are there other methods I might consider? Factors I haven't considered?


texts: Where is Cadence's Allegro Design Entry HDL 16.5 Snap o Grid Option?

texts:
I am looking for the snap to grid option? Any idea how to enable it? I did try looking on Cadence forums and documentations, but I did not find anything.

Also any idea how I can move wires/components without making them auto connect to something else but just reroute to the same place were they are connected to?


texts: Is it possible to use bluetooth module hc-06 in Master mode

texts:
These are two popular modules available in market- HC05 and HC06

I bought two HC-06 modules and trying to establish communication between them.

But I failed and a friend of mine said it can be only be used as slave.   I verified this by establishing a successful communication between a laptop with Bluetooth, and this module with a Controller board.

But I am not able to understand why this module  is made in such a way.  Is it not possible to change the mode to master using some software upgrade ? If yes how ?


texts:
Planning to use a through bore slip ring for my project.
Can some one please explain what does this rating mechanically mean.

Torque  ≤0.88 gm (for reference)


texts: Charging series connected batteries independently

texts: Just want to make sure this charging configuration will work. Basically we have two solar panels and two solar charge controllers independently charging one of the two series connected batteries simultaneously. The load is a 24V electric cart. Are there any issues? Thanks!


texts: Optimum coverage of surface area on heating element/wire

texts:
hope someone finds this interesting :-)

What I'm trying to accomplish is:

Having a heating wire getting in contact with an airstream in a ventilation system as much as possible (200mm metal duct). The goal is to 1) heat the air 2) Dry the air 3) Sterilize as much as possible before the air comes in contact with a HEPA filtration system further downline in the ventilation system.

I've built a heating element that does the job somewhat, used it for ½ a year now with success.

The heating element is turned on 10 mins. a time (automatically shuts off) 2x daily, with use of 120v AC that can be regulated up to 240v or down to 0. Right now the design is a simply twisted wire-coil (gauge 28) placed in a ZigZag manner in the 200mm duct using non-cunducting/heat resistant mica sheet with holes to hold the wire. Please see the picture.

Is there any way you could imagine a design that could get more contact between the wire and the air? I have 30 feet of fresh wire and plenty of mica sheet.
The air hitting the wires is prefiltered by 2x HEPA vacuum filters, but they do not meet EN2118 filter standards, and we need very clean air.
I cannot tell you how hot the wire needs to be, other than it has to be glowing(burning micro particles as it comes in contact with them) with a giving airspeed that also is variating a lot. I monitor the heat to max. hit 70Degree C, measured inside the duct, just 5 cm and 5 cm to the back from the heating wires.

For safety, I have a 120 degree C temp. fuse, nothing that can burn near the installation, mesh wire in front and after the element, I can monitor the temperature inside and further downline in the system. A main emergency power cutt off and a fire extinguisher and fire alarm installed (detects smoke). Automatically shuts off after 10mins runs. Any other safety suggestions are welcome!

Please answer as simple as possible to eliminate misunderstandings, this project came to live due to pretty servire health issues, all help is very appreciated.


texts:
I am designing my own FOC (field oriented control) system, and I am trying to implement sensorless control. I have successfully implemented sensored FOC with my system on two different motors using custom magnetic encoders. I decided to implement the sensorless position estimator described in this paper as a starting point:

https://ieeexplore.ieee.org/stamp/stamp.jsp?arnumber=5454335

The observer is described in equation (9) of the paper, and is computed directly using motor current measurements, and pre-computed motor constants. I'm restating it here:

\$\dot{\hat{x}}= y_{12} + \frac{\gamma}{2}(\hat{x}-Li_{\alpha,\beta})(\Phi^2- |\hat{x} - Li_{\alpha,\beta}|^2  \$

Where \$\gamma\$ is the controller gain, \$y_{12} \, , \, i_{\alpha,\beta}\$ are measured and \$ L, \Phi\$ are motor constants. I approximate the state variable \$\hat{x}\$ by estimating the integral of the observer output:

\$ \hat{x} \approx \sum{\dot{\hat{x}}}\ dt\$

Where dt is the time between concurrent calls of the observer. The variable \$\hat{x}\$ is defined as:

\$ x = Li_{\alpha,\beta} + \Phi \begin{bmatrix} \cos\theta \\ \sin\theta \end{bmatrix} \$

Which means that the encoder position \$\theta\$ can be finally computed from \$\hat{x}\$:

\$ \theta = atan2( x_2 - Li_{\beta} \, , \, x_1 - Li_{\alpha}) \$

I am able to run the observer while commuting my motor using the encoder, and print the observer and encoder theta in matlab (shown below). The observer seems to track the motor position fairly well, but when I start using the observer position after a few seconds of using the encoder, my motor starts vibrating in place/stops spinning. I've simulated the same observer in matlab/simulink and got results good enough to use the simulated observer theta for commutation.

I've also tried introducing errors in the same range (.1-.3 radians) to my encoder and it isn't enough to stop motor commutation. I've tried tuning the observer gain, but so far I haven't been able to get better tracking than what is depicted in the image below.

I'm running this on an STM32F0 microcontroller, and using the DRV8323 for mosfet gate driving and current shunt amplification.

It seems to me that the observer theta should be good enough to use for commutation, but in practice it is not. How should I approach solving this issue?

Edit: updated the plot with a slower motor speed for readability (motor speed is approximately 5Hz), and added error.


texts:
I am trying to interface a WRT54G serial port directly with an arduino pro micro's hardware UART by connecting RX to TX and TX to RX between the devices.

I have a simple code running on the arduino which outputs a character on the hardware UART in every second. If I check it with the scope or multimeter before the converter I see the jumps up to about 4.7V which is ok. On the other side of the converter all I see is some low voltage noise coming out of the pin (LV 3.3) side.

My questions:

1, Do these TTL converters needed to be feed from both the 3.3V and 5V side to work correctly?

2, Couldn't this setup be done by using 1 or 2 resistors on both RX/TX wires? I assume the resistor would only be needed on the TX line of the arduino not to overload the WRTG when it sends data. However the 3.3V might not high enough to trigger an input on the arduino's hardware uart when data coming in

What's weird in this setup that I have a working older WRTG router which is directly connected to an arduino nano (running from 5V) and no problem with the communication between them.


texts:
I was reading this article about current transformers. It says that, the loop count is 1 when the wire is just passing through the core. And there are 2 loops when it is wound for once, and 3 loops for when wound twice. It looks like the loop count is \$n\!\!+\!\!1\$ when there are actually \$n\$ loops.

Why do we state the loop count one more than the actual count? Why is there a single loop when the wire is simply passing through the core?


texts:
The schematic shows a balun (unbalanced i/p to balanced output).In the design one condition is input impedance must be equal to output impedance since its 1:1 transformer and it has to follow impedance and turns ratio theory. My query is, on the output side if I have 50 ohm trace impedance instead of 25 ohm,  what will be the effect. Is it going to further reduce my output power?

What else can be the effect if the impedance (i/p and o/p) is not matched for 1:1 transformer?

simulate this circuit – Schematic created using CircuitLab


texts: Connect 8051 serial port to multiple 8051s

texts:
I want to design a project in which one supervisor 8051 communicates with four other 8051s. I'd like the students to implement this project with some server-client view. That means that the TX port of the main 8051 will be connected to all other 8051s.

I want to make sure that there is no problem with fan out or power. I want all 8051s get the same data but decide if the data for them or not. Is it correct to connect one TX pin to 4 other RX pins without any buffering (and vice versa)?


texts:
Does anyone know where I can get sources for LTspice's uplim and dnlim? I'm trying to port a netlist from LTspice to ngspice. The wiki says:

 UpLim(x, y, z)  Function, similar to Min(x, y), but "z" defines a zone with quadratic soft limiting (note: "x" and "y" are interchangeable, but "z" must be the end argument)
 DnLim(x, y, z)  Function, similar to Max(x, y), but "z" defines a zone with quadratic soft limiting (note: "x" and "y" are interchangeable, but "z" must be the end argument)

Thanks.

EDIT
I should have mentioned that the Soft table limit project at Sourceforge does claim to have exactly this code in the repo somewhere, but it doesn't seem to be there.


texts: connecting an enamled headphone jack to a bread board

texts: I am trying to make an audio amplifier on a bread board. I have a headphone jack with enamled wire and I need to connect it to the breadboard using conductive wire. I have been unsuccessful, does anybody have any tips?


texts:
I am trying to do some experiments with the following oscillator circuit extracted from http://jlnlabs.online.fr/cnr/negosc.htm based on Esaki oscillator.

I am using 2N2222 and a 10mH inductor instead due to the availability of components, but not oscillation can be observed across the inductor. If someone can give me a head start to understand the circuit operation, it would be greatly appreciated.

In addition,can someone suggest an approach to simulate this behavior? I tried with LTspice, but their models does support to simulate breakdown


texts:
I'm developing a simple RS485 based MODBUS slave application on a Microchip PIC micro-controller and need to know best practices to follow on its application side.
I can guide myself to get the hardware layer working.

From my understanding, the MODBUS slave has a database of application specific registers upon which the master performs R&W operations through commands.

Now this database needs to be run-time updatable based on device operation and should also be persistent so that device status can be recovered after power reset.
Also, the master can ask for register read in contiguous manner (for e.g. read 10 registers from ID 2121).
Based on all the requirements, I'm thinking of creating two copies of the database - one on RAM and the other on flash / eeprom.
The one on RAM would simply be a set of arrays and the one on flash / eeprom would be block of memory locations.
Upon power-up, contents from the flash will be copied to the RAM locations
and all the run-time R&W operations thereon will be performed on the RAM copy itself.
Now, there could be two ways to transfer the latest data from RAM to flash:

Do it instantly when any of the data changes

Master will be notified about operation success only when data is transferred to NV memory
Could invite too many flash/eeprom operations

Do it periodically

Less transactions with the NV memory
There could be data loss if power goes down before transfer was complete, and worse master would think that data was successfully written to the slave

Is my understanding correct till now? If yes, which of the two ways is usually followed? Or is there a better one?


texts: Corelated currents DNL in thermometer DAC

texts:
I understand that DNL is measured as the standart deviation of subtraction of two voltages where each one is normal distributed.
for example:
if our step is from 6I to 7I then then its I4+I2 to I4+I2+I1 to 111 in binary weighted where as in thermometer it 6I1 to 7I1.
DNL of binary: stadrt diviation of subtraction of random number is sqrt of their power 2 sum)
sqrt(4+2 +0+4+2+1)= sqrt(13)
in thermometer our current distributions are corelated so we subrtaract and getting DNL of 1.
But the formula shown bellow is much more comlicated.how come we just subtract?
Thanks.


texts: BLDC motor, typical maximum isolation voltage in DC

texts:
For one of 1/3 or 1/2 hp, can I aply a instantaneous 400VDC on it together with PWM (of around 50-200hz), safely?
Do commom BLDC motors cumply with that spec?


texts: Impedance matching for analog audio from aircraft (high impedance) to USB audio IC

texts:
I'm working on a project where we're recording audio from the intercom output of an aircraft. Essentially, this lets us record air traffic and cockpit audio.

Aircraft audio is stereotypically high impedance. On the order of 500Ohms.

The USB audio IC I'm currently looking at is a TI PCM2903. The datasheet lists the ADC input impedance as 50K. My electrical deign would probably very closely resemble the one implemented for the evaluation board for this IC, which is available here: http://www.ti.com/lit/ug/sleu117/sleu117.pdf

I'm fairly sure I'll need to impedance match to get the volume level reasonable (not excessively quiet), but how do I go about calculating that?


texts: How do you power a circuit that has a solenoid without heating the solenoid up?

texts:
I am building a project that requires a solenoid, but after searching the web I realized that the most underlying problem with solenoids is that it can heat up very quickly. The basic principle of my project is that a solenoid has to actuate when it is cut off but the problem is that the solenoid can heat up if it's connected for too long. I looked around and people seem to be using relays, transistors, FETs, or capacitors to actuate the solenoid.

Is there a way to keep the solenoid in a "sleeping state", meanwhile still supplying current to other components, and then actuate it when the circuit is shut off?

I'm not quite familiar with electronics so I'll just try to guess the solutions.
If I use a capacitor, would I basically be making a open/short circuit (sorry, I'm confused with this one, too) to keep the solenoid from being actuated?

What about transistors? How exactly do they serve as switches? If I want the solenoid to be actuated when the circuit is disconnected, or the voltage supply is cut off, how exactly do I make the transistor actuate the solenoid?


texts: USB hub acting differently towards another hub and device

texts:
I have a USB hub that supports individual port-switching. I'm shutting off a port using the libusb library. When there is nothing connected to the port, the power pin drops from 5V to 1.5V and slowly decays. When there is a device connected(bDeviceClass 0), the port turns back on again after shutting down for about 0.5 seconds. However, when I connect another USB hub to the port, it shuts down properly when I issue the turn off command with libusb.

What's happening?

The device is a Android phone. I'm actually using hub-ctrl.c found here http://www.gniibe.org/oitoite/ac-power-control-by-USB-hub/hub-ctrl.c which uses the libusb library.
Also, only the first hub that I use has power, the second hub doesn't have power.


texts:
I have a simple board with 6 buttons, consisting of 3 columns and 2 rows I would like to detect the pressed button. My code below works with this fsm:

  scan_fsm : process (reset, clk)
  begin  -- process key_scanner

     if reset = '1' then
            Send <= '0';
            fsm_state <= start;
            scannel_val <= "0000";

    elsif clk'event and clk = '1' then

      if state_inc = '1' then

        scan_complete <= '0';

        case fsm_state is

          when start =>
               Send <= '0';
            scannel_val <= "0000";
            my_switch   <= "001";
            fsm_state <= state1;

          when state1 =>
            case bcd_val is
              when "01" =>
                    Send <= '1';
                    scannel_val <= "0001";
              when "10" =>
                    Send <= '1';
                    scannel_val <= "0010"; -- Value 2
              when others =>
                    scannel_val <= "0000";
                    Send <= '0';
            end case;
            my_switch   <= "010";
            fsm_state <= state2;

          when state2 =>
            case bcd_val is
              when "01" =>
                  Send <= '1';
                  scannel_val <= "0011";
              when "10" =>
                  Send <= '1';
                  scannel_val <= x"0100";  -- Value 4
              when others =>
                    scannel_val <= "0000";
                    Send <= '0';
            end case;
            my_switch   <= "100";
            fsm_state <= state3;

          when state3 =>
            case bcd_val is
              when "01" =>
                    Send <= '1';
                    scannel_val <= "0101";
              when "10" =>
                    Send <= '1';
                    scannel_val <= "0110";
              when others =>
                    scannel_val <= "0000";
                    Send <= '0';
            end case;
                my_switch   <= "001";
            fsm_state <= state1;
            scan_complete <= '1';

           when others => scannel_val <= "0000";
        end case;

      end if;
    end if;
  end process scan_fsm;

I have 4 states, start and a state for each column. I would like to improve my board and prevent glitches. I would like to add fatures like if 2 buttons pressed at the same time, I should get the first value which reached few miliseconds or nanoseconds before the other one. Also I would like to prevent a second value being read or a third when already a button is being pressed.

So, no matter how many buttons pressed, only one value should be read. I thought about adding a 5th state, idle, when this occurs but then how do I get out of idle?

Instead of idle I can also switch to state "start" but then this would make the send signal "0" which would be false if already a button is being pressed. Also how many processes are in this FSM? What is a process in VHDL? Is it 3; reset, clk and state_inc? statce_inc becomes "1" every 200Hz with the help of a counter. I added some debouncing code I found from the internet but doesn't help :( Anyone has a debouncing suggestion?

Another issue, I would like to get rid of the state start actually, the only reason I have it is because I should assign my_switch to "001" before state1 . In my first implementation I was assigning my_switch to "001" in state1 and "010" in state2 and "100" in state3. In this implementation since my keypad is

______
|1|2|3|
|4|5|6|

When I pressed 2, 1 was displayed when I press 3, 2 was displayed. I was thinking Cpp/Java way but I was wrong... then I added a dummy state start just to set my_switch before entering the real scanning... So if I can solve this I can also save a state! Suggestions are welcome! I solved this with entering the first scan without a set value. Do you have better ideas?


texts: Difference between USART's synchronous and asynchronous mode

texts:
I'm writing software to initialise the EUSART1 module for RS232 on a PIC18F46K22. I'm using the usart.h library, built-in in the C18 compiler. There is some reference in MPLAB C18 C Compiler Libraries for the Open1USART() function on page 69 (73 in the PDF's numbering).

I now need to choose whether to use asynchronous or synchronous mode. What is the difference? Which should I choose when I just want to communicate with my pc, the common way (using RealTerm or so)?


texts: Connecting devices powered by separate SMPS without common ground

texts:
I have a power over Ethernet design using the SI3402 PoE PD chip to generate 3.3v for a pic 18F67J60. The switched mode voltage converter in the SI3402 is a little unorthodox in that it switches Vss rather than Vdd of the incoming Ethernet power (low side switch). No problems if I just want to use devices connected to the 3.3v output. However the sensors I want to attach to the pic are typically powered at 5v or 12v not 3.3v so I need another regulator.

Ideally I want to generate the higher voltages directly from the PoE supply and not boost them from the 3.3v (which is less efficient, generates more heat etc.). Now the problem is that if I have sensors powered by a second regulator and power the PIC with the internal SI3402 I can't work out how to connect the sensor back to the PIC as the sensors and PIC now have different grounds (no common ground). Even if I design the second regulator to also switch the ethernet Vss then treat Vdd as a common ground, I'm still stuck as I effectively have 2 negative voltage regulators.

I could use another PoE PD IC that has a high side switch but the SI3402 is the most integrated PoE PD solution that is perfect for my design apart from this ground question.

To keep component / costs / size down I'm looking at a non isolated design - I know I can solve this problem if I use the SI3402 with an isolation transformer but prefer not to. And I definitely don't want to add voltage translators/buffers/couplers for the PIC inputs (which can handle 5v).

It is also possible to use Vss as a reference and use the inductor output as the positive output rail (regulate to 48v - 3.3v) however for several mSec during turn on the output voltage will be at the Vdd rail, as the LTSpice simulation below shows.

Do I have any other options or have I made a mistake in my thinking about common ground?


texts: Correctly printing from SystemVerilog DPI

texts:
I have some verilog VPI code that I'm porting to use SystemVerilog DPI, to be run in Modelsim and Verilator.

In VPI, I use vpi_printf() for debugging and status information. This doesn't work when running the DPI in Verilator. Should I just be using regular printf() instead?

(This feels like it ought to be a simple question, but good SystemVerilog examples seem to be scarce)


texts: Can we consider an XNOR operation as an even number of 0 checker?

texts:
I am a little confused about the role of XNOR operation when we have more that two inputs.
After simulation, I realized that when we use multiple two inputs XNOR gates, the resulted output is 1 if there is an even number of 0 at the inputs. I searched on the internet to confirm this but I did not find anything. So my question is: Is my  interpretation of XNOR operation true or false?


texts: Cross-over distortion thanks to short circuit protection

texts:
I am trying to build a AB Amplifier for school with some darlington transistors. Everything seemed to go fine until I added the short circuit protection. From that moment a cross-over distortion occured as per below:

Does anyone know how to solve this distortion?


texts: KiCad where is the priority setting of filled zones?

texts:
The documentation shows a dialog for filled zones in which you can set up the priority of the zone.

I'm using KiCad 5.1.2 and I can't find this setting anywhere. Here's a screenshot of the filled zone dialog with 5.1.2:

It seems that the documentation is from 2017 which might be a bit old.

Where can I find this info?


texts: What are bidirectional Zener diodes used for in DC transient protection?

texts:
I often see two zeners (in opposition to each other) being placed across the power supply rails. I don't understand why that is necessary.

For example, if I have a 16V Zener diode and a 12V power rail, the 16V Zener will protect the supply from transients above 16V. It will also prevent negative transients below -0.7V - say, if i reversed the battery.

Why would placing two zeners in opposition improve this. Say if I placed two 15V Zeners in the same setup. It will now protect the supply from transients above ~16V (which is fine). but it now will only protect the supply from negative transients below -16V instead of -0.7V. Why would anyone want this? I don't want the supply rail to go to the negative at any stage!

For example: see example circuits in http://cds.linear.com/docs/Datasheet/4359f.pdf


texts: Boost converter as power supply for H-bridge

texts:
I am looking for a way to be able to power the H-brirdge from a boost converter.

I have a voltage source of 13V to 15V and would like to boost that up to around 17V (accuracy isnt that important) at around 4A, to power only the H-bridge.

I currently have the following circuit (please note that there are MOSFET dirvers missing):

simulate this circuit – Schematic created using CircuitLab

If I simulate the following circuit in LTspice I get the following waveforms:

Green line represents the voltage coming from the boost converter and the blue line represents the current through R1.

Here, blue line represents the current through R1, while red (M2, M5) and light blue (M3, M4) lines represent H-bridge switching.  There is 1\$\mu s\$ dead-time between H-bridge switching.

Can someone please explaing what is going on? And what do I need to do to make this work as intended?

edit:

If I get rid of the H-bridge and connect R1 directly to the output of the boost converter I get the deisred result (but I need H-bridge).

R1 represents a speaker.


texts: Small, inexpensive microcontroller capable of high speed SSP?

texts:
I'm looking for a small microcontroller that can accept high speed serial data. NXP calls it an SSP peripheral -- it works with an SPI, Microwire or SSI bus, and I'm using it in a 32-bit SSI application. By small I mean both physically (under 50 pins) and in terms of RAM/Flash (the 8 KB RAM and 32 KB Flash is more than enough). High-speed means working as an SSI slave with clocks up to about 50 MHz or so.

I'm currently using an LPC2103, and it performs pretty well up to about 2-3 MHz as an SSI slave, but I can only see the first 16 bits of the 32-bit word. I'm using both the SSP and SSI peripheral to grab all 32-bits, but that's a real kludge and for the next version I'm hoping to do away with the speed limitation and word length barrier.

As far as architecture goes... it's really open. The LPC's ARM7TDMI of course, but PIC or AVR would work just fine, I'm not tied to any particular architecture and have worked with practically all of them at one point or another. I'd even looked at a small FPGA chip, but it's also near impossible to find a low pin-count FPGA with a large number of programmable logic.


texts: Does this formula for the amplitude of a Chebyshev filter at cornerfrequentie only hold for even orders?

texts:
Consider formula (4) below that gives the amplitude of the transfer function of a Chebyshev filter at cornerfrequentie. When I try to re-derive it, it seems to me that this only holds true for even \$n\$'s.

Granted, I don't understand the meaning of taking an arccos of a complex number, but I think that question is better suited for another forum. Wolfram Alpha gives me \$\cos^{-1}(j) = \frac{j\pi}{2}\$.

I assume \$0 < n < 3, n \in \mathbb{N} \$ is the only relevant scope in this context, but this contains \$n = 1 \$ in which case, it seems to me, (4) does not apply.

Is my math wrong or can \$n\$ never be odd for a ChebyShev filter, if so why?


texts: Analysis of an Armstrong oscillator circuit

texts:
I am trying to analyse the following Armstrong oscillator circuit from HF Tesla coil experiments. I am particularly interested in this topology because of the class E operation and the high efficiency mentioned in the original project.

As the first step, I simulate the circuit and my LTSpice circuit is as follows. MOSFET R6020PNJ is used instead of 2SK2698 (The MOSFET model (STW14NM50) that is available in the same author's post was not giving me the oscillation).   Inductance of primary, secondary and tickler coils are calculated from the geometry parameters provided in the project description. A series capacitor is added to the secondary to make the secondary self resonating at 4.76MHz to be same as the original project. A load resistance is added to make the secondary loop.

I understand the objective of original project is to generate an arc inside a Faraday cage, however, here, I am trying to use the secondary as the load.

First, I want to understand the operation of this topology. Particularly, the role of C3 and C4 is not clear to me.

Next, I would like to derive equations for oscillation frequency and the oscillation voltages across L1 and L2. I understand From the simulations that the frequency of the oscillation (~7.8MHz in this simulation) is highly dependent on the secondary resonance, but not equal to the self-resonance of secondary coil, or, L1-C4 resonance. (apparently, I also noticed that the input and output capacitance of the MOSFET are substantially larger than C4 : C_iss=2040p, C_oss=1660pF, C_rss=70pF) How Can I calculate the oscillation frequency?

A supplementary question to this analysis is asked here:


texts: How to know the size of my code in Atmel Studio

texts:
I'm new with Atmel Studio and I'm playing with ATtiny13. This mcu has 1K Bytes of Flash, 64 Bytes of EEPROM and 64 Bytes of SRAM.

I would like to know how much memory (flash, eeprom and sram) my code takes.

This is a piece of my compilation output.

I think my code takes 882 bytes of Flash and 15 bytes of EEPROM. Is that right?

Thanks in advance.


texts: What is a Good Starter Microprocessor to learn Assembly?

texts:
So I'm wanting to learn Assembly first on an MP, then move onto C (since it seems like that's what most of them use).

I'm wanting to get into Embedded Programming, I really love low level C stuff (Kernels/Modules for Linux is mainly what I've done), but I love the idea of being able to program even lower level than that (Microcontrollers/Microprocessors).

I know about Arduino, and that's great and all, but I can't find many resources for using Assembly with them. Atmel AVRs seem to be very popular (and cheap), but when it comes to the actual hardware portion (hooking them up on a breadboard, etc.), I'm not finding much information.

Any suggestions/information or resources that you guys/gals know about please let me know.

Edit: Another thing:
It seems like all the Microprocessor books I read (Usually AVRs) talk about the microprocessor itself, and programming it. But I have yet to see a book that actually talks about installing all the components yourself (microprocessor, memory, power, etc.). If I could find something that walks me through that I'd be in business. (I want to learn from the ground up.) Not to mention I have no idea how you would communicate between them.


texts:
In the circuit below, in the section inside the green circle,
it seems there's no purpose for connecting the NPN transistor's collector, to the base of the other NPN transistor on the right.

According to my understanding of how NPN transistors work, no current will flow through that base.

What is the purpose of connecting the collector of an NPN to the base of another NPN?

[The image is taken from a TI Hex inverter schematics]


texts: Use of Toggle flip-flops and JK flip flops

texts: I was studying digital electronics, especially latches and flip-flops and the like and I came to understand that flip-flops are basically memory storage elements, in that case why would I need configurations to continuously toggle values from 0 to 1, like in the case of J-K flip-flops or T-flip-flops?


texts: I run a loaded BLDC motor. Current meter shows 30A. How much current at average  will flow through each phase? In BLDC 6-step commutation current flows to a phase and comes out of another, then it changes to next phases. Do it means that each phase pases 2/3 of the full load on average, as it passes full current 2/3 of the time?


texts:
I'm having trouble reading the temperature, its values are incorrect. The temperature in the room is 22C and the temperature of the sensor shows 55C (selfheating and the measurement error cannot be that big). I have many times checked the correctness of the code, and I use the functions recommended by the manufacturer (Code examples from reference manual). I have no idea why it doesn't work.

Data:

STM32L0x1 family MCU

3.3V supply voltage

Clock frequency: 2.097MHz (MSI)

Problems I ruled out:

1) ADC sampling time too short (it should be longer than 10us and it is).

2) I tested the code on different MCUs of the same model, and also on other models of STM32L0x1 family.

3) VDD of the chip is 3.3V, not e.g. 3.0V, there is no mistake here.

Below I paste the program code, as well as sample data from debugging in STM Studio.

#include "stm32l0xx.h"

#define TEMP130_CAL_ADDR ((uint16_t*) ((uint32_t) 0x1FF8007E))
#define TEMP30_CAL_ADDR  ((uint16_t*) ((uint32_t) 0x1FF8007A))
#define VDD_CALIB ((uint16_t) (300))
#define VDD_APPLI ((uint16_t) (330))

int32_t temperature_in_C;
uint16_t temperature_ADC_value;
int32_t temp130_cal_value;
int32_t temp30_cal_value;

int32_t ComputeTemperature(uint32_t measure)
{
    int32_t temperature;
    temperature = ((measure * VDD_APPLI / VDD_CALIB) - (int32_t) *TEMP30_CAL_ADDR );
    temperature = temperature * (int32_t)(130 - 30);
    temperature = temperature / (int32_t)(*TEMP130_CAL_ADDR - *TEMP30_CAL_ADDR);
    temperature = temperature + 30;
    return(temperature);
}

void ADC_Init()
{
    RCC->APB2ENR |= RCC_APB2ENR_ADCEN;      /* Enable ADC clock */

    ADC1->CFGR2 |= ADC_CFGR2_CKMODE_0
                |  ADC_CFGR2_CKMODE_1;      /* ADC Clock = PCLK (2.097MHz) */
    ADC->CCR |= ADC_CCR_LFMEN;              /* Enable if ADC Clock Freq < 3.5MHz */C
    ADC1->CFGR1 |= ADC_CFGR1_CONT;          /* Continous conversions */
    ADC1->CHSELR = ADC_CHSELR_CHSEL18;      /* Channel 18 - Temperature sensor */
    ADC1->SMPR |= ADC_SMPR_SMP;             /* Sampling time - 160.5 ADC cycles */
    ADC->CCR |= ADC_CCR_TSEN;               /* Enable temperature sensor */

    ADC1->ISR |= ADC_ISR_ADRDY;             /* Clearing bit ADRDY (ADC ready) */
    ADC1->CR |= ADC_CR_ADEN;                /* Enable ADC */
    while((ADC1->ISR & ADC_ISR_ADRDY) == 0) /* Wait for turn on */
        ;
    ADC1->CR |= ADC_CR_ADSTART;             /* Start */
}

int main(void)
{
    ADC_Init();

    while (1)
    {
      for(int i = 0; i < 10000; i++) /* Delay */
          ;

      temperature_ADC_value = ADC1->DR;                 /* Debug */
      Temp130_cal_value = (int32_t)(*TEMP130_CAL_ADDR); /* Debug */
      Temp30_cal_value = (int32_t)(*TEMP30_CAL_ADDR);   /* Debug */

      temperature_in_C = ComputeTemperature(temperature_ADC_value);
    }
    return 0;
}


texts:
Is there a way to print the value of a signal using REPORT?
I've seen report "" integer'image(a) for integers. Is there an equivalent for signals?
Thanks


texts:
In my haste to get soldering with my new iron (first time soldering in more than a decade...) I completely forgot to tin my bit.

Subsequently I've managed to part-tin it, but it's a bit of a mess.

Other than buying a new bit for the iron, do I have any other options?


texts: Problems understanding I2C pullup calculation

texts:
I have been trying to read about I2C pullups such that I can select an appropriate pullup resistor for an EEPROM (24LC02B-I/P) which I want to use as serial ROM to drive some 7-segment displays.

Despite the advice in this 'AddOhms' video I still am curious about how you actually calculate a pullup and a caulcated pullup range, but this TI document baffles me totally in section 2. Below are some specific questions:

Why does Rp(min) take an output low voltage from Vcc?
It talks of bus capacitance: the only reference I can find on the datasheet of the EEPROM is to pin capacitance (10 picofarads)- is this one and the same?
How comes T(r) is the rise time between Vol and not V = 0, or some median between Vol and V = 0? I was under the impression Vol was a determined V output maximum but necessarily the actual value.
How comes the calculations deal with output low/high for strong pullup and input low/high for weak pullup?

Sorry if these questions seem diverse and broad, I am just struggling with the concept generally and getting a bit frustrated with it