- MultiPlus Wechselrichter Insel und Nulleinspeisung Conrad         
Ergebnis 1 bis 10 von 25

Thema: Suche einfache Ultraschall Empfänger + Sender (halbe HC-SR04)

Baum-Darstellung

Vorheriger Beitrag Vorheriger Beitrag   Nächster Beitrag Nächster Beitrag
  1. #8
    Erfahrener Benutzer Roboter-Spezialist Avatar von -schumi-
    Registriert seit
    30.12.2009
    Ort
    Wasserburg am Inn / Bayern
    Alter
    31
    Beiträge
    449
    Zitat Zitat von Peter(TOO) Beitrag anzeigen
    Was spricht gegen eine Amplitudenmodulation des Sendesignals?
    Am Anfang dachte ich, dass es einfach zu lange dauert bis Amplitude der schwingenden Empfängerkapsel wieder runtergeht. Aber eine Messung zeigt, dass es mit ~ 1Bit/ms gehen könnte:
    Klicke auf die Grafik für eine größere Ansicht

Name:	schwingen.jpg
Hits:	14
Größe:	42,6 KB
ID:	29030
    Man kann den Nachteil dieser Emfpänger für Abstandsmessungen sehen: Man kann nicht genau sagen wann der Ton beim Empfänger angekommen ist, da die Amplitude nur langsam ansteigt. Das macht die Abstandsmessung ungenauer (die Abweichung von ~1cm im letzten Bild hängt glaube ich damit zusammen. Warscheinlich wird im orignalen Controller des Moduls ein Pauschalwert abgezogen, der der Zeit enstpricht die der Sinus am Emfpänger braucht um als Signal (also kein Noise) erkannt zu werden)

    Vielen Dank für die Beschreibung zur Umsetzung einer Amplitudenmodulation! (In die Richtung geht auch mein Ansatz unten)


    Zitat Zitat von PICture Beitrag anzeigen
    Dann müsste man, wie im Datenblatt (DB): http://www.micropik.com/PDF/HCSR04.pdf mit Pegelwechsel beim Empfänger immer bis zum "Anschwingen" und "Ausklingen" abwarten bzw. schnelle Datenübertragung mit anderen Wandler ohne schwingender Masse z.B. LED + Fotosensor versuchen.
    Also Akustische Datenübertragung möchte ich nutzen, weil ich gleichzeitig die Laufzeit zur Berechung des Abstands brauche. Zwar währe ein zweiter Kanal zur Datenübertragung denkbar (allerdings dann gleich Funk, weil nicht immer gegeben ist dass der Lichtstrahl nicht unterbrochen wird (wird für draussen)), aber beides in einem wäre mir natürlich lieber.

    Es könnte auch sein, dass die Chinesen zuerst die Bezeichnung entfernt haben und danach verkehrten IC eingelötet haben bzw. als Schutzmasnahme gegen Kopieren ein paar Brücken in Kunststoff als IC versteckt haben.
    Ich vermute, dass irgend ein Chinesischer Hersteller das Modul nachgebaut hat und für billig billig den falschen MAX232 aufgesessen ist. Beim Test hats trotzdem funktioniert also wirds schon passen. So besonders ist das Modul ja auch nicht, dass man das reverse-Engineering großartig unterbinden müsste. Wenn dem Hersteller die 5V genügen hätte er sich den MAX232, 1 Transistor, 1 Widerstand und 5 Kondensatoren sparen können.. (der µC hat im übrigen auch keine Beschriftung, aber der tut was er soll)

    Als x-Entwickler kenne ich sowas schon lange, dass früher z.B. defekte Dioden als Brücken benutzt wurden um Reparaturen ohne Schaltplan praktisch unmöglich zu machen, weil auswechseln solcher Diode mit guter, das ganze nur noch veschlimmert hat.
    Also das ist ja wirklich dreist Heute findet man dafür überall proprietäre Software+LockBits und ASICs..


    Inzwischen habe ich viel herumprobiert, und bin heute Vormittag auch ein gutes Stück weitergekommen:
    Klicke auf die Grafik für eine größere Ansicht

Name:	Usonicxcf.jpg
Hits:	17
Größe:	54,8 KB
ID:	29031
    Das Prinzip ist recht simpel: 1Bit=20Wellen 40KHz. Um bei Bit=high den Nulldurchgang der Amplitude zu erzeugen wird zwischen zwei Bits eine Pause von 5µs (+ein wenig CPU-Zeit) gemacht. Das hat zur folge, dass die Empfängerkapsel aus dem tritt kommt und neu einschwingen muss. Der Code ist auch pipieinfach:
    Code:
    void Tx (uint8_t data)
    {
            uint8_t stream[2+8+1];
            uint8_t i, j;
            stream[0]=1;
            stream[1]=1;
            for(i=0; i<8; i++)
            {
                    stream[2+i] = (data&(1<<i))?1:0;
            }
            stream[10]=1;
            
            for(i=0; i<2+8+1; i++)
            {
                    for(j=0; j<20; j++)
                    {
                            Clear(Tx_PORT, Tx1);
                            Set(Tx_PORT, Tx2);
                            _delay_us(12);
                            Set(Tx_PORT, Tx1);
                            Clear(Tx_PORT, Tx2);
                            _delay_us(12);
                    }
                    if(stream[i])
                            _delay_us(5);                
            } 
    }
    
    [...]
    
    Tx(0b11000110);
    Ich glaube das könnte was werden...
    Geändert von -schumi- (09.09.2014 um 12:21 Uhr)

Ähnliche Themen

  1. Ultraschall sender/empfänger verschiedene fragen
    Von pointhi im Forum Elektronik
    Antworten: 6
    Letzter Beitrag: 15.01.2012, 16:51
  2. Suche Sender / Empfänger für Katzenhalsband
    Von Moebius im Forum Suche bestimmtes Bauteil bzw. Empfehlung
    Antworten: 7
    Letzter Beitrag: 02.08.2010, 13:24
  3. wie beschaltet man Ultraschall-Sender/-Empfänger ?
    Von Jango1987 im Forum Elektronik
    Antworten: 3
    Letzter Beitrag: 09.07.2009, 14:33
  4. Antworten: 3
    Letzter Beitrag: 17.02.2008, 18:02
  5. HILFE: Suche Sender/Empfänger
    Von bp1 im Forum Elektronik
    Antworten: 6
    Letzter Beitrag: 30.04.2007, 23:31

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •  

Labornetzteil AliExpress