Dimmer para motor DC.

Posted by admin | Posted in Electrónica, Hardware | Posted on 27-03-2017

0

This simple circuit was taken from a chinesse oven with conveyor belt, the conveyor speed can be regulated with a potentiometer in the front panel, the internal circuit board that control the DC motor it’s just a dimmer based on NTE5620 triac, .   The input voltage of the circuit is 220V AC, the circuit chop the ac wave and its rectified by a full wave bridge.

Oven with conveyor belt.

Schematic
Vista PCB(lado componentes).
3D view

 

Download (it comes with proteus 8.1 project file, ready to test, simulate and modify).

Triac options: NTE5620 BCR8PM  MAC15

DIAC: DB3

Sistema de programación de Trayectorias para el Manipulador MA2000

Posted by admin | Posted in Electrónica, Hardware, Software | Posted on 25-06-2015

1

From my grade project (2013):

TRAJECTORY PROGRAMING SYSTEM FOR THE MA2000 ROBOT ARM:

The MA2000 its a six degree of freedom robot arm, 3 joints are moved by DC motors. L928 IC drive 3 motors, the 3 motors left were replaced with hobby servos. A control system was implemented using microcontroller DSPIC30F3011, the joints position were read using potentiometers and the microcontroller DAC. A PI controller was implemented using the dsPIC DSP libraries, the compiler was the C30 (academic version) . A PC software was developed using the QT libraries and the QT creator IDE. The software communicates with the controller and allows the dynamic adjustment of the PID controller and its capable of show graphically the dynamic response of each joint, this was programmed using the QWT library, the software allows the programming of “point to point” trajectories using a simple language and allows to record trajectories moving the robot arm by hand.  These trajectories are recorded in plain text and can be generated with tools like MATLAB and the Peter Corke robotics toolbox.

Wiki page (spanish):

Http://blog-j.marcano.net.ve/robotwiki


Juan Marcano

juan@marcano.net.ve

El MA2000 Es un brazo de 6 grados de libertad accionado por motores DC. Se  emplearon drivers L298 para manejar tres de los motores, los tres motores restantes se  reemplazaron por motores de modelismo. Se diseñó un sistema de control mediante el microcontrolador dsPIC30F3011 en el cual la la posición de cada articulación es medida mediante potenciómetros y se implementó  un controlador de posición PID independiente para tres articulaciones que utiliza el motor DSP del dsPIC mediante las librerías incluidas con el compilador C30 en su versión académica. Se desarrolló un software en el PC haciendo uso de las librerías Qt. El software se comunica con el microcontrolador y permite el ajuste dinámico del controlador PID y la visualización en tiempo real de la respuesta dinámica de cada articulación, esta característica se programó utilizando la librería QWT, el software también permitió la programación de trayectorias simples punto a punto mediante guiado o aprendizaje. El software es capaz de guardar las trayectorias en archivos de texto plano de tal que forma las trayectorias pueden ser generadas con otras herramientas tales como MATLAB y la Toolbox de robótica de Peter Corke.

Utilizando la libreria de Microchip para dsPICs: controlador PID

Posted by admin | Posted in Electrónica, Software | Posted on 05-04-2011

0

Los dsPIC son DSC, ello significa que combinan las características de un MCU junto a las bondades de un DSP,  se caracterizan fundamentalmente por la prescencia de A/D rápidos (incluso con DMA en la familia 33f), presencia  de módulos especializados de PWM, y enfocados principalmente a la necesidad de operaciones matemáticas cíclicas a alta velocidad sobre todo en aplicaciones comúnmente denominadas  de ¨tiempo real¨, en fin: los DSC son muy versátiles, aunque la limitante a su uso y tal ves por ello su poca popularidad es:

–          Como todo micro nuevo requiere cierto tiempo de aprendizaje, y tal vez su uso no se justifique en la mayoría de aplicaciones, siendo tal vez más conveniente el uso de la familia de PICs 24 (muy versátil y funcional) o incluso uC más económicos si es que ya se ha acostumbrado, sin embargo la familia de PIC24 utiliza el mismo compilador C30 de MICROCHIP y la mayoría de módulos del los dsPICs guardan muchas similitudes con los uC de la familia de PICs 24 por lo que el salto de PICs 24 a dsPICs no resulta para nada complicado.

–          El costo es obviamente mayor para el dsPIC.aunque a veces resulta contradictorio que uC de la familia 18 con un rendimiento mucho menor, módulos menos versátiles y a su vez complicados de configurar, con mayores limitantes y de solo 8 bits tengan costos iguales e incluso mayores que los de familias de microcontroladores más versátiles e incluso más sencillos de programar como la familia 24, al menos en el super-limitado mercado nacional.

La familia de PIC24 comparte junto a los dsPIC el mismo compilador C30 ofrecido por microchip que en su versión académica puede dar resultados más que satisfactorios, con la típica posibilidad de incluir código en assembler si se considerase necesario. En fín cuestión de opiniones, de probar y comparar.

Dejando ya de lado esta pequeña introducción vayamos al grano y al verdadero motivo de este artículo:

Como utilizar un dsPIC para implementar un controlador PID?

La respuesta es simple: microchip nos brinda una librería de algoritmos que permite hacerlo haciendo uso del motor DSP y brinda el código fuente por lo que la podemos modificar si se nos antoja.

Es solo una de las muchas librerías que se incluyen junto al compilador C30, que como dijimos tiene un único propósito: aumentar la velocidad de las operaciones matemáticas. Entonces si deseamos implementar un PID con un dsPIC no es lo mas eficiente el uso del cálculo del controlador utilizando las instrucciones MCU (aunque no por ello inválido),pero un programa más eficiente debe hacer uso del motor DSP que lo disminuirá el tiempo ocioso de nuestro microcontrolador dejándolo libre para ejecutar otras tareas, despues de todo debemos sacarle el jugo al DSC y ello no resulta tan difícil:

La verdad es que aquí no hay ningún misterio, aparece documentación acerca del uso de la librería  en varios trabajos publicados en la red, en varios foros y en los documentos de microchip que suelen tener muchas versiones y la intención de este post es condensar un poco esa información.

Es necesario acotar que todos los archivos necesarios están en la carpeta del compilador C30 que ya deberia haber instalado, explore en la carpeta de instalación: los siguientes archivos y añádelos a tu proyecto en el MPLAB, o utilice el ¨Linker script¨ que viene con el ejemplo CE019_PID que a fin de cuentas es el que explica claramente con un ejemplo como se emplea la librería y que archivo debe añadir y en general todas las instrucciones a seguir.

El documento 16Bit_Language_Tool_Libraries Chapter 2–> control functions , brinda una introducción muy didáctica y condensada acerca de los PID, y explica con más detalle las 4 funciones en lenguaje C para implementar el PID, indicando inclusive el numero de ciclos que toma la ejecución de cada función.

Con estos 2 documentos debería ya poder empezar!

Como comentario adicional:

No olvide incluir la cabecera <dsp.h>  (echele un ojo al final del código) aunque personalmente prefiero en cualquier proyecto incluir todos los archivos de código fuente y cabeceras dentro de la carpeta del proyecto en el MPLAB.

Para mayor información aún nada mejor que revisar y estudiar un poco el código fuente de la funciones para PID que está escrito en assembler y está contenido en el archivo PID.s, nótese el uso de las instrucción MAC (multiplica y acumula) propia de los DSP. Las instrucciones en assembler para el dsPIC están aquí.

También es necesario el archivo dspcommon.INC

Para el uso de las instrucciones DSP es necesario estar claro con el uso de números fraccionales de 16 bits, también conocido como formato Q15, no es más que numeración de ¨punto fijo¨ (en analogía a punto flotante) pues la librería y el motor DSP emplea este formato. Para documentarse mejor acerca del formato Q15 revise en este este documento, es otra versión del documento ¨16 bit lenguaje tools¨, también tocan bien el tema en este libro.

Entrenadora para dsPIC30F3011

Posted by admin | Posted in Electrónica, Entretenimiento | Posted on 20-02-2011

0

Luego de un poco de experiencia con estos microcontroladores con el proyecto del brazo robot y conexiones al protoboard muy propensas a fallas de conexión, la siguiente placa (nada del otro mundo) ha sido concebida fundamentalmente para facilitar programación, depuración, realizar pruebas e incluso como un módulo ya listo para emplear en tus proyectos.


Para ser utilizada junto a los microcontroladores dsPIC30F3011 y dsPIC30F4011 (tal vez sea compatible con otros PICs de 40 pines), la placa posee las siguientes características:

  • Conector ISCP: para conexión directa de un programador/depurador pickit2 o similar, basta conectar tu pickit para empezar a programar, depurar y realizar pruebas.
  • Todos los pines del microcontrolador disponibles a excepción de 2 (necesarios para la conexión de osciladores externos), aunque dependiendo de sus necesidades se pueden obviar terminales y reducir costos.
  • Los terminales del microcontrolador se han separado en grupos: Con enfoque hacia el uso de PWM y lectura de datos analógicos, 3 de las entrada analógicas (AN6, AN7 y AN8) del microcontrolador han sido provistas de terminales ¨tipo tornillo¨ para facilitar la conexión y desconexión, junto con su respectiva alimentación para tomar datos analógicos fácilmente (desde un potenciómetro por ejemplo), de igual manera todas las salidas de PWM y las entradas de alimentación, están disponibles mediante este tipo de terminales.
  • Pulsador de RESET y LED indicador de encendido.
  • Juan Marcano (Admin)

    email: juan@marcano.net.ve

Esquemático: L298 H bridge

Posted by admin | Posted in Electrónica | Posted on 15-10-2010

1

Layout and schematic for Proteus, parallel configuration, fell free to improve, modify and simulate.

Layout y esquemático para puente H L298

Aquí dejo  este layout y esquemático para proteus del puente-H con L298 que diseñé hace tiempo en proteus, está configurado en paralelo. La configuración  es exactamente la que se indica en la hoja de datos.

Se diferencia de los demás que he visto en la red porque esta utiliza terminales con tornillo  los cuales se encuentran agrupados un costado de la placa debido a que me pareció los más conveniente para no obtener un enredo de cables al momento de conectar, ya que este PCB forma parte de una versión ampliada triple (3 puentes H). Se advierte que este PCB no es muy compacto.

Por supuesto este PCB de una sola cara está muy lejos de ser perfecto, tiene unos cuantos errores de diseño: no tiene plano de tierra, no es nada compacto, las pistas son extremadamente anchas y lleva unos cuantos puentes o ¨jumpers¨, pero realiza el trabajo.  Es libre de ser modificado y el esquemático sirve para hacer simulaciones realizando las modificaciones que crea pertinente o incluso crear un nuevo PCB:

Descargar/Download

Puente-H L298 en motores DC con algo de PWM parte I

Posted by admin | Posted in Electrónica | Posted on 24-09-2010

5

En muchas aplicaciones en las que se utilizan motores DC es necesario que estos giren en ambos sentidos, para ello se emplean los puentes-H.

Un puente H muy popular es el L298, he aquí su descripción tomada textualmente de  la hoja de datos:

“Es un driver de puente completo dual que acepta niveles lógicos TTL estándar y maneja cargas inductivas como relés, solenoides motores DC y de paso. Tiene dos entradas de activación (enable) para activar o desactivar los dispositivos independientemente de las señales de entrada. Los emisores de los transistores bajos de cada puente están conectados juntos y el correspondiente terminal externo puede ser usado para la conexión de una resistencia externa de medición.  Se ha provisto de una entrada adicional para la fuente así que la lógica funciona a menor voltaje.¨

Esquema interno del L298:

Prestaremos especial atención al manejo de motores DC con escobillas:

  • Los diodos D1 a D4 sirven para proteger el integrado de las corrientes de retorno que pudieran generarse en la bobina del motor, durante el apagado y encendido. Se deben usar diodos rápidos con tiempo de respuesta inferior a los 200ns.
  • Las entradas C y D sirven para cambiar el sentido de gíro: si C es un ¨1¨ lógico y D un ¨0¨ lógico el motor gira en un sentido, si ocurre lo contrario gira en el otro. Si C y D son ¨0¨ el motor queda libre. Si C=D es motor se detendrá rápidamente.
  • La entrada enable ¨Ven¨ activa o desactiva todo lo demás.

Puente dual

Como el l298 es dual bien podemos manejar 2 motores distintos sin sobrepasar la corriente máxima de 2 amperios para cada puente o bien podemos conectar ambos puentes-H en paralelo y obtener un solo puente-H en teoría con el doble de capacidad de corriente, la conexión en paralelo se realiza como se muestra en la gráfica de la derecha.

Resistencia sensora

La resistencia sensora es una que está en serie a la bobina  de armadura del motor con el fin de medir la corriente que pasa a través de este.  Esto puede ser muy útil:  se puede implementar una lógica por hardware ó software que proteja al motor en caso que se supere la corriente máxima nominal estipulada por el fabricante del motor (usando comparadores, y/o los convertidores A/D en el caso de un microcontrolador). Recordemos que en un motor DC el torque es proporcional a la corriente de armadura, esto puede ser muy interesante desde el punto de vista de control.

El valor de la resistencia sensora depende  de su motor, de las corrientes que maneja,y lo que usted necesite.  Recuerde que en realidad medirá tensión sobre la resistencia sensora y no la corriente directamente, por lo tanto el ruido y las tensiones máximas de trabajo son un factor a tener en cuenta.

Utilizando PWM

Ya podemos invertir el sentido de giro de nuestro motor, ahora dependiendo de la aplicación si queremos modificar la velocidad podemos utilizar  una técnica muy popular e interesante: la modulación por ancho de pulso o PWM. Esta consiste fundamentalmente en variar el duty cycle o ciclo de trabajo de una onda cuadrada de periodo constante, al hacer esto varia proporcionalmente la tensión promedio de la señal.

En el caso especifico del puente H L298, utilizando la configuración en paralelo (gráfica de arriba) basta enviar una señal de PWM en el terminal IN1 y un cero lógico en IN2 para arrancar el motor. Si el ciclo de trabajo es 0%  el motor estará completamente detenido (a menos que alguna fuerza externa actúe sobre el). Si el ciclo de trabajo es de 100% el motor gira a su velocidad máxima. Si se coloca entonces el ciclo de trabajo en 50% el motor gira a un 50% de su velocidad máxima. Recordemos que previamente se debe seleccionar la Vss con que alimentaremos el puente H, esta Vss depende de las características del motor. Para cambiar el sentido de giro, se envía la señal de PWM a través del pin IN2 y se coloca un cero lógico en el pin IN1.

Existe gran cantidad de formas de generar una señal de PWM. Abundan los circuitos analógicos y digitales pero la forma moderna, más versátil y económica es sin duda utilizar microcontroladores. La idea fundamental es que la velocidad, y sentido de giro de nuestro motor sea programada y automatizada acorde a nuestras necesidades, las posibilidades son innumerables: Control automático de posición, velocidad, torque,operación programada, protección automática, control del motor a distancia, etc.

Frecuencia de la PWM en motores DC

La frecuencia para la PWM usada comúnmente en motores DC varía de los 4 Khz a los 20 Khz, aunque ello no es necesariamente una regla, no debe ser demasiado baja en principio porque no queremos que se perciba un apagado y encendido del motor, y desde el punto de vista eléctrico la frecuencia debe ser tal que el mismo inducido del motor actúe como un filtro pasabajo, eliminando las componentes armónicas de alta frecuencia de la onda cuadrada y dejando en la medida de lo posible la componente DC, mientras más alta la frecuencia mejor a no ser por el siguiente inconveniente: a medida que se aumenta la frecuencia se introduce ruido a nuestro circuito, además empieza a cobrar importancia el tiempo de respuesta del puente-H, y/o demás lógica que empleemos.

Espere la segunda parte..

J.Marcano