Paso 8: Inicio de giro - poner la junta inferior en función de
1. Introducción
Este PCB es responsable de conducir el motor lo suficientemente rápido para los LEDs a hacerse "invisible" y su luz borrosa. Hice dos versiones de este, ya que yo no era capaz de encender (no programa de PIC18F46J50 y yo no quería conseguir pegado en eso) la tabla anterior. En la segunda versión que decidí poner un PIC18F4550 en mediciones y un gran paquete de la inmersión, para hacer la soldadura más fácil. Me gusta mucho PCB a través del agujero, después de elegir el paquete DIP40 para el PIC me volví todo lo demás componentes por-agujero y DIP. Resistencias, circuitos integrados, todo a un lado los MOSFETs.
Este PCB es el más simple de las tablas (I)... hice cuenta también el soporte magnético como un PCB, posiblemente el más difícil uno a perforar, la pila, sierra. Los componentes de esta junta:
- 1 x PIC18F4550 microcontrolador con USB - controla todo
- 6 x MOSFET de canal N - flotador o conectar las bobinas de lo BLDC a los rieles de la PSU
- 2 x CD4081B cuádruple, doble entrada y puertas - estos dan las señales que el apagado de los MOSFETs
- estabilizador de voltaje de 1 x 7805 - proporciona una fuente de alimentación de 5V limpia agradable para el PIC y sus periféricos
- 1 comparador dual x LM2903 con salida de drenaje abierto - captura de picos de voltaje para avanzar con el patrón de conmutación
- 3 x LED - el modo en que la foto es en el momento de la señal: aplicación del gestor de arranque/usuario
- 2 x botones - entradas del usuario externo para la depuración
- 1 x potenciómetro - cambia el ciclo de trabajo que obtiene superpuesto con las señales de conmutación
- x n resistencias - actual limitación, dominadas, pull-downs
- n x condensadores - filtrado de tapas
- n x jefes de Pin - conexión a otros tableros
Este es el primer PCB tenemos que poner en funcion, ya que la junta superior dibujará su energía del movimiento del motor. Esto es lo que tenemos que hacer aquí:
- Poder la cosa y poner el gestor de arranque USB en función
- Asegurar el control de los seis N-MOSFET
- Conducción de LEDs
- Interfaz analógica
- Medición de las RPM
- Comunicación en serie para la depuración
Vamos a tomarlos uno por uno!
2. encendido el dispositivo y hacer uso del USB module dentro el PIC18F4550
Como mencioné en el paso anterior, decidí utilizar el USB para actualización del firmware. Después de flashear el firmware para el PIC, respiré profundo y encendido mi PSU. Y entonces de repente... nada. No funcionó, y me dio cosa pensar hasta que se me ocurrió la solución del condensador extra. Después de eso, hubo sin problemas errores de todos, no, nada. De hecho parpadeaba el LED que empiezan a parpadear una vez que se ejecuta el gestor de arranque, después de cambiar a código de la aplicación de usuario pude flash otro LED. Intercambio entre el código de la aplicación del gestor de arranque y el usuario estaba trabajando bien así. Encendido y arranque uso: comprobado!
3. conducción con el motor brushless DC
El motor BLDC tiene tres pernos, necesitamos controlar el voltaje a través de los tres para hacerlo moverse como esperamos. El estado en el que los tres pernos será siempre diferente, cambiando entre la alta impedancia, GND y VDD. El patrón que deben alternar estos tres pines se muestra en la foto de arriba. Aparte de la utilización de seis pines I/O del microcontrolador, también se superponer una señal PWM sobre las tres líneas. Esto puede lograrse con seis puertas y con sus salidas en las seis puertas MOSFET. Las puertas utilizadas fueron: CD4081B. Esta manera, uno puede controlar la velocidad utilizando sólo una variable - el ciclo de trabajo.
Tenemos que proporcionar una interfaz para cambiar el ciclo de lavado desde el exterior, la forma más conveniente para ello, debe utilizar el potenciómetro. Interna, toma de Convertidor AD de 10 bits el voltaje en la analógica de entrada y lo convierte en un valor digital. Suerte de que nosotros, el ciclo de trabajo registro no es de 10 bits de ancho, así, filtrado ni manipulación necesaria, que sólo tiene que transferir el valor de la ADC registra los registros de ciclo de trabajo. La configuración de ambos módulos es fácil, utilicé recortes de código de proyectos mayores y ajustar los cálculos reales para ellos. Después de montar este foro que vi que el motor no fue girando lo suficientemente rápido, era más bien caminar. Las señales de conmutación fueron programadas por una interrupción de temporizador seleccionado al azar de 100 MS, y eso no era todo derecho. Un amigo me sugirió para cambiar esta interrupción de temporizador a una interrupción externa y hacer también algunos cambios de hardware. Ni que decir, otro PCB estaba fuera de cuestión, otro PCB (más pequeño) tuvo que ser diseñado para alojar los componentes extras mencionado su sugerencia. El objetivo era obtener el voltaje de los terminales del motor, pase a través de un divisor, conectan las tres señales a través de resistencias de limitación actuales y finalmente ponerlos en un comparador de entrada. Había montado este pequeño PCB sin las resistencias en la entrada de no invertir y mide el voltaje en la entrada inversora, de donde vino esta señal del motor. Vi que enarboló en aproximadamente 500mV, las resistencias no invertir tuvieron que ser recogido por lo que el comparador activará cada vez que llegó un punto en una de las tres entradas. Ver las imágenes para mejor comprensión de esta parte!
Enruta la salida del comparador a una interrupción externa en la PIC8F4550 y cambiar la rutina de servicio de interrupción para comprobar contra este evento antes de saltar al siguiente ciclo de conmutación. De esta manera el motor no caiga fuera de sincronización y le gire lo suficientemente rápido como para poder trabajar con él.
kep oszcilloszkop un jelrol harom, az egyesitett jelrol es
kep oszcilloszkop un komparator ket bemeneterol es un kimeneterol
4. conducción de LEDs
Los LED de depuración o el estado de conducción es tan simple como puede conseguir, calcula la resistencia para 20mA: R = U / I = 5/0.02 = 250 ohms. Si quieres más brillante, poner resistencias de menor valor, si quieres dimmer, poner resistencias de valor de resistencia mayor.
5. análogos interfaces
Tener un potenciómetro que ajusta el ciclo de trabajo PWM es la mejor manera de ajustar la velocidad de rotación para el husillo. El convertidor analógico digital puede utilizarse para leer la derivación central del potenciómetro, la tensión se leerá en los registros del valor de AD, desde donde se puede sacar por firmware para posterior procesamiento y manipulación. Teniendo que este valor significa, que podemos ajustar fácilmente el ciclo de trabajo PWM. Para mi gran felicidad que ambos valores son de 10 bits, así que lo que tengo que hacer enviar los bits del valor AD inscribirse en el registro del ciclo de deber. El código de inicialización del módulo de publicidad se puede ver entre las imágenes que os adjunto a este paso.
6. mide la velocidad de rotación
La medición de la velocidad de rotación se logra mediante la medición de las interrupciones externas (del comparador como se mencionó anteriormente) en un período de tiempo de un segundo. Después de cambiar a sincronización de la señal de conmutación externos, la interrupción de temporizador quedó habilitado y puesto a un segundo. Un contador se incrementa en la rutina de servicio de interrupción externa, sólo tenemos que comprobar cuantas cuentas tenemos en segundos y dividir por seis, una rotación completa da seis interrupciones externas. Ahora que sabemos que el número de pulsos en un segundo, podemos multiplicar por 60 para obtener la velocidad de rotación en RPM.
7. serie de comunicación
Para evitar que la placa simple, no complicar con pantallas de depuración y muchos debug LED, ésos no sería útiles en la cosa, una vez que está trabajando todos los derechos. Por esta razón que decidí usar comunicación serial y un convertidor serie-usb para hacer exhaustiva depuración si es necesario. Si todo funciona, esta interfaz depuración puede simplemente desactivar, por lo que no comer tiempo de procesador. Manejo de UART en procesadores PIC es muy sencillo y muy conveniente en términos de facilidad de uso, la hoja de datos de lectura le enseñará todo lo que hay que.
8. problemas golpeé cuando se trabaja en la placa base
Un problema que golpeó cuando se trabaja en la placa base era niveles de voltaje incorrecto en las puertas MOSFET. Finalmente rastreado el problema a la incorrecta selección de IC, pensé 74LS08 es pin compatible con CD4081B, que originalmente hecho el PCB para. No pude encontrar ningún CD4081B en las tiendas locales y el pensamiento de simplemente reemplazándolos con 74HC08 y eso es todo. No, si revisas las hojas de datos, vas a entender lo que estoy hablando. Las puertas se colocan ligeramente diferentes en los dos paquetes, salidas tienen invertidas con las entradas, que de dónde proceden los niveles de voltaje incorrecto! Pedí algún 4081 ICs de la web, problema solucionado!
Otro problema tenía que ver con una conexión que falta. Simplemente me olvidé de dos agujeros y conecte Q6 con la resistencia de la puerta! Yo este había trazado con tres sondas en las salidas de puente y viajar hacia atrás en el camino del pulso que falta uno punta de prueba. La vida es realmente más fácil cuando tienes un osciloscopio de cuatro canales. Me las arreglé para depurar dos errores gracias a él. Compra un ámbito fue una inversión muy grande pero muy buena.