...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
ahh ok alles klar, so hatte ichs mir eigentlich auch gedacht, war mir nur nich sicher. Danke! Grobi
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
werde mir ein messkabel für irgendeine soundkartenoszi software basteln und dann mal schauen was dabei herrum kommt. Grobi
@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 | static volatile uint8_t US_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 | void send(void) |
26 | {
|
27 | TCCR0A = 0; |
28 | TCNT0 = (uint8_t)TIMER_preload; |
29 | TIMSK |= (1<<TOIE0); |
30 | TCCR0B = (1<<CS00); |
31 | }
|
32 | |
33 | void stop(void) |
34 | {
|
35 | TCCR0B &= ~(1<<CS00); |
36 | PORTD |= (1<<PD0) | (1<<PD1); |
37 | }
|
38 | |
39 | int main(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 | return 0; |
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"?
hmm komisch, wenn hab mal gegen 390K getauscht und bekomme trotzdem die selbe ausgangsspannung...
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
Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.