Comments (10)
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.
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.
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.
Hier das Signal
from satellite-dish-positioner.
Erstes Bild war im Leerlauf
Folgende Bilder mit angeschlossenem Motor
from satellite-dish-positioner.
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.
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.
die 22 bzw. 23 ergeben dann gemessen am Oszi 20,7 khz, das liegt innerhalb der Spec
from satellite-dish-positioner.
Ich setze dann beide auf 22. Das sollte noch etwas näher dran sein. Funktioniert jetzt der Motor?
from satellite-dish-positioner.
Ja der Rotor dreht, jetzt warte ich noch auf die Sensoren.
Vielen Dank ;)
from satellite-dish-positioner.
Related Issues (8)
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
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.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from satellite-dish-positioner.