Mostrando entradas con la etiqueta DIY. Mostrar todas las entradas
Mostrando entradas con la etiqueta DIY. Mostrar todas las entradas

1 ago 2024

BOBINA DE TESLA

  

Este proyecto consiste en emular la construcción d una Bobina de Tesla, algo laboriosa de construir, pero con un circuito muy sencillo. Empecemos!






INTRODUCCIÓN.

Una bobina de Tesla, es un tipo de transformador resonante, llamado así en honor a su inventor, el gran científico Nikola Tesla (Más información sobre él en nuestro Blog). 

Esta bobina, realmente son transformadores de alta frecuencia autorresonantes, y en realidad hay varios tipos de bobinas Tesla, ya que Nikola Tesla experimentó con una gran variedad de bobinas y configuraciones de funcionamiento (Ver más sobre inductores en nuestro blog). Generalmente las bobinas de Tesla generan tensiones de radiofrecuencia (RF) muy elevadas (de decenas de miles e incluso cientos de miles de voltios), dando lugar a descargas eléctricas en el aire de alcances que pueden llegar a ser del orden de pocos metros, haciéndolas muy espectaculares. No obstante, estas bobinas proporcionan corrientes muy bajas, pero muy superiores a las que se podían obtener en la época de Tesla, con las fuentes de alta tensión de entonces, que eran máquinas electrostáticas.

En este caso, vamos a reproducir una versión doméstica de esta bobina, sin llegar a producir grandes descargas ni chispas eléctricas espectaculares, pero tal vez, por lo curioso del sistema, sea unos de los inventos que más ha sido replicado por muchos estudiantes y aficionados.


LISTA DE MATERIAL.

Componentes Electrónicos:



TIP41C Datasheet


Material diverso:


Además de los materiales anteriores, necesitaremos cinta aislante, soldador y estaño, taladro y brocas, destornilladores y demás herramientas de mano, etc...

El transformador de alta frecuencia lo fabricaremos con el tubo de PVC y el hilo de cobre. El núcleo de este transformador será aire.


MONTAJE.

El primer paso será construir el transformador. Para ello tomaremos el hilo de cobre de 0,20mm, y empezaremos a arrollarlo en el tubo de PVC, a un centímetro aproximadamente de principio del tubo, sujetándolo con cinta aislante. Si lo preferimos, podemos perforar el tubo, para pasar el hilo en ambos extremos.



Iremos dando vueltas con cuidado y en sentido de las agujas del reloj, y procurando que no se solapen las espiras. En total hemos de dar 750 vueltas de hilo de cobre de 0,20mm.



Esta tarea es laboriosa y tediosa, sobre todo para llevar la cuenta de vueltas. 
El número de vueltas no es excesivamente crítico, por lo que si se pasa o le faltan algunas vueltas a la bobina, funcionara igualmente. 

Una vez finalizadas todas las espiras, sujetamos el hilo final con cinta aíslate. Si se desea, podemos aplicar alguna gota de pegamento para evitar que se desenrolle. Quedará algo similar a esto:



A continuación, hacemos la bobina del primario del transformador. En este proyecto, hemos optado por hacerlo con un soporte fabricado con restos de tubo de PVC, encolados en forma de cruz, y perforados para que pase el hilo de 1mm por ellos. De esta forma se colocaría la bobina espiral en posición perpendicular (horizontal) con respecto a la bobina del secundario.
Pero se pueden dar las 3 vueltas y media de hilo de 1mm, directamente sobre el secundario.

NOTA: En el video veréis que en la primera prueba, se construyó la bobina en posición vertical (Paralela), pero el rendimiento nos pareció algo bajo



Lo siguiente es montar el circuito electrónico. En una primera etapa, antes de proceder a montar el circuito en una caja, y debido a la sencillez del mismo, hemos probado el circuito de forma provisional, para una primera prueba.
No olvidar el radiador del transistor, ya que este se calienta bastante.


Una vez comprobado, hemos montado todo en una caja, dejando todo algo más vistoso:





ESQUEMA.

Aquí está el esquema. Construirlo es bastante fácil, aunque se debe tener cuidado al soldar las patillas correctas del transistor y la polaridad del condensador electrolítico:

El funcionamiento de la Bobina de Tesla, se basa en una bobina de alta tensión que produce emisiones iónicas en forma de descargas eléctricas. 
El circuito mostrado y probado, tiene un funcionamiento es bastante simple. El transistor hace las funciones de amplificador/oscilador, mediante la carga y descarga del condensador C1 a través de R1, para que la boina L2 resuene a alta frecuencia por el Colector de Q1. 
La bobina L1 con una relación de 750:3, eleva la tensión a baja corriente, lo suficiente como para generar altas tensiones y campo magnético, como para encender una lámpara fluorescente sin contacto, sorprendentemente.
El circuito se alimenta a 9Voltios, y es muy recomendable usar un disipador de aluminio para el transistor, ya que genera bastante calor. 
Además es recomendable usar el circuito en periodos de tiempo no muy prolongados, para evitar el estrés térmico y evitar quemar el transistor.

Para finalizar os mostramos un video de las pruebas y su funcionamiento:



ENLACES:

TIP41 Datasheet:
https://pdf1.alldatasheet.es/datasheet-pdf/download/54802/FAIRCHILD/TIP41C.html


Esperamos que os haya gustado esta publicación. Si es así, no dudes en compartirla.


© Se permite reproducción total o parcial de este contenido, siempre y cuando se reconozca la fuente de información utilizada y se incluya el enlace a este artículo.

Equipo Xanur©2024.



26 jul 2024

MAQUETA FARO (y II)

 

Finalizamos en esta publicación la construcción del faro decorativo, mostrando el software del PIC, para encender el faro. 

MATERIALES Y HERRAMEINTAS:

  • Programador PIC
  • Computador para programar (Con software de programación PIC)
  • Microcontrolador PIC16F629, Leds(x3) y resistencias de 220 ohm(x3)
  • Circuito Impreso 
  • Cables e interruptor
  • Software para pruebas (Opcional) 
DIFICULTADAlta(8/10).

PRECAUCIÓNSe requiere tener conocimientos y habilidad en electrónica y programación assembler. 



ATENCIÓN: No nos hacemos responsables de los daños personales y/o materiales, causados por una mala manipulación, mal montaje, desconocimiento técnico o del uso indebido de esta guía.




INTRODUCCIÓN:

Tras un largo parón obligado, por fin mostramos el programa usado en el faro de la publicación anterior, para el montaje de una maqueta de un faro con tres luces Led, que van alternando su iluminación, intentando simular la cadencia rotatoria de un faro.




PROCESO

Antes de nada, se ha de tener claro como queremos que funcione la cadencia de encendido. Con esto estipulado, dibujamos un diagrama de flujo, para determinar cómo poner en práctica el software. Y a partir de este diagrama de flujo, empezamos a redactar el programa.



Una vez tenemos el programa, lo podemos probar y compilar mediante el software de Microchip®, denominado MPLAB. Con este, podemos depurarlo, y una vez terminado, compilarlo, para generar el archivo ASM, que usaremos para grabar el software en el PIC.

Adicionalmente, podemos también usar un software de simulación, (Por ejemplo; PROTEUS), en el que podemos hacer funcionar el hardware y el software, sin montarlo físicamente.


ESQUEMA

Así es como queda el esquema del circuito. Como se puede comprobar es extremadamente    simple, ya que se ha intentado usar el menor numero de componentes posibles.
De hecho, el reloj, que por norma general se suele usar externamente, ya sea Cristal, RC, etc. se ha optado por el reloj interno, para economizar componentes, y por lo tanto, diseño del circuito.



Por último, ya podemos grabar  el software, tal y como vimos en la entrada PICKIT 2 MICROCHIP® (Clon) de nuestro Blog, y por fin, podemos ponerlo a prueba.

En el siguiente vídeo, os mostramos las pruebas, antes de su construcción definitiva:



Ya solo nos queda montarlo en la maqueta del faro, y comprobar su funcionamiento real.
Debido a la sencillez del diseño, se ha optado por una placa estándar sin diseño PCB y reducir al máximo su tamaño.


SOFTWARE:

Para terminar, os mostramos el listado de software en Assembler, que está instalado el el PIC 16F629. Comprobado y funcionando.

El funcionamiento, como se vio en el diagrama de flujo anterior, es un bucle permanente, secuenciando el encendido de un led tras otro, usando la propiedad PWM (Pulse Width Modulated, u Onda Modulada en Anchura, es decir modulación por pulsos), la cual varia el tiempo (ancho) de cada pulso de encendido del led, dando la sensación de ir encendiéndose y apagándose progresivamente, ya que el ojo humano, no percibe los pulsos velocidades altas. 

En la siguiente imagen, se muestra el principio de como se regula el ancho de pulso, para generar la sensación de encendido/apagado progresivo, o regulación de intensidad de luz de los LED:



Si los tiempos de encendido/apagado, no encajan con los gustos del lector, pueden ser modificados según apetezca.

 Por fin, este es el listado:


1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
;*******************************************************************;
; PROGRAMA LIGHTHOUSE.asm                      FECHA: XX XXXXX 2022 ;
; Programa para generar pulsos PWM para 3 LED de un FARO  a escala  ;
; Usa los puertos RA0,1 y 2 (Pin 5,6 y 7)                           ;
; Revisión: 4.0                             Programa para PIC16F629 ;
; Velocidad de Reloj: 4Mhz (1Mhz=1us)                               ;
; WatchDog = OFF                           Tipo Reloj:  INTERNO PIC ;
; Autor: XANUR (XMG)                      Por: XANUR2001/ ACME 2024 ;
; Compilado en : MPLAB X IDE v2.05 (MICROCHIP)                      ;
; Probado con PROTEUS Labcenter 7.7 (ISIS Professional) ************;
; ******************************************************************;
; ---------------------------------------------------------------------------------------------------
; Licencia Creative Commons BY-NC-SA (attribution - Non Commercial - Share Alike)
; El proyecto puede ser hecho y modificado por los lectores para uso privado y sin fines comerciales
; Es necesario indicar en posibles publicaciones el autor (XANUR2001 o XANUR.ES)
; ---------------------------------------------------------------------------------------------------
ERRORLEVEL -302
INCLUDE <p12f629> ; Librería del PIC que utilizaremos
LIST P =12F629, r=DEC, n=66
__CONFIG _CP_OFF & _CPD_OFF & _BODEN_OFF & _MCLRE_OFF & _WDT_OFF & _PWRTE_ON & _INTRC_OSC_NOCLKOUT
			; Configuración de Registros para:
			; Protección Código=OFF
			; Protección Datos=OFF
			; Brown-Out Reset=OFF
			; Watch Dog=ON  
			; Power Up Timer=ON
			; OSC Reloj Interno=ON
; ---------------------------------------------------------------------------------------------------
; 			Pines del micro-controlador
; ---------------------------------------------------------------------------------------------------
#define		Led1	GPIO,0		; pin luz Ledfaro1 
#define		Led2	GPIO,1		; pin luz Ledfaro2
#define		Led3	GPIO,2		; pin luz Ledfaro3
   
; ---------------------------------------------------------------------------------------------------
			Variables
; ---------------------------------------------------------------------------------------------------
	cblock 20H				; Origen ficticio.
			Ledfaro1		; variable intensidad canal luz de Ledfaro1 (blanco)
        	Ledfaro2		; variable intensidad canal luz de Ledfaro2 (blanco)
			Ledfaro3		; variable intensidad canal luz de Ledfaro3 (blanco)
			TimerReg		; variable usada para la temporización del Ledfaro1 y de la Ledfaro2
		 	RegPwm			; registro que permite la regulación de la intensidad de los canales PWM
			DlyTrans		; variable usada para la temporización de las Transiciones
	endc 
; ---------------------------------------------------------------------------------------------------
; 		MACRO Cambio página de la RAM del Micro
; ---------------------------------------------------------------------------------------------------
PAG_RAM0	MACRO
			bcf	STATUS,RP0
			ENDM
PAG_RAM1	MACRO
			bsf STATUS,RP0 
			ENDM
; ---------------------------------------------------------------------------------------------------
; 		MACRO Channel PWM Refresh
; Sirve para crear la modulación PWM que controla la intensidad luminosa.
; Los parámetros de entrada de la macro son:
; 	CHANREG = registro del canal luminoso (Ledfaro1, Ledfaro2 o Ledfaro3)
; 	PWMCOUNT: contador que explora el duty cycle (es necesario incrementarlo continuamente entre 0 y 255)
; 	PORT,PIN: el puerto y el pin de salida del canal (por ejemplo GPIO,0)
; ---------------------------------------------------------------------------------------------------
PwmChRefr	MACRO	CHANREG,PWMCOUNT,PORT,PIN
			movf	CHANREG,W
			subwf	PWMCOUNT,W
			btfss	STATUS,C
			bsf 	PORT,PIN
			btfsc	STATUS,C
			bcf		PORT,PIN 
			ENDM
; ---------------------------------------------------------------------------------------------------
; 		Vector de arranque del Micro
; ---------------------------------------------------------------------------------------------------
			ORG		0
			goto	main
			ORG		10h
; ---------------------------------------------------------------------------------------------------
; 		SUBRUTINAS
; ---------------------------------------------------------------------------------------------------
; 		Rutina de Calibración del oscilador interno
; ---------------------------------------------------------------------------------------------------
CalibrarOsc
			Retlw	0x80			;Ajusta el Oscilador 4MHz (+/-2%)
			Return
SetValorRetardo
			movlw	0x03			;valor del bucle para el segundo 
			movwf	DlyTrans		;Ratardo entre Transiciones
			return				    ; Mayor valor, más tiempo entre transiciones
;
SetVariablesCero
			clrf	Ledfaro1		;LedFaro1 apagado
			clrf	Ledfaro2		;LedFaro2 apagado
			clrf	Ledfaro3		;LedFaro1 apagado
			clrf	RegPwm			;Variable PWM a 0
			clrf	TimerReg		;Variable TimerReg a 0
			return
;
; ---------------------------------------------------------------------------------------------------
; Actualiza los 3 canales luminosos con PWM
; ---------------------------------------------------------------------------------------------------
; usa la macro PwmChRefr
PwmRefresh
			PwmChRefr Ledfaro1,RegPwm,Led1
			PwmChRefr Ledfaro2,RegPwm,Led2
			PwmChRefr Ledfaro3,RegPwm,Led3
			retlw 0
; ---------------------------------------------------------------------------------------------------
; 		MAIN
; ---------------------------------------------------------------------------------------------------
main
			bcf	INTCON,GIE			; Ningún interruptor global activado
			bcf	INTCON,PEIE			; Ningún interruptor periférico activado
			PAG_RAM0				; Selecciona el Banco 0 de la RAM
			movlw	B'00000111'		; Set de los puertos como entradas/salidas
			movwf	CMCON			; hemos llegado donde empezamos
;
			PAG_RAM1				; Selecciona el Banco 1 de la RAM
			movlw	08h				; Set de los puertos como entradas/salidas
			movwf	GPIO			; Subrutina para hacer el retardo entre los movimientos de bits. 
			call	CalibrarOsc		; Llamada a la rutina para calibrar...
			movwf 	OSCCAL			; ...el oscilador interno 
;
			bcf		STATUS,RP0		; Volver al Banco 0 
			clrf	GPIO
			clrf	Ledfaro1		; registro intensidad Ledfaro1 (luz apagada) 
			clrf	Ledfaro2		; registro intensidad Ledfaro2 (Luz apagada)
			clrf	Ledfaro3		; registro intensidad Ledfaro3 (luz apagada)
			call	SetValorRetardo
; Llamada set valor retardo.
; ---------------------------------------------------------------------------------------------------- 
; 		CICLO DE TRABAJO PRINCIPAL (LOOP)
; ----------------------------------------------------------------------------------------------------
Ciclo
;
; ----------------------------------------------------------------------------------------------------
; 		FADE IN/OUT" LED1
; ----------------------------------------------------------------------------------------------------
; Valores iniciales de los LED´s y PWM 
			call	SetVariablesCero
; "fade in" luz LedFaro1
TransicionLed1Jp1
			clrwdt						; Actualiza watchdog para resetear automáticamente. si se bloquea
			call	PwmRefresh			; Llama la subrutina que actualiza la luces
			incfsz	RegPwm,f			; 255 veces (genera la onda pwm)
			goto	TransiccionLed1Jp1
			decfsz	DlyTrans,f			; Segundo loop para disminuir la velocidad...
			goto	TransiccionLed1Jp1	;...entre transiciones
;
			call	SetValorRetardo		; Llamada set valor retardo
			incfsz	Ledfaro1,w			; 255 veces (genera la onda pwm)
			incf	Ledfaro1,f			; Aumenta la luz LedFaro1
			incfsz	TimerReg,f
			goto	TransiccionLed1Jp1
			call	SetValorRetardo		; Llamada set valor retardo
; "Fade Out" Luz Ledfaro1
TransicionLed1Jp2
			clrwdt						; Actualiza watchdog para resetear automáticamente. si se bloquea
			call	PwmRefresh			; Llama la subrutina que actualiza la luces
			incfsz	RegPwm,f			; 255 veces (genera la onda pwm)
			goto	TransiccionLed1Jp2
			decfsz	DlyTrans,f			; Segundo loop para disminuir la velocidad...
			goto	TransiccionLed1Jp2	; ...entre transiciones
;
			call	SetValorRetardo		; Llamada set valor retardo
			decf	Ledfaro1,f			; Disminuye la Luz Ledfaro1
			incfsz	TimerReg,f
			goto	TransicionLed1Jp2
			call	SetValorRetardo		; Llamada set valor retardo
;
; ----------------------------------------------------------------------------------------------------
; 		FADE IN/OUT" LED2
; ----------------------------------------------------------------------------------------------------
; Valores iniciales de los LED´s y PWM 
			call	SetVariablesCero
; "fade in" luz LedFaro2
TransicionLed2Jp1
			clrwdt						; Actualiza watchdog para resetear automáticamente. si se bloquea
			call	PwmRefresh			; Llama la subrutina que actualiza la luces
			incfsz	RegPwm,f			; 255 veces (genera la onda pwm)
			goto	TransiccionLed2Jp1
			decfsz	DlyTrans,f			; Segundo loop para disminuir la velocidad...
			goto	TransiccionLed2Jp1	;...entre transiciones
;
			call	SetValorRetardo		; Llamada set valor retardo
			incfsz	Ledfaro2,w			; 255 veces (genera la onda pwm)
			incf	Ledfaro2,f			; Aumenta la luz LedFaro2
			incfsz	TimerReg,f
			goto	TransiccionLed2Jp1
			call	SetValorRetardo		; Llamada set valor retardo
; "Fade Out" Luz Ledfaro2
TransicionLed2Jp2
			clrwdt						; Actualiza watchdog para resetear automáticamente. si se bloquea
			call	PwmRefresh			; Llama la subrutina que actualiza la luces
			incfsz	RegPwm,f			; 255 veces (genera la onda pwm)
			goto	TransiccionLed2Jp2
			decfsz	DlyTrans,f			; Segundo loop para disminuir la velocidad...
			goto	TransiccionLed2Jp2	; ...entre transiciones
;
			call	SetValorRetardo		; Llamada set valor retardo
			decf	Ledfaro2,f			; Disminuye la Luz Ledfaro2
			incfsz	TimerReg,f
			goto	TransicionLed2Jp2
			call	SetValorRetardo		; Llamada set valor retardo
;
; ----------------------------------------------------------------------------------------------------
; 		FADE IN/OUT" LED3
; ----------------------------------------------------------------------------------------------------
; Valores iniciales de los LED´s y PWM 
			call	SetVariablesCero
; "fade in" luz LedFaro3
TransicionLed3Jp1
			clrwdt						; Actualiza watchdog para resetear automáticamente. si se bloquea
			call	PwmRefresh			; Llama la subrutina que actualiza la luces
			incfsz	RegPwm,f			; 255 veces (genera la onda pwm)
			goto	TransiccionLed3Jp1
			decfsz	DlyTrans,f			; Segundo loop para disminuir la velocidad...
			goto	TransiccionLed3Jp1	;...entre transiciones
;
			call	SetValorRetardo		; Llamada set valor retardo
			incfsz	Ledfaro3,w			; 255 veces (genera la onda pwm)
			incf	Ledfaro3,f			; Aumenta la luz LedFaro3
			incfsz	TimerReg,f
			goto	TransiccionLed3Jp1
			call	SetValorRetardo		; Llamada set valor retardo
; "Fade Out" Luz Ledfaro3
TransicionLed3Jp2
			clrwdt						; Actualiza watchdog para resetear automáticamente. si se bloquea
			call	PwmRefresh			; Llama la subrutina que actualiza la luces
			incfsz	RegPwm,f			; 255 veces (genera la onda pwm)
			goto	TransiccionLed3Jp2
			decfsz	DlyTrans,f			; Segundo loop para disminuir la velocidad...
			goto	TransiccionLed3Jp2	; ...entre transiciones
;
			call	SetValorRetardo		; Llamada set valor retardo
			decf	Ledfaro3,f			; Disminuye la Luz Ledfaro3
			incfsz	TimerReg,f
			goto	TransicionLed3Jp2
			call	SetValorRetardo		; Llamada set valor retardo
;
; Al finalizar la Transición, vuelve a iniciar el ciclo
; ----------------------------------------------------------------------------------------------------
			goto	Ciclo
;
; ----------------------------------------------------------------------------------------------------
; 		Servicio de Interrupciones: NO USADO
; ----------------------------------------------------------------------------------------------------
service_int
			retfie
;
; ----------------------------------------------------------------------------------------------------
; 			org		0x3FF
; 			end							; FIN PROGRAMA
; ----------------------------------------------------------------------------------------------------



IMPORTANTE: Al no poder de disponer de todo el tiempo suficiente, lamentamos comunicar que no podremos atender cuestiones o resolver dudas referentes al funcionamiento del software publicado. ¡Disculpad las molestias!




ENLACES.

Software PICKit2 ® Programmer (y otros recursos en Microchip®): 
https://www.microchip.com/en-us/development-tool/PG164120

Programador JDM del Blog XANUR:
https://blog-xanur.blogspot.com/2022/06/programador-pic-jdm.html

PCB Domésticos de Blog XANUR:
https://blog-xanur.blogspot.com/2022/03/prototipos-pcb-domesticos.html

WinPic800:
http://www.winpic800.com/

IC-PROG:
http://ic-prog.com/

MPLAB:
https://www.microchip.com/en-us/tools-resources/develop/mplab-x-ide

PIC 2F629 Data Sheet:
https://ww1.microchip.com/downloads/en/devicedoc/41190c.pdf


Esperamos que os haya gustado esta publicación. Si es así, no dudes en compartirla.

© Se permite reproducción total o parcial de este contenido, siempre y cuando se reconozca la fuente de información utilizada y se incluya el enlace a este artículo.

Equipo Xanur©2024.