BaroneRosso.it - Forum Modellismo

BaroneRosso.it - Forum Modellismo (https://www.baronerosso.it/forum/)
-   Circuiti Elettronici (https://www.baronerosso.it/forum/circuiti-elettronici/)
-   -   clackson (https://www.baronerosso.it/forum/circuiti-elettronici/159636-clackson.html)

bimoto 15 gennaio 10 20:23

clackson
 
vorrei fare un circuito per clackson / trombe bitonali da montare su auto 7,4V.

Casse passsive, casse amplificate, oppure PIC programmato con micro ampli e casse passive.
Consigli?

Un amico ( ILLEZ ) ha individutao un PIC ( ? ) che potrebbe suonare ,
ma solo per 1 secondo.
Qualcuno conosce qualche integrato che possa campionare almeno TRE secondi?

Grazie

MSchiepp 15 gennaio 10 20:28

Citazione:

Originalmente inviato da bimoto (Messaggio 1885086)
vorrei fare un circuito per clackson / trombe bitonali da montare su auto 7,4V.

Casse passsive, casse amplificate, oppure PIC programmato con micro ampli e casse passive.
Consigli?

Un amico ( ILLEZ ) ha individutao un PIC ( ? ) che potrebbe suonare ,
ma solo per 1 secondo.
Qualcuno conosce qualche integrato che possa campionare almeno TRE secondi?

Grazie

Facile... se vuoi stare sui PIC uno qualunque con una memorietta flash seriale esterna!!

Michele

illez 15 gennaio 10 20:35

Supponiamo di usare una 25LC512 (o taglio differente, al momento non importa) e di riuscire in qualche modo (che non conosco) a programmarla con un suono campionato anche a 8Khz della durata di qualche secondo.
riesco a leggerla ad una velocità sufficiente per riprodurlo decentemente?

(in subordine, come ci porto il suono campionato?? :rolleyes:)

MSchiepp 15 gennaio 10 23:10

Citazione:

Originalmente inviato da illez (Messaggio 1885102)
...(in subordine, come ci porto il suono campionato?? :rolleyes:)

Una possibilità è questa: ti procuri un programma di editing audio (io uso CoolEdit); con questi programmi hai due possibilità: o campioni il suono o lo generi usando due oscillatori a circa 320 e 350 hz. A questo punto puoi normalizzarlo per avere 256 valori picco-picco in modo da convertirlo con 8 bit e decidi la frequenza di campionamento a cui vuoi riprodurlo.
Quando hai raggiunto un risultato soddisfacente memorizzi il file in formato 'ascii': il programma ti genera una tabella con tutti i campioni espressi come numeri decimali; con un programmino da poche righe leggi il file e lo formatti in modo che diventi la dichiarazione di un vettore con inizializzazione dei valori tipo:

unsigned char Clakson = { 0, 01, 02, 04, ...
---
255, 255, 0, 0};

e lo includi nel tuo programma e puoi con un primo programma scriverlo nella memoria flash esterna e con un secondo leggerlo per ricostruire il suono.
Per l'uscita la soluzione più semplice è uno shift register a 8 bit con un convertitore R/2R ed un amplificatore. In assembly ti bastano circa 150 uS per leggere un dato e scriverlo sul convertitore ed avere una banda passante accettabile...

Michele

illez 15 gennaio 10 23:46

Mi chiedevo se c'erano soluzioni più 'semplici' per programmare l'eeprom.
Se l'array stesse in memoria del pic, non userei l'eeprom esterna :rolleyes:
Quindi si dovrebbe dividere il file in n parti minori dei circa 8K disponibili, caricarle una per una e poi usarle nell'altro programma.

MSchiepp 16 gennaio 10 11:02

Citazione:

Originalmente inviato da illez (Messaggio 1885444)
Mi chiedevo se c'erano soluzioni più 'semplici' per programmare l'eeprom.

Ci sono senz'altro soluzioni più semplici per generare il suono: se rinunci al campionamento puoi generare direttamente l'inviluppo delle due frequenze in onda quadra e poi filtrare un po' quando amplifichi: il risultato è buono comunque.
Il vantaggio del campionamento (per questa applicazione) è che ti puoi costruire 3 campioni per riprodurre l'attacco, il suono continuo e lo spegnimento che rendono il tutto molto più naturale.
Se decidi per il campionamento ti posso passare dei campioni sintetizzati di clakson 'veri'.

Michele

illez 16 gennaio 10 11:20

Mi sa che qui si va un po' oltre le mie conoscenze :uhm::rolleyes:

Il buon Bimoto vorrebbe le trombe stile 'il sorpasso' comandabili via radio (è giovane il ragazo, visto che in pista va piano, vuole avvertire che imgombra :icon_rofl).
Ora studio un po' e vediamo cosa ne concludo.

capediablo83 16 gennaio 10 11:30

Citazione:

Originalmente inviato da bimoto (Messaggio 1885086)
vorrei fare un circuito per clackson / trombe bitonali da montare su auto 7,4V.

Casse passsive, casse amplificate, oppure PIC programmato con micro ampli e casse passive.
Consigli?

Un amico ( ILLEZ ) ha individutao un PIC ( ? ) che potrebbe suonare ,
ma solo per 1 secondo.
Qualcuno conosce qualche integrato che possa campionare almeno TRE secondi?

Grazie

Lo vuoi semplice? Prendi il clacson di un 50ino, un piccolo relè e una piccola 3S.. Dalla ricevente con poco chiudi il circuito e la 3S ti fa suonare! Sai che concerti!

MSchiepp 16 gennaio 10 11:39

Citazione:

Originalmente inviato da illez (Messaggio 1885686)
Mi sa che qui si va un po' oltre le mie conoscenze :uhm::rolleyes:

Su un 12F629/675 definisci:

-P2 a 5 e P1 a 2
-clock 4 Mhz
-OutCh1: bit di uscita
-Com: flag che abilita il suono a 1 e lo disabilita se 0
-abilita l'interrupt sul timer 1, no prescaler
- e ascolta se ti piace...

/************************************************** ******************
Interrupt code
************************************************** ******************/
void interrupt T1PWM(void)
{
if (F1Cnt > 0){
TIMER1 = -4100;
F1Cnt--;
}else{
TIMER1 = -3980;
if (--F2Cnt == 0){
F2Cnt = P2;
F1Cnt = P1;
}
}
if (Cmd){
OutCh1 = !OutCh1;
}else{
OutCh1 = 0;
}
TMR1IF = 0;
}


Michele

Pantalo' 17 gennaio 10 00:44

Citazione:

Originalmente inviato da illez (Messaggio 1885444)
Mi chiedevo se c'erano soluzioni più 'semplici' per programmare l'eeprom.
Se l'array stesse in memoria del pic, non userei l'eeprom esterna :rolleyes:
Quindi si dovrebbe dividere il file in n parti minori dei circa 8K disponibili, caricarle una per una e poi usarle nell'altro programma.

Se e' solo per avere il suono di un clackson non mi complicherei la vita.:fiu:
Ci sono molti chip sonori facili da usare ma poco reperibili,
oppure una semplice sintesi vocale vedi Futura Elettronica - Home Page Prodotti
semiconduttori, sintesi vocali.
Ci registri tutti i rumori e suoni che vuoi, basta che ti scorri il pdf del ISD1212G
e ti rendi conto della semplicita' d'uso.

Saluti
Pantalo'

illez 17 gennaio 10 00:56

Questi si che sono pratici!

Bi, se ti accatti l'HT2860 sei a posto, fa tutto lui.

MSchiepp 17 gennaio 10 11:23

Citazione:

Originalmente inviato da Pantalo' (Messaggio 1886670)
Se e' solo per avere il suono di un clackson non mi complicherei la vita.:fiu:

...e pensare che un PIC12F629 e un transistor non mi sembrava una soluzione così complessa...

Michele

Mrk89 17 gennaio 10 14:56

Citazione:

Originalmente inviato da MSchiepp (Messaggio 1886858)
...e pensare che un PIC12F629 e un transistor non mi sembrava una soluzione così complessa...

Michele

Ciao, come fai a convertire il segnale da digitale ad analogico semplicemente con un pic ed un transistor??

bimoto 17 gennaio 10 15:13

Citazione:

Originalmente inviato da illez (Messaggio 1886679)
Questi si che sono pratici!

Bi, se ti accatti l'HT2860 sei a posto, fa tutto lui.

vado a vedere in dettaglio. soprattutto dimensioni e costi e se dotato di ampli....

MSchiepp 17 gennaio 10 16:01

Citazione:

Originalmente inviato da Mrk89 (Messaggio 1887108)
Ciao, come fai a convertire il segnale da digitale ad analogico semplicemente con un pic ed un transistor??

Non lo converti! Generi semplicemente un segnale PWM a frequenza variabile che riproduce il suono della tromba!

Michele

bimoto 17 gennaio 10 16:04

ho letto le 9 pagine. a parte che e' un circuitino del '97....... e chissa' i cinesi cosa hanno inventato nel frattempo (....). vi faccio alcune domande. dove si collega la alimentazione Vcc? cosa e' Vdd ? che potenza ha il transistor 8050? direi con una decina di euro.... dovrei avere un qualcosa che suona. non si sa che suono..... ma suona. se non ci sono altre proposte mi sa che devo tentare con questa!

protomax 17 gennaio 10 16:42

Citazione:

Originalmente inviato da Mrk89 (Messaggio 1887108)
Ciao, come fai a convertire il segnale da digitale ad analogico semplicemente con un pic ed un transistor??

l'Elettronica ha i suoi componenti come la musica basta saperli mettere nella sequanza giusta e si ottengono bellissime sinfonie :D

Mrk89 17 gennaio 10 17:17

Citazione:

Originalmente inviato da protomax (Messaggio 1887291)
l'Elettronica ha i suoi componenti come la musica basta saperli mettere nella sequanza giusta e si ottengono bellissime sinfonie :D

Si lo so, sn elettronico pure io...:P
Io avrei optato solo per la generazione di un'onda quadra da mandare all'amplificatore ( transistor ).Oppure, visto che si è scelto di riprodurre un file campionato, avrei optato per un DAC R-2R ed amplificatore.:)

protomax 17 gennaio 10 20:04

Citazione:

Originalmente inviato da Mrk89 (Messaggio 1887346)
Si lo so, sn elettronico pure io...:P
Io avrei optato solo per la generazione di un'onda quadra da mandare all'amplificatore ( transistor ).Oppure, visto che si è scelto di riprodurre un file campionato, avrei optato per un DAC R-2R ed amplificatore.:)

Si sono due validissimi metodi.... ilò transistor e' un buon amplificatore di onde quadre :wink: mentre per il dac ci vuole velocita' e spazio in memoria oltre che a un ampli abbastanza lineare....

Mrk89 18 gennaio 10 01:52

Citazione:

Originalmente inviato da protomax (Messaggio 1887572)
Si sono due validissimi metodi.... ilò transistor e' un buon amplificatore di onde quadre Certo, praticamente tutto hfe :wink: mentre per il dac ci vuole velocita' e spazio in memoria oltre che a un ampli abbastanza lineare....pure su questo son d'accordo

Non sono molto d'accordo riguardo al fatto della velocità e dello spazio in memoria...
Velocità: insomma...Stiamo parlando sempre di 44kHz ( che poi nemmeno sarebbero utili, penso già 20-25 per quest'applicazione possono andar bene ), non sono poi la fine del mondo!!
Spazio in memoria: un segnale campionato è un segnale campionato...Mandare in out l'array di dati in parallelo e convertirli con un DAC oppure leggere l'array e generare un PWM variabile, non penso proprio ci sia un differente utilizzo di memoria nei due metodi...:)

illez 18 gennaio 10 13:32

Citazione:

Originalmente inviato da MSchiepp (Messaggio 1886858)
...e pensare che un PIC12F629 e un transistor non mi sembrava una soluzione così complessa...

Michele

Intanto grazie a tutti per i suggerimenti che mi fanno capire ancora una volta quanto sia ignorante in elettronica :rolleyes: (ahimè, voi siete elettronici, io informatico).

Tornando al problema, avevo preso spunto da un progetto trovato in rete con un codice del genere:

void setPWM(unsigned char sample)
{
CCPR1L = sample >> 2;
DC1B1 = (sample&0x02)>>1;
DC1B0 = (sample&0x01);
}
void play(const char *sound, int size)
{
int i;
for(i=0; i<size; i++)
{
setPWM(sound[i]);
wait=1;
while(wait);
}
}


Ci sono da fare una serie di considerazioni sulla tempistica (tempi di lettura dalla eeprom, tempi legati alla frequenza di campionamento) che ancora non mi sono chiari. Oltretutto vorrei proseguire con il C, non ho molta simpatia per l'assembler (diciamo che mi fa fatica :rolleyes: non che non abbia mai programmato in assembler).
La strada è quella giusta?
In uscita nel piedino del PIC avrei una PWM modulata secondo i campioni prelevati dalla eeprom; supponiamo una frequenza di campionamento di 22khz, dovrei avere un filtro passa basso che taglia sopra questa frequenza? (ehm... basta una RC? Come si calcola? :fiu:)

Mrk89 18 gennaio 10 13:44

La frequenza di taglio dei filtri è data da:

f= 1/(2*Pgreco*R*C)

:wink:

illez 18 gennaio 10 15:29

Citazione:

Originalmente inviato da Mrk89 (Messaggio 1888530)
La frequenza di taglio dei filtri è data da:

f= 1/(2*Pgreco*R*C)

:wink:

Grazie:)
appena ho un po' di tempo libero faccio qualche prova.
PS: se hai qualche link interessante su questi argomenti me lo puoi mandare via PM?

bimoto 19 gennaio 10 01:12

io vi leggo e aspetto il parto...... io vi potrei suggerire che la nota musicale del LA. corrisponde a 440hz. per fare una tromba bitonale devono essere suonate 2 note. ad esempio un LA + DO ...... oppure DO+SOL. di più non saprei dirvi ..... cmq grazie per lo sforzo!

bimoto 23 gennaio 10 01:00

nessn aggiornamento? .......

illez 23 gennaio 10 01:03

bi,
io sto preparando la macchina per il suo esordio di domani...
pensavo avessi testato il chip citato prima


Tutti gli orari sono GMT +2. Adesso sono le 10:16.

Basato su: vBulletin versione 3.8.11
Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
E' vietata la riproduzione, anche solo in parte, di contenuti e grafica. Copyright 1998/2019 - K-Bits P.I. 09395831002