I have a resistor value of R = 1K and C = 100 uF. The IC I am using is a 74LS14 (SN74LS14N) whose VT+ and VT- are 1.6V and 0.8V according to the datasheet. I have connected Vo in the diagram to the analog input A0 of the arduino to examine the output on the serial plotter.
according to my calculations this setup should give me a slow enough waveform to be noticeable on the serial plotter.
I have the following code running:
const int inputChannel = A0;
float voltage;
void setup() {
pinMode(inputChannel, INPUT);
Serial.begin(9600);
}
void loop() {
// map to 0-5 V range and log back to PC
voltage = 5.0*analogRead(inputChannel)/1023;
Serial.println(voltage);
}
However I am not getting the output that I should:
I have separately tested the 74LS14 IC with high and low voltages and it works correctly as an inverter. I have also tested the resistor and capacitor separately with a square wave input and got charging and discharging waveforms indicating they are not faulty. Is the IC faulty then with regards to its threshold behaviour? Any help is appreciated. Thanks.
If you look carefully at the data sheet for the 74LS14, you will see that the recommended maximum output current (IOH) is -0.4 mA (negative because it is output current).
A 1K load resistor will draw 5 mA when the output is high, so you are exceeding that recommended limit by a factor of more than 10 when the capacitor is fully discharged, somewhat less at other times.
The output (feedback) resistor should be 10K or higher.
LS TTL is a poor choice for a low frequency oscillator, especially with that circuit. Use a CMOS Schmidt trigger with a totem pole output or an op amp circuit instead.
R1 as 1K and C1 as 100 microF? Are you sure it can be working?
1K is pretty small: you would drain a low of current on IC. You drain 3.3mA. Datasheet tells me: "high level output current: -0.4mA".
I guess, 1K is way too small - try with 100K (at least 10K) and 10 microF.
Your IC seems to clamp. I guess, because the resistor value is way too small. Imagine: you would feed the output via 0R to input: It is inverted, the IC tries to oscillate (with full speed it could do). But there is this huge C: it will low pass filter the "self-oscillating" frequency and your IC does not see anymore any frequency. It hangs at a random level.
On a 3V3 logic, assuming 1 mA current - a resistor is already 3K3. I guess: your 1K is your problem (and going with 100 microF is also pretty tough):
increase R1: I would guess: at least 10K, up to 100K
for same time constant (Tau): lower C1, e.g. 10 microF (with lower capacity it is anyway better because the inrush current is also lower, for a shorter period of time: 100 microF is pretty huge and creates a huge current taken or provided for a long period of time).
Imagine: the C would be in Farads (like a battery): the chip cannot discharge a battery in seconds.
It looks too me: the "coupling" (feedback) is too strong (1K resistor). And the C so large that not any frequency can be generated (pass). 100 micoF is a pretty strong low pass filter (for very low frequency). But IC tries to let follow input with output (inverted) but cannot drain so fast and such a high current (1K is so strong for IC and such a high current).
IC has to clamp somewhere (or it is killed already after first cycle).
It's correct that the output can not source much current and may have been damaged, but there are 5 more gates for tests
BTW I built a wide range oscillator by paralleling a pot and C in series to the resistor. I don't remember the values and never measured the frequency, but it ranged from below 1 Hz up to more than 100 kHz.