texts: Choosing the diode for protecting an ADCs inputs

texts:
I am designing a a board based on a microcontroller that have differential analog pins. The data sheet says that although the MCU's ADCs are internally protected against ESD strikes I must still take care to prevent the the input does not exceed the voltage and current limits of the pins which is Vcc (3.3 V) and +- 10mA. I am also planning to tie the Vref to 1.5 V. The analog pins will be both used in single ended and differential mode depending on the situation.

Doing a bit of reading, the conventional way seems to be placing diodes.

simulate this circuit – Schematic created using CircuitLab

Since my Vref is set to 1.5 volts anything beyond that and cutting it beyond 3.3 V would destroy the pin. So anything in between should where diode cut-off the voltage. Would say at 2.5 V would be good point? But looking for parts I'm greeted by three identical sounding specifications Reverse Standoff, Breakdown, Clamping. Which specification is the one I should look at?

For current, since assuming we successfully find a part that will keep the input voltage at 2.5 V I should also adjust R1 and R2 so that it won't exceed 10mA.

R = V/I
R = 2.5/0.010
R = 250 Ohms

It should not be less than 250 ohms. Am I approaching this correctly?


texts: Blinking LED at two speeds using 555 Timer

texts:
I'm trying to build a circuit that will blink a single LED twice a second for one second and then once a second for two seconds.  I can get the individual frequencies with two different 555 timers but I don't know how to make a circuit that would provide the two frequencies in succession.  I know I will need to use two 555 timers but I can't wrap my head around the circuit that would make it work.

Any help is greatly appreciated.


texts: What is the correct schematic symbol to use for virtual ground?

texts:
I'm following the design of a circuit requiring a power supply to provide something the author calls virtual ground, \$V_{gnd}\$. The circuit look like this:

However, I'm using KiCad for the design and out of all the available power supply symbols, I can't find any that seem appropriate. I'm already using both the earth ground and common/signal ground symbols for something else. In fact, from that schematic, I can't even tell if that virtual voltage is negative or positive.

I have also looked at these relevant questions:

Use of ground symbols in circuit diagrams
What is the difference between \$V_{CC}\$, \$V_{DD}\$, \$V_{EE}\$, \$V_{SS}\$
KiCAD 5 --- what is the significance of the various GND symbols?
Why are power components meant to be power inputs in KiCad?

Apart from just labeling the network as the author does...

Q: What would be a more appropriate symbol to replace \$V_{gnd}\$?

PS. Is it just me, or is this diagram extremely sloppy? It seem very strange that some power networks terminate in mid air, while others are just labelled in-circuit without any termination. I can't imagine this is standard design practice.

UPDATE:

The battery is a 3.7V LiPo.
The U1 pins are "1" for + and "2" for -.
The pins for the AD8607 as shown above are wrong and should be:


texts: How can I increment PWM resolution for PMSM FOC control?

texts: The pwm resolution effect torque ripple value.  My motor should be turn low speed . When the motor is turning slowly , the effect can be seen barely. I have 1024 pulse encoder per tour . The hardware is constant(maybe can be implementing hardware filter). How to improve pwm resolution?


texts: Why am I getting a weird ratio (beta) between base current and collector current?

texts:
I am making a bjt network with an orange LED as a load with a potentiometer. The circuit is functioning as I want to but the value of beta seems to be really strange.

Current at 0% potentiometer value

Collector - 10.2 mA

Base      - 371 microamps

Emitter   - 10.6 mA

Current at 100% potentiometer value

Collector - 678 pA

Base      - 14.2 mA

Emitter   - 14.2 mA

I know that the reason the values are like that is because of the potentiometer but my professor told me that value of beta should be 100+ (measured value = 158). I also understand that the base current should be really low compared to collector current.

simulate this circuit – Schematic created using CircuitLab

Am I missing something?

(I am new to the community.)


texts:
I'm quit new one PIC microcontroller, and i'm stuck with a new problem.

I was using the A/D converter of my PIC18F46j50 to catch 4 push buttons on 1 PIN (RB2), and it worked well. But since I soldered a 32.768kHz oscillator for Timer1, it doesn't work anymore.

unsigned int HAL_SWITCH_GetValADC(void){
    ADCON0bits.VCFG0 = 0;
    ADCON0bits.VCFG1 = 0;
    ADCON0bits.CHS = 0b1000;
    ADCON1bits.ADFM = 1;        // A/D Result format select bit : right justified
    ADCON1bits.ADCAL = 0;       // A/D Calibration bit
    ADCON1bits.ACQT = 0b111;    // A/D Acquisition Time 12 Tad = 12us
    ADCON1bits.ADCS = 0b001;    //Tad = 1us (Fosc/8)
    ADCON0bits.ADON = 0b01;     // A/D enable

    PIR1bits.ADIF = 0; //make sure A/D Int not set
    ADCON0bits.GO=1; //and begin A/D conv.
    while(!PIR1bits.ADIF);
    NOP();
    return (((unsigned int) ADRESH << 8) | ADRESL);
}

Using breakpoint I determined that the problem come from the while loop, when i debug step by step, it works fine, but the programm never stops if the breakpoint is on NOP();

got error like "No source code lines were found at current PC" + few adress, mostly those of the interupt instructions... I don't know if their is a link.

Also someone told me to change the clock used by the A/D convertor... How can I manage to do so ?

Ask for more code if it can help.


texts:
I took apart our old Fax machine. And I found some weird Sim Card (See size compared to a regular sim card).

I wonder what such a card is doing in a fax machine. Also I'm wondering what else I could do with this card plus reader. Since I have the reader as well I need to know how to hook it up.


texts:
I am trying to get PSpice to simulate an integrator but I am having difficulties. The output should be a triangle wave form that is approximately 1.3 volts. However I keep getting something much higher that doesn't resemble a triangle. (See images below) I am using a square wave with a peak to peak voltage of 5V (2.5 / -2.5). I have the frequency set at 2 kHz or a pulse width of .25ms and a period of .5ms.

It is weird but I get better results if I switch the negative and positive supply inputs. But it was still incorrect.

Has anyone had success with a similar project? Or has anyone had this problem? Should I give up on Pspice and operational amplifiers? I never get the results need. It's too iffy. Thanks for your help.
schematic http://www.itssimplydesign.com/schematic.png

schematic http://www.itssimplydesign.com/graph.png


texts:
How can I solve this circuit?

simulate this circuit – Schematic created using CircuitLab

This capacitor confuses me when I tried to do DC biasing.

Also when I draw small signal equivalent circuit( T model ) to find the equation for Rin (=re) and Rout(=R1) but not Av ( voltage gain ) and Ai (current gain ).
here is my small signal equivalent circuit:

simulate this circuit


texts: I have a ph sensor(S272CD) that give the output from -2000mV to +2000mV. I need to interface it into a current loop converter(XTR117). The current loop ic will accept only 0 to 5v. How can i connect this sensor to the current loop?


texts: what are the ways to make the autorouter in eagle work faster?

texts:
I know one obvious way is to upgrade to a modern computer but not a lot of people can afford to do that.

What I have attempted to do to try to speed up auto-routing operation is to add lines from the restrict layer to prevent eagle from making ridiculous long-loop connections.

I have also added space to some components, but I can't add too much space since I only have so much board material.

Is there any other way I can speed up the auto router?


texts: Using timers 8051 Assembly Microcontroller

texts:
I am testing a basic timer example in keil (8051 )
when I debug this code

org 0
MOV TH0,#76
MOV TL0,#01
MOV TMOD,#01
SETB TR0
JNB TF0,$
end

I get the error

    error 65 access violation at c: 0x000e no execute read permission

Please I need help to solve this problem


texts: How can I align the PCB and the polygon?

texts:
As you can probably tell, I'm new to PCB design and recently did a design of a DIY circuit. Everything looks acceptable (to me), however for some reason I cannot align the PCB edges to the polygon edges (see picture below). Is this going to affect the production? How can I align them properly? (I tried to do it manually but it doesn't work, they won't align).

Technically speaking I don't care if the PCB gets made shorter due to this detail, since it won't affect tracks or components placing (but I'd like to understand what is going on). Also, the ERC check seems to be fine, while the DRC is giving me some warnings I have troubles in understanding:

The vector font warnings are related to the text on dimension arrows (which will not get printed anyway) while all the remaining 34 width warnings are somehow related to the tip of the dimension arrows. Could someone please explain me what is going on? Thanks!

I'm using Autodesk Eagle.


texts: Altium error: Nets containing multiple input ports. What does this error mean?

texts:
I am relatively new to Altium, and I am running into the following errors when compiling my schematic:

Net SDI contains multiple Input Ports (Port SDI,Port SDI)
Net CLK contains multiple Input Ports (Port CLK,Port CLK)

What I am trying to do is connect multiple sheets to the same signals, SDI and CLK. Am I doing something wrong? It is a flat hierarchy, I have set the scope to "Flat (Only ports global)". Below are two sheets of my schematic that uses SDI and CLK signals

Sheet1:

Sheet2:


texts: CD40xx and SN74xx logic gates not working correctly

texts:
So, a few weeks ago I got into digital logic, and thought I'd buy some logic ICs. However, instead of doing actual research about which ones are good and which ones are bad, I just bought whichever had the most in stock on mouser.com, which just happened to be these:

CD4093BE, a NAND gate.
SN74HC86NE4, an XOR gate.
CD4071BE, an OR gate.
CD4081BE, an AND gate.

However, it seems that none of them work. Some of them just don't produce output at all, and some of them ignore the input completely and always output 1. They also seem to cause bad connections or something, as when using them the lightest nudge could cause it to stop working. I'm sure I'm using the right pins for input and output. I know that I'm in the range of correct voltages as well (using a 9V battery). I have noticed that all of them use "Schmitt triggers," but I'm not even sure what that means (again, I was stupid and didn't do my research).


texts:
I would like to create a light source consisting of 6 CREE XP LEDs:

4x XP-E Red - 2.3V @ 700mA Datasheet
1x XP-E White - 3.5V @ 1000mA (Datasheet is the same as above)
1x XP-C Royal Blue - 3.5V @ 500mA Datasheet

I find myself being somewhat limited by my low electronics knowledge, which has been OK until now because I've never had to worry about regulating different currents in the same circuit nor working with voltages other than 12V, 5V, or 3.3V. I hope someone can point me in the right direction in terms of wiring this circuit up.

Once the wiring for 1 light source is solved, I need 9 of them working together, so it would be preferable to unify the power source for all 9 "bulbs". What power source will feed the circuit with enough power?


texts: How can I embed SmartCard/certificate challenge functionality in an embedded project?

texts:
I want to enable secure communication by embedding a certificate chip for a PKI in my embedded system so I can sign outgoing messages and make certificate challenges. I was expecting that there exist particular chips that have these certificates installed and that I can query these chips through some interface (I2C etc.). But I am unable to find them.

Is my understanding of the idea somewhat off? Do such chips exist? What is such a chip called or what companies sell them?

If such chips are available, how would I best add them to my system? (I want to start with an Arduino with the GSM shield sending encrypted messages.)

Examples of such chips are the ones inside SIM cards, SmartCards or passports.


texts: What kind of chip is used in my circuit board?

texts: I have a toy car with buttons that produces sounds and music. It stopped working and I decided to try fixing it. There is a board with a chip. I used a multimeter to test voltage where the load speaker is connected when any button is pressed. It was always zero. I checked the load speaker and it works. I checked the inputs to the chip and they are good - I can see voltage changes when a button is pressed. So, my conclusion is that the chip is dead. Can you help me to figure out what kind of chip is this?  Below are the images of the board:


texts:
I have this code for hspice simulation
q3 simulation

vs      vin     0       ac      1       0
r1      vin     va      2k
r2      va      vb      2k
r3      vb      0       4k
r4      vb      vout    8k
e1      vout    0       0       va      2e5

.AC     DEC     50      100     100k
.end

but it resulted in this error
**warning** no ac outputs specified, analysis omitted

How can I fix it?


texts:
I am reading and trying to understand this Application note from TI on how the dithering circuit works.
I can deduce that the Op-amp acts as a schmitt trigger but there's no details on how the frequency change is effected. Can someone help me with the working of the circuit on how the frequency change is effected with the schmitt trigger?
And also, can someone explain how is the calculation obtained? Why is the 7kHz/65kH multiplied with the 45uA current?


texts: ARM mode switch breaking program execution

texts:
I am making an embedded system on a raspberry pi 3 B. Currently I am trying to change execution modes to set the different stacks (the user stack, the supervisor stack, the interrupt stack...). As far as I understand it should be enough to simply write the correct value to the CPSR as follows:

;@"================================================================"
;@ Now setup stack pointers for the different CPU operation modes.
;@"================================================================"
        ldr     sp, =0x8000 // initialize stack pointer
        mov r0, #1
        bl set_LED

        msr CPSR_c, #0xD1                  ;@ Switch to FIQ_MODE
        ldr sp, =__fiq_stack               ;@ Set the stack pointer for that mode
        msr CPSR_c, #0xD2                  ;@ Switch to IRQ_MODE
        ldr sp, =__irq_stack               ;@ Set the stack pointer for that mode
        msr CPSR_c, #0xD3                  ;@ Switch back to SRV_MODE
        ldr sp, =__svc_stack               ;@ Set the stack pointer for that mode

        mov r0, #0
        bl set_LED

The set_LED turns the led on for a value of 1 and off for a value of 0, After this code there is a mock OS that prints a silly message to the screen. If I try to execute this code, the led remains ON so it seems like the CPU never actually gets to execute the second led change and all I can see in my monitor is a color palette (the default one the Pi uses to indicate the VC is working). If I comment the 6 lines in the above code that are relevant to context switching, my program works fine, by that I mean that the led ends in an off state after the program reaches the final infinite loop and my monitor displays a black screen with a silly message I use for debugging (no color palette).

I would like to understand why this code is breaking program execution since all the documentation I have read seems to say this is the way to change modes and initialize the stack pointers.


texts: What to do when a device doesn't specify it's DC polarity?

texts:
This is probably a very simple question but.. I've been trying to find replacement AC->DC adapters for various electronics around the house, but I ran into one which doesn't list its polarity. It simply has "12V " printed next to the power socket, without either of the polarity symbols! I found the owner's manual online and checked it, and it wasn't any more specific..

.. So, what does it mean when a device doesn't list its polarity? Is there a default assumption of positive or negative? Or does it mean that the polarity of the power doesn't matter??


texts: Does msp430 UCSWRST = 1 also reset the bit clock genetator?

texts:
Chapter SPI.3.1 says:

"The USCI is reset by a PUC or by the UCSWRST bit. After a PUC, the UCSWRST bit is automatically set,
keeping the USCI in a reset condition. When set, the UCSWRST bit resets the UCxRXIE, UCxTXIE,
UCxRXIFG, UCOE, and UCFE bits and sets the UCxTXIFG flag. Clearing UCSWRST releases the USCI
for operation."

It is silent about what happens to the bit clock generator.  This has some impact with low baud rates (high prescaler values.)

Is the SPI timing deterministic due to RxIFG stopping the bit clock generator input or does it only stop the bit clock generator output?

If it is not deterministic, any suggestions how this can be achieved?


texts: Why does microwave communicaion require line of sight?

texts:
What I can I think about is:

Power spectrum density at MW frequencies is very poor at a point it is unable to penetrate obstacle without losing a lot of power.
Multipath fading at those frequencies are very high to a point the receiver is unable to filter them out.
Radiation pattern of MW is not isotropic, with the main loop is very important than other directions.

Are those assumptions correct? What else?


texts: verilog - altera fpga "error pin x has multiple drivers due to the non-tri-state driver"

texts:
I have a 32 bit parellel IO interface (PIO) defined in a NIOS II soft processor. It is for a 32 pin connector on a board.

I instantiate the NIOS in a top level verilog module called test below.

On the connector pins 0:4 are JTAG pins and 5:31 are bi-directional pins that I want to be able to set direction and state.

The FT_ADB0-4 pins go to a FDTI chip for the jtag.

My question is how can I correctly write verilog for this.

I want all 32 bins on CON_0 to be available to the 32 bit PIO in the NIOS. So that when I set for example bit 10 in the PIO I am indeed controlling pin 10 on the connector.

In the code below I get the error

Error (13076): The pin "CON_0[0]" has multiple drivers due to the non-tri-state driver "FT_ADB1"

module test2 (  CLOCK_50B, CON_0, FT_ADB0, FT_ADB1, FT_ADB2, FT_ADB3, FT_ADB4);

// Basic clocks
input  CLOCK_50B;

// CON_0 parallel ports
inout  [31:0]  CON_0;

// FT2332.. used for JTAG !
input  FT_ADB0; //TCK
input  FT_ADB1; //TDI
output FT_ADB2; //TDO
input  FT_ADB3; //TMS
input  FT_ADB4; //NRESET

assign CON_0[2] = (1) ? FT_ADB0 : 'bz; //TCK
assign CON_0[0] = (1) ? FT_ADB1 : 'bz; //TDI
assign FT_ADB2 = CON_0[1]; //TDO output from DUT drives FTDI
assign CON_0[3] = (1) ? FT_ADB3 : 'bz; //TMS

assign CON_0[4] = 'bz;

// Instantiate the Nios II system module generated by the Qsys tool:

    nios2 u0 (
        .clk_clk       (CLOCK_50B),       //  clk.clk
        .CON_0_export   (CON_0)            //  CON_0.in_port

    );

endmodule


texts: simple design for mechanized home automation devices to stop at limits

texts:
can you point me to any existing designs or ideas for simple DIY type mechanism to ... for example... roll up/ roll down  a motorized movie screen and stop when it gets to some  specific limits.

i can imagine putting contact switches  at each end of travel but then the moving 'thing' has to physically push on the switches and they would be visible with wires etc.


texts:
I'm trying to make this simple code lock circuit, and I ordered this keyboard for it.

However, there isn't any kind of manual for it, and I simply don't understand how it works.

Here's a larger picture of it (sorry for the horrible soldering, I've a bad solder, and I probably do it wrong also.)

So there's 7 wires on it currently, but how do I actually use this thing?


texts: Use a potentiometer in place of a 4 position rotary switch?

texts:
I have a little oil heater in my house that is on the fritz. Its "Off-High-Med-Low" switch is just basically gone.  While I might be able to dig out another switch from some of my electronics junk, I was wondering:  Is it AT ALL possible to use a potentiometer in place of this 4 position rotary switch?

It seems legitimate - Basically, instead of 4 positions, it seems like I'd now just have something like 270 positions...lol.  At the time being, I only have something like 62 cents to my name and a lot of cold weather between now and more money, so I'm 100% going to have to just repair this heater instead of replace and 100% going to have to repair it with stuff that I have laying around.

Thanks for any help - If anyone can help, you'll have the knowledge that you kept me from freezing to death...


texts: Why are common mode chokes with 90 ohm @ 100 MHz recommended for USB 2.0 Hi-Speed data lines?

texts:
When one looks at common mode chokes for USB 2.0 applications choke manufacturers always recommend CMC with a common mode impedance of 90 ohms @ 100 MHz.
Example
How does this relate to

USB 2.0 differential impedance of 90 ohms (& 45 ohm single ended impedance)
the "Hi-Speed" data rate of 480 MBit/s (respectively a frequency of 240 MHz)
an approximate USB 2.0 bandwidth of ~1200 MHz (5 x 240 MHz)

Why aren't they made for, say 90 ohm @ 240 MHz? Why are they trimmed for 90 ohm @ 100MHz?
Couldn't chokes with values that differ from this 90 ohm @ 100 MHz be used as well? What are the determining factors here?
Sorry the question may seem a bit weird but I couldn't quite get that topic. Maybe someone can shed some light on this.


texts: How to connect from a +/- 15v audio circuit to single powered amplifier

texts:
I built a 3 WAY CROSSOVER (ELLIOT SOUND CIRCUIT) with +/- 15v supply. I have found small class D amplifier for Mid AND high amplifiers. They are single sided power. Can I simply couple the input through a capacitor and ground? Will signal cause problem when it crosses zero to negative value? the voltages are supplied from a transformer with +/- 38 v and +/-15v bridge rectified and capacitors. Grounds tied together. If a coupling capacitor is the answer, what value would allow suitable hi pass for audio? thanks

output section of crossover mid and hi shown. Low Frequency goes to an amplifier that is dual supply +/- 38vdc
the amplifier board shown is similar to one in my question, same wiring inputs
Thanks


texts: Is It Safe To Apply 24V Across a 12V Motor?

texts:
I am trying to determine if it is safe to apply 24V across a 12V rated motor.  I am working on a robot that weighs approximately 150lb and has a friction intensive drive system.  I believe the motors are drawing >60A as my motor controller is giving an error.

If I switch to 24V would the current being drawn be cut in half?

Here is the spec sheet of the motor:
http://files.andymark.com/CIM-motor-curve.pdf

Thank you for your help

EDIT:  Also would it be possible to use two relays per motor instead of a motor controller to allow for the motor to draw higher currents?


texts: how to simulate wide swing cascode current mirror

texts:
I want to design a wide swing cascode current mirror (question-left) and in order to apply Iref, I have designed a PTAT and applied it to M3 and M5. Iref must be 50uA and the diagram of output should be like the diagram in picture (question-right).
The problem is that, When I do simulation, I have I=0 for V<0.6 and it gradually increases, while it shouldn't be like this. I don't know in which part I'm designing wrong and I don't know how to solve it. would you please help me urgently????
Thanks in advance.

The other image is the result of my designed circuit.


texts: Funduino/Keyes relay board doesn't switch off relays

texts:
I've build a simple set up with a Raspberry Pi and this relay board to switch some lights. I have removed the jumper from the relay board, connected 12V to the VCC/GND pins, connected the Pi GND to the relay board's COM pin, and the GPIO pins to the relay board inputs. I connected the load to the relay's NO (normal open) connectors. When I use the gpio utility I can switch the pins on the Pi on and off; the relay board follows this, as confirmed by the LED and the load on the relays switching on and off. So far so good.

But then, after a little bit of playing around, the relays stopped switching off. The LED for the relay does switch off, but the contact stays closed; the lights connected to that relay stay on. Not all relays have the problem, and every now and then the ones who do have the problem work once or twice; but they don't reliably switch off.

So, if we ignore mechanical failure of the relays for a second (I doubt all relays on a board would have the same defect...), what could cause this behaviour? I mean, when I remove the signal from the relay board, the optocoupler on the board would stop conducting, the signal would disappear on the 'other side' of the optocoupler, and all relays should switch back to 'open', right? But even if I unplug the Pi, the relays stay closed! And when I unplug everything (the Pi, the power to the relay board, the power to the load) and replug, the relays that were stuck still are closed.

What further steps can I take to debug this? Thanks.


texts:
I recently started designing a pcb for flashing lights I want to use in a pavillon at festivals, garden parties and the like.

Now my question is, can anyone tell me which kind of LED that has the most lumens/watt?

5mm clear LED's
Clear surfacemount PLCC LED's
1 or 3 W LED's

I've previously experimented using 12-15 5mm which turned out pretty good as a "mini" spotlights, but I have no experience using highpowered LED's.

I want to build the poormans buck as supply on the back of the PCB, so I thought the surfacemount LED's would be the best, but only if they perform "okay" in terms of lm/W.

Note: They will be powered from the same large 12V batteries that runs the music.

--- EDIT ---

Yeah, I should definately have given more details. Im looking to make dance-lights in RGB colors as well as white for a strobe and perhaps UV. Number of channels doesn't matter too much, as long as I have at least one for R, G and B.

I AM on a budget, but not too tight either. My original plan was to have 4-6 PCB's with 50-ish LED's each (enough to make a lot of light in the dark), which is why I preferred 3-cent LED's over 50-cent ones.


texts: AD7192 send command during continuous read

texts:
I'm using the AD7192 ADC for a measurement unit. On startup I do all the configuration and then set the ADC into continuous read mode by writing b'01011100 to the command register.
Now I need to set one of the ADC's GPO during operation what doesn't work. It seems to me like already the write operation to the command register fails - I'm sending b'00101000.
According to the datasheet(page 31) I've to send this command while the nRDY/DOUT is low, but what I don't understand is, when the nRDY/DOUT is low and I start to clock, the ADC will send the current conversion so the nRDY/DOUT starts alternating.
Did I miss something?


texts: What generates the clock signal in a fast CPU and how does it work?

texts:
Often, for integrated circuits, a quartz crystal is used to generate the clock signal. However, this only reaches speeds in MHz. What component, or what circuit, generates signals up to 5 GHz like in computer processors?

How is it possible to increase that speed when you overclock a PC (since I don't assume that a crystal speeds up when you put a higher voltage across it, or make it cooler)?


texts: What's causing my microcontroller LED program to stop working?

texts:
So, I am a COMPLETE and utter novice at programming. I have done some basic stuff on Arduinos (literally toggling LEDs and displaying something on an LCD) and I am trying to self teach myself how to program in C. I am a hardware engineer by trade, but it bothers me that I can't do any of the firmware/software side and there are no evening courses to teach it, and I'd like to further my career options. I am struggling to understand how some of these commands go together and have run into an issue that I just can't get my head around why it isn't working.

So, I have an input and an output. My output is toggling the gate of a FET which turns an LED on. The input is coming from an AND gate. So, my LED is always on, and when I get an input signal from the AND gate (2 conditions have been met) I want the output (LED toggle) to go LOW (turn off the LED. As the output is also connected to one of the AND inputs, this will also turn the input signal LOW.

What I want to do: I just want to read the input as 'conditions met' and turn the LED off. It should then be off for 1 second, and turn back on. If the input goes HIGH again, the process repeats. I am using a simple push to make switch as the other AND gate input and have measured that the output (MCU input) goes high when the button is pressed, yet the LED toggle (output) will not turn off. My code is (I think) pretty damn simple, but clearly I don't understand something correctly as it just isn't working.

So this is the code I am using:

#include "mbed.h"

DigitalIn ip(D7);
DigitalOut op(D8);

int main() {
    if (ip == 1){
        op = 0;
        wait (1.0);
        op = 1;
    }else{
        op = 1;
    }
}

And to me, that seems logical. In the usual state, the output is HIGH. If the input gets the signal from the AND gate, the LED will turn off for 1 second, then turn on again.

What is it I've done wrong as that looks like the logical way to do it and I just can't understand why that doesn't work?

If it helps, I am using the Nucleo F103RB. When I use the 'blink' code and just toggle the LED on and off like that, it works fine, it's just when I add the 'if' statement that it goes wrong.

This is the simplified circuit:

simulate this circuit – Schematic created using CircuitLab

PS I know I didn't add them in the schematic, but the AND gates do have pulldown resistors on the inputs and output.


texts: Raspberry PI composite color video resolution puzzle

texts:
I have a rather theoretical question.

I connected my Raspberry Pi to my Composite NTSC TV and observed that the terminal video output has 640 pixels horizontal resolution with nice solid clear colors for text characters and logo. However, NTSC composite can only reliable produce less than 190 horizontal pixels without introducing color blurs and artifact colors (see Composite artifact colors) because of the 3.58 MHz color carrier frequency used to decode color from composite signal.

I am puzzled how they can do this. Does anybody know the answer?


texts:
I got source files (.sch and .brd) but unable to use Add command to add components. The error message said:

  "The Add command can only be used in the default assembly variant!"

I can't modify at all. Any suggestion would be highly appreciated.


texts:
I have an Arduino mega 2560 attached to a 4 wheeled robot (similar to this: http://www.youtube.com/watch?v=gPqZQsKHJ9s&feature=related) .

Pin 9 on the Arduino is connected to the front wheels of the robot to move either left or right.

Pin 10 on the Arduino is connected to the back wheels for forward movement.

I have successfully sent "LEFT" and "RIGHT" signals to the arduino and have gotten the robot to turn left and right respectively.

However, I am struggling to have control on the pin 10 which controls forward/backward movement. When I send any signal to over pin 10 the robot moves the wheels in forward direction at maximum speed.  I cannot let the robot sit on a table for testing because it goes out of control.  I have to physically lift it from the table so the wheels do not touch the ground when testing pin 10.

Here is the code that works correctly for left and right signals:

#include <Servo.h>

Servo myservo;  // create servo object to control a servo

void setup()
{
  Serial.begin(9600);
  Serial.println("Hello Pi");
  Serial.println("attaching to pin 9");
  myservo.attach(9);  // attaches the servo on pin 9 to the servo object
}

void loop()
{
  if (Serial.available())
  {
    char command = Serial.read();
    if (command=='L'){

      turn_left();
      delay(5000);
    }
    else if (command=='R'){
      turn_right();
      delay(5000);
    }

  }
}

void turn_left(){
  myservo.write(500);
}

void turn_right(){
  myservo.write(0);
}

And here is the code for moving forward that does not work

#include <Servo.h>

Servo myservo;  // create servo object to control a servo

void setup()
{
  Serial.begin(9600);
  Serial.println("Hello Pi");
  Serial.println("attaching to pin 10");
  myservo.writeMicroseconds(544); // im confused what this does..
  myservo.attach(10);  // attaches the servo on pin 10 to the servo object
}

void loop()
{
  if (Serial.available())
  {
    char command = Serial.read();
    if (command=='L'){

      move_forward(); // right now does the same thing is move_backward()
      delay(5000);
    }
    else if (command=='R'){

      move_backward(); // right now does the same thing as move_forward()
      delay(5000);
    }

  }

}

void turn_left(){
  myservo.write(500);
}

void turn_right(){
  myservo.write(0);
}
// as soon as either of the two functions below is invoked
// the robot goes at MAXIMUM speed forward.  I have no clue how to slow it down.
void move_forward(){
  myservo.write(0);
}

void move_backward(){
  myservo.write(0);
}


texts: How can a simple operation such as moving data from one register to another can be encoded into an instruction and executed in a single clock cycle.?

texts: The simple point I'm trying to make for an essay Im writing. I'm completely at a loss as to how to answer this. Any help available? Sorry, I know this is not a well formed question but I've got no other places I know of to ask left.


texts:
I have a very basic though unsolvable issue so far, I bought a (shitty) mini solar panel, outputting up to 6V and 1W (166mA), and I cant get it to work with the equipment I have or even measure any current.

I do have up to 6V on my multimeter, but I don't see any current output (I plugged the multimeter correctly), is that normal ? Should I use a resistor ? If yes, which resistance would be appropriate ? Could my panel be broken even though it has a potential ?

That is the first part of my issue, which may be silly and due to a ridiculous mistake that I don't see yet, but I have more concerning issue. I bought a (shitty) 3-6V DC motor, that I tested and that draws up to 110mA at 6V at max speed, and starts around 3V drawing 50mA. The motor should run at least slowly with a decent insolation of the panel, but there again, nothing.

Be kind to a person whose strong point is clearly not electrical engineering !

Thanks for you answers.


texts: Which transformer faults will lead to power outage?

texts:
I have year by year data of number of faults in 330 kV power transformers. Faults are of various kinds and there is no additional information about how many of those faults led to power outage.

I am a mathematician and just have basic knowledge in power engineering.

I do understand that not all faults in a transformer will lead to a power outage in lines connected to those transformers. However, is there a conservative bound for the probability power outage?

For example, approximately 16 % of all faults lead to a power outage. I assume it is a very long shot, but maybe someone might have some suggestions.

In addition, maybe someone has some knowledge about which components in a transformer will fail and usually/definitely lead to a power outage?

Any references to papers or other literature would be appreciated.


texts: Serial.println using Registers in ATMEGA328P

texts:
I have worked with ATMEGA328P using Arduino libraries, but new to actual register level coding. To start with that, I have written code for basic Serial.print in AVR STUDIO IDE. I tried to check it's output on Serial monitor of Arduino IDE. I could not see any result, as transmitter LED of Arduino UNo board is not blinking, I conclude that I have done something wrong, but unable to debug it. I would appreciate if one can suggest books to learn Register level coding for Atmega328P.

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

void beginSerial(int baud){
    uint16_t UBRR_value=lrint((F_CPU/(16 *baud))-1);
    UCSR0A = 1<<U2X0;
    UBRR0H=(unsigned char) (UBRR_value >>8);
    UBRR0L=(unsigned char) UBRR_value;
    UCSR0B=(1<<RXEN0) | (1 <<TXEN0);
    UCSR0C=(1<<USBS0) | (3 <<UCSZ00);
}

int main(void)
{
    beginSerial(9600);
    DDRB |=(1<<PINB5);
    PORTB &=(1<<PINB5);
    while (1)
    {
        while(! (UCSR0A & (1 << UDRE0)));
        UDR0 ='A';
    }
}


texts: Cadence multiple drain current for single transistor

texts: Simulation of a single transistor in Cadence ADE-XL, gives me two drain currents. For example if the transistor is named M1 then I see M1:m0:d and M1:m1:d, both carrying different currents but their addition is the desired current. Please can anyone tell me the physical significance of these drain currents. I know they are somehow related to number of fingers, but in my case I have kept the number of fingers to one.


texts:
There are several methods to drive LEDs using a microcontroller. The easiest method is just connecting all LEDs to an own pin on the microcontroller. Say you have \$n\$ pins available, you'll be able to drive \$n\$ pins.

However, there are different methods to drive LEDs as well:

A diode matrix:

Divide the pins into two sets: one for current source, one for current sink. Set the sources to 0 by default and the sinks to 1. Now, to light one LED, set the connected source to 1 and the sink to 0. Do this for all LEDs, after each other.
Charlieplexing:

With Charlieplexing, you set the unused pins to input, giving those a high-impedance state, 'disconnecting' them from the circuit.

What I'm looking for now is an overview of these methods to drive LEDs (and other much-used methods to drive LEDs, in a more efficient way than the 1:1-method described before, if they are noteworthy). What I need for every method is two calculations:

Given \$n\$ pins, what would be the maximum amount of LEDs to drive?
When you need \$n\$ LEDs, how many pins will you have to use as a minimum?


texts: How does a Schottky diode rectify RF signals

texts:
In low frequencies, the diode rectifies the input signal depending of the bias polarity. This is because (the simples case) the diode is consider either an open or closed circuit.

In high frequencies (> 300MHz) the diode is consider as a equivalent circuit (Fig.1) but I do not understand how the rectifying process occurs.

My assumption is that, when talking about RF, the source must be adapted to the input impedance of the diode. When the impedances are adapted the signal is rectified.


texts: Typewriter keyboard matrix control with Arduino

texts:
I have an electric typewriter that I bought at a yard sale, and am trying to turn into a teletype-esque machine using an Arduino. I already asked this once before, but I've gotten a lot further into figuring out how this thing works. as @PeterJ guessed, it was a matrix, with different keypresses connecting 2 pins.

My question: Knowing which pins were connected by each key, how would I connect the Arduino to the pins to simulate keypresses? There are pictures on my previous question, and I'll put them here if that's needed.


texts: Tristate and having low and high at the same time

texts:
I am reading about microcontrollers now and i ve been confused.

I am reading some pdfs and there is a symbolism of tristate condition High->High/Low.  Meaning going from High to high and low at the same time. How can this be possible?? what is the meaning behind this??

It has also some process of going from tristate to high and low at the same time and the opposite.

Its also shown in some waveforms after.


texts: Why is it harder to turn a motor/generator with shorted terminals?

texts:
The shaft of an unconnected motor is easy to rotate relative to a motor with shorted terminals.  If a resistive load is connected to the terminals, the turning difficulty is somewhere in between.

Why is this?  (I'm using a BLDC motor.)


texts:
On what principle Bioelectrical Body Impedance Analyzer works? I thought about this many times, and I wanted to know is there really a way to precisely measure all those body parameters with this device or it's just some kind of electronics consumer fraud?

I think on devices like this

Are these devices enough accurate?


texts: lcd TV: panels or driver limit capabilities?

texts:
For a LCD panel, if I found a board which offered 120hz refresh rate and 3d active shutter type display could I add it to the panel and could I then get this kind of performance out of the lcd panel or is the limits of the panel determined solely by the quality of the panel alone?

Note I am not asking about resolution as I am quite confident that this is in fact a hardware limitation but suspect that the speed with which those pixels can be switched could be enhanced with a better driver board.


texts: Do PoE network switches have low output impedance and high input impedance?

texts: I am just curious, and wanted to know if a Network Switches that have PoE ports have low output impedance, and high input impedance?


texts:
I've recently started a project that has some pretty loose specifications. I need to develop an LED driver that can take an input of somewhere between 7.2 and 24V, and drive an LED panel at 30V with a max of 0.7A. However, via a microcontroller I need to be able to adjust the output current to alter the brightness of the panel.

I've had a look around and I can't really see any sort of boost converter that will allow me to easily adjust the current, so I'm a bit stuck in terms of the parts I'd have to use for this.

My thoughts so far are possibly a configurable boost regulator strung in line with a constant current source, linked to a digital potentiometer. This seems a little messy though, there's surely an easier way...?


texts:
I have a 4.5V source. I connected + terminal to a 15ohms resistance the resistance is connected to the + end of a green LED, the - end of green LED is connected back to the battery to make the circuit complete . I observe the green LED lights up. The drop across the resistance is 1.3V and the led is 3.2V.

Now I connected the Vcc of NTE74LS08 ("and gate") to the +-terminal of battery. The ground
 of NTE74LS08 is connected to the negative terminal of the battery.

pin 1 and 2 are 1A and 1B pin 3 is 1Y of NTE74LS08.

I connect 1Y with another + end of a red LED, the - end of the red LED is connected to 15 ohms resistance. The end of the resistance is connected to the negative terminal of the battery.

I observe even without the 1A and 1B connection (that is both the A and B input being zero) the red LED is lighting up.

My question is what is the mistake of my design ?  Why is the any gate not working ?


texts:
I am trying to create a footprint for a LMR61428 but the datasheet (linked) only has the package outline and nothing for the recommended land pattern, or footp for a PCB design.

I found this image on TI after a fair amount of searching for a VSSOP-8 package which is what the LMR61428 claims to be but I am not 100% confident this is actually the correct one - the pitch of the pins are correct but I am not sure about the overall sizes that it gives.

It seems that it should work, but I just wanted some clarification before it gets further down the line in my design!


texts:
I am trying to interface with an MCP3461 ADC. I follow the SPI protocol described in the datasheet, and can read the output normally. I use the ADC in continuous conversion mode, 3.3V AVdd/DVdd/Vref and read the values using a Teensy LC.
After I validated the operation, I tried connecting to an ATmega328P with an I2C LCD module for debugging purposes. The ATmega is also at 3.3V (supplied by the Teensy) and the SPI programmer is set to 3.3V logic level. It worked for a while and eventually "just stopped" working properly.
When I give commands to the ADC, the first command always returns a wrong status value, but all subsequent ones return the correct bits as expected. I put it into conversion mode and internal clock (like I have been doing), but it never returns "conversion ready" anymore, as if the whole analog side has stopped working. I can still read the registers normally and validate the values I'm writing in them.
I tried a second IC I had at hand, and got the same behavior. It started working just fine, and eventually stopped working as well.
I am confident that I have not violated any voltage levels and I'm using decoupling capacitors. There's clearly something I'm doing wrong that's frying(?) the ICs, but what could that be?


texts: Using din rail terminal to UART communication

texts: Can I use din rail terminal to do the communication between arduino and sensor using uart protocol? Using din terminal can I have problems? Or is better to use DB9 connector? The distance is 4m and the baud rate is 9600.


texts:
I have been solving BJT circuits on my textbook and stumbled upon a PNP BJT small signal model question. It asks to build the small signal model of a PNP transistor circuit. When I checked the proposed solution, I was a bit confused. Following are the original circuit and the proposed small-signal model.

My confusion is that, this is a PNP transistor, so the current flows from the emitter to the base and to the collector, unlike an NPN transistor. But in the solution it looks like the current source is directed from the collector to the emitter, which is contradicting.

What am I missing here?


texts: Depicting Analog Signal Paths graphically

texts:
Is there a 'standard' way to depict analog signal pathways / chains that's simple, concise, and not too mathematical?

I've been searching online, but can't seem to figure out what such a diagram is called or any tools to make them. The diagrams I see are either full schematics or very high level block diagrams.

I'm thinking about, I think, the kind of diagrams used to depict control systems. What I'd like to do is draw similar diagrams to provide a quick reference to what the overall circuit does. I don't need it to contain electrical information as such, in that it isn't important that it should be compatible with Spice / similar.

An example set of symbols I'd need would be :

A representation for inputs (single ended and differential)
A representation for gain stages, showing gain information.
Nicer if I can show the signal level before and after the gain stage, as well
A representation for filters, showing cutoff frequencies
A representation of simple feedback loops (say adders or subtractors)
Perhaps a representation of instrumentation amplifiers (with transfer function Vref + G * (In+ - In-), as opposed to G * In for a simple gain stage)

Any clues about how to go about drawing these would be nice. Specifically, the following are questions that I think would help :

What would such a diagram be called? Bonus if the name is something that is Google-able.
Are there any tools (preferably free, open source, but I'll take something commercial as a reasonable starting point) available that can help quickly draw these things.
Else, how is such information (number of gain / filter stages, expected signal amplitudes through the signal chain, signal shapes / frequencies / amplitudes, etc) effectively communicated.


texts:
I'm new to IC design and just wondering if it possible to order IC production if you have all necessary design files (like RTL design, chip layout from Cadence for example, etc.)
If it is then what are these companies and what is the approximate cost (for a relatively small IC like for example an ethernet PHY?)
\$ \ \ \ \$


texts:
This may be a noob question

Lets consider a balanced 3 phase supply namely

\begin{align}
R&= V \sin(x)\\
Y&= V \sin(x-120)\\
B&= V \sin(x+120)
\end{align}

At a neutral point we would say that the resultant voltage=0 as R+Y+B=0

However lets consider the magnetic flux produced by each phase in a 2 pole stator with the equations same as above (consider V to be maximum flux).
If we go by the same logic then the net flux should also be zero but it isnt.
Quick research says that we should use vectors or the complex notation to find the resultant flux. Why do I encounter this discrepancy?


texts: Can I charge a my Li-Ion batteries using a regular power adaptor?

texts: I'm confused with the various websites and advice on this. I want to use 3×18650 cells (3.7V, 2200mAh each) connected in series to supply my device with +-11V. To charge them, can I just connect my pack to a 12V DC power adapter (2A), or do I need some additional components?


texts: Would a transistor be the correct device?

texts:
I am going to create the following circuits. However I need to be able to have a switch that completes the lightbulb circuit when VM1 input > 4.3v

I think a transistor may be the answer from what I have read. Please could someone give me some help. I have thought about using a relay, but this just seems to mess up the voltage to VM1
Any help is greatly appreciated.

simulate this circuit – Schematic created using CircuitLab

I believe this is the solution I was looking for. Please read this carefully before testing. POT's R1 & R2 are attached to the same wiper, so what happens to one must happen to the other. The switch SW1 is a push to break switch.
Please could you tell me if the resistors I have selected are compatible with the zener diodes I have selected. Thank you.

simulate this circuit


texts: Would a BMS help discharge the 18650s individually at an equal rate when they are connected in series?

texts:
I'm wondering if I should add a BMS to my battery pack.
I got 11x18650 with built protection in series, and have noticed that some of them get discharged quicker than others, and because of built in protection, they just kill the whole pack when just one of them goes down below a certain voltage.
I've googled what a BMS does, but couldn't find any info on this functionality.
Also I would appreciate any aliexpress/ebay links to a cheap BMS that does this, thanks!


texts: Convert a digital design based on arduino into VHDL code

texts:
I want your help on the following: I have implemented a design where I am using an Arduino Uno for master and three Arduino micro for slaves. The communication between them happens over bluetooth and I am using xbees. So the master sends data and base on this data only one slave responds while the others ignore the packet. Based on the answer, the master sends new and so on.

The design works fine but the cost is rather high since I want to continue with more production on this but right now the whole set costs around 120$.

Now that my design works with Arduino, I want to go into the next level and develop my own modules and chips. I do have experience with VHDL, Verilog and FPGAs but I do not know how this process can lead into fabrication and I could not find many relevant info on the web.

So I do have this plan and could you please correct me or suggest me something different if it is that wrong.

I will write the code in VHDL. For the bluetooth, i can use one of the ips found on Opencores.com
Test my design using FPGAs
Maybe verify my code
Get the netlist or something else and send it (where?) for fabrication.

Is that methodology correct or not?

I do not care with how long it should take, I just want to know if that procedure can lead into producing a chip that could replace each one of my Arduinos and xbees.

PS: would it be possible at first to write in VHDL the code for the master only (only the control logic) and test it using xbee for the bluetooth and proceed one step at a time?

EDIT:

Ok, I know that doing the above is inefficient. But, supposedly, that I want to create my own chip, is that the right procedure? - in terms of what is going on in the industry - do not comment on cost/time/whatever. Because I do have a gap in how these things work in industry.


texts: Eagle create new package - set origin in PCB

texts:
I'm creating a package with Eagle, an Arduino shield package. While placing the pads or even drawing tPlace symbol for the package, I feel very difficult to allocate these items.

If my memory works, there should be a command to set any arbitrary origin, then any placement would be calculated relatively to that origin. Is there such command in Eagle?

I could not find it nor even Google gives any good suggestion

Thank you!


texts:
I am a beginner PSPICE, in simulation electrical and electronics circuits. I want to simulate a schematic with the program Micro-CAP 12. I want to look for some graphics from a photodiode PIN  which is  a InGaAs Photodiode IG22-Series, I want to monitor follow parameters:

responsivity (A/W) vs wavelength(nm);
dark current (A) vs reverse voltage (V);
shunt resistance vs. temperature;
detectivity vs. shunt x area;
capacitance vs. reverse voltage;
responsivity temperature coefficient.

And at transistor BFP420 I want to monitor some graphics at the following parameters:

total power dissipation Ptot = ƒ(TS);
permissible pulse load RthJS = ƒ(tp);
permissible pulse loadPtotmax/PtotDC = ƒ(tp);
collector-base capacitance Ccb= ƒ(VCB)f = 1MHz;
transition frequency fT= ƒ(IC) f = 2 GHz VCE = parameter in V;
power gain Gma, Gms, |S21|² = ƒ (f) VCE = 2 V, IC = 20 mA;
power gain Gma, Gms = ƒ (IC) VCE = 2V f = parameter in GHz;
collector-base capacitance Ccb = f (VCB) VBE = 0, f = 1MHz;
noise figure F = f (IC) VCE = 2 V, ZS = ZSopt;
noise figure F = f (IC) VCE = 2 V, f = 1.8 GHz;

I do not know how to begin. Please help me. I accept, if is necessary  any simulator of circuits.


texts: Is there any DAC that generates a negative voltage or sine wave without offset?

texts:
I would like to generate a positive and negative voltage (sine wave without offset) from an AVR microcontroller. I think it needs an external DAC, because the internal ones are not able to generate a negative voltage.

Is there a possibility to do it or is there a DAC which makes that?


texts: Questions about sound card scope software?

texts:
This is a popular software for those people who don't have a real oscilloscope or function generator:
https://www.zeitnitz.eu/scope_en

If anyone tried it before, would you answer my questions, please?

1.What is x-y graph? What does each axis represent?

How Can I measure the frequency of a signal that is composed of two frequencies? such as: resonant frequency or harmonics.

Thank you very much,


texts: +/- 96 V transformer less power supply design

texts: I know this is a dangerous practice, but obtaining a transformer to make a vacuum tube power supply in my country is prohibitively expensive. So i have to go for transformer less psu. I am just making a very simple TUBE tester to check if the grid voltage is really controlling the plate current. Now this requires both + and - power supply. I should be able to completely cutoff plate current by making grid negative. I am presenting my design of power supply.  Have anybody designed something similar? Correct me if some flaw in my design.


texts: Identify unknown SMD component code A6530 72130

texts:
I have a TTL to RS485 driver board and I am try identify one of the manufacturer part number from the board.
Can anyone identify the SMD Code and manufacturer part number of the following device?

Code A6530 72130
dimension is 6.6mm x 4mm


texts: Connecting Arduino to GPS Chip with Single Pin

texts: I was given an old Garmin GPS unit from a friend and decided to tinker around with it and see if I could connect the GPS chip up to my Arduino to use with their GPS library.  Problem is, the chip itself has a single pin coming off of it and I'm not sure what to do with it.  I've definitely worked with temperature sensors that are a single pin... Is this a common type of connection and if so - could anyone point me in the right direction as to how I can hook this up to power it and send / receive data?


texts: RMII MAC side routing and signal integrity

texts:
I have some signal integrity and EMC questions.

In my board LPC1768 RMII interface is connected to LAN8720. Because of pin locations some RMII signals must go through bottom layer. This is a four layer board, 2nd layer is GND, 3rd layer is Power. I know vertical traces reduce emi effects, so I routed this way. Since it is RMII, interface is 50Mhz.

In this routing maximum trace length is 2.15cm and minimum trace length is 1.75 cm, so max. difference between trace lenghts' is within 4mm. Trace width  is 0.16mm. I used KiCAD's Pcb Calculator to calculate trace impedance and used data from Gold Phoenix PCB manufacturing. And impedance for these traces are 66 ohm(Differential impedance values for phy side RX/TX couples are 50ohm).

According to LAN8720 IBIS model, REF_CLK rise time is 2.104 ns and fall time is 1.296 ns

Does REF_CLK must be routed without vias.
Does REF_CLK need termination resistor?
Is 4mm difference in trace length @50Mhz acceptable?

These are my questions, also please add any other opinions and comments.

(I saw old micropendousx reference designs, its a two layers board and using multiple vias almost all signals because its a very small board, I didn't use it, so I don't know if its working or not)

lpc1768 datasheet
lan8720 datasheet
micropendousX reference design


texts:
I'm looking for an open source verilog synthesizer. I am using Icarus Verilog as a verilog simulator. Originally I was going to use it for both simulation and synthesis, but found out the tool no longer supports synthesis. I have found the gEDA website and I have looked around there, but was not able to find a replacement synthesizer.

I am doing this because I have a Papilio FPGA dev board and want to start to use verilog with it.

Also, if you could shed some light on the process from going from Verilog to FPGA that would be great. I feel as though there are more steps in the process from going from Verilog to FPGA than just simulation and then synthesis.


texts: Detecting position -- Hall effect sensor?

texts:
I have an extruder that is producing a molten plastic filament that cools after a brief while (2-3 seconds).  The plastic stream needs to be a consistent diameter, and one method of doing this is to have a pinchwheel "pulling" the filament faster or slower based on the filament diameter.

My thought was to have a fixed-position toothed wheel pulling, and a spring-loaded idler lightly holding tension against the toothed wheel.  The idler would have a long lever protruding from it (so a small change in diameter will create a large swing on the lever), with a magnet mounted on the end of the lever.  A Hall effect sensor would be used to detect that the lever is in the correct location, and a microcontroller can be used to adjust puller RPM to keep the lever in the correct location.

The pinchwheel & idler configuration is a known working setup, my unknown is the interaction between the magnet and Hall effect sensor.  Ideally the Hall effect sensor would act like a variable resistor or voltage divider, output voltage dependent on the strength of the magnetic field, but I'm concerned it may work on flux instead.

If I were to get one of the TO92-shaped 3-wire sensors (a passive one, I'll be looking for what's available locally rather than a specific model), what kind of behavior am I to expect here?

Alternative ideas welcome.  Diameter of the filament should remain constant to 1.70mm +- 0.1mm, to give an idea of the resolution required.  I'd love to get down to 0.05mm which I hope this solution can do.


texts: Circuit with adjustable source and a diode

texts:
I'm struggling a bit with diode circuits.

simulate this circuit – Schematic created using CircuitLab

The source is adjustable.

Which value the source has to be to the Diode start conducting?
What's the value of entrance's current and the diode's current when the source is 10V?

Any explanation on why/how the diode will start conducting at certain value will help!


texts: Relationship between the dimension of a chip and its operation frequency

texts:
In his book "Modern Operating Systems", Tanenbaum makes a statement about processors speed that I can't understand:

  According to Einstein’s special theory of relativity, no electrical signal can propagate faster than the speed of light, which is about 30 cm/nsec in vacuum and about 20 cm/nsec in copper wire or optical fiber. This means that in a computer with a 10-GHz clock, the signals cannot travel more than 2 cm in total. For a 100-GHz computer the total path length is at most 2 mm. A 1-THz (1000-GHz) computer will have to be smaller than 100 microns, just to let the signal get from one end to the other and back once within a single clock cycle.

I am aware that the speed of an electromagnetial perturbation is not the same in different environments, so it is easy to grasp that the speed of light "is about 30 cm/nsec in vacuum and about 20 cm/nsec in copper wire or optical fiber". However, how it is possible to infer that signals traveling inside a 10-GHz CPU cannot travel more than 2 cm? Is that related somehow to the wavelength of a 10 GHz signal that is traveling at 20 cm/nsec? If it is related, how to conclude that an 1-THz CPU would have to be smaller than 100 microns, once the wavelength of an 1-THz signal is 200 microns?


texts: Using a diode-connected MOSFETs as a voltage divider

texts:
I have read that it is possible to use a diode-connected MOSFET as a small-signal resistor with a resistance of 1/gm (ignoring channel length modulation.)

Also, the equation for gm is as follows:

Note that this equation shows that gm is dependent on Vgs (=Vds for diode connected devices.)
If I design this (and select 1/gm) based on a Vin = 5V with the hopes of getting a 0.5 ratio to give Vout = 2.5V, then I change my Vin to 1V, my 1/gm should change, hence my resistance should change and now I will no longer get my 0.5 ratio.
Is that correct? These resistor dividers can only be used for one single designed Vin.


texts: What is the main difference between a decoder and a demultiplexer

texts:
What is the difference between a decoder and a demultiplexer and why would you choose one over the other in a design?
Apart from the fact that they are constructed and operated differently, they both perform the same function.
I was of the opinion that demultiplexer split the data that has been multiplexed into one channel back out onto multiple channels.
However, upon testing the circuit model, it functioned very much like a decoder.


texts:
Maybe the underlying question is what the Voltage-Current curve looks like. Can I drive it from a voltage source (like you drive a heater) or from a current source (like you drive an LED)? Or even different than those two options?

ADDITIONAL1: Say (hypothetically) I have two commercially available identical Peltier's, they are spec'd 6V/3A. Can I connect these in series to a 12Vdc power supply without any worries?

CONCLUSION1: Current/Voltage load curve is reasonably linear, both driving from current or voltage source will do fine as long as the device is operated within its spec. (Olin Lathrop, Russell McMahon)

CONCLUSION2: Don't drive a Peltier from PWM, power loss due to current increase, grows more rapidly than cooling power. (Olin Lathrop)

CONCLUSION3: Beware the mechanical wear of the device with continues cycling. Eg. don't use a thermostat on/off controller. (Russell McMahon)


texts:
I am trying to calculate a suitable resistor to give about 2mA to the a bi-colour LED in the following configuration:

simulate this circuit – Schematic created using CircuitLab
The LED package I am looking at is the L-113SRSGWT (Datasheet here). The Red LED has a typical Vf=1.85V and the green LED has a typical Vf=2.2V.
The idea being that one LED will turn on when a "high" TTL voltage (approx 5V) is applied and the other LED will turn on when a "low" TTL voltage (approx 0V) is applied.
I found a similar question here however I did not quite understand the calculation steps provided. (I have not decided which LED will face which side, I wanted to calculate it first for a rough idea)
The datasheet also does not provide a reverse voltage case for the LED's but I assume that the LEDs will protect one another in the forward and reverse voltage cases. But to be sure, how would I calculate that?
As the two LEDs have different voltage drops this would mean (strictly speaking) I would need two separate resistor values for R1 and R2. But I want to keep them the same for simplicity.
I did a quick calculation for the resistor values with the Red LED Anode facing the TTL logic side and a "high" logic is applied (5v) and got the Thevenin circuit equivalent as:

simulate this circuit
As R1=R2, RT=2*R2. Assuming 2mA current, I got RT=V/I= 3.15V/0.002= 1575 Ohms. So R1 and R2 should equal approx 787.5 Ohm. Is this correct, or have I misunderstood?


texts: Flash memory multiple device I/O operations

texts: Can two devices perform I/O operations on flash memory simultaneously? For example if two USB hubs are connected to it and both are connected to two different laptops, can a flash memory have multiple access at all? If not, is there any way to approach this operation through a network or anything?


texts: LTspice simulation problem when changing the load

texts:
I have this simulation. I tried to do a simulation for observing cross regulation problem:

Here are the results:

The two outputs are equal and stable which is normal.
Nevertheless when I change the load on one secondary, it is completely unstable. I must always have the same loads to have stable outputs. I do not understand why it happens.

----------EDIT--------------------------------------------------------------
SHEET 1 884 680
WIRE 560 -272 384 -272
WIRE 656 -272 624 -272
WIRE 800 -272 656 -272
WIRE -96 -256 -432 -256
WIRE 96 -256 -96 -256
WIRE 384 -240 384 -272
WIRE 656 -240 656 -272
WIRE 800 -240 800 -272
WIRE 96 -208 96 -256
WIRE -432 -192 -432 -256
WIRE -96 -192 -96 -256
WIRE 384 -112 384 -160
WIRE 656 -112 656 -176
WIRE 656 -112 384 -112
WIRE 800 -112 800 -160
WIRE 800 -112 656 -112
WIRE 656 -96 656 -112
WIRE -432 -80 -432 -112
WIRE 560 -48 384 -48
WIRE 656 -48 624 -48
WIRE 800 -48 656 -48
WIRE -96 -32 -96 -128
WIRE 96 -32 96 -128
WIRE 96 -32 -96 -32
WIRE 384 -16 384 -48
WIRE 656 -16 656 -48
WIRE 800 -16 800 -48
WIRE 96 0 96 -32
WIRE 224 0 96 0
WIRE 96 32 96 0
WIRE 48 48 -128 48
WIRE 224 48 224 0
WIRE -128 64 -128 48
WIRE 48 96 16 96
WIRE 384 112 384 64
WIRE 656 112 656 48
WIRE 656 112 384 112
WIRE 800 112 800 64
WIRE 800 112 656 112
WIRE 656 128 656 112
WIRE 96 208 96 112
WIRE 224 208 224 112
WIRE 224 208 96 208
WIRE -128 256 -128 144
WIRE 16 256 16 96
WIRE 96 256 96 208
FLAG 656 128 0
FLAG -432 -80 0
FLAG 96 256 0
FLAG -128 256 0
FLAG 16 256 0
FLAG 656 -96 0
SYMBOL ind2 80 -112 M180
WINDOW 0 36 80 Left 2
WINDOW 3 36 40 Left 2
SYMATTR InstName L1
SYMATTR Value {Lmag}
SYMATTR Type ind
SYMBOL ind2 400 -32 M0
SYMATTR InstName L3
SYMATTR Value {Lmag}
SYMATTR Type ind
SYMBOL TVSdiode -112 -192 R0
SYMATTR InstName D1
SYMATTR Value TVS
SYMBOL diode 240 112 R180
WINDOW 0 24 64 Left 2
WINDOW 3 24 0 Left 2
SYMATTR InstName D2
SYMBOL sw 96 128 M180
SYMATTR InstName S1
SYMBOL voltage -128 48 R0
WINDOW 3 -305 273 Left 2
WINDOW 123 0 0 Left 0
WINDOW 39 0 0 Left 0
SYMATTR Value PULSE(0 10 0 {transient_time} {transient_time} {D/freq} {1/freq} {Nbcycles})
SYMATTR InstName V1
SYMBOL diode 560 -32 R270
WINDOW 0 32 32 VTop 2
WINDOW 3 0 32 VBottom 2
SYMATTR InstName D4
SYMBOL cap 640 -16 R0
WINDOW 3 -91 54 Left 2
SYMATTR Value 1µ Rser = 1m ic = 0
SYMATTR InstName C1
SYMBOL res 784 -32 R0
SYMATTR InstName R2
SYMATTR Value 15R
SYMBOL voltage -432 -208 R0
WINDOW 123 0 0 Left 0
WINDOW 39 0 0 Left 0
SYMATTR InstName V2
SYMATTR Value 50
SYMBOL ind2 400 -256 M0
SYMATTR InstName L2
SYMATTR Value {Lmag}
SYMATTR Type ind
SYMBOL diode 560 -256 R270
WINDOW 0 32 32 VTop 2
WINDOW 3 0 32 VBottom 2
SYMATTR InstName D3
SYMBOL cap 640 -240 R0
WINDOW 3 -91 54 Left 2
SYMATTR Value 1µ Rser = 1m ic = 0
SYMATTR InstName C2
SYMBOL res 784 -256 R0
SYMATTR InstName R1
SYMATTR Value 15R
TEXT 136 -104 Left 2 !K L1 L2 L3  1
TEXT -448 -504 Left 2 !.model sw sw ron = 10n roff = 10meg vt =0.5 vh = -0.5
TEXT -440 -400 Left 2 !.param freq = 100k D = 0.2 Nbcycles = 500 transient_time = 1/(2*freq*1000)
TEXT -440 -368 Left 2 !.param Lmag = 100u Lleak = 1p Coupling_factor = sqrt(1-Lleak/Lmag)
TEXT -448 -480 Left 2 !.model d d ron = 10n roff = 10meg vfwd = 0.7 vrev = 1k epsilon = 0.1 revepsilon = 50n
TEXT -448 -456 Left 2 !.model tvs d ron = 0.1 roff = 10meg vfwd = 100 vrev = 100 epsilon = 1 revepsilon = 1
TEXT -448 -320 Left 2 !.tran 0 {Nbcycles/freq} {(Nbcycles-50)/freq}


texts: What kind of RFID reader do I need for library books?

texts:
My local public libraries are switching to RFID tags for check-in/check-out.  I'd like to get a RFID reader to read these tags myself, but I don't know what I need.

The stickers they put in books don't have any markings, but the ones on CDs say StingRay on them, and appear to be the 3M StingRay Full Disc RFID Tag.  I assume that the stickers in books are the same electronically, just a different form factor.  I think this is a 13.56MHz system, but I'm not sure.

What kind of reader do I need for these tags?  (Bonus question: What kind of data is stored on these tags?  Just a serial number, or is there more?)


texts: By the use of symmetry, I have found that equal currents will flow through opposite edges like A-C and C'A', but still, the use of kirchoff's current and voltage laws lead to four equations in four variables which I am not able to solve, neither I am sure that the four equations which I have created are independent since I have used symmetry in dividing currents. I think there should be some shorter method to solve this, can any one please give a hint?(Not complete solution)


texts:
I am using a miniature car and I want to estimate the position.
We can not use GPS modules and most of the tracking systems that I saw, are using IMU senson with the GPS module.
In our car we are able to find our exact correct location with image processing but for some parts that dont have enough markings we can not do this.
So we want to use the IMU as backup for our positioning. so as long as the positioning is close is good for us.

And we are only interested in our 2D position since the car is on a flat ground.

I am using a IMU 9DOF sensor and I want to calculate my movement. I have seen some amazing works with IMU for tracking body movements but no code or simple explanation is anywhere about it. So basically
I have the reading from accelerometer, gyro and magnetometer. I also have orientation in quarternions. From the device I am getting also the linear acceleration but even when I am not moving it in any direction the values are not 0 which is really confusing.

Can you please help me how to approach this?

Thanks in advance

Update :

So right now we are getting the perfect heading from the quaternion values.
We also have the delta_time between each heading. So what I believe we need right now is the velocity. either as a vector or as a total value.


texts: Low Voltage AC Smoothing Capacitor Calculation

texts:
I have a 9V AC source which will have a max load of 100mA.  I'm trying to figure the value of a smoothing capacitor with less than a 10% ripple.  I don't have a scope or else I'd just try a bunch out.

I'm just a hobbyist, but I'm trying to understand this.  Since I'm not sure if I'm doing this right, I'll just step through what I've done so far.

First I found this formula:
$$V_{ripple}={V_p \over R_LC} \times \Delta T$$

I'm using 60Hz 9VAC that is full wave rectified and I want a 10% ripple so:
$$(9V \times .1)={9V \over R_LC} \times {1 \over 60Hz}$$

I'm calculating my resistive load with Ohm's law.
$$R = {9V \over .1A} \quad R = 90 \Omega$$

So plugging that in I get:
$$.9V={9V \over 90\Omega \; C} \times {1 \over 60Hz}$$

If I solve for C (admittedly using wolfram alpha), I get:
$$C={1\over 540}F \quad C=1851 \mu f$$

1850µf seems pretty high to me...  And if I lower the ripple percent it get crazy high.

Is this the right way to find this?  Or did I screw up somewhere?

Also, my circuit has the capacitor between the full bridge rectifier's positive and negative outputs.  I've only seen this type of smoothing circuit, but maybe my circuit needs to change?


texts: Battery Ah specs vs actual Wh when charging and discharging

texts:
It is ubiquotously stated that Wh = Ah x V. While this is true (at least regarding the units) I have some doubts about the practical aspects of it.

Using an example:

Let's take a fully discharged (0%) cell/battery and charge it at 1C during an hour (or whatever 'C' the battery can take, as long as in the end of the charge the "Ah" are correct).
Charge is done with a lossless charger and energy delivered is counted.

The nominal voltage of the cell "V" is a value between the 0% cell voltage and 100% cell voltage (at 0A), such that V x Ah = Wh. My guess is the "V" value of a battery is fabricated just to make this formula match in some condition (maybe full charge or full discharge or an average of both).

Let's say the charger reported 100Wh for the full charge of the cell.

If I now discharge the cell with a lossless constant power device at 100Wh, it will take the battery less than an hour to be at 0% again.

I believe the main issue here is that for the exact same stored electrons in a cell (stored charged), the voltage at the cell terminals will be higher when charging and lower when discharging, which yields different integration of power (different energy).

As a user concerned with efficiency, I don't care about the Coulombic efficiency (how many electrons I can put in the battery vs how many electrons I can put out), because if the transfer happens at different voltage levels, it does not tell me how much energy I am losing in this cycle.

The actual questions:

1 - Assuming the above is true (is it?), where will I see the biggest loss ratio? From integration of discharge vs charge power, from integration of discharge vs charge current, or both?
Where did the energy go? All heat inside the cell?

2 - Does the rate of charge / discharge impact these calculations, or just impacts the lifecycle of the battery on the long term?

I understand this may not be very relevant for consumer electronics, but it is crucial for understanding how much energy inside an EV battery can actually be used to move the vehicle, and which are the "real" values in the datasheet and which parameters are derived under specific conditions (such as the cell voltage).


texts:
I am currently trying to design a circuit that needs a large frequency division, 25353 to be exact.  I'm aware that I could do a large complex flip flop arrangement to achieve close to the desired results, but I'm guessing there is a more elegant approach that I am unaware of.  Maybe an IC that does this?  I found an SN54LS294 from TI that has up to 215 programmable frequency division.

Any advice would be great.  I have to do this large division due to limitations in part availability, etc.

EDIT:

I am trying to take a 57.5 MHz digital signal and convert it down to 2.268 kHz (~ 25353 division).  I'm trying to accomplish this with a digital divider.  I have found the IC mentioned above that I can use to get a frequency of around 3.5 kHz (214 division) or 1.755 kHz (215). If I take the 214 approach, I can then divide by another 1.5 to get very close to the desired frequency.  I understand that this is fairly trivial, but I am new to frequency division.  Currently researching the divide by 1.5 thing.

EDIT:

After following WhatRoughBeast's instructions, this is the circuit I have come up with.  I am trying to divide by about 20,723 (now converting 47MHz to 2.268KHz).  If I first divide by 8 to get my 47MHz signal down to a lower level, this would leave 2590 for the other three dividers.  Subtract 1 for the clock reset, and I need to divide by 2589 or 1010 0001 1101.  Invert that word to get 0101 1110 0010 and use that logic on the presets.

Here is the circuit:


texts:
I'm trying to build a remote control with IR led.
I'm experiencing low range with my 1.5V, If=50mA IR leds, so I looked for and found a 5V, If=100mA IR leds.
twice the current, hence probably better transmission capabilities.
The problem is, I'm not sure what to do about the current limiting resistor.
I know that its important to limit the current so that the led wont burnt,
and so with the 1.5V led I used a 35 Ohm resistor.
But now voltage drop is not needed, because the source is the same as the consumer.
Do I still need to worry about current limiting resistor or do I simply plug it directly?


texts: How to calculate the maximum power of a current mode PWM controller?

texts:
I am working on a switch mode power supply and looking for perfect current mode PWM controller. In the datasheets of current mode PWM controllers, the maximum power at which they can be operated is not mentioned.
How can I calculate the maximum power of a current mode PWM controller?
I'm attaching datasheet of the NCP1252 current mode PWM controller.


texts: What is the proper way to earth aluminium profile frames?

texts:
Frames built with aluminium profiles (such as 4040) do not make good electrical contacts at joints, because of the surface oxide protective layer.

What would be a good way to properly earth these frames? On my frame sits a heater which runs on 220V. It would be dangerous if cables loosen out and touch the frame.


texts:
I'm trying to get basic SPI operation working on an STM32F107VC chip using the WaveShare Port107 development board. I'm trying to initialise SPI1 which resides on PA4-PA7.
I'm attempting a simple loopback test, so MISO is directly connected to MOSI.
I have also attached an oscilloscope to NSS and SCK.

Below is my code:

// Clock configuration
RCC->APB2ENR |= 1;              // Alternate Function Clock Enable
RCC->APB2ENR |= 1<<2;           // Enable clock to Port A.
RCC->APB2ENR |= 1<<12;          // Enable clock for SPI1.

// Pin configuration (no remapping)
// Output = AF PushPull 50MHz.
// Input = Active Pullup/Pulldown
// I have tried NSS as AFPuP, Active Pullup/Pulldown, GPIO output etc...
// NSS (PA4) = input, CLK (PA5) = output, MISO (PA6) = input, MOSI (PA7) = output
GPIOA->CRL = 0xB8B80000;

// General SPI configuration
SPI1->CR1 = 0;
SPI1->CR1 |= 7<<3;                  // Lowest frequency.
SPI1->CR1 &= ~(1<<0);               // Clock phase. 1st clock transition starts data capture
SPI1->CR1 |= 1<<1;                  // Clock polarity. High when idle.
SPI1->CR1 &= ~(1<<11);              // Use 8 bit data
SPI1->CR1 |= 1<<7;                  // LSB transmitted first.
//SPI1->CR1 |= 1<<9;                // Software slave management
//SPI1->CR1 |= 1<<8                 // Software NSS bit high
SPI1->CR1 |= 1<<2;                  // Master device.
SPI1->CR1 &= ~(1<<10);              // Use both RX and TX
SPI1->CR1 &= ~(3<<12);              // No CRC
SPI1->CR1 &= ~(1<<15);              // 2-line unidirectional mode
SPI1->CR2 = 0;                      // Polling mode (no interrupts)
SPI1->CR1 |= 1<<6;                  // Enable SPI1.

Now, to perform the loopback test, I send a byte, then read back the byte (I have configured to use 8-bit shift register).

void loopback(unsigned char byte)
{
    GPIOA->BSRR &= ~(1<<4); // !NSS line set to low (active) state. I have
                            // also attempted to use GPIOA->ODR and
                            // also attempted software NSS mode.
    //  while ((SPI1->SR & (1 << 7)) != 0 );    // Wait for BUSY to clear. not using.
    while (!(SPI1->SR & (1 << 1))); // Wait TXE (Transmit buffer empty)
    SPI1->DR = byte;

    // read it back
    unsigned char readByte = ReadByte();

    if (byte == readByte)
    {
         // ... Test passed!
    }
    GPIOA->BSRR |= 1<<4;     //!NSS set high. (unactive state).
}

unsigned char ReadByte(void)
{
    while (!(SPI1->SR & (1 << 0))); // Wait RXNE (Receive not empty (we have data))
    unsigned char readByte = SPI1->DR;
    return readByte;
}

Monitoring the CLK and NSS (and MISO/MOSI) with an oscilloscope, when NSS goes to its active low state, no clock line oscillates. Even if there is transmission attempting to occur the bits are set on the data register but I dont think they are being pushed out of DR because RXNE never goes high (which makes sense because no clock line is active).

Could anyone direct me to why the clk line is never oscillating? Is my config wrong?

Regards


texts: Oscillator failure trap being signalled on a dsPIC33F

texts:
I am getting an oscillator failure trap when I try to run some code on my dsPIC33FJ128GP804.

This has me very confused. I am using the FRC with a PLL to run the chip at 36.85 MHz.

I was always under the impression that an oscillator failure trap occurs only with crystal oscillators in certain conditions, and never with an on-board RC oscillator.

How could this be?


texts: Is a one-stator reluctance motor possible?

texts: Often when the magnetic field of reluctance is pictured, one sees a "flow" from one stator to another across the rotor.  I'm wondering if it is possible to have a reluctance motor with only one salient stator pole?


texts:
In my application I need to isolate a PWM signal @ 1 kHz, which is generated from a Beaglebone Black microcontroller. In my signal, I want to have one hundred different steps in duty cycle (from 1% to 100% duty cycles). From what I understand, my opto-coupler should be fast enough, so that it can transmit the narrowest pulse (1% duty cycle), which has a duration of 1% * (1/1000) = 10 μs. Consequently, I need to have: tr + tf < 10 μs, where tr and tf are rise and fall times of the opto-coupler. Is the above logic correct? If so, I need some help in understanding how the above calculations can be translated to bits per second, because everyone filters the opto-couplers according to their data rate (bps).
Another question is about the input current of the opto-coupler. My microcontroller can only provide around 4 - 6 mA through its PWM ports. I need some help understanding the datasheets of the opto-couplers. So, for example, this datasheet is from the 6N138M opto-coupler. One can see under the "features" section: "Low Current - 0.5 mA".

This seems okay for my μC. But under absolute maximum ratings, it says that If can reach 20 mA. How do I know in this case how much current should be fed to the opto-coupler, in order to work as intended?


texts: Effect of rectifier input frequency on output voltage

texts: Does changing the input frequency of a transformer rectifier change the output voltage, given that the input voltage is constant with no voltage regulator or protection circuit on the output?


texts:
I have an AC capacitor from the ceiling fan.

When I connect its end to a socket (AC line 110V), it gets charged (as touching the terminals produces a spark).

But at this point I am unable to understand this mechanism because I have read that capacitors don't charge storage for AC and act almost like a short circuit at t(0+).
[neglecting the phase shift and assuming frequency above 50 Hz].

Could someone please explain where I am going wrong?


texts: Would an LM7805 need a heatsink stepping down two stacked LiR2032/CR2032 (3.6V X2) batteries?

texts:
Okay, I'm terrible at anything electronic, especially when it comes to building from boards (think rudimentary understanding). I've built a few PC's in my day, but piecemeal, not from scratch. Keep that in mind; I'm a moron. Now, what I hope to accomplish is a Bluetooth bone conduction headset that I can hide in a standard baseball cap (to safely violate a work rule against listening to music).
So, here's the idea: I take a 5W x2 Stereo Audio Bluetooth 5.0 Digital Mini Amplifier Module DC 5V (this one to be exact:
https://www.amazon.com/dp/B08G8JTDVC/ref=sspa_dk_detail_2?psc=1&pd_rd_i=B08G8JTDVC&pd_rd_w=vrXZH&pf_rd_p=4269e1a0-a218-4fbd-9748-1cd337d2f2a5&pd_rd_wg=oj1xL&pf_rd_r=969K1JJJ90CHTFM4BN16&pd_rd_r=5fc163f0-574b-45a3-aa1f-94895fe8f16a&spLa=ZW5jcnlwdGVkUXVhbGlmaWVyPUExNllXOTlSRkdFWllVJmVuY3J5cHRlZElkPUEwMDY3NDE5MVIzRFRGODE3QlVPMCZlbmNyeXB0ZWRBZElkPUEwNzI0MTE4UEFFUkpRNUtTUEhCJndpZGdldE5hbWU9c3BfZGV0YWlsJmFjdGlvbj1jbGlja1JlZGlyZWN0JmRvTm90TG9nQ2xpY2s9dHJ1ZQ==), connect two 20mm Piezo Discs in place of the speakers, and power it with the aforementioned LiR2032 x2 stack.
I'm going with LiR2032 because they're rechargeable, but if you think there's a better solution (maybe USB rechargeable integration or something), I'm definitely all ears, but, it needs to be small. The LM7805 would of course be between the battery stack and the Bluetooth amp board. Now, if that's the only problem, how much heat would be generated in the stepdown, and would I need a heatsink or a larger regulator?
Now, being as stupid as I am, I'm probably missing a WHOLE LOT of parts with this project, maths, and such that will ultimately doom this to short circuit at best and my death at worst. If anyone has a better idea on how to structure this, what I imagine your superior knowledge sees as an outright disaster, I'm all ears on that front too.
Thank you for any and all help.


texts:
I'm trying to build a passive bandpass filter with the cutoff frequencies of 0,001Hz and 10Hz.
It seems that my signal is always attenuated. I want to know why.


texts: Charging a Li-Ion/Li-Po Battery with a Power Supply

texts: I understand that while charging Lithium Ion or Lithium Polymer batteries with a Bench Power Supply, you want to set the max voltage to the appropriate level (i.e. 4.2V for 1S, 8.4V for 2S, etc), and you want to set the charge current to the appropriate level. What I don't understand is do these batteries naturally trickle charge once the power supply switches from CC to CV mode?


texts: microcontrollers that can be programmed using ladder logic

texts:
We are looking for a microcontroller that can be programmed using ladder logic.  Need at least 16 digital outputs and 6 digital inputs.  Any advice on where to look would be greatly appreciated.
Doug


texts: How to connect 3 slave devices to one master if there are only 2 chip select pins

texts:
I need help figuring out how to interface the microcontroller Teensy 4.0 to three ADCs via SPI. The microcontroller only has 2 chip select pins according to its spec sheet. How can I connect to three slave devices with only 2 chip select pins? I know we can daisy chain them, but I prefer not to do that.

Link to Microcontroller: https://www.pjrc.com/store/teensy40.html
Link to ADC data sheet:https://www.analog.com/media/en/technical-documentation/data-sheets/AD7606B.pdf


texts: ESP32: LED turns on when deep sleep is activated

texts:
I'm trying to figure out why a LED I connected to GPIO #15 and GND on an Adafruit's ESP32 board is turning on (but dimmed) when I launch the deepsleep() mode via machine.deepsleep() (board running on MicroPython).
The LED pin is instantiated in the code like this: MY_LED = Pin(15, Pin.OUT)
The last operation done on the pin is pin.value(0).
Here's a partial circuit diagram:

Has anyone seen such a thing? Why does it turn on when it's off right before the machine.deepsleep() command line?


texts: Is this the correct way to calculate IGBT power loss?

texts:
I am having trouble obtaining the power dissipation of IGBTs. It does not have a buit in diode and it isn't driving an inductive load. So I read in an application note that IGBT power losses are actually the sum of 2 kinds of power losses - 1. Static power loss 2. Switching loss

Datasheet

I figured this is the proper way to obtain overall power losses:

For my particular IGBT

Desired Switch Frequency = 2Hz
Duty Cycle = 2%
Vce(sat) = 2.10
Ic =130A
Eon = 2.25mJ
Eoff = 0.95mJ
Ets = 3.20mJ

Static power loss = Vce(sat) * Ic * duty cycle

2.1 * 130 * 0.02 = 5.46w

Switching loss = Ets * Switching Freq

3.2e-3 * 2 = 0.0064w

lastly overall power dissipation is = Static power loss + Switching Loss

5.46 + 0.0064 = 5.4664w

please let me know if this is correcct or please show the correct derivation.

As noted by a member the correct values must be referenced in the Eon/off curves.

The Vce(sat) is also probably varied a bit but insubstantially so it will be kept identical to the previous derivation.

The correct values for Id=130a are:
Eoff = 3mJ
Eon = 7mJ
Ets= 10mJ

Static Power Loss = 2.1 * 130 * 0.02 = 5.46w

Switching Loss = 10e-3 * 2 = 0.02w

The proper overall power dissipation turns out to be 5.46 + 0.02 = 5.48

the difference is ~2mW and it seems to make a bigger difference for higher frequency switching operation.


texts: Why Arduino does not suit the to trigger a Spark plug but 555 timer can?

texts:
To trigger a spark plug and to control it using an Arduino, I tried following this really well-written guide.

Basically, a MOSFET(IRF540N in my case) controls the closing and opening of the primary winding of the ignition coil(which basically is a transformer), while an Arduino triggers the MOSFET.

But this never worked.

The sparks were small and low in repetition; MOSFET was heating up; Arduino's Tx and Rx light kept flickering; etc. etc. It was never as shown in the blog linked above.

But once the Arduino was replaced by the 555 timers, all was well. Except the mild heating of MOSFET, everything was sorted out.

What could be modified with the Arduino circuit to get it up and running as shown in the guide linked above? Why is Arduino suffering which 555 timer is able to handle?


texts:
I have 27 inputs on a pcb. I need to build a circuit on this pcb that checks if only one of these inputs is high. So more than one input high is not allowed.

What is the best way to make this circuit with as less as possible physical components without making use of a fpga. I was trying it but the circuit gets quite big.


texts:
As electrical engineers, we often go to great lengths to make our electronics designs robust to ESD strikes.  However, I was wondering if this is sometimes overkill.  Suppose you are making something like a kickstarter project, and you know that your system may experience failures from ESD, but you are willing to offer refunds to any customers that experience this.  How common are ESD failures, really?  Would something like 1% of users typically experience an ESD issue during the product life?  0.1%?

Imagine if your product is a consumer product (not medical or government) consisting of a board in a plastic enclosure, with some I/O ports and maybe buttons and LEDs.  Perhaps something like this picture:  https://www.amazon.com/SunFounder-Enclosure-Transparent-Computer-Compatible/dp/B00HNMOH0C/ref=sr_1_2?s=pc&ie=UTF8&qid=1466385325&sr=1-2&keywords=arduino+with+enclosure


texts: Will a "5.8Ghz" wifi antenna work well with routers broadcasting 5.1GHz?

texts:
I am looking at this antenna to purchase for outdoor wifi use:

5.8 GHz 12 dBi Professional Omnidirectional Antenna - HG5812U-PRO

http://www.l-com.com/wireless-antenna-58-ghz-12-dbi-professional-omnidirectional-antenna#

Its specifications are:

Center fed collinear array
Heavy duty industrial grade design
Fiberglass radome
All weather operation
Integral N-Female Connector

2.4/5.8 GHz IEEE 802.11a/b/g applications
5.8 GHz UNII and ISM applications
2.4GHz Wi-Fi applications
Wireless video systems
Point-to-multipoint applications

I saw that it only has "5.8GHz" listed as its frequency. Will the antenna still work well with wifi routers broadcasting 5.1GHz?


texts:
Would 14 MHz ISM Worldwide band have superior range and penetration (equal tx power)capability than the 433 MHz band? In that case, why aren't any transceivers made for this band?

My application is deployed in a forest for collecting data from animals collars. It is expected to work using the 433MHz transceiver by TI I am wondering why I shouldn't use 14MHz band which in contrast is also Worldwide! offering superior characteristics for my application than the 433MHz band.


texts:
I'm using the Microchip MCP79411 Real Time Clock. I can communicate with the device, read the MAC address from it, write to the EEPROM function and read back those values, but the Time and Date registers always read the same values.

I probed one of the leads of 32768Hz crystal with respect to GND and observed the following scope trace:

I'm sure I've set the ST bit to start the oscillator (or the crystal wouldn't be ringing right?). The frequency looks about right. The only thing that seems suspect to me is that the oscillator is only ringing with a peak voltage of about 250mV. I'm running the IC supply voltage at a regulated 3.3V. Is this normal? What could be causing the RTC to not be counting?

In the interest of full disclosure, the crystal I'm using is an Abracon AB26T-32.768KHZ and I have neglected to include explicit load capacitors on either leg of the crystal. Could that explain the low peak voltage? How should I debug this problem further?

For what it's worth, the Arduino sketch I'm using to test communication with the device is available for review here.

UPDATE

If I take a 22pF capacitor with one leg attached to ground and hit the other leg of the capacitor to the case of the crystal the RTC starts ticking, even after I remove the capacitor altogether. This is specifically to the case, it doesn't happen if I do it to either of the legs of the crystal... It's almost like putting some capacitance on the case to GND kick-starts the RTC. Tne benavior is the same if I simply connect the case to GND with a piece of wire (i.e. no discrete capacitor). What's the explanation for this?


texts: Developing corner CMOS models from a typical model

texts:
I am looking to develop fast-fast, fast-slow, slow-fast, and slow-slow (FF, FS, SF, SS) CMOS models from a typical model for a particular mature CMOS process (say, 0.25 um minimum feature size and above).

Typically, in the past, I have been given a CMOS model with hooks in place that allow me to change the corner used for simulation on-the-fly. However, I have found myself in a situation* where I have the model file for a particular CMOS process with only typical parameters, and I'd like to, systematically, produce the corner models from the typical one. I am not adverse to manually creating the file with my hands and a text editor, and otherwise doing a bit of grunt work to make this happen. (However, I am not looking to make physical measurements to accomplish this task.)

  How would one, systematically, develop corner models from a typical
  CMOS model? Assume for the purposes of this question that the "level"
  of the model is such that there are only a handful of parameters that
  need tweaking.

I realize that a lot of the finer details of how to do this effectively / correctly / etc. will depend on the actual fabrication technology, the types of circuits being simulated (I'm interested in simulating analog amplifiers along with the typical performance attributes that go along with that, such as gain, slew rate, phase margin, output swing, ICMR, etc.), but I'm just looking for general, good-rule-of-thumb, guidance.

In particular, if it helps to narrow the focus of this question a bit, I am looking to develop corner models from the typical model for the following SPICE CMOS model parameters: VTO, KP, GAMMA, LAMBDA, PHI, MJ, MJSW, CGBO, CGSO, CGDO, CJ, CJSW, LD, TOX

An example of what I am after:

Suppose that the VTO for a typical NMOS device in a mature CMOS technology is 0.6 V. How would I adjust VTO for the fast NMOS corner? How about the slow one?

I'd like to be able to develop fast and slow model parameter values for all of the parameters I listed above in a similar fashion as that in my VTO example above.

Comments such as "just get it from the fab!" or some such are not helpful to me and will thus be ignored. :-)

*
To motivate my question a bit more:

I teach an electronics lab, and I incorporate a typical CMOS model for a mature process for an amplifier design project. I do not have the corner models for this particular process. What I want to do is tweak the typical model to develop corner ones so that my students can also see the effect of corner variations during the design cycle. I have already spent some time on my design and do not want to have to redo it with a new set of models, so I figured I'd ask for some rule-of-thumb guidance; e.g., Cgs goes up by X%, Vt down by Y%, etc.


texts:
I am a current EEE student and was wondering how the process of design for manufacturability works?

What are the technical and safety issues that a manufacturer focuses on when designing a product to mass produce and sell? For example how do they determine that the circuits/product will not stop working after 6 months?


texts:
I am a complete beginner on electronics. I am trying to make  device to control the voltage output according to a digital input. So basically what I need to make is to continuously increase the voltage output when the digital input is 1 (5v). When the input is 0 continuous process should be stopped.
     Thank You!


texts:
I'm trying connect the 555 timer as a pulse wave modulator. Notice from the diagram below, the - input of Comp1 is internally connected to \$2/3V_{CC}\$. The control voltage is applied at pin 5. The question is how can you apply a varying voltage to a point that is already set to a particular voltage. Doesn't that result in a short ?

Thanks