Jump to content
PLC Forum


Programmare un orologio al quarzo


mirred
 Share

Recommended Posts

mirred

Ciao a tutti.

Premetto che è semplicemente una idea che voglio farmi: è fattibile prendere un orologio al quarzo e cambiare delle impostazioni (come la visualizzazione dello schermo, etc).

Mi riferisco ad orologi al quarzo molto semplici ... tipo il casio classico.

 

grazie

mir

Edited by mirred
cambio della firma
Link to comment
Share on other sites


Livio Orsini
1 ora fa, mirred ha scritto:

Mi riferisco ad orologi al quarzo molto semplici ... tipo il casio classico.

 

Ti riferisci ad orologi da polso o da tavolo?

Link to comment
Share on other sites

Gennar0
10 ore fa, mirred ha scritto:

al quarzo molto semplici ... tipo il casio classico.

Se intendi analogici, non c'è nessun micro, ma un ic dedicato con oscillatore e divisore. Se intendi quelli digitali, di solito usano micro programmati di non facile identificazione e probabilmente criptati.

Edited by Gennar0
Link to comment
Share on other sites

mirred

mi riferisco ad un orologio da polso.

 

in realtà vorrei programmare un ibrido quarzo meccanico per gestire il motore.

Link to comment
Share on other sites

Livio Orsini
28 minuti fa, mirred ha scritto:

in realtà vorrei programmare un ibrido quarzo meccanico per gestire il motore.

 

A me sembra un caso di sndrome di Gundam.🙂

Link to comment
Share on other sites

mirred

😀 ammetto che potrebbe sembrare .... ma non voglio progettare un Gundam per ora ... mi limito all'orologio che sta in cabina.

 

diciamo che è vero che ho un bagaglio scarso ma ho studiato ingegneria e di base so cosa vuol dire studiare per arrivare al progetto e costruzione.

 

Le info che raccolgo sono anche per capirne la fattibilità con i miei mezzi. Penso, magari sbaglio, che un orologio al quarzo non sia un sistema così complesso.

Link to comment
Share on other sites

Livio Orsini
49 minuti fa, mirred ha scritto:

Penso, magari sbaglio, che un orologio al quarzo non sia un sistema così complesso.

 

No, in teoria è molto semplice: un oscillatore controllato al quarzo, un divisore per arrivare alla frequneza di 1Hz. Poi, se di tipo analogico con questo segnale si controlla un picomotore stepper che fa muovere le lancette; se di tipo numerico si conta la frequenza e si visulazza il conteggio.

 

Poi dalla teoria alla pratica c'è di mezzo la....miniaturizzazione.

Il dispositivo che realizza il tutto è un chip specialistico non programmabileed in alcun modo modificabile.

Così, tanto per avere una vaga idea, cerca in rete i dati del DS3231, è un chip RTC (real time clock) con cui si realizzano moduli per arduino, raspberry, esp32, etc.. Così potrai avere un'idea di massima di che cosa si stia parlando.

 

59 minuti fa, mirred ha scritto:

... ma non voglio progettare un Gundam per ora .

 

Gundam non è ne un dispositivo, ne un apparato, è una malattia....giocosa. Ti riporto una definizione, delle tante, reperibili in rete.

Quote

La “Sindrome di Gundam” (SdG) non è una reale malattia, ma è il nome goliardico inventato nei primi anni 2000 per quello stato mentale particolare per cui una persona crede di poter realizzare un progetto complicato senza avere la minima competenza tecnica.

 

Link to comment
Share on other sites

mirred
40 minuti fa, Livio Orsini ha scritto:

Gundam non è ne un dispositivo, ne un apparato, è una malattia....giocosa. Ti riporto una definizione, delle tante, reperibili in rete.

 Gundam per me rimarrà sempre questo :D:D

image.thumb.png.f56812d1197c4fab37be11b77f4f78cd.png

Link to comment
Share on other sites

mirred

Allora io penso che siamo sulla strada giusta:

 

1. modulo Modulo RTC DS3231 che fa l'orologio

 

ora due strade:

 

2a. Multi-axis Electric Stepper Motor https://youtu.be/ObSEM4sE0pg

 

2b. StepperMotor https://youtu.be/Qys5OIncymw

 

con la prima strada mi viene da pensare che gestisco secondi/minuti/ore in un "passaggio unico .... ma forse non è commercializzato....

con la seconda ho un software più semplice ma una meccanica più complicata se voglio fare tutte le lancette

 

allora detto quanto sopra metto già dei paletti:

1. per ora realizzo un orologio da tavolo

2. penso di optare per il steppermotor con 3 motori che gestiscono secondi minuti ed ore ... ovviamente non saranno sullo stesso asse come i canonici orologi 

 

 

Link to comment
Share on other sites

Livio Orsini
1 ora fa, mirred ha scritto:

Gundam per me rimarrà sempre questo :D:D

 

E proprio da questo progetto fantasioso che nasce la "Sindrome di Gundam".

D'altro canto il termine stesso di "sindrome" indica una malattia, non un apparato/dispositivo/macchina.

Definizione di sindrome psicologica:

Quote

Una sindrome è un insieme più o meno caratteristico di sintomi che una persona manifesta in un determinato momento e che possono fare riferimento a cause di diverso tipo. Può essere espressione di una o più malattie

 

Tornando all'argomento della discussione.

 

51 minuti fa, mirred ha scritto:

con la seconda ho un software più semplice ma una meccanica più complicata se voglio fare tutte le lancette

 

Con RTC DS3231 non hai da scrivere alcun software, specie se lo usi per pilotare uno stepper perchè, se hai letto il datasheet, hai un'uscita che da un'onda quadra con  f= 1Hz

L'unico eventuale software è necessario se, e solo se, vuoi leggere data e ora attuale tramite il bus I2C, puoi anche leggere la temperatura perchè il modulo è dotato di sensore di temperatura, e puoi cambiare data e ora sempre tramite comandi da bus I2C.

Inoltre esistono librerie belle e pronte per usarlo deirettamente con arduino, raspberry, ESP32, ES8266 ed altre MCU similari.

 

Poi, detto tra noi, io non capisco cosa vuoi fare, che scopo ti proponi, oltre al gusto di realizzare un orologio.

Link to comment
Share on other sites

Gennar0
3 ore fa, mirred ha scritto:

3 motori

 

L'esp32 l'ho usato una volta per pilotare motore che regolava chiusura/apertura aria moto, non è complicato. Molti moduli hanno parecchie porte i/o  e se hai esperienza con arduino puoi fare tutto quello che ti serve. Non capivo perché 3 motori,  poi ho visto il video del motore con più assi, bello. Penso che consumi un tot per farlo andare a pile.

Link to comment
Share on other sites

mirred

ok ... allora il mio obbiettivo è avere un sistema hardware semplice su cui gestire (via software) la posizione delle lancette:

 

image.thumb.png.6e58b881e03dd2f238464eeea7ece598.png

 

Dal software voglio gestire i fusi (non voglio inserire pulsanti ne altro per non complicarmi già ora troppo la vita).

 

Detto quanto sopra devo procurarmi:

- una scheda arduino (o mi consigliare qualcos'altro?)

un RTC DS3231

- 3 StepperMotor

 

ovviamente a stento so cambiare una lampadina ... quindi dovrò comprarmi qualche strumento (i cacciaviti da elettronica li ho).

 

Detto quanto sopra la vostra collaborazione e disponibilità è di fatto necessaria per aiutare un caso di sindrome di Gundam.

 

Attendo i vostri consigli su cosa mi può essere necessario.

 

grazie!!

mir

 

PS: giusto per vostra conoscenza ho fatto, per quasi due anni, ricerca all'università ed ero diventato un drago in Labview per la gestione di qualche tera di dati di un campo eolico.

 

 

 

 

 

 

Link to comment
Share on other sites

Livio Orsini

Direi cahe al tuo elecon materiale mancano parecchie cose.

Gli stepper devono essere gestiti da appositi drive. E pur vero che saranno di infima potenza però ci vuole qualche cosa in più della porta di un micro per pilotarli.

Poi i segnali che servono a farli muovere devono avere una seqeunza ben precisa.

Io ti consiglio di documentarti, almeno a livello pratico. Cerca in rete il tutorial  di Vincenzo Villa, è molto pratico ed è abbastanza facile da comprendere. Così almeno acquisisci le nozioni fondamentali su cosa devi fare per far muovere uno stepper nel modo corretto, e fargli fare i passi, avanti o indietro, che desideri.

 

Arduino, ma anche le schede basta su micro espressif, si programma in pseudo "C", Raspberry accetta vari linguaggi perchè puoi caricarci i rispettivi compilatori.

Comincia a documentarti sugli stepper, poi riparliamo su cosa ti serve e su come organizzare il sistemino.

Link to comment
Share on other sites

Gennar0

Detto quanto sopra devo procurarmi:

- una scheda arduino (o mi consigliare qualcos'altro?)

un RTC DS3231

- 3 StepperMotor.

 Ti servono dei driver tipo l' A4988 o simili. Non ricordo cos'avevo usato io.

Dipende anche dai motori.

Con arduino trovi parecchio materiale su internet. 

Io spesso usavo i pic direttamente, ma devi fare circuito, come software c'è un mondo.

La scelta, se arduino o micro, è dettata principalmente dal costo e dalla semplicità

Usi i micro se devi fare progetto e replicarlo.

Usi arduino per fare prima e semplificarti la vita.

 

Edited by Gennar0
Link to comment
Share on other sites

mirred

Ordunque in questa fase userò arduino per semplificarmi la vita.

 

Mi sono acculturato un po' sui motori passo passo (https://www.vincenzov.net/tutorial/passopasso/elettronicaunipolare.htm)

Considerazioni inziali legate al mio progetto:

- non avrò problemi di coppia

- non avrò problemi di consumo (rendimento)

- potrei avere problemi di velocità (sulla lancetta dei secondi)?

 

Ho un paio di domande:

1. è corretto pensare  che il sistema wavemode sia quanto mi serve?

 image.png.9e5970cdc00773037af10981ad3f8733.png

2. non capisco da cosa dipende l'angolo di rotazione:
 - minuti e secondi => 360° / 60 = 6° per step

 - ore => 360 / 12 = 30° per step

3. è necessario un diodo di ricircolo per evitare di bruciare qualcosa?

 

grazie

mir

Link to comment
Share on other sites

Livio Orsini
4 minuti fa, mirred ha scritto:

potrei avere problemi di velocità (sulla lancetta dei secondi)?

 

No.

 

5 minuti fa, mirred ha scritto:

è corretto pensare  che il sistema wavemode sia quanto mi serve?

 

Si, è il modo più semplice per spostarsi di 1 passo alla volta, semprechè il motore usato accetti questo tipo di pilotaggio.

 

6 minuti fa, mirred ha scritto:

non capisco da cosa dipende l'angolo di rotazione:

 

Dipende dalle caratteristiche del motore.

Ad esempio se il tuo motore è dato per 180 passi per giro, significa che un passo vale 2°. Quasi sempre i datasheets dei motori indicano la costante gradi/passo.

 

9 minuti fa, mirred ha scritto:

è necessario un diodo di ricircolo per evitare di bruciare qualcosa?

 

Si, però in genere è già inglobato nel transistor che pilota il motore.

 

Ti servono 4 uscite di arduino per ogni motore, totale 12 uscite, oppure 4 uscite per pilotare gli avvolgimenti e 3 uscite per selezionare il motore.

Ti servono almeno 3 per selzionare il motore su cui operare.

Ti servono altri 2 ingressi per selezionare avanti/indietro

Ti servono 2 porte per il Bus I2C che comunica con lo RTC DS3231.

Ti serve un ingresso interrupt per contare gli impulsi con f=1".

Poi forse ho dimenticato ancora qulache cosa.

Quindi arduino 1 è insufficiente come risorse, e dovrai prevedere un arduino mega.

 

Link to comment
Share on other sites

mirred
Quote

Ti servono 2 porte per il Bus I2C che comunica con lo RTC DS3231.

ma Arduino non ha un clock interno?

Link to comment
Share on other sites

Livio Orsini
41 minuti fa, mirred ha scritto:

ma Arduino non ha un clock interno?

 

Decidi se vuoi usare un RTC, o se vuoi basarti solo sull'oscilllatore di Arduino.

Se usi arduino ottieni un risultato che, a breve termine, è abbastanza preciso, ma già a medio termine (qualche giorno) commette errori abbastanza rilevanti.

Link to comment
Share on other sites

Livio Orsini

Attenzione dhe ilDS3231 (RTC) lavora a 3.3V.

Puoi alimentarlo anche a 5V, perchè ha un suo regolatore a 3,3V, mai segnali in uscita e, soprattutto, quelli in ingresso devono essere a 3,3V.

Quindi è necessario usare traslatori di livello.

Se usi solo l'uscita a 1Hz basta un transistor per portarla a 5V, però se usi anche il bus I2C per colloquiare con arduino è necessario usare un modulino di traslazione di livello bidirezionale.

Prima di "smanettare" ti consiglio di leggerti uno dei tanti tutorials, sul DS3231, presenti in rete, (quasi) tutti in inglese.

Con arduino mega hai tutti gli IO che servono ed altri in più poer eventuali funzione che intenderai aggiungere.

Link to comment
Share on other sites

Gennar0
6 ore fa, mirred ha scritto:

ma Arduino non ha un clock interno?

Non uso tanto Arduino, non so se i micro che usa hanno un risuonatore interno, ma probabile. Se sulla scheda c'è il quarzo e anche se il micro avesse il risuonatore, penso che non potresti modificarlo, anche perché arduino lo usi anche come programmatore. I programmatori hanno un software precaricato, penso sia lo stesso per Ardu.

Se vuoi usare tutte le potenzialità del microcontrollore ti conviene usare i pic o altri micro direttamente, ma devi farti il circuito e procurarti il programmatore.

I Pic, quelli più moderni, hanno il risuonatore interno, e tolte le alimentazioni, puoi usare tutti i piedini come i/o.

Edited by Gennar0
Link to comment
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
 Share

×
×
  • Create New...