Logik IC’s Sammelsurium (74xx Serie)

Übersicht Logikfamilien

TypBeschreibungTechnologieV
74Standard 7400 SerieTTL4.75 – 5.25
74LLow-PowerTTL4.75 – 5.25
74LSLow-Power SchottkyTTL4.75 – 5.25
74ALSAdvanced Low-Power SchottkyTTL4.5 – 5.5
74CCMOS 4000-Serie KompatibleCMOS4 – 15
74HCHigh-Speed CMOSCMOS2 – 6
74HCTHigh-Speed CMOS TTL Levels (1) (2)CMOS
(TTL Kompatible)
4.75 – 5.25
74ACAdvanced CMOSCMOS2 -6
74ACTAdvanced CMOS TTL Levels (1)CMOS
(TTL Kompatible)
4.5 – 5.5
(1) Können als Ersatz für 74LS und 74ALS IC’s verwendet werden (2) Eingänge können mit den Ausgängen von 3.3 V Logik-Bausteine angesteuert werden

Techonologie

KürzelBeschreibung
TTLDie Transistor-Transistor-Logik (TTL) ist eine Schaltungstechnik (Logikfamilie) für logische Schaltungen (Gatter), bei der als aktives Bauelement der Schaltung planare npn-Bipolartransistoren verwendet werden. Wikipedia
CMOSComplementary metal-oxide-semiconductor (engl.; „komplementärer / sich ergänzender Metall-Oxid-Halbleiter“), Abk. CMOS, ist eine Bezeichnung für Halbleiterbauelemente, bei denen sowohl p-Kanal- als auch n-Kanal-MOSFETs auf einem gemeinsamen Substrat verwendet werden. Wikipedia

Namensgebung

SN74HC02N
Hersteller-PräfixTemperaturbereich-PräfixTypLogigfunktionPackung
Beispiel der Namensgebug für einen SN74HC02N (Quad 2-Input NOR Gate)

PräfixHersteller
AMAMD
HDHitachi
MCMotorola
PCPhilips
MSTMicroelectronics
DM, MM, FNational Semiconductor
USignetics
SNTexas Instruments
SPSPI
TCThosiba
Hersteller-Präfix

PräfixTemperaturbereichAnwendungszweck
740°C bis +70°Ckommerziel
84-40°C bis +85°Cindustriell
54-55°C bis +125°Cmilitärisch
Temperatur-Präfix

LogigfunktionBeschreibung
00Quad NAND Gate
02Quad NOR Gate
08Quad AND Gate
32Quad OR Gate
86Quad XOR Gate
04Hex Inverter
1324 NAND Schmitt Trigger Gatter mit je 2 Eingängen
1614-Bit Synchronous Binary Counter
1658-Bit Parallel -Load Shift Register (PISO)
5958-Bit Serial-Input/Serial or Parallel-Output Shift Register (SISO / SIPO)
Logigfunktion

PackungWärmewiderstand des IC-Gehäuses (1)
D73°C/W
DB82°C/W
N67°C/W
NS64°C/W
PW108°C/W
(1) Der Wärmewiderstand eines IC-Gehäuses (Package thermal impedance) ist das Mass für die Fähigkeit des Gehäuses, die vom IC (Chip) erzeugte Wärme auf die Leiterplatte oder die Umgebung zu übertragen.

Pinbelegungen

Pin xA & xB sind die Inputpins, Pin xY ist der dazugehörige Outputpin. Gültig für x400, x402, x408, x432, x486

Datasheets 74x

Interessante Videos

Interessantes Video zur Verwendung von „Digital Logic IC’s“ von DroneBot Workshop
Interessantes Video zur Verwendung von „Shift Registers“ von DroneBot Workshop
Deutsches Video zum Schieberegister 74xx595

Nützliche Links

Wikipedia: Logikfamilie

Wikipedia: 74xx

dieelektronikerseite.de: Elektronische Grundlagen – viele Beispiele in den Lehrgängen zum Thema Digitaltechnik

7400 series CMOS vs 4000 series logic IC

Wikipedia: 4000 Serie IC’s

Wikipedia: List of 4000-series integrated circuits

Porterweiterung mit SPI

Elektronik: BJT Transistor Sammelsurium

Transistorauswahl

Bei der Wahl eines Transistors sind folgende Werte besonders interessant:

  • Der Kollektorstrom, der Strom welcher die zu schaltende Last durch fliesst.
  • Der Basisstrom, der Strom welcher durch die Basis fliesst, mit dem der Transistor geschaltet wird.

Wichtig:

  • Der Transistor sollte mindestens für den doppelten Kollektorstrom ausgelegt sein.
  • Steuerspannung der Basis-Emitter Strecke des Transistors
    • 0,3 V Germanium Transistoren
    • 0,6 – 0,7 V Sizilium Transistoren
    • 1,4 V  bei Darlington Transistor
  • Stromverstärkung in Sättigung (DC current gain)
    • Im Datenblatt nachschlagen \(h_{feSAT}\) (Saturation = Sättigung)
    • Bei Kleinsignaltransistoren von 20- 50
    • Bei Kleinleistungstransistoren von 400-2500

\(I_{b} = \frac{I_{c}}{h_{fe}}\)
\(I_{b}\) = Basisstrom
\(I_{c}\) = Kollektorstrom (Last-Strom)
\(h_{fe}\) = Stromverstärkung

\(R_{b} = \frac{U_{b} – U_{be} }{I_{b}}\)
\(R_{b}\) = Basiswiderstand
\(U_{b}\) = Betriebsspannung
\(U_{be}\) = Basis-Emitter-Spannung
\(I_{b}\) = Basisstrom

Nützliche Links
mikrocontroller.net: Berechnung eines Basiswiderstandes
elektronik-kompendium.de: Arbeitspunkteinstellung
c-kolb.bplaced.net: NPN oder PNP
wikipedia.org: Transistorgrundschaltungen
wikipedia.org: Bipolartransistor (BJT)
homepages.uni-regensburg.de: kleine Transistorkunde
www.loetstelle.net: kleine Transistor Grundlagen

(C / C++): Bitmanipulation mit bitweise Operatoren

Bitweises Komplement / Bitwise NOT

Der NOT-Operator (~) invertiert jedes einzelne Bit einer Zahl.

Beispiel mit 8-Bits:

 0000 0100 = 4
~0000 0100 = 1111 1011 = 251

Bitweises UND / Bitwise AND

Der AND-Operator (&) wird auf jedes einzelne Bit zwischen zwei Operanden angewendet. Das Ergebnisbit ist 1, wenn beide Bits den Wert 1 aufweisen.

Beispiel mit 4-Bits:

 0001
&1001
-----
 0001

Bitweises ODER / Bitwise OR

Der OR-Operator (|) wird auf jedes einzelne Bit zwischen zwei Operanden angewendet. Das Ergebnisbit ist 1, wenn eines der beiden Bits den Wert 1 aufweisen.

Beispiel mit 4-Bits:

 0001
|1001
-----
 1001

Bitweises exklusives ODER / Bitwise XOR

Der XOR-Operator (^) wird auf jedes einzelne Bit zwischen zwei Operanden angewendet. Das Ergebnisbit ist 1, wenn die beiden Bits unerschiedliche Werte haben.

Beispiel mit 4-Bits:

 0001
^1001
-----
 1000

Linksverschiebung / Left shift

Bei der bitweise Linksverschiebung (<<) werden alle Bits um die angegebene Position nach links verschoben.

Beispiel mit 4-Bits:

0001 << 1 = 0010
0001 << 2 = 0100

Rechtsverschiebung / Right shift

Bei der bitweise Rechtsverschiebung (>>) werden alle Bits um die angegebene Position nach rechts verschoben.

Beispiel mit 4-Bits:

0010 >> 1 = 0001
0100 >> 2 = 0001
1010 >> 1 = 0101 

Bit löschen

Will man in einem Byte mehrere Bits auf 0 setzen, wird dazu die UND-Verknüpfung verwendet.

PORTB &= ~(1 << 0)

Löscht Bit 0

Sollen gleichzeitig mehrere Bits gelöscht werden:

PORTB &= ~((1 << 0) | (1 << 2));

Löscht Bit 0 und 2 in PORTB

Bit invertieren


PORTB ^= (1 << 3);

Invertiere das dritte Bit

Bit setzen


PORTB |= (1 << 2);

Setzt das Bit 2 auf 1

Beispiel Methoden:


void set_PORTB_bit(int8_t  position, int8_t  value)
{
	// Sets or clears the bit in position 'position'
	// either high or low (1 or 0) to match 'value'.
	// Leaves all other bits in PORTB unchanged.
	
	if (value == 0)
	{
                // Set bit # 'position' low
		PORTB &= ~(1 << position);
	}
	else
	{
                // Set bit # 'position' high
		PORTB |= (1 << position);
	}
}

void set_Pin_Mode(int8_t  position, int8_t  value){
	if (value == 0)
	{
                // Set bit # 'position' to input
		DDRB  &= ~(_BV(position));
	}
	else
	{
                // Set bit # 'position' to output
		DDRB  |= (1 << position);
	}
}

Nützliche Links

mikrocontroller.net: Bitmanipulation

wikipedia: Bitweiser Operator

stackoverflow.com: How do you set, clear and toggle a single bit?

LearnCpp.Com: Bitwise operators

Logic Gate Simulator

AVR: Unterschied zwischen sleep_cpu() und sleep_mode()

Die zwei Methoden unterscheiden sich nur beim Handling des SE-Bit. Bei der Methode sleep_cpu() muss durch den Code sichergestellt werden, dass zuvor das SE-Bit gesetzt wird und nach dem Aufwachen der CPU das SE-Bit wieder gelöscht wird.

Beispiel mit sleep_cpu():


    sleep_enable();
    sleep_cpu();
    sleep_disable();

Beispiel mit sleep_mode():


    sleep_mode();

Nützliche Links

avr-libc: sleep

AVR: ATtiny13 / ATtiny25 / ATtiny45 / ATtiny85 Sammelsurium

Übersicht

Microcontroller with xKB of programable memory:
Attiny13 = Microcontroller with 1KB
Attiny25 = Micocontroller with 2KB
Attiny45 = Microcontroller with 4KB
Attiny85 = Microcontroller with 8KB

CPU-Geschwindigkeit:
Attiny13/13A: default: 1,2Mhz (Fuse bit set: CKDIV8)
Attiny25/45/85: default: 1Mhz (Fuse bit set: CKDIV8)
max: 20MHz

Anzahl der Pins: 8Pin(s)
Anzahl der Ein-/Ausgänge: 6I/O(s)
Embedded-Schnittstelle: I2C, SPI

Attiny13/25/45/85:
Versorgungsspannung, min.: 2.7V
Versorgungsspannung, max.: 5.5V

Attiny13A:
Versorgungsspannung, min.: 1.8V
Versorgungsspannung, max.: 5.5V

DC Current per I/O Pin: 40.0 mA
DC Current VCC and GND Pins: 200.0 mA

Pinout

ATtiny Pinout

ISP Programming

2x3-pin ISP headers
2×3-pin ISP headers

ISP Pins

Sleep Modes

Sleep-Modes


/*
 * The 5 different modes are:
 *     SLEEP_MODE_IDLE         -the least power savings
 *     SLEEP_MODE_ADC
 *     SLEEP_MODE_PWR_SAVE
 *     SLEEP_MODE_STANDBY
 *     SLEEP_MODE_PWR_DOWN     -the most power savings
 */ 
set_sleep_mode(SLEEP_MODE_IDLE);

sleep_enable(); // enables the sleep bit in the mcucr register

sleep_cpu();      // here the device is actually put to sleep
	
// -------------------------------------------------
// THE PROGRAM CONTINUES FROM HERE AFTER WAKING UP
// -------------------------------------------------
	
sleep_disable();	// disable sleep...

Power consumption

power consumption

Der Stromverbrauch wurde gemessen mit:

  • set_sleep_mode(SLEEP_MODE_PWR_DOWN);
  • ADC deaktiviert

Siehe folgender Artikel: technoblogy.com: ATtiny Low Power

Disable Analog to Digital Converter ADC:


ADCSRA &= ~(1 << ADEN);

Disable ADC Makro:


#define adc_disable() (ADCSRA &= ~(1 << ADEN)) // disable ADC

Arduino Methode:


power_adc_disable();

Interrupt


ISR(PCINT0_vect) {     // pin change interrupt
}
ISR(INT0_vect) {       // external interrupt
}
  • ISR needed for sleep to not reset program after interrupt
  • Every PCINTx will rise PCINT0_vect
  • Typically global variables are used to pass data between an ISR and the main program. To make sure variables shared between an ISR and the main program are updated correctly, declare them as volatile.

GIMSK |= (1 << INT0);          // Enable external Interrupt

MCUCR &= (0 << ISC01);	       // The low level of INT0
MCUCR &= (0 << ISC00);         // generates an interrupt request

Interrupt 0 sense control


sei();          // enable interrupts
cli();          // disable interrupts

Arduino Methode:


interrupts ();// enable interrupts
noInterrupts(); // disable interrupts

Libraries
315Mhz and 433Mhz Manchester encoding RF library which works on Arduino and ATTiny

Nützliche Links
Atmel: ATtiny Datasheet pdf
The pinouts of the most popular AVR processors
mikrocontroller.net: AVR-Tutorial: Interrupts
gammon.com.au: Interrupts
ATtiny: Fuse Restore using HVSP
mikrocontroller.net: Sleep-Mode

MFOS Alien Screamer Noise Box

Klänge beeinflussen die Menschen, sie können uns faszinieren, sie erzeugen Erwartungen in uns oder aber stimmen uns traurig oder freudig. Sie können also den Gemütszustand von Menschen beeinflussen. Wie aber entstehen eigentlich Klänge? Klar, diese können mit Hilfe von Gesang, Instrumenten (Blechdosen, Klavier, Gitarre, Computer Software, Synthesizers, usw.) erzeugt werden.

Und endlich sind wir beim Thema angekommen. Dem elektronischen Erzeugen von Klängen. Wer im Internet über dieses Thema recherchiert, wird kurze Zeit später auf den Begriff „DIY-Synth“ stossen. Damit ist nichts anderes als „Do it yourself – Synthesizer“ gemeint. Klar, wer will den nicht seinen eigenen Synthesizer bauen!? Früher oder später stösst man auf die Webseite von Ray Wilson: Music From Outer Space.

Wow, die Webseite wirkt wirklich wie aus einer anderen Welt, oder doch eher aus einer anderen Zeit? Und vermutlich ist sie es auch! Den wo findet man sonst noch solche wertvollen Informationen rund um dieses Thema? Dazu stellt der Autor auch gleich viele seiner Projekte mit Schemas und Bauteillisten, mit vielen Erklärungen, zum Nachbauen zur Verfügung. Vielen herzlichen Dank Ray Willson!

Als Einstiegs-Projekt habe ich mich für die „MFOS Alien Screamer Noise Box“ entschieden, denn wie Ray Willson schreibt:

This is a fairly simple project and is perfect for a synth-diy newbie or a young person interested in synth-diy or making noise boxes. This project results in a little LO-FI noise maker you’ll find yourself playing with again and again. You will need to know how to: Read a schematic, Relate schematic diagrams to physical components, Solder, Populate a PC board, Wire the unit’s front panel components together and to the PC board., Make a simple case or build the board into something unusual.

Seine Aussage kann ich nur bestätigen, hat man sich einwenig mit seinen Plänen auseinandergesetzt und konnte alle Bauteile besorgen, ist es kein grosses Problem mehr die „Noise Box“ zu bauen. Da dürfte das beschaffen des Transistors „2N5457 N Channel JFET“ schon das grössere Problem sein. :o)

Die Schemas und Erklärungen findet ihr alles unter MFOS Alien Screamer Noise Box. Wünsche viel Spass beim Nachbauen und Ausprobieren!

Meine Version der „Noise Box“
Die Anordnung der Regler und Knöpfe, sowie das Design habe ich einwenig anders gestaltet, da ein Dinosaurier meinen kleinen Kindern mehr sagt als ein Alien. :o)

Screaming Dino: Meine Version der MFOS Alien Screamer Noise Box
Screaming Dino: Meine Version der MFOS Alien Screamer Noise Box

Innenansicht der "Noise Box"
Innenansicht der „Noise Box“

Verkabelung
Verkabelung

Anmerkung zu den verwendeten Bauteilen:

  • Anstelle des „2N5457 N Channel JFET“ kann auch die SMD-Version „MMBF5457“ verwendet werden
  • Anstelle der „1N914 High Speed Sw. Diode“ kann man die standard Diode 1N4148 verwenden, da diese die ältere Diode 1N914 ersetzt

Wird als Transistor die SMD-Version „MMBF5457“ von „2N5457“ verwendet, sieht das ganze so aus:

SMD Version „MMBF5457“
MMBF5457 das kleine schwarze Quadrat

Erweiterungen „Switched Jack Amplifier Bypass“
Wie auf der Seite MFOS beschrieben, muss man das Schema des Verstärkers einwenig anpassen, wenn der Lautsprecher bei der Verwendung des „Jack“ ruhig sein soll.

Modifizierte Verstärkerschaltung
Modifizierte Verstärkerschaltung

Jack Bypass
Jack Bypass

Nützliche Links:
Webseite von Ray Wilson: Music From Outer Space
MFOS Alien Screamer Schematik
Interessantes über Potis

Elektronik: UKW-Prüfsender

In der heutigen digitalisierten Welt, wo alle veralteten „analogen“ Techniken an Bedeutung verlieren, ist es trotzdem spannend sich diese noch anzuschauen und damit zu experimentieren. In der Schweiz wird Ende 2024 auf allen analogen UKW-Sendern Funkstille herrschen, welche wir mit einer kleinen, aber dennoch spannenden Schaltung durchbrechen können. :o) Ein kleiner UKW-Sender, welcher ich auf der Seite Knolles Elektronik Bastel Page gefunden habe, eignet sich hervorragend für Experimente. Die Qualität des übertragenen Signals, scheint mir aus Laiensicht völlig in Ordnung.

Alle wichtigen Informationen zum Bau und der Justierung der Senderfrequenz findet ihr hier: UKW-Prüfsender 3

Datenblatt UKW-Sender
Datenblatt UKW-Sender

UKW-Prüfsender
Meine Version des UKW-Prüfsenders

Nützliche Links
Knolles Elektronik Bastel Page
News – digitalradio Schweiz