Autor Tema: Controlar mútiples motores de CC con PIC  (Leído 3825 veces)

0 Usuarios y 1 Visitante están viendo este tema.

Desconectado c4_esp_VR

  • Colaborador
  • PIC24F
  • *****
  • Mensajes: 733
    • www.muchotrasto.com
Controlar mútiples motores de CC con PIC
« en: 24 de Mayo de 2009, 09:56:52 »
Hola compañeros:

Me ha surgido una duda existencial de como se podría controlar múltiples motores (entre 5 y 8 motores) con un sólo PIC de la serie 18F de microchip y CCS.

Si tenemos 3 timer podrémos controlar 3 motores, pero si queremos controlar más motores, ¿nos haría falta más temporizadores?.

Con los servos se puede "multiplexar" teniendo en cuenta que requieren periodos de entre 20 y 50ms con un ciclo de trabajo del 10% como mucho, pero los motores de CC requieres un PWM continuo sino dejan de girar.

¿Por tanto como se podría conseguir sin incorporar más HW o con un HW mínimo?.

Muchas gracias foreros.

Desconectado migsantiago

  • Colaborador
  • DsPIC33
  • *****
  • Mensajes: 8257
    • Sitio de MigSantiago
Re: Controlar mútiples motores de CC con PIC
« Respuesta #1 en: 24 de Mayo de 2009, 10:53:31 »

Desconectado c4_esp_VR

  • Colaborador
  • PIC24F
  • *****
  • Mensajes: 733
    • www.muchotrasto.com
Re: Controlar mútiples motores de CC con PIC
« Respuesta #2 en: 24 de Mayo de 2009, 12:14:09 »
Muchas gracias migsantiago:

Vamos a explicar introductoriamente de que va este tema, ya que en los demás hilos no está del todo bien explicado.

Los únicos integrados de microchip que permiten esta funcionalidad son los 18FXX31:
- 18F2331 y 18F2431 -> 6 PWM
- 18F4431 y 18F4431 -> 8 PWM

Estos usan el llamado Power PWM que mediante tiempos muertos (dead time) consiguen mediante HW conseguir "multiplexar" a una frecuencia elevada los PWM para el control de motores.

CCS dispone de las siguientes funciones para el Power PWM

- setup_power_pwm(config)  Sets up the PWM clock, period, dead time etc.
 
- setup_power_pwm_pins(module x)  Configure the pins of the PWM to be in || Complimentary, ON or OFF mode.
 
- set_power_pwmx_duty(duty)  Stores the value of the duty cycle in the PDCXL/H register. This duty cycle value is the time for which the PWM is in active state.

- set_power_pwm_override(pwm,override,value)  This function determines whether the OVDCONS or the PDC registers determine the PWM output.

Además de un archivo ejemplo llamado EX_POWER_PWM, donde se implementa esta funcionalidad. Me pondré a hacer pruebas con este integrado que sin quererlo ni beberlo dispongo de alguno de ellos  :-/ :-/ :-/. todopicxero precavido vale por 3 pics  :D :D :D

Un saludete compañeros foreros.
 

Desconectado migsantiago

  • Colaborador
  • DsPIC33
  • *****
  • Mensajes: 8257
    • Sitio de MigSantiago
Re: Controlar mútiples motores de CC con PIC
« Respuesta #3 en: 24 de Mayo de 2009, 13:15:53 »
En el foro hay otro hilo en el que implementan varios PWM por software y me parece una mejor solución.

Desconectado c4_esp_VR

  • Colaborador
  • PIC24F
  • *****
  • Mensajes: 733
    • www.muchotrasto.com
Re: Controlar mútiples motores de CC con PIC
« Respuesta #4 en: 24 de Mayo de 2009, 13:35:45 »
Citar
En el foro hay otro hilo en el que implementan varios PWM por software y me parece una mejor solución.

Lo siento migsantiago, pero debo de ser algo atrasado usando el buscador del foro pero no encuentro nada relacionado con CCS PWM Software en el foro, si pudiese echarme una mano sería de agradecer.

Un saludete y gracias.

Desconectado migsantiago

  • Colaborador
  • DsPIC33
  • *****
  • Mensajes: 8257
    • Sitio de MigSantiago
Re: Controlar mútiples motores de CC con PIC
« Respuesta #5 en: 24 de Mayo de 2009, 18:42:37 »
No te preocupes yo tampoco recuerdo las palabras clave para encontrarlo. Usando google hay muchos resultados del foro, dales una revisada, talvez encuentres alguno interesante. Creo que el tema es de Diego Redpic pero no estoy seguro.

http://www.google.com.mx/search?q=site:www.todopic.com.ar/foros/+-bookmark+-wap2+-printpage+pwm+software+redpic&hl=es&start=20&sa=N

A mi ya se me ha ocurrido el algoritmo para lograr múltiples PWM por software. Solo hay que racionalizar el timer0 en el mínimo común divisor de los duty times de todos los PWM y con eso bastaría.

Si no encuentras respuesta talvez podamos hacer algo.

Desconectado c4_esp_VR

  • Colaborador
  • PIC24F
  • *****
  • Mensajes: 733
    • www.muchotrasto.com
Re: Controlar mútiples motores de CC con PIC
« Respuesta #6 en: 24 de Mayo de 2009, 19:39:37 »
Pero es que eso no es tan sencillo ya que el ciclo del trabajo de un motor de CC puede ser del 100% (es decir sin un PWM), con lo que no te quedaría "tiempo muerto" para generar otros PWM y más teniendo en cuenta que los motores suelen tener ciclos de trabajos altos.

Si se te ocurre algún algoritmo que pudiese funcionar teóricamente me encantaría intentar llevarlo a la práctica, pero creo en un principio que no es viable ni trabajando a altas frecuencias ya que si a un motor de CC dejas de darle PWM se suelen parar o disminuir la velocidad considerablemente.

Muchas gracias por ti interés, veremos si podemos hacer algo interesante entre todos.  :-) :-) :-)

Desconectado migsantiago

  • Colaborador
  • DsPIC33
  • *****
  • Mensajes: 8257
    • Sitio de MigSantiago
Re: Controlar mútiples motores de CC con PIC
« Respuesta #7 en: 24 de Mayo de 2009, 19:59:19 »
Déjame ver si puedo escribir un bosquejo de código, pero me gustaría que me dieras unos datos.

- Periodo de la frecuencia PWM. Por ejemplo los servos tienen un periodo de 2ms.
- Rango que abarca el duty time. Algunos servos operan con duty time de 1 a 2ms.
- Resolución del duty time. Cuál es el mínimo incremento o decremento que puede tener el duty time, por ejemplo, 0.2ms.
- Número de PWM diferentes a generar. Cuántos motores habrá que controlar.
- PIC sobre el que se compilaría el PWM por software.

Solo se me ocurre cómo generar múltiples PWM funcionando todos bajo el mismo periodo PWM y diferente duty time. Si son con periodos diferentes se complica mucho.

Desconectado Renatox_

  • Colaborador
  • PIC24F
  • *****
  • Mensajes: 541
    • máquinas cnc
Re: Controlar mútiples motores de CC con PIC
« Respuesta #8 en: 25 de Mayo de 2009, 02:47:36 »
hola, tengan presente que no es conveniente un duty cycle de 100% ya que el condensador de la fuente flotante no tendrá tiempo de cargarse, para el lado alto, esto si se usa la tecnica bootstrap, que por lo general es la que mas se usa.

saludos.
control de movimiento

Desconectado migsantiago

  • Colaborador
  • DsPIC33
  • *****
  • Mensajes: 8257
    • Sitio de MigSantiago
Re: Controlar mútiples motores de CC con PIC
« Respuesta #9 en: 25 de Mayo de 2009, 12:24:01 »
hola, tengan presente que no es conveniente un duty cycle de 100% ya que el condensador de la fuente flotante no tendrá tiempo de cargarse, para el lado alto, esto si se usa la tecnica bootstrap, que por lo general es la que mas se usa.

saludos.

Hola, parece que me hablaste en chino  :D

Disculpa, es que de hardware pwm y control no sé mucho, mi objetivo solo será generar la señal y c4espVR se encargará de usarla.