...kurze Frage zu Ultraschallsighnal erzeugen (40KHz)...
mein Sender besteht aus nem Tiny 2313 der nen Max 232 ansteuert, beide
T[in] mit dem avr verbunden und seine T[out] hängen an der UST40 sende
kapsel so hab ich aus 5V ganz einfach ca 20 V durch den max, meine Frage
jetzt, um das signal zu erzeugen, reicht es ganz einfach alle (1/40000)s
den sender einzuschalten also T1[in] vom Max auf Low und T2[in] auf
High, dann nächste (1/40000)s beide T[in] auf den selben Pegel oder muss
ich alle (1/40000)s den Pegel wechseln also T1[in] Low, T2[in] High,
nächste (1/40000)s T1[int] High, T2[in] Low was ja dann eigentlich das
gewünschte Sinus signal wäre oder? Bin da grad etwas verwirrt....
Grobi
Die Periodendauer ist der Kehrwert der Frequenz. Das Tastverhältnis
High:Low sollte 1:1 sein.
Also mußt du alle 12,5us den Pin-Pegel invertieren.
Gruß -
Abdul
noch ne Frage.... wenn ich meinen sender ohne oszi testen will, irgendwo
hab ich gelesen das man an die empfängerkapsel einfach ne led mit
vorwiderstand löten soll und die sollte dann leuchten wenn was empfangen
wird. Also mit ner kleinen grünen und 220 als Vorwiderstand leuchtet
nix... kann das denn überhaupt funktionieren oder mach ich mir umsonst
sorgen?
Grobi
Willst du da US-Pulse erzeugen oder was willst du mit dem Signal machen?
Vielleicht Fledermäuse verscheuchen? Wenn du Pulse haben willst, wird
das so nicht optimal funktionieren. Ein Resonanzkreis dazwischen wirkt
Wunder!
Helmut.
Also eigentlich wollte ich damit US pulse erzeugen. Warum wird es denn
nicht gut funktionieren? Dachte mit dem max 232 könnte ich mir so ganz
einfach irgendwelchen inverter und spannungsanhebe kram sparen.
Dem posting von Messguru entnehme ich jetzt mal das ein test der
empfängerkapsel mit ner led humbug ist.
Grobi
So ein US-Resonator resoniert auf einer Frequenz. Wenn er digital
angesteuert wird, bekommt er eine ganze Reihe harmonischer Anregungen.
Das führt zu Nachklingeln und anderen Problemen. Schau mal diesen Thread
an: Beitrag "Ultraschall Entfernungsmesser mit I2C, Eigenbau"
Da hat Uffi eine optimierte Schaltung angegeben. Die funktioniert recht
gut!
Servus,
Helmut.
Aha ok, das heißt aber nich das mein plan mit dem max garnicht
funktionieren würde, aber ohne ne möglichkeit einfach festzustellen ob
überhaupt was gesendet und empfangen wird bringt mich das jetzt auch
nicht weiter, da muss es doch was geben was man mit einfachen
"Keller"-mittel machen kann.
Grobi
Was hast du denn an Meßmitteln?
Das mit der LED habe ich noch nicht probiert und halte ich für fraglich.
Wenn die US-Pulse viele Periodenlängen lang sein dürfen, dann ist ein
Resonanzkreis sinnvoll, da der die Amplitude und damit die Leistung
erhöht. Ein MOSFET-Treiber oder ein 74HC oder besser 74AC womöglich mit
parellelen Gattern wirkt Wunder.
Dazu ne Induktivität in Reihe zum US-Wandler schalten. Es gilt die
Thomsonsche Formel.
Ein geschnippter Fingernagel erzeugt übrigens prächtige Signale, um
einen Empfänger zu testen.
Gruß -
Abdul
@Grobi:
Hier ist ein Schaltplan mit MAX232. Das ist vom SRF08 von Devantech, die
das kommerziell vertreiben.
http://www.robot-electronics.co.uk/images/srf08schematic.gif
Zur Messung: Kann Deine Soundkarte wirklich 40kHz? Das können nicht alle
Soundkarten. Hierbei kilosamples nicht mit kilohertz verwechseln.
Alternativ könntest Du auch mit einem 2. AVR messen (digital).
@Helmut
> So ein US-Resonator resoniert auf einer Frequenz. Wenn er digital> angesteuert wird, bekommt er eine ganze Reihe harmonischer Anregungen.
Macht das denn was aus? Wird er auf den harmonischen Frequenzen wirklich
angeregt, obwohl er so schmalbandig ist?
> Das führt zu Nachklingeln und anderen Problemen.
Kannst Du das mal näher erläutern? Der Resonator schwingt doch sowieso
langsam aus und wenn er etwas länger ausschwingt, dann sollte das doch
egal sein? Und welche andere Probleme gibt das?
Gruß
Markus
@Markus
>>Hier ist ein Schaltplan mit MAX232. Das ist vom SRF08 von Devantech, die>>das kommerziell vertreiben.>>http://www.robot-electronics.co.uk/images/srf08schematic.gif
habs eigentlich genauso gemacht...
bei mir ATTiny 2313 läuft mit 20MHz, T1in and PortD0, T2in and PortD1
source code :
1
#include<avr/io.h>
2
#include<avr/interrupt.h>
3
#include<inttypes.h>
4
5
#define US_freq 40000 * 2
6
#define TIMER_preload 256-(F_CPU / US_freq)
7
8
staticvolatileuint8_tUS_mode=0;
9
10
ISR(TIMER0_OVF_vect)// timer_overflow
11
{
12
TCNT0=(uint8_t)TIMER_preload;
13
if(US_mode)
14
{
15
PORTD=0b00000001;
16
US_mode=0;
17
}
18
else
19
{
20
PORTD=0b00000010;
21
US_mode=1;
22
}
23
}
24
25
voidsend(void)
26
{
27
TCCR0A=0;
28
TCNT0=(uint8_t)TIMER_preload;
29
TIMSK|=(1<<TOIE0);
30
TCCR0B=(1<<CS00);
31
}
32
33
voidstop(void)
34
{
35
TCCR0B&=~(1<<CS00);
36
PORTD|=(1<<PD0)|(1<<PD1);
37
}
38
39
intmain(void)
40
{
41
// int output port
42
DDRD=0xFF;
43
// transmitter off (both Tin > H = T1out = -10V, T2out = -10V)
44
PORTD=0b00000011;
45
// activate global interrupts
46
sei();
47
// activate output
48
send();
49
for(;;)
50
{
51
52
}
53
return0;
54
}
... soll erstmal einfach nur die ganze Zeit durch senden.
wenn das soweit korrekt ist werd ich wohl erstmal nen verstärker für die
empfänger kapsel bauen um überhaupt irgdnwie was messen zu können, die
idee mit dem 2.atmel als adc finde ich auch ganz gut. Wie hoch kann denn
eigentlich die spannung werden die am empfänger entsteht wenn er etwas
empfängt? Reicht da ne Verstärkung von unter 50 aus um max nen 5V pegel
zu bekommen oder wie verhällt sich das?
Grobi
...und hier der empfänger bzw. erstmal der Verstärker, leider funzt da
nix, dauerhaft 2,3mV am ausgang, also entweder wird nix gesendet oder
empfangen, toll...
Hast Du schonmal den Empfänger direkt an das Voltmeter (Wechselspannung)
gehalten? Da sollte man eigentlich was messen können. Zumindest wenn der
Abstand zwischen Sender und Empfänger sehr klein ist.
Was hast Du denn bisher überprüft?
liegt die Ausgangsspannung am Sender wirklich an? Du kannst auch
Testweise den Sender direkt an den AVR anschließen, dann ist die
Reichweite zwar geringer, aber es gibt weniger mögliche Fehlerquellen.
Stimmt die Frequenz? Kann Dein Multimeter Frequenzen messen? Hast Du
überprüft, ob der AVR wirklich mit 20MHz läuft?
Verstärker prüfen: Du könntest per Spannungsteile eine Musikquelle
anschließen und dann mit einem Lautsprecher oder dem Multimeter testen,
ob das wirklich funktioniert. Evtl. erst nach dem Kondensator
einspeisen.
also der avr läuft mit 20 MHz mit _delay_ms ausprobiert und is alles
korrekt, der port funktionirt auch, aber am max sind beide Tout
dauerhaft auf -9,9V, da scheint der fehler zu sein, werd mal nen anderen
ausprobieren btw. ich hab statt der üblichen 1µF elkos am Max 10µF
genommen, hab damit aber sonst noch nie probleme gehabt.
hurray, kaum schließt man die richtigen eingänge vom max an, T1in und
T2in nich R1in und R2in ( war ja klar ;-) ) erzeugt mein verstärker wenn
ich die empfänger kapsel voll draufhalte n bischen über 1V also ne
spanne von 4mV bis 1,09V kam dabei rum, wenn ich nun den 1K widerstand
beim ca3140 lasse und den 100K durch nen 500k ersetze, wird mein output
signal dann auch auf ca 5V angehoben also verstärkt oder sehe ich das
falsch?
Grobi
also laut der rechnung Ua = v*Ue=-(R2/R1)*Ue fürn invertierten
verstärker müsste das ja so sein, aber wird dabei der fehler nich auch
größer und das output signal "zappeliger"?
Hallo Grobi,
Funktionieren die Schaltungen jetzt bei dir?
Ich möchte demnächst ebenfalls eine US-Sender-Empfänger aufbauen
und bin für jede Info dankbar.
Hast du schon eine Idee wie groß die Reichweite mit deiner
Schaltung ist?
lg
Edi