- International LinuxCNC Users
- Español
- Me gastaría crear un driver para una bluepill mas un puente H Bts7960
Me gastaría crear un driver para una bluepill mas un puente H Bts7960
- eyime-col
- Offline
- New Member
Less
More
- Posts: 1
- Thank you received: 0
12 Nov 2021 23:11 #226251
by eyime-col
Me gastaría crear un driver para una bluepill mas un puente H Bts7960 was created by eyime-col
Buenas a todos,
pues me presento, soy un profesor universitario con ciertas facilidades para programar en C y C++, y con orientación a emplear motores DC en todo lo que se pueda .....
Llegué hasta esta pagina porque estaba haciendo un proyecto en mi tiempo libre de emplear una bluepill para controlar un motor DC. Logre crearla y tengo un sistema que se comunica con I2C y controla un motor DC Pittman GM8224 con encoder de 500 pulsos por revolución. Mi configuración es una bluepill + puente H basado en BTS7960 + motor Pittman GM8224. Acá enlaces de esos componentes,
stm32-base.org/boards/STM32F103C8T6-Blue-Pill.html
www.handsontec.com/dataspecs/module/BTS7...20Motor%20Driver.pdf
hades.mech.northwestern.edu/index.php/Ac...and_500_line_encoder
Después de terminar mi proyecto de tiempo ocioso, quería emplear ese desarrollo en una pequeña máquina CNC, buscando di con esta pagina, me parece super bien porque quiero crear una pequeña CNC basada en Linux utilizando raspberrypi.
Tengo una Raspberry PI 3B+, así que lo primero que hice fue tratar de instalar LinuxCNC en ese equipo, pero me tope con que debía tener un kernel tiempo real basado en preempt-rt. Como no quería matarme compilando el kernel baje uno desde EMLID el cual ya viene compilado
docs.emlid.com/navio2/configuring-raspberry-pi
y se lo puse a la imagen oficial de la raspberry, pensé que uno iba a funcionar, pero si funciono de una, claro que tuve la precaución de instalar también los módulos del kernel.
Ya con el kernel en tiempo real (con preempt-rt) me puse a bajar LinuxCNC desde el repositorio de GitHub y acabe hoy mismo de compilarlo y hacer las pruebas, tal como dicen en,
linuxcnc.org/docs/devel/html/code/building-linuxcnc.html
Bueno, hasta aquí he llegado.
Ahora lo que tengo en mente es basarme en el código de PICCNCV2,
github.com/kinsamanka/PICnc-V2
Para crear el modulo HAL que se comunique con la BluePill y mueva el motor.
En este punto tengo dos opciones:
a) Hacer que la BluePill solo se encargue de leer el encoder y los fines de carrera y cambiar el ancho del pulso PWM el cual sería de 20 KHz. Esta solución es la más fácil ya que no toca modificar mucho lo que se ejecuta en tiempo real en la raspberry.
b) Hacer que el PID se ejecute en la BluePill y que desde la raspberry se manden los valores deseados de posición y se configure sus parámetros. Esta solución requiere mas trabajo y validar que la BluePill sea capaz de ejecutar el PID a una frecuencia de 1 KHz. Lo que he desarrollado lo hace a 1ms (es decir 1 KHz) o sea que la respuesta es SI. Pero me tocaria aprender mas para crear un modulo HAL capaz de comunicarse bien con la BluePill.
Por ahora me voy con el enfoque (a), ya que sería menos trabajo. Pero acá viene la ayuda que estoy pidiendo.
Ya terminé de compilar LinuxCNC y de ejecutar todas las pruebas, todas dieron OK. Mi pregunta es donde están las instrucciones para crear un modulo HAL y probarlas, para proceder con lo de la BluePill.
Espero su ayuda,
Saludos.
pues me presento, soy un profesor universitario con ciertas facilidades para programar en C y C++, y con orientación a emplear motores DC en todo lo que se pueda .....
Llegué hasta esta pagina porque estaba haciendo un proyecto en mi tiempo libre de emplear una bluepill para controlar un motor DC. Logre crearla y tengo un sistema que se comunica con I2C y controla un motor DC Pittman GM8224 con encoder de 500 pulsos por revolución. Mi configuración es una bluepill + puente H basado en BTS7960 + motor Pittman GM8224. Acá enlaces de esos componentes,
stm32-base.org/boards/STM32F103C8T6-Blue-Pill.html
www.handsontec.com/dataspecs/module/BTS7...20Motor%20Driver.pdf
hades.mech.northwestern.edu/index.php/Ac...and_500_line_encoder
Después de terminar mi proyecto de tiempo ocioso, quería emplear ese desarrollo en una pequeña máquina CNC, buscando di con esta pagina, me parece super bien porque quiero crear una pequeña CNC basada en Linux utilizando raspberrypi.
Tengo una Raspberry PI 3B+, así que lo primero que hice fue tratar de instalar LinuxCNC en ese equipo, pero me tope con que debía tener un kernel tiempo real basado en preempt-rt. Como no quería matarme compilando el kernel baje uno desde EMLID el cual ya viene compilado
docs.emlid.com/navio2/configuring-raspberry-pi
y se lo puse a la imagen oficial de la raspberry, pensé que uno iba a funcionar, pero si funciono de una, claro que tuve la precaución de instalar también los módulos del kernel.
Ya con el kernel en tiempo real (con preempt-rt) me puse a bajar LinuxCNC desde el repositorio de GitHub y acabe hoy mismo de compilarlo y hacer las pruebas, tal como dicen en,
linuxcnc.org/docs/devel/html/code/building-linuxcnc.html
Bueno, hasta aquí he llegado.
Ahora lo que tengo en mente es basarme en el código de PICCNCV2,
github.com/kinsamanka/PICnc-V2
Para crear el modulo HAL que se comunique con la BluePill y mueva el motor.
En este punto tengo dos opciones:
a) Hacer que la BluePill solo se encargue de leer el encoder y los fines de carrera y cambiar el ancho del pulso PWM el cual sería de 20 KHz. Esta solución es la más fácil ya que no toca modificar mucho lo que se ejecuta en tiempo real en la raspberry.
b) Hacer que el PID se ejecute en la BluePill y que desde la raspberry se manden los valores deseados de posición y se configure sus parámetros. Esta solución requiere mas trabajo y validar que la BluePill sea capaz de ejecutar el PID a una frecuencia de 1 KHz. Lo que he desarrollado lo hace a 1ms (es decir 1 KHz) o sea que la respuesta es SI. Pero me tocaria aprender mas para crear un modulo HAL capaz de comunicarse bien con la BluePill.
Por ahora me voy con el enfoque (a), ya que sería menos trabajo. Pero acá viene la ayuda que estoy pidiendo.
Ya terminé de compilar LinuxCNC y de ejecutar todas las pruebas, todas dieron OK. Mi pregunta es donde están las instrucciones para crear un modulo HAL y probarlas, para proceder con lo de la BluePill.
Espero su ayuda,
Saludos.
Please Log in or Create an account to join the conversation.
- tommylight
- Away
- Moderator
Less
More
- Posts: 19408
- Thank you received: 6507
12 Nov 2021 23:25 #226253
by tommylight
Replied by tommylight on topic Me gastaría crear un driver para una bluepill mas un puente H Bts7960
Not RPI3, but for PC with parallel port or Mesa board:
forum.linuxcnc.org/27-driver-boards/3867...i92-firmware-request
and
forum.linuxcnc.org/show-your-stuff/38787...ing-toma-cnc?start=0
Configs are attached there.
forum.linuxcnc.org/27-driver-boards/3867...i92-firmware-request
and
forum.linuxcnc.org/show-your-stuff/38787...ing-toma-cnc?start=0
Configs are attached there.
Please Log in or Create an account to join the conversation.
- International LinuxCNC Users
- Español
- Me gastaría crear un driver para una bluepill mas un puente H Bts7960
Time to create page: 0.051 seconds