2) non so da dove partire
3) problema: voglio realizzare un semplice cicuitino x far lampeggiare 4 lampadine 12volt 5watt o in modalità Random o a coppie o uno x volta4) chi mi aiuta?
2) non so da dove partire
3) problema: voglio realizzare un semplice cicuitino x far lampeggiare 4 lampadine 12volt 5watt o in modalità Random o a coppie o uno x volta4) chi mi aiuta?
-- Non visitare assolutamente questo sito...ih ih http://it.geocities.com/lukeshop2004/
ti serve anche un compilatore, devi scegliere il linguaggio di programmazione, assmbler o C. per fare quello che dici tu bastano poche istruzioni in assembler e ancora meno in C. in C basta ad esempio scrivere output_high(PIN_A1); che ti si accende la lampadina, e OUTPUT_LOW(PIN_A1); che ti si spegne la lampadina collegata all'uscita A1.
Per il circuito devi alimentare in PIC co 5V meglio se stabilizzati e creare lo stadio di oscillazione(anche una semplice rete rc senza quarzo). e devi collegare le tue 4 lampadine a 4 porte di I/O a tua scelta del pic(evitando la porte A4 che è opendrain e ha bisogno di pullup esternmo) attraverso 4 transistor NPN bel dimensionati per reggere le tue lampadine.
magari potresti mettere anche qualche pulsantino su qualcuna delle porte vuote in modo da cambiare i programmi di lampeggio o aumentare e diminuire la frequenza.
"Luca©" ha scritto nel messaggio news:fMjPd.28502$ snipped-for-privacy@twister2.libero.it...
proviamo a partire da qua:
ok, assembler o c, ma x trasferirlo sul Pic non devo trasformarlo in linguaggio macchina?
a quanti Mhz? valri dell' RC
che cosa è?
5 -10 watt? qualche suggerimento?
questa cosa mi piace davvaero tanto! come intergisce il èulsante sulle porte vuote? cioè che succede nella Pic? commuta il programma?
bd 137 vanno bene?
"Luca©" ha scritto
vanno benissimo, ocio che se sempre accesi dovranno dissipare circa 0,2W e quindi e' normale che diventino roventi se lasciati senza aletta
ciao Claudio F
bd 137
--
qualcosa di + adatto esiste? o quelli che ho scelto vanno già bene?
x quanto riguarda l'oscillatore a 4 mhz vanno bene resistenza da 25 ohm e condensatore da 10 nF?
"Luca©" ha scritto
entrambe le cose. se li hai gia' li puoi usare che tanto reggono 1,5A. volendo mettere qualcosa per correnti maggiori si potrebbero usare dei darlington come il comunissimo BDX53 che regge 8A ed ha il vantaggio di richiedere molta meno corrente sulla base (circa 1mA contro i 10..20 di un transistor normale), ma su di esso si perdono circa 2V contro i 0,5..1V di un transistor normale.
l'alternativa basso consumo + bassa caduta + basso riscaldamento e' data dai mosfet, un comune BUZ11 comandato a 5V direttamente dall'uscita del pic puo' condurre bene fino a 4A (poi occorrerebbe aumentare la tensione di pilotaggio del gate nel qual caso si puo'arrivare a 30A)
[FIDOCAD] MC 100 60 0 0 360 MC 75 70 0 0 045 MC 115 70 0 0 045 MC 60 60 0 0 300 MC 60 60 1 0 115 MC 100 60 1 0 115 MC 75 30 0 0 900 MC 115 30 0 0 900 MC 115 30 3 0 010 MC 75 30 3 0 010 LI 90 60 90 80 MC 150 70 0 0 045 LI 150 65 150 70 MC 150 30 0 0 900 LI 150 50 150 55 MC 150 30 3 0 010 LI 130 60 130 90 TY 58 67 5 3 0 0 0 * BD137 TY 99 68 5 3 0 0 0 * BDX53 TY 151 58 5 3 0 0 0 * BUZ11 TY 151 66 5 3 0 0 0 * s TY 151 50 5 3 0 0 0 * d MC 130 60 0 0 445 TY 129 55 5 3 0 0 0 * g LI 50 60 45 60 LI 130 90 45 90 LI 90 80 45 80 TY 21 69 5 3 0 0 0 * dal pic TY 75 20 5 3 0 0 0 * 12V TY 43 53 5 3 0 0 0 * 220 ohm TY 88 54 5 3 0 0 0 * 1,8kHo sempre usato un quarzo per l'oscillatore perche' cosi' sono sicuro della stabilita' e dei tempi di esecuzione delle istruzioni e non ci penso piu'. In ogni caso (vale anche per altri circuiti) sono valori troppo squilibrati verso la capacita', nel senso che benche' 25 ohm e 10nF possano dal punto di vista matematico fare lo stesso effetto di 250 ohm + 1nF o 2500 ohm + 100pF, dal punto di vista pratico 25 ohm sono pochissimi e i circuiti interni dell'oscillatore dovrebbero lavorare con correnti elevate. Infatti da quanto c'e' scritto sul datasheet la R deve essere compresa tra 5k e 100k. Una combinazione funzionante dovrebbe essere 5,6k e 22pf, a naso dara' sui
3,5MHz... +/-400kHz;)ciao Claudio F
per scaricarlo sul pic hai bisogno di un'interfaccia tipo JDM(ludipipo) da collegare alla seriale del PC, sul quale poggerai il pic da programmare(in alternativa puoi usare la programmazione in circuit) Il compilatore C o assembler ti trasformeranno direttamente il codice in linguaggi macchina che sarà un file esadecimale con estensione HEX che potrai scaricare sul PIC utilizzando programmi appositi tipo ICPROG o PONYPROG e simili.
Il pullup è un modo per tenere una linea di I/O a livello logico alto e fornire all'uscita corrente direttemante dall'alimentazione, non è altro che una restistenza dell'rdine dei 5 - 10 Kohm collegata tra il piedino del PIC e la tensione di alimentazione del pic.
quello che deve fare il pulsante lo decidi tu nel firmware(codice programma). infatti il pc alla pressione del pulsante riconosce una variazione di livello logico della linea(input questa volta) e reagisce secondo quello che specifichi nel programma.
Un esempio puo essere un pilsante collegato da un lato alla'imentazione attraverso una resistenza di pull'up e anche al piedino del pic e l'altro contatto del pulsante colegato a massa.
Il pic in condizioni normali sente sempre il piedino a 5V, quando premo il tasto questo piedino viene cortocircuitato a massa e quindi il piedino sente 0 Vquando rilascio il pulsate il piedino torna a sentire 5V. la resistenza serve a separare i 5V dalla massa facendo scorrere poca corrente. se non ci fosse si spegnerebbe il circuito visto che la DDP diventerebbe 0 e tutta la corrente passerebbe attraverso il pulsante. ciao
ok mi va bene! 12 * 1,5 = 18watt perfetto
. Infatti da quanto
ok rifaccio i conti, non e ne ero proprio accorto che chiedeva un range di applicazione
grazie! chiarissimo
ok, ce lho
ok, il problema è ora scrivere questo programmino
oltre a questi comandi non devo scrivere nient altro?
ti consigli di cercare in rete alcuni codici in C gia fatti per il PIC e cosi ti rendi conto da solo.
ma tu il C lo conosci oppure devi imparere anche quello?
qual'è la formula da usare conoscendo R e C?
"ice" ha scritto
Non lo so, ho guardato la tabella delle caratteristiche elettriche nel datasheet e fatto un'interpolazione ipotetica. Se mi servisse una frequenza precisa andrei a tentativi, tanto se si vuole restare sopra i 3MHz il range di valori e' piuttosto ristretto.
ciao Claudio F
"Luca©" ha scritto
Vedi se questo ti basta come spunto:
ciao Claudio F
ho trovato su
domanda: x adattarlo a pic16f84? è possibile/compatibile?
PROCESSOR 16F628 RADIX DEC INCLUDE "P16F628.INC" __CONFIG 11110100010000B ;----------------------------------------------------- LUCE EQU 32 H_CONT EQU 33 L_CONT EQU 34 DIREZ EQU 35 ;----------------------------------------------------- ORG 0 BSF STATUS,RP0 ;Attiva banco 1 CLRF TRISB ;Rende PORTB un'uscita BCF STATUS,RP0 ;Ritorna al banco 0 MOVLW 00000001B MOVWF LUCE ;LUCE=00000001 CLRF DIREZ ;DIREZ=0 MAINLOOP MOVF LUCE,W MOVWF PORTB ;Scrive LUCE sulla PORTB BCF STATUS,C ;Azzera flag C BTFSC DIREZ,0 ;Se DIREZ=0 (sinistra) skip GOTO LAB1 ;altrimenti GOTO LAB1 RLF LUCE,F ;Ruota LUCE verso sinistra GOTO LAB2 ;GOTO fine struttura IF LAB1 RRF LUCE,F ;Ruota LUCE verso destra LAB2 BTFSC LUCE,7 ;Se bit 7 di LUCE è 0 skip INCF DIREZ,F ;altrimenti direzione=destra BTFSC LUCE,0 ;Se bit 0 di luce è 0 skip CLRF DIREZ ;altrimenti direzione=sinistra CALL DELAY ;Richiama subroutine di ritardo GOTO MAINLOOP ;Nuovo ciclo del programma ;----------------------------------------------------- DELAY MOVLW 20 ;Carica 5320 nei 16 bit MOVWF H_CONT ;formati dai due bytes MOVLW 200 ;H_CONT e L_CONT MOVWF L_CONT DELAY2 DECF L_CONT,F ;Decrementa parte bassa del contatore COMF L_CONT,W ;Inverte i bit BTFSC STATUS,Z ;Se tutti zero c'è stato rollover DECF H_CONT,F ;allora decrementa parte alta MOVF L_CONT,W ;Carica in W la parte bassa IORWF H_CONT,W ;Mettila in OR con la parte alta BTFSS STATUS,Z ;Se tutto zero skip (fine ciclo) GOTO DELAY2 ;Altrimenti ritorna a DELAY2 RETURN ;----------------------------------------------------- END
-- > > >
"Luca©" ha scritto
La risposta e' si, e si trova in fondo alla pagina successiva.
ciao Claudio F
-- > La risposta e' si, e si trova in fondo alla pagina successiva.
xfetto!!! ora non mi resta che raccogliere i pezzi e farvi sapere l'esito....
ElectronDepot website is not affiliated with any of the manufacturers or service providers discussed here. All logos and trade names are the property of their respective owners.