issue195:micro-ci_micro-la
Différences
Ci-dessous, les différences entre deux révisions de la page.
Prochaine révision | Révision précédente | ||
issue195:micro-ci_micro-la [2023/07/29 14:13] – créée auntiee | issue195:micro-ci_micro-la [2023/08/03 11:55] (Version actuelle) – auntiee | ||
---|---|---|---|
Ligne 1: | Ligne 1: | ||
- | Last month, I promised that we would be looking at a motor drive using the RPi Pico-W. And for once, that’s what we will do. | + | **Last month, I promised that we would be looking at a motor drive using the RPi Pico-W. And for once, that’s what we will do. |
We’ll need a number of parts for this project. Here is a part list. | We’ll need a number of parts for this project. Here is a part list. | ||
Ligne 7: | Ligne 7: | ||
Also, you can substitute a RPi Pico-W for the RPi Pico, since for this project, we won’t be using the WiFi or Bluetooth, but for later projects, the Pico-W will be needed. | Also, you can substitute a RPi Pico-W for the RPi Pico, since for this project, we won’t be using the WiFi or Bluetooth, but for later projects, the Pico-W will be needed. | ||
- | Before we get started with the wiring, let’s take a close look at the MakerDrive board. | + | Before we get started with the wiring, let’s take a close look at the MakerDrive board.** |
- | On one side of the board is a six position terminal block. This is where you will connect the motors and the battery pack (or 5-volt source). One motor goes to the top two terminals, the other to the bottom two terminals and the battery pack to the center terminals. | + | Le mois dernier, j'ai promis que nous allions étudier un pilote de moteur en utilisant le RPi Pico-W. Et pour une fois, c'est ce que nous allons faire. |
+ | |||
+ | Nous aurons besoin d'un certain nombre de pièces pour ce projet. Voici la liste des pièces. | ||
+ | |||
+ | En réalité, vous n'avez besoin que d'un seul moteur pour que le projet fonctionne, mais il est plus impressionnant avec deux, et, en réalité, comme les moteurs coûtent moins de 1 $ US chacun, il est facile de s'en procurer deux. Vous pouvez également en utiliser plus. | ||
+ | |||
+ | Vous pouvez également remplacer le RPi Pico par un RPi Pico-W, car pour ce projet, nous n' | ||
+ | |||
+ | Avant de commencer le câblage, regardons de près la carte MakerDrive. | ||
+ | |||
+ | |||
+ | **On one side of the board is a six position terminal block. This is where you will connect the motors and the battery pack (or 5-volt source). One motor goes to the top two terminals, the other to the bottom two terminals and the battery pack to the center terminals. | ||
On the other side of the board are six male pins that will allow connections to the RPi Pico. The top two pins go to a pair of pins that will control the first motor, the bottom two go to another pair of pins that control the second motor, and the middle two pins to +5 VDC and ground on the Pico. | On the other side of the board are six male pins that will allow connections to the RPi Pico. The top two pins go to a pair of pins that will control the first motor, the bottom two go to another pair of pins that control the second motor, and the middle two pins to +5 VDC and ground on the Pico. | ||
Ligne 17: | Ligne 28: | ||
To make things simple for you, here is a table (below) that shows where each pin should connect. | To make things simple for you, here is a table (below) that shows where each pin should connect. | ||
- | Once you have the project wired, we normally would be able to jump into the code, but we need to understand how the code will work first. | + | Once you have the project wired, we normally would be able to jump into the code, but we need to understand how the code will work first.** |
- | PWM | + | Sur l'un des côtés de la carte se trouve un bornier à six positions. C'est là que vous connecterez les moteurs et la batterie (ou une source de 5 volts). Un moteur se connecte aux deux bornes supérieures, |
+ | |||
+ | De l' | ||
+ | |||
+ | La page suivante (en haut à droite) présente le câblage du projet de ce mois. | ||
+ | |||
+ | Pour vous simplifier la tâche, voici un tableau (ci-dessous) qui indique où chaque broche doit être connectée. | ||
+ | |||
+ | Une fois le projet câblé, nous devrions normalement pouvoir passer au code, mais nous devons d' | ||
+ | |||
+ | **PWM | ||
Knowing Pulse-Width Modulation (PWM) is very important to understand how the project works. | Knowing Pulse-Width Modulation (PWM) is very important to understand how the project works. | ||
Ligne 30: | Ligne 51: | ||
- | The following image is from https:// | + | The following image is from https:// |
+ | PWM | ||
+ | Il est très important de connaître la modulation de largeur d' | ||
+ | La sortie des broches numériques du microcontrôleur ne peut être que On ou Off, un 1 ou un 0. Pour pouvoir contrôler la carte MakerDrive, nous devons fournir non seulement un signal On, mais aussi contrôler la vitesse des moteurs. | ||
- | The Code | + | Normalement, |
+ | |||
+ | C'est là qu' | ||
+ | |||
+ | L' | ||
+ | |||
+ | |||
+ | **The Code | ||
First the driver code (top right). The driver module is saved as “motor_driver.py” | First the driver code (top right). The driver module is saved as “motor_driver.py” | ||
Ligne 49: | Ligne 80: | ||
As I usually do, I’ve created a repository at https:// | As I usually do, I’ve created a repository at https:// | ||
- | Until then, as always; stay safe, healthy, positive and creative! | + | Until then, as always; stay safe, healthy, positive and creative!** |
+ | |||
+ | Le code | ||
+ | |||
+ | Tout d' | ||
+ | |||
+ | La fonction convert prend la valeur et la convertit en un entier (code en haut à droite). | ||
+ | |||
+ | La fonction speed prend deux valeurs entières (une pour le moteur gauche et une pour le moteur droit) et utilise la fonction convert pour les transformer en valeur de rapport cyclique pour le signal PWM. Le code ci-dessus est pour le moteur gauche et le code en bas à droite est pour le moteur droit. | ||
+ | |||
+ | Nous demandons aux deux moteurs de tourner à la vitesse 50 (50 %), ce qui, si les moteurs étaient connectés à des roues, permettrait d' | ||
+ | |||
+ | Le dernier bloc de code fait tourner le moteur gauche pendant 5 secondes, le moteur droit pendant 5 secondes supplémentaires, | ||
+ | |||
+ | Comme je le fais habituellement, | ||
+ | |||
+ | Comme toujours, restez en sécurité, en bonne santé, positifs et créatifs ! | ||
+ | |||
+ | |||
+ | // | ||
+ | ** In the __init__ function, we define the PWM pins and the frequency for each. The frequency is set to 1000 pulses per second. We define the duty cycle when we call the speed function.** | ||
+ | |||
+ | Dans la fonction __init__, nous définissons les broches PWM et la fréquence de chacune d' | ||
+ | |||
+ | // | ||
+ | **Finally, we have the brake function which simply sets both motors to a 0 speed.** | ||
+ | Enfin, nous avons la fonction de freinage qui met simplement la vitesse des deux moteurs à 0. | ||
+ | |||
+ | **Now the demo code. This module is named “drive_motor.py”.** | ||
+ | Voici maintenant le code de démonstration. Ce module s' | ||
+ | |||
+ | **Here we define the GPIO pins for each motor.** | ||
+ | Ici, nous définissons les broches de GPIO pour chaque moteur. |
issue195/micro-ci_micro-la.1690632789.txt.gz · Dernière modification : 2023/07/29 14:13 de auntiee