¿Cómo enviar una señal de 60 khz desde la antena?

FONDO

En Japón existen relojes controlados por radio. La hora está sincronizada por radio de 40 khz (en el oeste de Japón) y 60 khz (en el este de Japón), que se transmite desde torres de transmisión. La señal se conoce como JJY:

https:/ /en.wikipedia.org/wiki/JJY

Después del terremoto de 2011, la torre en el este de Japón se derrumbó. La sincronización horaria en el este de Japón se ve afectada. De ahí que alguien japonés haya hecho unos simuladores y los haya compartido en Internet.


Soy de Hong Kong. Tengo un reloj controlado por radio y un reloj comprado en Japón. Quiero que mis dispositivos estén sincronizados. Hay simuladores JJY de aplicaciones para iOS y Android. He probado algunos de ellos. Este funciona bien:

https://play.google.com/store/apps/details?id=jp.houryo.jjyemulator&hl=ja

El principio subyacente es usar el tiempo del servidor NTP, emular la señal JJY y enviarla a través del puerto de audio de 3,5 mm.


Ahora quiero implementar el emulador en una Raspberry-Pi. Hay algunos tutoriales que se encuentran en Internet. A continuación se muestra el que estoy siguiendo a:

http://itpro.nikkeibp.co.jp/atcl/column/14/093000080/093000002/?ST=oss&P=1 (japonés)

En lugar del código fuente del tutorial, uso este: https://github.com/snt/rpi_jjy_server


PROBLEMA

He hecho el circuito siguiendo el tutorial:

Sin embargo, la mayoría de las veces mi reloj no lee ninguna señal. Si hay señal, el estado de la señal es "bajo" y finalmente falla la sincronización de tiempo. (Para la aplicación de Android, mi reloj puede leer una señal "alta").

Nota: estoy usando el transistor Toshiba 2SC1815-GR, resistencias de 30k ohm, que se sugieren en el artículo de Git-hub. Y una antena hecha de línea telefónica.

He intentado usar una batería de 9V reemplazando la fuente de alimentación Raspberry-Pi de 5V. Pero no ayuda.

Mi conocimiento en electrónica es muy limitado. Por favor, perdónenme si hice preguntas tontas o cometí errores tontos. ¿Alguien podría indicarme si estoy hecho algo mal? O, ¿por qué medios podría aumentar la señal de la antena?

Gran agradecimiento por cualquier ayuda!

Personalmente, simplemente aplicaría ingeniería inversa a la antena del teléfono inteligente. use un osciloscopio para verificar la señal e intente reproducirla. Pero mi primer pensamiento es... La antena se ve bastante diferente. ¿Intentó conectar la antena de 3,5 mm al circuito para ver si funciona?
La antena de 3,5 mm es la misma que estoy usando en la Raspberry-Pi. Son los cables trenzados dentro de una línea telefónica. E intenté usar el de 3,5 mm en la Raspberry. No funciona. (¿Realmente la antena realmente funciona con un solo extremo conectado a la placa de prueba?) Un osciloscopio es demasiado caro para mí, ya que solo soy un principiante que trabaja en esto solo por diversión.
Sí, el cable es el mismo, pero el tamaño también importa. Y... por lo general, las antenas acopladas eléctricamente tienen un solo cable conectado, pero las antenas acopladas magnéticamente tienen ambos conectados. ¿El segundo sitio web describió la antena? Porque creo que solo necesitas un poco de cable, no una bobina...
Gracias por tu comentario. No tengo idea de antenas "acopladas eléctricamente" y "acopladas magnéticamente". ¡Déjame investigar un poco para entender primero!
En estas frecuencias bajas, creo que una antena de bucle magnético funciona mejor, vea mi respuesta.
El artículo decía: Encuentre una línea de vinilo con 1x-cm a varios metros, haga un bucle, colóquelo cerca de un reloj controlado por radio; Coloque un extremo en la protoboard. 最も 簡単 な の は gpio で led を 点灯 する 回路 を 作り 、 、 と トランジスタ の コレクタ の から から ビニール 線 数十 数十 センチ から 数 程度) を 引き出し て 、 その 線 を ぐるぐる 巻き に し て と もの もの でしょ その その その その その その その その その その その その その その その その その その その その その その その その その その その その その その その その その その その その その その その その その その その その その その その その その その その その その その その その その その その「アンテナ」 を 電波 時計 の 近く に 置き ます ます。 ぐるぐる 巻き に し た ビニール 線 は テープ で で が 解け ない ない に て おき ます (写真 写真) 、 テープ で が 解け ない よう 止め て おき ます (写真 写真)。 テープ 止め 写真 ((写真 5)。 ビニール 線 の 一端 を むき 、 ブレッド 穴 に 刺さる に 刺さる に 刺さる 刺さる 刺さる 刺さる 刺さる に に に に 刺さる 刺さる 刺さる 刺さる 刺さる に に に 刺さる 刺さる 刺さる 刺さる¿Creo que la configuración original debería funcionar?
¡Mira la foto, el bucle está conectado a la salida de audio del teléfono inteligente con 2 conexiones!
Sí. Y es por eso que estoy publicando la foto también. Creo que ellas (las antenas) se comportan de diferentes maneras.

Respuestas (1)

"¿En realidad la antena realmente funciona con un solo extremo conectado a la placa de pruebas?" No, no este tipo de antena. Lo que tienes es una antena de cuadro y crea un campo magnético. Ahora la estás usando como si fuera una antena eléctrica y eso funcionaría SI fuera muy larga, para 60 kHz estamos hablando de 1250 metros (!!!) y no enrollada como la tuya.

Le sugiero que conecte el extremo abierto de la antena a +5 V PERO para limitar la corriente, use una resistencia en serie de valor de 1 kohm aproximadamente.

Si construyes esto, entonces creo que hay una buena posibilidad de que funcione. ¡Observe cómo la antena es una bobina (cable largo con muchas vueltas) y ambos extremos del cable están conectados!

esquemático

simular este circuito : esquema creado con CircuitLab

Gracias por su respuesta. Lo siento pero mi conocimiento es limitado. ¿La forma física de la antena o la forma de conexión deciden la forma (eléctrica/magnética) de la antena?
¡Antenas, ese es un tema difícil! Las antenas emiten ondas EM tanto eléctricas como magnéticas. Sin embargo, para algunos tipos el campo magnético es más fuerte, para otros el campo eléctrico. Eso también podría estar relacionado con la forma en que lo conectas. Por lo general, las antenas conectadas por un lado son eléctricas y las de dos lados con una conexión conductiva (como la suya) son magnéticas.
Entonces, dado que solo estoy conectando un pin, haciendo que la antena funcione como eléctrica, limitar la corriente con una resistencia de 1k ohm haría que la señal fuera "mejor" sin alargar la longitud de la antena, ¿verdad?
¿Qué tal si quiero convertir la antena en una magnética, necesito modificar el hardware o el código?
Se necesita la resistencia de 1 kohm para limitar la corriente, ya que el bucle de su antena es esencialmente solo un cable largo. Simplemente haga lo que sugerí, conecte el extremo abierto de la antena a +5V a través de la resistencia de 1 kohm, eso es todo lo que necesita hacer. Está utilizando una antena de cuadro, se supone que funciona como una antena magnética. No hay necesidad de cambiar su código.
Acabo de probar el circuito que me has dado. Aunque parece prometedor, mi reloj aún no puede leer ninguna señal. ¿Tiene alguna idea? i13.photobucket.com/albums/a298/y2kbugleung/…
Tu circuito ahora me parece bien. ¿Está seguro de que una salida GPIO puede proporcionar la señal correcta? Lo digo porque el proyecto original usa la salida de audio de un teléfono, que es una salida analógica. Tal vez solo le toma mucho tiempo al reloj recibir la señal horaria. ¿Estás seguro de que está en modo de recepción? Normalmente estos relojes reciben la hora solo una vez al día para ahorrar batería.
Mi reloj solía recibir una señal "baja" de GPIO, y hay un tutorial sobre cómo usar GPIO como salida de señal, creo que es posible. (Sin embargo, no puedo confirmar que haya ninguna señal de GPIO ya que no hay forma de que lo verifique) Puedo poner mi reloj en modo de sincronización forzada. El "segundo pin" del reloj apuntaría a 12 cuando comience el modo de sincronización, y apuntaría a "H", "L" para señal alta y baja, y "N" para sin señal. Y tengo un reloj para la prueba también. El mismo resultado.
Lo siento por el título. El proyecto está generando una señal de 40 khz pero no de 60 khz. He leído un artículo antes de hacer este proyecto. a-chien.blogspot.hk/2013/08/blog-post_2620.html (chino) Parece que la computadora no puede generar una señal de 40 khz. Estamos haciendo la armonía de la señal de 13,3 khz y, por lo tanto, de 40 khz. (No estoy seguro de lo que estoy diciendo: P) ¿Puedes entender leyendo los gráficos en el artículo? No estoy seguro de si esto puede ayudar en este problema. ¡De nuevo, gracias por tu ayuda!
Desde un puerto de audio, por lo general, no puede hacer 40 kHz, ya que el audio sube a 20 kHz. Entiendo sobre el 3er armónico de 13.3333 kHz, que es de hecho 40 kHz. Pero con el puerto GPIO es posible que pueda generar 40 kHz directamente. El problema es que no sabemos si la señal que haces es buena para el reloj, ¿quizás es demasiado fuerte? Normalmente estas señales son muy débiles. Sin embargo, es un proyecto interesante, si tan solo pudieras hacerlo funcionar :-)
Ah, ya veo. Seguiré pensando en la solución. Mi amigo que estudia en la universidad puede ayudarme prestándome un osciloscopio. Mantendré aquí actualizado. ¡Gracias por tu gran ayuda de nuevo!
¡Sí, un osciloscopio ayudará mucho! Buena suerte con tu proyecto.
Disculpe, me gustaría preguntar sobre algunas ideas básicas. ¿Cómo determina qué resistencias usar en el circuito? Y, ¿hay alguna relación entre la entrada de voltaje en el pin base del transistor y la salida del emisor? Gracias.
¡Sí, pero eso no se puede explicar en unas pocas líneas! Este es un buen punto de partida: en.wikipedia.org/wiki/Bipolar_junction_transistor Los valores de resistencia no son tan críticos en su circuito (2 veces más grande o más pequeño también funcionaría), solo usé valores como los que uso normalmente y 9 de 10 tiempos que es lo suficientemente bueno. He estado jugando con transistores durante 30 años, así que ya no necesito pensar tanto en eso.
¡Vaya 30 años! :o Algunas actualizaciones. Cambié para usar el código fuente C del tutorial japonés, en lugar del código de Python. Utiliza el chip bcm2835 en Raspberry-Pi para generar un "espacio" preciso entre pulsos. Después de algunas pruebas, mi reloj puede leer constantemente una señal "baja" y, a veces, una señal "alta". Pero parece que la sincronización de tiempo aún no se pudo completar. Creo que necesito mejorar la señal. ¿Puedo saber si debo hacer más bucles, usar un cable más largo o un voltaje más alto para producir una señal más fuerte? ¿Cuál es la diferencia entre una línea y una antena de cuadro? ¿Qué hay de agregar papel de aluminio?
30 años porque comencé temprano en la vida :-) Dado que su reloj ahora parece tener una señal baja/alta, creo que la antena, etc., está bien. Me concentraría en la señal de sincronización y comprobaría que es lo que debe ser. Tal vez use el osciloscopio para estar seguro. No espero que cambiar la antena, agregar papel de aluminio, etc. mejore nada.
Estoy averiguando si las "restricciones de rendimiento en tiempo real" ayudan: airspayce.com/mikem/bcm2835 Me encanta la ciencia desde que era niño. Dado que los estudiantes en Hong Kong se ubican en corrientes de "artes" y "ciencias" en el estudio, y fui a la corriente de "artes" con amigos, no puedo mantener mi interés con mi conocimiento. HK es una sociedad de negocios... Raspberry-Pi es realmente un buen "juguete" para mí para aprender todo a esta edad :D
Parece que lo tengo funcionando: i13.photobucket.com/albums/a298/y2kbugleung/… Pero todavía necesito mejorar la señal, ya que quiero que se reciba dentro de 1 a 2 metros. ¿Puedes por favor enseñarme cómo hacerlo? i13.photobucket.com/albums/a298/y2kbugleung/…
Por cierto he encontrado algo raro. Este es el programa C que estoy usando: pastebin.com/QLSSv0rz Debería emitir una señal de 40 khz. En Japón, se usan 40 khz en el este y 60 khz en el oeste. Pero como puedes ver en la imagen que publiqué en el último mensaje, el reloj muestra "W" en lugar de "E". ¿Hay alguna forma de que la señal que emite la antena se vea afectada y cambiada a 60 khz?
¡Los 40 kHz no tienen nada que ver con la antena! La antena es solo un trozo de alambre. Los 40 o 60 kHz están definidos en el código por el RPi. Fue difícil de encontrar pero creo que lo encontré, busca en: void gen_pulse(int ms), y más específicamente: bcm2835_delayMicroseconds(12); hay 2 de esos, 2 x 12 us = 24 us y 1/24 us = 41,67 kHz, está bien, no 40 kHz pero lo suficientemente cerca. Quizás el transmisor de tiempo oficial también esté en 41,67 kHz. Así que para 60 kHz: 1/ 60 kHz = 16,67 us /2 = 8,33 us. Entonces, si cambia bcm2835_delayMicroseconds (12) a bcm2835_delayMicroseconds (8.333), debería obtener 60 kHz
Pero verifica qué frecuencia usa realmente el transmisor oficial, ya que también podría ser que necesites bcm2835_delayMicroseconds(8) por lo que serían 2 x 8 us = 16 us: 1/ 16 us = 62.5 kHz.
Si desea ampliar el alcance de su transmisor, puede reducir la resistencia de 1 kohm en serie con la antena a 470 ohmios o, mejor aún, hacer una antena de cuadro más grande. Pero necesitará mucho cable para eso, estoy pensando en una antena de 50 cm de ancho y 10 bucles más o menos. Así que 5 m de cable por lo menos.
Creo que, en teoría, debería ser de 40 khz y 60 khz jjy.nict.go.jp/jjy/trans/index-e.html Mi punto es que el RPi debería enviar una señal de 40 khz, pero el reloj marca 60 khz. Es extraño. ¿Quieres decir 50 cm de diámetro para la antena? ¿Hay algún artículo que pueda leer sobre la relación entre el voltaje, el diámetro, la cantidad de bucles, el grosor del cable, la forma de la antena, etc., con respecto a la intensidad de la señal de la antena? Gracias.
Sí, me refiero a 50 cm de diámetro para la antena, ¡pero eso es solo mi suposición! Hay libros sobre antenas, muchos de ellos en realidad. Pero no los lea a menos que quiera convertirse en un experto en antenas. La antena es un tema complicado. Creo que en tu caso lo mejor es experimentar un poco.
He intentado hacer un bucle de 28 cm de diámetro y 15 como antena. Este tamaño está alrededor del límite máximo que puedo colocar en casa. (HK tiene miedo del lugar) Intenté cambiar los valores de la resistencia, la longitud de la señal parece no ayudar mucho. Dado que quiero mantener alrededor de 30 cm de diámetro, ¿podría simplemente agregar más bucles para aumentar la longitud de la señal? Aún así, lo extraño es que mi reloj todavía muestra "W" (recibiendo una señal de 60 khz) mientras estoy enviando 40 khz en código. Cambiando a 8.3ms en el código (enviando 60khz), mi reloj recibe una señal muy débil o no la recibe. ¿Parece que el envío de la señal es problemático?
Y, como encontré en Internet, la señal debe enviarse desde los dos lados de la antena, en lugar del "agujero". Entonces, esta ubicación debería ser correcta, ¿verdad? i13.photobucket.com/albums/a298/y2kbugleung/…
Tienes una configuración genial allí :-) ¡Excelente! Sí, la señal saldrá por la parte delantera y trasera de la antena, por lo que la ubicación debería estar bien. Además, dado que la frecuencia es muy baja, la colocación no es tan crítica. Si yo fuera usted, experimentaría con los 8,3 ms en el código, lo haría más grande y más pequeño, vería qué funciona mejor. También un truco es ver qué funciona, por ejemplo: si 7,5 ms - 8,5 ms funciona, que sea 8,0 ms, que está justo en el medio.
Acabo de leer el tutorial detenidamente de nuevo. (No hablo japonés con fluidez, así que solo hojeé los párrafos). ただし 、 安定 し た 発振 で はあり ませ ん。 パルス 幅 に は 若干 の ゆらぎ (ジッター と 言い ます) が 生じ ます。 その 原因 は 、 Linux が マルチ タスク タスク タスク から です。 マルチ タスク タスク タスク 、 動作 様々 様々 割り込み に 応答 応答 応答 応答 に 応答 応答 応答 応答 応答 応答 応答 応答 応答 応答 応答 応答 に 応答 応答 に 応答 応答 応答 に 応答 応答 応答 に に に に 応答 応答 応答 応答 応答 に 応答 に 応答し なけれ ば なり ませ ん し 、 OS 自体 を 動作 さ せる ため に 定期 的 な タイマー 割り込み が 発生 し て い。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。 ”” ”” ”” ”, Dice que Linux es un“ operación multibasa, el script no se ““ Por lo tanto, la señal no podría ser de 40 khz puros, ya que no se pudo lograr el sueño de 12 ms. @FakeMoustache, ¿estás familiarizado con C? He visto "Restricciones de rendimiento en tiempo real", pero no tengo idea de cómo aplicarlo. Creo que este debería ser el punto clave. Gracias
NVM, creo que ya se está ejecutando como prioridad "en tiempo real": 1479 root rt 0 18192 1464 1136 R 60.5 0.2 0: 22.13 waveclock
No, no estoy familiarizado con C, principalmente uso Python, que es mucho más fácil :-) También intentaría darle al programa una alta prioridad. No hay mucho que puedas hacer en un entorno multitarea como Linux. Pero también, para una CPU rápida, un milisegundo es mucho tiempo.
si es extraño esperar al siguiente segundo, 697634 usec esperar al siguiente minuto, 13000000 usec Hora actual: 2015/12/09 13:54:00 Hora actual: 2015/12/09 13:54:59 Hora actual: 2015/12/09 13: 55:59 ... Hora actual: 2015/12/09 15:17:37 Hora actual: 2015/12/09 15:18:37 Hora actual: 2015/12/09 15:19:36 Según tengo entendido , el progreso de envío debería durar 1 minuto e inmediatamente comenzar otro progreso de envío.
¿Oh? ¿No es un milisegundo un "estándar"? ¿Sería más rápido en algunas CPU y más lento en otras? :u
Sí, por supuesto, un milisegundo es un milisegundo, PERO Linux no es un sistema operativo en tiempo real, por lo que no puede garantizar que esperará 1 ms cuando le diga que espere 1 ms. Linux hará lo mejor que pueda, pero puede tardar un poco más de 1 ms cuando la CPU está ocupada. Los sistemas de tiempo crítico utilizan sistemas operativos en tiempo real, pero estos generalmente no realizan múltiples tareas, por lo que casi se puede garantizar la sincronización.
Bien, déjame actualizar el estado. Después del último comentario, me fui a estudiar Raspbian en tiempo real. Después de muchas pruebas, el código BCM2835 todavía no funciona. Pero, afortunadamente, siendo señalado por un gnitnawtw.blogspot.hk/2015/10/piquadcopter-raspberry-pi.html taiwanés , creo que ya no tiene sentido probar BCM2835. Como se indica en la página web airspayce.com/mikem/bcm2835 changelog 1.9, cuesta entre 100 y 200 us llamar a la función de retraso. Mientras que solo necesito que mi script retrase 12us cada vez. Creo que explica por qué la señal no es precisa y parece 60 khz en lugar de 40 khz.
Y como sugirió el autor taiwanés, voy a probar esto en su lugar: abyz.co.uk/rpi/pigpio
Estoy interesado si este se usaría como si fuera una antena: robot-electronics.co.uk/htm/srf05tech.htm
¡No, eso es algo completamente diferente! Es un sensor de distancia ultrasónico (sonido de alta frecuencia). Tal vez te confundiste con el patrón de radiación que parece provenir de una antena. De hecho, es un gráfico similar, pero muestra la salida de sonido, no la potencia de las ondas electromagnéticas.
Después de la última actualización, busqué en Internet y probé diferentes formas de lograr 12us en Raspberry. Sin embargo, con un sistema operativo, parece imposible hacerlo. Y he empezado a jugar con mi nuevo Arduino. Hoy acabo de recibir el módulo de Internet, después de algunas modificaciones en el programa, ¡finalmente funciona! ¡Viva! El reloj puede recibir señal "alta". Pero sigue siendo extraño que el Arduino emita una señal de 40 khz y el reloj dice que está recibiendo 60 khz. Todavía necesito hacer que la antena sea más pequeña y más larga en el rango de recepción. ¡Gracias por su ayuda!
Para el interés de alguien en el futuro, esta es la página web que contiene el programa Arduino: d.hatena.ne.jp/NeoCat/20110328/1301256560
Y el programa debe actualizarse antes de que pueda ejecutarse. Busque el enlace original en esta página para encontrar el artículo. Omita el paso 6, ya que fallará el programa. seesaawiki.jp/system3333/d/…