Vicus Inserita: 26 marzo 2016 Autore Segnala Inserita: 26 marzo 2016 1)Ho provato ma collegando come hai indicato mi da errore. Dice che i nodi sono flottanti. 2)L'ho scritto sopra, uso 5 ic quad nand. Sostituisco i flip flop SR con una coppia di nand, il circuito equivalente ha però gli ingressi negati. Questo mi permette di usare in A3 A4 A7 A8 porte nand.Per il segnale in ingresso non ho problemi perché decido io come configurare gli interruttori. 3)Mi viene più semplice usare le nand. Al micro ci ho pensato e sarei anche in grado di scrivere l'algoritmo (capirai la difficoltà). Il problema è la parte pratica. Ci riuscirei con arduino ma sarebbe uno spreco. Non ho mai programmato da 0 un micro. Per esempio nell'ultima foto al pic manca il cristallo di clock. So che può essere generato internamente ma non so come si fa nella pratica.
dott.cicala Inserita: 26 marzo 2016 Segnala Inserita: 26 marzo 2016 MASK:= PORTB & 0x0f; switch (MASK) { CASE 1: PORTA:=1; break; CASE 2: PORTA:=2; break; CASE 4: PORTA:=4; break; CASE 8: PORTA:=8; break; }
Vicus Inserita: 26 marzo 2016 Autore Segnala Inserita: 26 marzo 2016 Ok, come ce lo metto dentro al micro?
dott.cicala Inserita: 26 marzo 2016 Segnala Inserita: 26 marzo 2016 Non molto diversamente da come ce lo metteresti in un arduino: via icsp il quadratino in basso nelle porte non è un ingresso, ma uno stratagemma che usa lt per distinguere i pins non utilizzati che vanno collegati tutti lì...non capisco come possa simulartelo correttamente visto che l'hai usato come ingresso.
Vicus Inserita: 26 marzo 2016 Autore Segnala Inserita: 26 marzo 2016 Guarda bene, mai usato come ingresso. Arduino ha un ide dedicato che compila e programma il micro che ha un bootloader già caricato. Che micro mi consigli? Che compilatore serve?
Vicus Inserita: 26 marzo 2016 Autore Segnala Inserita: 26 marzo 2016 Guarda bene, so che l'ora è tarda ma quando non c'è collegato niente c'è il quadratino, quando c'è collegato qualcosa il quadratino sparisce. La porta ha 5 ingressi più quello segnato dalle frecce.
Livio Orsini Inserita: 26 marzo 2016 Segnala Inserita: 26 marzo 2016 Si la soluzione con un micro PIC è la soluzione più elegante e funzionale, a meno che si tratti di un esercizio didattico.
gabri-z Inserita: 26 marzo 2016 Segnala Inserita: 26 marzo 2016 Quote E' vero, ma non so come si fa Non che Dobbiamo rimandare lo studio del ''come si fa'' , ma , nel fra tempo ( se avessi detto dal inizio che l'ingressi sono i pulsanti stessi ) , prova questo : Non ha la flessibilità del PIC (cambiare la logica come e quando Ti pare ) , ma dovrebbe fare il suo compito fisso . Quote la soluzione con un micro PIC è la soluzione più elegante Dai , è elegante anche questa .... Il pin 5 , RES , devi metterlo giù , a massa , mi sono dimenticato ..
gabri-z Inserita: 26 marzo 2016 Segnala Inserita: 26 marzo 2016 Aggiornamento ! Anche l'ingresso T/C va collegato , al positivo se vuoi le uscite reali , o alla massa se le vuoi complementari !
dott.cicala Inserita: 26 marzo 2016 Segnala Inserita: 26 marzo 2016 Così trasferisci quello che trovi in ingresso sulle uscite e se sono premuti più ingressi..si attivano più uscite? Vale la pena un piccolo sforzo.....recuperare un pic 16F88, se non si vuole comprare un pickit3 per programmarlo, basta avere un usb/rs232 adapter e un paio di bjt con qualche resistenza, uno dei tanti software gratuiti per trasferire via seriale, come il pony prog...e via questo è il .hex funzionante :020000001628C0 :0E0006008312031321088A00200882000800DC :1000140003208A110A128000840AA00A0319A10A83 :08002400F003031D0A28080087 :10002C004D30831603138F0083129F0183169F019B :10003C009B01F03085000F3086008312850107305C :10004C00831681008B018C018D0183128C018D0133 :10005C0083168E010F3083120605A200A301003017 :10006C00A3050030A3004628013085006628023025 :10007C0085006628043085006628083085006628CF :10008C0000302306031D4C280E30220603193A2893 :10009C0000302306031D54280D30220603193D2879 :1000AC0000302306031D5C280B3022060319402860 :1000BC0000302306031D6428073022060319432849 :0400CC003028672849 :04400E00183FFF3F19 :00000001FF Questo è il sorgente in mikroC (gratuito pure lui) //****************************************************************************** // Project : PlcForum Switcher // Author : S.T. // Date : 26/03/2016 // MCU : PIC16F88 - INT.OSC. 4MHz // Compiler: MikroC PRO for PIC V6.6.2 //****************************************************************************** //****** TAGs ****************************************************************** // Inputs sbit P1 at RB0_BIT; sbit P2 at RB1_BIT; sbit P3 at RB2_BIT; sbit P4 at RB3_BIT; // Stat unsigned int MASK; //****************************************************************************** //****************************************************************************** // Main program //****************************************************************************** void main() { //****************************************************************************** // Registro configurazione Oscillatore //****************************************************************************** OSCCON = 0x4D; // Int Osc 4 MHz //****************************************************************************** // Registri configurazione PORT[A] - PORT[B] //****************************************************************************** ADCON0 = 0x00; // Ingressi Anaogici OFF ADCON1 = 0x00; // Ingressi Anaogici OFF ANSEL = 0x00; // Ingressi Anaogici OFF TRISA = 0xF0; // RA0-RA3=OUT TRISB = 0x0F; // RB0-RB3=INPUT PORTA = 0x00; // Clear PORT[A] all'accensione //****************************************************************************** // OPTION REGISTER //****************************************************************************** OPTION_REG = 0X07; //****************************************************************************** // INTCON REGISTER //****************************************************************************** INTCON = 0X00; //****************************************************************************** // Registri configurazione INTERRUPTS //****************************************************************************** PIE1 = 0X00; // PERIPHERAL INTERRUPT ENABLE REGISTER 1 PIE2 = 0X00; // PERIPHERAL INTERRUPT ENABLE REGISTER 2 PIR1 = 0X00; // PERIPHERAL INTERRUPT REQUEST REGISTER 1 PIR2 = 0X00; // PERIPHERAL INTERRUPT REQUEST REGISTER 2 PCON = 0X00; // POWER CONTROL REGISTER //############################################################################## // Main Loop //############################################################################## while(1){ MASK= portb & 0x0f; switch (MASK){ case 14: porta=1; break; case 13: porta=2; break; case 11: porta=4; break; case 7: porta=8; break; } } } lo schema è quello già pubblicato. Fate un piccolo sforzo.....
gabri-z Inserita: 26 marzo 2016 Segnala Inserita: 26 marzo 2016 Quote e se sono premuti più ingressi..si attivano più uscite? , certo , ma potrebbe andarli anche bene .Solo lui sa cosa vuole fare ! Basta che non indossi guanti da pugile quando vuole premere pulsanti , o che li metta distanti 2m l'uno dal altro . Una domanda mi viene in mente , non ho analizzato gli schemi che avete presentato , ma in quei circuiti , se vengono premuti due o più pulsanti , cosa succede con le uscite ? Quote Fate un piccolo sforzo.... Verrà anche il suo tempo , spero su questo mondo .....
dott.cicala Inserita: 26 marzo 2016 Segnala Inserita: 26 marzo 2016 Quote Una domanda mi viene in mente , non ho analizzato gli schemi che avete presentato , ma in quei circuiti , se vengono premuti due o più pulsanti , cosa succede con le uscite ? per questo ho usato tutte queste porte......proprio per codificare 1 solo ingresso per volta Quote Verrà anche il suo tempo , spero su questo mondo ..... Allora...comincia a costruirti il prommer....
Vicus Inserita: 26 marzo 2016 Autore Segnala Inserita: 26 marzo 2016 Grazie a tutti per l'aiuto, so che questo non mi è dovuto e lo apprezzo molto. Gabri-z: lo shift register non va bene perché come ho già scritto deve essere attiva massimo una uscita. Se premo il tasto 1 deve attivarsi l'uscita 1 e disattivare le altre (se non lo sono). La stessa cosa per gli altri interruttori. Non posso essere sicuro che chi userà l'attrezzo disattivi sempre il pulsante attivo prima di attivarne un altro. Posso però stare abbastanza tranquillo che non ne premerà due contemporaneamente. dott.cicala: grazie mille per il sorgente e l'eseguibile. Un 16f88 posso procurarmelo, posso pure procurarmi un minipro tl866 che mi farebbe comodo anche per altro. Però non capire del tutto quello che sto facendo non mi piace. Magari lo considero un punto di partenza per cominciare a sperimentare oltre che a sapere la teoria.
gabri-z Inserita: 26 marzo 2016 Segnala Inserita: 26 marzo 2016 Quote Gabri-z: lo shift register non va bene perché come ho già scritto deve essere attiva massimo una uscita Invece , si , perché lavora statico , l'unico clock che riceve proviene dal (qualsiasi ) pulsante (pin 6 ) Quando premi un pulsante , questo porta SU l'ingresso corrispondente , il pin P/S (che permette mandare alle uscite lo stato degli ingressi P ) ed allo stesso tempo , leggermente ritardato dal C1 , il pin 6 (il trasferimento avviene sul fronte di salita )
gabri-z Inserita: 27 marzo 2016 Segnala Inserita: 27 marzo 2016 Quote Non posso essere sicuro che chi userà l'attrezzo disattivi sempre il pulsante attivo prima di attivarne un altro. Vuoi dire che possono stare sia aperti che chiusi ? O sono dei fine-corsa di più '' cose '' ? Quote Posso però stare abbastanza tranquillo che non ne premerà due contemporaneamente. Perché , sono lontani ? Comunque qui ho previsto ( meglio detto ,tentato ) un circuitino che dovrebbe impedire l'attivazione di due o più uscite contemporaneamente . Nel caso vengano premuti almeno due , tutte le uscite sono forzate in zero ( con un transistor si può fare che mantengano lo stato precedente ) e rimane in attesa di un nuovo commando . Se sei sicuro che non può accadere , puoi pure '' saltare '' il circuito inquadrato e diventa soltanto un pochino più complessa della bella con il PIC
gabri-z Inserita: 27 marzo 2016 Segnala Inserita: 27 marzo 2016 Forse ho indovinato ... A-R e SX - DX di qualche macchinario ?
Vicus Inserita: 27 marzo 2016 Autore Segnala Inserita: 27 marzo 2016 Il circuito deve comandare alcuni relais, led e vactrol. Serve per instradare un segnale audio dentro e fuori per alcune macchine.
mimoza Inserita: 30 marzo 2016 Segnala Inserita: 30 marzo 2016 Scusate se mi intrometto, anni fà assemblai per un mio datore di lavoro un circuito a relè per commutare casse acustiche in modo casuale, naturalmente avendo la commutazione istantanea. Non conoscendo i processori, utilizzai un C-Mos cd 40147 che disponeva di un encoder/decoder Multiplexer a 10 ingressi e 4 uscite BCD, seguito da un 4069 per invertire la logica di uscita e inviando il segnale ad un 4508 (8 Flip/Flop D ). Che pilotavano dei transistor con relativo relè. Se serve di più sono a disposizione ! Angelo
gabri-z Inserita: 31 marzo 2016 Segnala Inserita: 31 marzo 2016 Vic. , Vic . ,Vicus .... non dici più niente ? ..........
Vicus Inserita: 1 aprile 2016 Autore Segnala Inserita: 1 aprile 2016 A parte grazie a tutti per ora non ho altro da dire. Devo trovare il tempo di fare un prototipo adesso.
Messaggi consigliati
Crea un account o accedi per commentare
Devi essere un utente per poter lasciare un commento
Crea un account
Registrati per un nuovo account nella nostra comunità. è facile!
Registra un nuovo accountAccedi
Hai già un account? Accedi qui.
Accedi ora