Coder Social home page Coder Social logo

Comments (10)

AK-Homberger avatar AK-Homberger commented on June 27, 2024

Hallo Matthias,

ohne die Sensor-Boards habe ich das noch nie ausprobiert. Nach kurzer Sichtung des Codes sollte es aber gehen (Aber ohne absolute Gewähr).

Der Rotor sollte sich bei "Auto:Off" mit dem Rotor-Schiber bewegen lassen.

Der Linearmotor aber nicht. Dadurch das er kein Lagesignal hat, hat er keine Referenz und "Motor Error" ist zu hoch.

Wie hast du denn die Frequenz gemessen? Das Signal wird durch Zählen der der Microsekunden erzeugt:

void write0() { // write a '0' bit toneburst
for (int i = 1; i <= 22; i++) { // 1 ms of 22 kHz (22 cycles)
digitalWrite(datapin, HIGH);
delayMicroseconds(16);
digitalWrite(datapin, LOW);
delayMicroseconds(17);
}
delayMicroseconds(500); // 0.5 ms of silence
}

Wenn die Frequenz nicht stimmt, kann das eigentlich nur dadurch kommen, dass das Timing des ESP8266 gestört ist. Eventuell durch das Fehlen der Sensoren.

Du kannst den Rotor-Code ja einmal in einem kleinen eigenen Sketch laufen lassen.

Viele Grüße
Andreas

from satellite-dish-positioner.

ratzl avatar ratzl commented on June 27, 2024

Hallo Andreas,

Ich habe das Signal mit einem Oszi gemessen.

Der Code den du gepostet hast, erzeugt doch aber eher einen Toneburst mit einer Frequenz von ca. 1(16us+17us) = 30303 Hz und einer Dauer von 22x(16us+17us)= 7.26ms ?

Sobald die Sensoren da sind werde ich noch mal berichten

Grüße
Matthias

from satellite-dish-positioner.

AK-Homberger avatar AK-Homberger commented on June 27, 2024

Deine Berechnung ist so nicht OK. Schau dir am Besten mal die verlinkte Diseqc-Spezifikation an (Datei: simple_tone_burst_detec.pdf im ZIP-File). Dann wird es bestimmt klarer.

from satellite-dish-positioner.

ratzl avatar ratzl commented on June 27, 2024

Hier das Signal

SCR01

from satellite-dish-positioner.

ratzl avatar ratzl commented on June 27, 2024

Erstes Bild war im Leerlauf
Folgende Bilder mit angeschlossenem Motor

SCR02
SCR03

from satellite-dish-positioner.

AK-Homberger avatar AK-Homberger commented on June 27, 2024

Ich hab mir den Code nochmal angesehen. Die Quelle (Solartracker) lief auf einem langsameren Arduino. Für den schnelleren ESP8266 sind die Zeiten (16/17 Mikrosekunden) zu kurz. Erhöhe die mal schrittweise bis es passt (ca. 20 bis 25).

Und danke für den Hinweis. Es hat zwar bei mir trotzdem funktioniert. Mit 27.55 kHz Ist das aber doch etwas weit aus der Spezifikation.

Kanst du mir die finalen Werte senden. Mein Hameg kann leider keine automatische Frequenzanzeige.

Ich werde das Programm und die Dokumentation dann entsprechend anpassen.

from satellite-dish-positioner.

ratzl avatar ratzl commented on June 27, 2024

Habe jetzt mal den Code so angepasst wie ich das verstehe, jetzt kann ich den Motor bewegen.
Ich habe auch nicht den exakt gleichen Motor verwendet wie in deinem Link(der ist nämlich nicht mehr verfügbar) Ich vermute dein Motor kommt auch mit 27khz zurecht.

Hier meine Änderung:

void write0() { // write a '0' bit toneburst
for (int i = 1; i <= 22; i++) { // 1 ms of 22 kHz (22 cycles)
digitalWrite(datapin, HIGH);
delayMicroseconds(22);
digitalWrite(datapin, LOW);
delayMicroseconds(23);
}
delayMicroseconds(500); // 0.5 ms of silence
}

void write1() { // write a '1' bit toneburst
for (int i = 1; i <= 11; i++) { // 0.5 ms of 22 kHz (11 cycles)
digitalWrite(datapin, HIGH);
delayMicroseconds(22);
digitalWrite(datapin, LOW);
delayMicroseconds(23);
}
delayMicroseconds(1000); // 1 ms of silence
}
1/45us = 22222khz, und davon 22 Zyklen ergeben 1ms, bzw. 11 Zyklen = 0,5ms

from satellite-dish-positioner.

ratzl avatar ratzl commented on June 27, 2024

die 22 bzw. 23 ergeben dann gemessen am Oszi 20,7 khz, das liegt innerhalb der Spec

from satellite-dish-positioner.

AK-Homberger avatar AK-Homberger commented on June 27, 2024

Ich setze dann beide auf 22. Das sollte noch etwas näher dran sein. Funktioniert jetzt der Motor?

from satellite-dish-positioner.

ratzl avatar ratzl commented on June 27, 2024

Ja der Rotor dreht, jetzt warte ich noch auf die Sensoren.

Vielen Dank ;)

from satellite-dish-positioner.

Related Issues (8)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.