Änderungen am Layout
parent
91de31a96a
commit
47b030ab96
@ -1,4 +1,7 @@
|
|||||||
*~
|
*~
|
||||||
.*.swp
|
.*.swp
|
||||||
Audio
|
Documents
|
||||||
External
|
External
|
||||||
|
Pictures
|
||||||
|
Source
|
||||||
|
Tools
|
||||||
|
@ -1,14 +1,16 @@
|
|||||||
\selectlanguage *{latex}
|
\babel@toc {ngerman}{}
|
||||||
\selectlanguage *{latex}
|
|
||||||
\addvspace {10\p@ }
|
\addvspace {10\p@ }
|
||||||
\addvspace {10\p@ }
|
\addvspace {10\p@ }
|
||||||
\addvspace {10\p@ }
|
\addvspace {10\p@ }
|
||||||
\contentsline {figure}{\numberline {3.1}{\ignorespaces Diagramm Mode A\relax }}{9}{figure.caption.4}%
|
\contentsline {figure}{\numberline {3.1}{\ignorespaces Diagramm Mode A\relax }}{9}{figure.caption.4}%
|
||||||
\contentsline {figure}{\numberline {3.2}{\ignorespaces Diagramm Mode B\relax }}{10}{figure.caption.5}%
|
\contentsline {figure}{\numberline {3.2}{\ignorespaces Diagramm Mode B\relax }}{9}{figure.caption.5}%
|
||||||
\addvspace {10\p@ }
|
\addvspace {10\p@ }
|
||||||
\addvspace {10\p@ }
|
\addvspace {10\p@ }
|
||||||
\addvspace {10\p@ }
|
\addvspace {10\p@ }
|
||||||
\addvspace {10\p@ }
|
\contentsline {figure}{\numberline {6.1}{\ignorespaces Pulswellenmodulation\relax }}{16}{figure.caption.6}%
|
||||||
\contentsline {figure}{\numberline {7.1}{\ignorespaces PWM Ausgangssignal\relax }}{18}{figure.caption.8}%
|
\contentsline {figure}{\numberline {6.2}{\ignorespaces Symmetrisches Rechtecksignal an PB3\relax }}{17}{figure.caption.9}%
|
||||||
|
\contentsline {figure}{\numberline {6.3}{\ignorespaces PWM - Tastgrad - Sinus\relax }}{18}{figure.caption.10}%
|
||||||
|
\contentsline {figure}{\numberline {6.4}{\ignorespaces Sinus nach Tabelle vom Python3 Script als Linie\relax }}{20}{figure.caption.12}%
|
||||||
|
\contentsline {figure}{\numberline {6.5}{\ignorespaces Sinus nach der Tabelle vom Python3 Script mit Stützpunkten\relax }}{20}{figure.caption.13}%
|
||||||
\addvspace {10\p@ }
|
\addvspace {10\p@ }
|
||||||
\providecommand \tocbasic@end@toc@file {}\tocbasic@end@toc@file
|
\providecommand \tocbasic@end@toc@file {}\tocbasic@end@toc@file
|
||||||
|
File diff suppressed because it is too large
Load Diff
@ -1,13 +1,10 @@
|
|||||||
\selectlanguage *{latex}
|
\babel@toc {ngerman}{}
|
||||||
\selectlanguage *{latex}
|
|
||||||
\addvspace {10\p@ }
|
\addvspace {10\p@ }
|
||||||
\addvspace {10\p@ }
|
\addvspace {10\p@ }
|
||||||
\addvspace {10\p@ }
|
\addvspace {10\p@ }
|
||||||
\addvspace {10\p@ }
|
\addvspace {10\p@ }
|
||||||
\addvspace {10\p@ }
|
\addvspace {10\p@ }
|
||||||
\contentsline {table}{\numberline {5.1}{\ignorespaces Programmierpunkte Teil 1\relax }}{13}{table.caption.6}%
|
|
||||||
\addvspace {10\p@ }
|
|
||||||
\contentsline {table}{\numberline {6.1}{\ignorespaces Klemmenbelegung\relax }}{15}{table.caption.7}%
|
|
||||||
\addvspace {10\p@ }
|
\addvspace {10\p@ }
|
||||||
|
\contentsline {table}{\numberline {6.1}{\ignorespaces OCR1A Werte für verschiedene Frequenzen des Mithörtons\relax }}{19}{table.caption.11}%
|
||||||
\addvspace {10\p@ }
|
\addvspace {10\p@ }
|
||||||
\providecommand \tocbasic@end@toc@file {}\tocbasic@end@toc@file
|
\providecommand \tocbasic@end@toc@file {}\tocbasic@end@toc@file
|
||||||
|
Binary file not shown.
@ -1,23 +1,24 @@
|
|||||||
\selectlanguage *{latex}
|
\babel@toc {ngerman}{}
|
||||||
\selectlanguage *{latex}
|
|
||||||
\contentsline {chapter}{\numberline {1}Funktionen}{5}{chapter.1}%
|
\contentsline {chapter}{\numberline {1}Funktionen}{5}{chapter.1}%
|
||||||
\contentsline {chapter}{\numberline {2}Hinweise zur Dokumentation}{7}{chapter.2}%
|
\contentsline {chapter}{\numberline {2}Hinweise zur Dokumentation}{7}{chapter.2}%
|
||||||
\contentsline {chapter}{\numberline {3}Grundlagen}{9}{chapter.3}%
|
\contentsline {chapter}{\numberline {3}Grundlagen}{9}{chapter.3}%
|
||||||
\contentsline {section}{\numberline {3.1}Betriebsarten eines Morse-Keyers}{9}{section.3.1}%
|
\contentsline {section}{\numberline {3.1}Betriebsarten eines Morse-Keyers}{9}{section.3.1}%
|
||||||
\contentsline {subsection}{\numberline {3.1.1}Zeitverhalten}{9}{subsection.3.1.1}%
|
\contentsline {subsection}{\numberline {3.1.1}Zeitverhalten}{9}{subsection.3.1.1}%
|
||||||
\contentsline {chapter}{\numberline {4}Bedienung}{11}{chapter.4}%
|
\contentsline {chapter}{\numberline {4}Die Bedienung}{11}{chapter.4}%
|
||||||
\contentsline {section}{\numberline {4.1}Tastaturbelegung}{11}{section.4.1}%
|
\contentsline {section}{\numberline {4.1}Bedienelemente}{11}{section.4.1}%
|
||||||
\contentsline {subsection}{\numberline {4.1.1}Übersicht}{11}{subsection.4.1.1}%
|
\contentsline {subsection}{\numberline {4.1.1}Übersicht}{11}{subsection.4.1.1}%
|
||||||
\contentsline {chapter}{\numberline {5}Schaltung}{13}{chapter.5}%
|
\contentsline {chapter}{\numberline {5}Die Schaltung}{13}{chapter.5}%
|
||||||
\contentsline {section}{\numberline {5.1}Beschreibung}{13}{section.5.1}%
|
\contentsline {section}{\numberline {5.1}Beschreibung}{13}{section.5.1}%
|
||||||
\contentsline {section}{\numberline {5.2}Schaltplan}{13}{section.5.2}%
|
\contentsline {chapter}{\numberline {6}Die Software}{15}{chapter.6}%
|
||||||
\contentsline {chapter}{\numberline {6}Beschreibung der Hardware}{15}{chapter.6}%
|
\contentsline {section}{\numberline {6.1}Timer 2}{15}{section.6.1}%
|
||||||
\contentsline {chapter}{\numberline {7}Beschreibung der Software}{17}{chapter.7}%
|
\contentsline {section}{\numberline {6.2}Timer 1}{15}{section.6.2}%
|
||||||
\contentsline {section}{\numberline {7.1}Timer 1}{17}{section.7.1}%
|
\contentsline {section}{\numberline {6.3}Timer 0}{15}{section.6.3}%
|
||||||
\contentsline {subsection}{\numberline {7.1.1}Timer einstellen}{17}{subsection.7.1.1}%
|
\contentsline {subsection}{\numberline {6.3.1}Timer einstellen}{15}{subsection.6.3.1}%
|
||||||
\contentsline {section}{\numberline {7.2}Sinus Mithörton durch Pulsweitenmodulation}{17}{section.7.2}%
|
\contentsline {section}{\numberline {6.4}Sinus Mithörton durch Pulsweitenmodulation}{15}{section.6.4}%
|
||||||
\contentsline {subsection}{\numberline {7.2.1}Grundlagen}{17}{subsection.7.2.1}%
|
\contentsline {subsection}{\numberline {6.4.1}Grundlagen}{16}{subsection.6.4.1}%
|
||||||
\contentsline {subsubsection}{\nonumberline Pulsweitenmodulation}{18}{subsubsection*.10}%
|
\contentsline {subsubsection}{\nonumberline Pulsweitenmodulation}{16}{subsubsection*.8}%
|
||||||
\contentsline {subsection}{\numberline {7.2.2}Sinustabelle}{19}{subsection.7.2.2}%
|
\contentsline {subsection}{\numberline {6.4.2}Sinustabelle}{19}{subsection.6.4.2}%
|
||||||
\contentsline {chapter}{\numberline {A}Entwicklungsumgebung}{25}{appendix.A}%
|
\contentsline {chapter}{\numberline {7}Entwicklungsumgebung}{21}{chapter.7}%
|
||||||
|
\contentsline {chapter}{\nonumberline Tabellen}{23}{chapter*.14}%
|
||||||
|
\contentsline {chapter}{\nonumberline Abbildungen}{25}{chapter*.15}%
|
||||||
\providecommand \tocbasic@end@toc@file {}\tocbasic@end@toc@file
|
\providecommand \tocbasic@end@toc@file {}\tocbasic@end@toc@file
|
||||||
|
@ -1,2 +1,2 @@
|
|||||||
:080000000032008A02000F55D6
|
:080000000032005802000F5508
|
||||||
:00000001FF
|
:00000001FF
|
||||||
|
@ -1,63 +1,51 @@
|
|||||||
#!/usr/bin/python
|
#!/usr/bin/env python
|
||||||
#
|
#
|
||||||
# pwm_sinewave
|
# pwm_sinewave
|
||||||
#
|
#
|
||||||
# Calculate values for generate a PWM table for a Sinewave
|
# Calculate values for generate a PWM table for a Sinewave
|
||||||
# Used on a AVR ATMEGA 328
|
# Used on a AVR ATMEGA 328
|
||||||
#
|
#
|
||||||
# 2013-02-24 tom@dl7bj.de Tom, DL7BJ
|
# 2023-07-10 tom@dl7bj.de Tom, DL7BJ
|
||||||
#
|
#
|
||||||
frequency = 488
|
import sys
|
||||||
cpuclock = 8000000
|
import matplotlib.pyplot as plot
|
||||||
pwmbit = 32
|
from math import pi, sin, cos, asin, acos
|
||||||
maxdutycycle = 98
|
|
||||||
mindutycycle = 2
|
pwmbit = 63
|
||||||
|
zerobeat = 128
|
||||||
|
peaktopeak = 254
|
||||||
|
|
||||||
def compute_sinewave(pwmbit, fpeaktopeak, zerobeat):
|
def compute_sinewave(pwmbit, fpeaktopeak, zerobeat):
|
||||||
t = 1
|
t = 0
|
||||||
ul = []
|
ul = []
|
||||||
tl = []
|
tl = []
|
||||||
|
l = 0
|
||||||
while t <= pwmbit:
|
while t <= pwmbit:
|
||||||
u = sin(2*pi*t/pwmbit)
|
u = sin(2*pi*t/pwmbit)
|
||||||
u = u * fpeaktopeak/2
|
u = u * fpeaktopeak/2
|
||||||
u = u + zerobeat
|
u = u + zerobeat
|
||||||
u = int(round(u))
|
u = int(round(u))
|
||||||
print(' ',u,',\t//',t)
|
if t < pwmbit:
|
||||||
|
print(format(u,'#04x'),',',sep='',end='')
|
||||||
|
else:
|
||||||
|
print(format(u,'#04x'),' ',sep='',end='')
|
||||||
|
l = l + 1
|
||||||
|
if l == 16:
|
||||||
|
print(' // ', t + 1)
|
||||||
|
l = 0
|
||||||
ul.append(u)
|
ul.append(u)
|
||||||
tl.append(t)
|
tl.append(t)
|
||||||
t = t + 1
|
t = t + 1
|
||||||
return ul,tl
|
return ul,tl
|
||||||
|
|
||||||
import sys
|
|
||||||
from math import pi, sin
|
|
||||||
from scitools.std import *
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
if maxdutycycle <= mindutycycle:
|
|
||||||
print("Error - maxdutycycle must be greater than mindutycycle")
|
|
||||||
|
|
||||||
if maxdutycycle == 100:
|
|
||||||
maxamplitude = pwmbit - 1
|
|
||||||
else:
|
|
||||||
maxamplitude = int((round(pwmbit * maxdutycycle/100.0)))
|
|
||||||
|
|
||||||
if mindutycycle == 0:
|
|
||||||
minamplitude = 1
|
|
||||||
else:
|
|
||||||
minamplitude = int((round(pwmbit * mindutycycle/100.0)))
|
|
||||||
|
|
||||||
peaktopeak = maxamplitude - minamplitude
|
|
||||||
print("Amplitude from ", minamplitude, " to ", maxamplitude, "(", peaktopeak," Schritte)")
|
|
||||||
|
|
||||||
zerobeat = int(round((minamplitude + maxamplitude)/2.0))
|
|
||||||
print("Zerobeat on PWM step ", zerobeat)
|
print("Zerobeat on PWM step ", zerobeat)
|
||||||
|
print("Peak to peak on PWN ", peaktopeak)
|
||||||
fpeaktopeak = float(peaktopeak)
|
print("const unsigned char sinewave[] PROGMEM = {")
|
||||||
|
ulist,tlist = compute_sinewave(pwmbit,peaktopeak,zerobeat)
|
||||||
ulist,tlist = compute_sinewave(pwmbit,fpeaktopeak,zerobeat)
|
print("};")
|
||||||
plot(tlist,ulist)
|
|
||||||
|
plot.plot(tlist,ulist)
|
||||||
savefig('tmp.eps')
|
plot.savefig('../Pictures/sinewave-line.jpg')
|
||||||
|
plot.plot(tlist,ulist,linestyle=':',marker='.')
|
||||||
|
plot.savefig('../Pictures/sinewave-dots.jpg')
|
||||||
print("Ready.")
|
print("Ready.")
|
||||||
|
Loading…
Reference in New Issue