====== Schwellwertschalter.sh ====== Mit Hilfe von Schwellwertschaltern bzw. Schmitt-Trigger kann man sehr steile Impuls-Flanken erreichen. Egal welche Impulsform in den Schwellwertschalter rein geht, es kommt immer ein Rechteckimpuls wieder raus. * [[http://www.elektroniktutor.de/analog/schmitt.html|Schmitt-Trigger]] Mit diesem Script kann man, bezogen auf bestimmte Transistordaten, einen einfachen Schwellwertschalter (Schmitt-Trigger), der aus zwei diskreten Transistoren besteht, berechnen. UB - Betriebsspannung IC - Kollektorstrom der Transistoren T1 und T2; siehe Datenblatt IB - Basisstrom der Transistoren T1 und T2; siehe Datenblatt B - Verstärkung der Transistoren T1 und T2; siehe Datenblatt UBE - Basis-Emitter-Spannung der Transistoren T1 und T2; siehe Datenblatt RC - Kollektorwiderstand / zwei gleiche Widerstände, die zwischen Kollektor (jedes der beiden Transistore) und Betriebsspannung liegen RE - Emitterwiederstand / dieser Widerstand ist mit dem einen Ende an beide Emitteranschlüsse beider Transistore und mit dem anderen Ende an Masse angeschlossen FRE - Faktor für das Verhältnis zwischen Kollektorwiderstand und Emitterwiederstand Fteil - Querstromfaktor für den Spannungsteiler R1 und R2 UR2 - Spannung an R2 URE - Spannung an RE (Emitterwiederstand) Rteil - Spannungsteiler R1+R2 URE - Spannung am Emitterwiederstand R1 - Widerstand zwischen Kollektor von T1 und Basis von T2 R2 - Widerstand zwischen Basis von T2 und Masse C - Beschleunigungskondensator von geringer Kapazität (typisch: ''10pF...100pF'', manchmal auch ''1nF''), der kann die Umschaltzeiten verkürzen FRE ~ 10 (5...20) je kleiner, desto schneller wird geschaltet und desto größer ist die Hysterese Fteil ~ 5 (3...10) 5 ist ein guter Erfahrungswert RC = UB / IC RE = RC / FRE IB = (UB/(RC+RE))/B URE = (UB*RE)/(RC+RE) UR2 = URE + UBE URC = RC * IB * FIQ Uteil = UB - URC Rteil = Uteil / (IB * FIQ) R2 = ((RC + Rteil) * UR2) / UB4 R1 = Rteil - R2 ===== Script ===== #!/bin/bash if [ -z $4 ] ; then echo "$0 [UB] [IC] [B] [UBE]" echo "$0 [UB] [IC] [B] [UBE] [FRE] [FIQ]" echo "$0 [Betriebsspannung / max. Kollektor-Emitter-Spannung] [max. Kollektorstrom in A] [Transistorverstärkung] [Basis-Emitter-Spannung]" echo "$0 [Betriebsspannung / max. Kollektor-Emitter-Spannung] [max. Kollektorstrom in A] [Transistorverstärkung] [Basis-Emitter-Spannung] [RC/RE=10] [Querstromfaktor vom Spannungsteiler R1&R2 =5]" exit 0 fi UB="$1" IC="$2" B="$3" UBE="$4" FRE="$5" FIQ="$6" if [ -z "${FRE}" ] ; then FRE="10" fi if [ -z "${FIQ}" ] ; then FIQ="5" fi RC="$(echo "${UB} ${IC}" | awk '{print $1/$2}')" # RC = UB / IC RE="$(echo "${RC} ${FRE}" | awk '{print $1/$2}')" # RE = RC / FRE IB="$(echo "${UB} ${RC} ${RE} ${B}" | awk '{print ($1/($2+$3))/$4}')" # IB = (UB/(RC+RE))/B URE="$(echo "${UB} ${RC} ${RE}" | awk '{print ($1*$3)/($2+$3)}')" # URE = (UB*RE)/(RC+RE) UR2="$(echo "${URE} ${UBE}" | awk '{print $1+$2}')" # UR2 = URE + UBE URC="$(echo "${RC} ${IB} ${FIQ}" | awk '{print $1*$2*$3}')" # URC = RC * IB * FIQ Uteil="$(echo "${UB} ${URC}" | awk '{print ($1-$2)}')" # Uteil = UB - URC Rteil="$(echo "${Uteil} ${IB} ${FIQ}" | awk '{print $1/($2*$3)}')" # Rteil = Uteil / (IB * FIQ) R2="$(echo "${RC} ${Rteil} ${UR2} ${UB}" | awk '{print (($1+$2)*$3)/$4}')" # R2 = ((RC + Rteil) * UR2) / UB4 R1="$(echo "${Rteil} ${R2}" | awk '{print $1-$2}')" # R1 = Rteil - R2 Ptot="$(echo "${UB} ${RC}" | awk '{print ($1*$1)/$2}')" echo " +---------------+---------------------O | | UB = $UB V +-+ +-+ | | RC | | RC = UB / IC = ${UB}/${IC} = $RC Ohm | | | | URC = RC * IB * FIQ = ${RC} * ${IB} * ${FIQ} = ${URC} Volt | | | | +-+ +-+ | | A | +---------------------O | | C = 10pF...1nF (der Beschleunigungskondensator ist optional) +-------------------------+-----+ Uteil = UB - URC = ${UB} - ${URC} = ${Uteil} Volt | | | | | | | +-+ | | ----- | | R1 = $R1 Ohm | | ----- | | (abrunden) / \ | | | | / \ | | +-+ E |/ \| | | O------| T1 T2 |-----+-----+ UR2 = URE + UBE = ${URE} + ${UBE} = $UR2 Volt |\ /| | IB = (UB/(RC+RE))/B = (${UB}/(${RC}+${RE}))/${B} = ${IB} Ampere | > < | | \ / | Transistorverstärkung = ${B}-fach | | | Ptot = ${Ptot} Watt +-------+-------+ | | | +-+ +-+ | | | | R2 = $R2 Ohm | | | | (aufrunden) | | | | +-+ +-+ | | Masse O------------------+-----------------------+-----O RE = RC / FRE = ${RC}/${FRE} = $RE Ohm URE = (UB*RE)/(RC+RE) = (${UB}*${RE})/(${RC}+${RE}) = $URE Volt " ===== Beispiel ===== Beispielsweise ruft man das Script wie folgt auf. In diesem Beispiel werden die Transistordaten des **''BFR106''** verwendet: * Betriebsspannung, höchstens die max. Kollektor-Emitter-Spannung (**UB**): **15 Volt** * max. Kollektorstrom in A (**IC**): 100mA bzw. **0,1 A** * Transistorverstärkung (**B**): **80 - fach** * Basis-Emitter-Spannung (**UBE**): **3 Volt** # ./Schwellwertschalter.sh 15 0.1 80 3 +---------------+---------------------O | | UB = 15 V +-+ +-+ | | RC | | RC = UB / IC = 15/0.1 = 150 Ohm | | | | URC = RC * IB * FIQ = 150 * 0.00113636 * 5 = 0.85227 Volt | | | | +-+ +-+ | | A | +---------------------O | | C = 10pF...1nF (der Beschleunigungskondensator ist optional) +-------------------------+-----+ Uteil = UB - URC = 15 - 0.85227 = 14.1477 Volt | | | | | | | +-+ | | ----- | | R1 = 1722 Ohm | | ----- | | (abrunden) / \ | | | | / \ | | +-+ E |/ \| | | O------| T1 T2 |-----+-----+ UR2 = URE + UBE = 1.36364 + 3 = 4.36364 Volt |\ /| | IB = (UB/(RC+RE))/B = (15/(150+15))/80 = 0.00113636 Ampere | > < | | \ / | Transistorverstärkung = 80-fach | | | Ptot = 1.5 Watt +-------+-------+ | | | +-+ +-+ | | | | R2 = 768.001 Ohm | | | | (aufrunden) | | | | +-+ +-+ | | Masse O------------------+-----------------------+-----O RE = RC / FRE = 150/10 = 15 Ohm URE = (UB*RE)/(RC+RE) = (15*15)/(150+15) = 1.36364 Volt oder mit weniger Verlustleistung, hier habe ich den Strom ''IC'' auf 60mA reduziert: # ./Schwellwertschalter.sh 15 0.06 80 3 +---------------+---------------------O | | UB = 15 V +-+ +-+ | | RC | | RC = UB / IC = 15/0.06 = 250 Ohm | | | | URC = RC * IB * FIQ = 250 * 0.000681818 * 5 = 0.852272 Volt | | | | +-+ +-+ | | A | +---------------------O | | C = 10pF...1nF (der Beschleunigungskondensator ist optional) +-------------------------+-----+ Uteil = UB - URC = 15 - 0.852272 = 14.1477 Volt | | | | | | | +-+ | | ----- | | R1 = 2869.99 Ohm | | ----- | | (abrunden) / \ | | | | / \ | | +-+ E |/ \| | | O------| T1 T2 |-----+-----+ UR2 = URE + UBE = 1.36364 + 3 = 4.36364 Volt |\ /| | IB = (UB/(RC+RE))/B = (15/(250+25))/80 = 0.000681818 Ampere | > < | | \ / | Transistorverstärkung = 80-fach | | | Ptot = 0.9 Watt +-------+-------+ | | | +-+ +-+ | | | | R2 = 1280 Ohm | | | | (aufrunden) | | | | +-+ +-+ | | Masse O------------------+-----------------------+-----O RE = RC / FRE = 250/10 = 25 Ohm URE = (UB*RE)/(RC+RE) = (15*25)/(250+25) = 1.36364 Volt