Offline
Jr. Member
Karma: 0
Posts: 81
|
 |
« on: June 22, 2012, 11:47:39 am » |
Funziona se faccio così ? http://www.japantrip.tk/TEMP/Schema%203.pngDovrebbe venire: uscita da filtro 1 (r1-c1-r2-c2) 1.25 v uscita da filtro 2 (r6-c3-r7-c4) 2.5 v uscita da filtro 3 (r11-c5-r12-c6) 3.75 v uscita da filtro 4 (r16-c7-r17-c8) 5 v
l'opamp aumenta a 5v le uscite e pilota il transistor
pwm 25% -> L1 on, altri off pwm 50% -> L2 on, altri off pwm 75% -> L3 on, altri off pwm 100% -> L4 on, altri off
|
|
|
|
|
Logged
|
|
|
|
|
0
Offline
Faraday Member
Karma: 18
Posts: 4051
Arduino rocks
|
 |
« Reply #1 on: June 22, 2012, 12:47:33 pm » |
idea interessante, le tolleranze de filtri potrebbero però non far attivare le uscite alla percentuale voluta.
|
|
|
|
|
Logged
|
|
|
|
|
Offline
Jr. Member
Karma: 0
Posts: 81
|
 |
« Reply #2 on: June 22, 2012, 03:53:32 pm » |
http://www.muzique.com/schem/filter.htmHo messo 2 r in serie cosi ho: 12.68 Kohm (misurato con multimetro) c1 100 nF a lenticchia Dovrebbe passare solo < 125.6 Hz però passa tutto  sbaglio io o hanno troppa % le resistenze/il condensatore ? void setup() { pinMode(11, OUTPUT); digitalWrite(11, LOW); Serial.begin(9600); Serial.println("Hello Moto TUNZ TUNZ TUNZ"); }
void loop() { if (Serial.available()) { byte sr = Serial.read(); switch (sr) { case 49: Serial.println("25%"); analogWrite(11, 63); break; case 50: Serial.println("50%"); analogWrite(11, 127); break; break; case 51: Serial.println("75%"); analogWrite(11, 190); break; case 52: Serial.println("100%"); analogWrite(11, 255); break; default: Serial.println("0%"); digitalWrite(11, LOW); } } }
|
|
|
|
|
Logged
|
|
|
|
|
0
Offline
Faraday Member
Karma: 18
Posts: 4051
Arduino rocks
|
 |
« Reply #3 on: June 22, 2012, 04:46:57 pm » |
che intendi per passa tutto ? hai un oscilloscopio per controllare visivamente ?
perche' dici di aspettarti che passino frequenze inferiori (hai scritto <) a 126Hz, questo e' un filtro passa banda, quindi tuto cio' che e' pre o post 126 viene attenuato, ma non bloccato del tutto. attenua 6 dB per ottava
|
|
|
|
« Last Edit: June 22, 2012, 04:49:22 pm by Testato »
|
Logged
|
|
|
|
|
Offline
Jr. Member
Karma: 0
Posts: 81
|
 |
« Reply #4 on: June 22, 2012, 04:55:21 pm » |
Ho fatto solo la parte passa basso per provare quindi dovrebbero passare solo < 125.6 Hz Non ho un oscilloscopio ma se taglia > 126 Hz con un multimetro messo dopo non dovrei vedere max 1.25v al 25% di pwm e 0 o poco più con pwm >30% ?
|
|
|
|
|
Logged
|
|
|
|
|
0
Offline
Faraday Member
Karma: 18
Posts: 4051
Arduino rocks
|
 |
« Reply #5 on: June 22, 2012, 04:57:54 pm » |
il pwm e' a frequenza fissa, i tuoi filtri passa banda come vorresti usarli ? dovresti ragionare sulla tensione prodotta su una resistenza, non sulla frequenza di taglio di un passa banda
|
|
|
|
|
Logged
|
|
|
|
|
Offline
Jr. Member
Karma: 0
Posts: 81
|
 |
« Reply #6 on: June 22, 2012, 05:17:29 pm » |
Pensavo cambiasse la frequenza  Un 555 si può controllare con un pin di arduino in modo da variare la frequenza che genera ?
|
|
|
|
|
Logged
|
|
|
|
|
0
Offline
Faraday Member
Karma: 18
Posts: 4051
Arduino rocks
|
 |
« Reply #7 on: June 22, 2012, 05:36:49 pm » |
ma non fai prima a prendere 4 uscite di arduino ed usarle direttamente ? non hai piu' pun disponibili ? che altro fanno tutti i pin del tuo rpogetto ?
|
|
|
|
|
Logged
|
|
|
|
|
Offline
Jr. Member
Karma: 0
Posts: 81
|
 |
« Reply #8 on: June 22, 2012, 05:57:10 pm » |
Devo mettere: Un lcd su uno shift register un sensore per il telecomando un buzzer 2 optoisolatori per comandare una cam un sensore di temperatura 3 motori, 2 sono dc controllati da un l298, i 2 enable li collego assieme ma servono cmq 4 pin pwm uno stepper 6 fine corsa
|
|
|
|
|
Logged
|
|
|
|
|
Tuscany
Offline
Edison Member
Karma: 20
Posts: 1062
|
 |
« Reply #9 on: June 23, 2012, 05:27:16 am » |
MCP23017.. chip I2C con 16 porte I/O in 8 porte ci colleghi l'LCD direttamente ( si trovano anche le librerie ) nelle restanti 8 porte ci metti i fine corsa e il buzzer. Quindi tutta questa roba la gestisci in I2C con solo due pin (SDA e SCL )
|
|
|
|
|
Logged
|
|
|
|
|
Offline
Jr. Member
Karma: 0
Posts: 81
|
 |
« Reply #10 on: June 23, 2012, 08:02:24 am » |
Ho anche un'altro shift register potrei quindi usarne 2 in cascata per gli out, i finecorsa posso metterli sull'analogico con un partitore e leggere V diversi per ogniuno. Vorrei però capire se è possibile fare: controllo frequenza 555 con arduino e non con un pot -> filtri -> amp -> out
|
|
|
|
|
Logged
|
|
|
|
|
Tuscany
Offline
Edison Member
Karma: 20
Posts: 1062
|
 |
« Reply #11 on: June 23, 2012, 08:48:24 am » |
un 555 ( in configurazione astabile ) lo puoi controllare da arduino entrando sul pin 5 ( control voltage ) quello che normalmente si collega a massa con un condensatore. Usi un pin PWM di arduino, seguito da un filtro passabasso , per generare una tensione. Ma che frequenze volevi generare ?
|
|
|
|
|
Logged
|
|
|
|
|
Offline
Jr. Member
Karma: 0
Posts: 81
|
 |
« Reply #12 on: June 23, 2012, 09:02:02 am » |
Vanno bene 4 frequenze "a caso" tipo 200-400-600-800 Hz servono solo per generare 4 uscite on/off diverse 
|
|
|
|
|
Logged
|
|
|
|
|
Tuscany
Offline
Edison Member
Karma: 20
Posts: 1062
|
 |
« Reply #13 on: June 23, 2012, 09:49:09 am » |
mica ho capito cosa vuoi combinare.. parrebbe: Che tu voglia con un pin di arduino generare 4 frequenze. Che poi con il circuito postato all'inizio le riconosca e possa ricavarne 4 uscite digitali.
Edit: Cavolo, solo ora faccio caso al titolo del post... E comunque non e' che generare quatto frequenze sul pin PWM hai bisogno di fare chissa' cosa. Usi la libreria tone(pin, frequency) e le generi
|
|
|
|
« Last Edit: June 23, 2012, 09:53:05 am by brunello »
|
Logged
|
|
|
|
|
Offline
Jr. Member
Karma: 0
Posts: 81
|
 |
« Reply #14 on: June 23, 2012, 10:45:02 am » |
 Lo stavo anche usando con il buzzer...
|
|
|
|
|
Logged
|
|
|
|
|
|