mercredi 2 septembre 2015

[Tuto] Pilotage servomoteur pour Arduino

Un article qui reprend plus en profondeur ce qu'est un servomoteur et comment le piloter avec la board Arduino.

  1. Un servomoteur, qu'est-ce que c'est ?
Un servomoteur est par définition, un moteur avec un brin d'intelligence. Il se présente sous la forme d'un pavé dont les dimensions peuvent varier en fonction des caractéristiques attendues.

Une représentation 3D des éléments "principaux" qui le compose.
Composition servo moteur
Éléments du servomoteur

Je vais m'intéresser à deux choses : la connectique et la mécanique.

  • La connectique
Ce type de moteur est composé de 3 fils de couleurs distinctes.
- rouge : L'alimentation. Cette dernière varie en fonction du moteur. Elle sera indiquée sur l'emballage.
- noir, marron (parfois) : la masse.
- blanc, jaune, ... : la commande
  • La mécanique
Typiquement, ces moteurs ne disposent pas d'un couple très important. Là aussi, il sera important de calculer la masse déplacée pour prendre le servomoteur adapté.
Petit rappel, le couple d'un moteur sera exprimé en Kg/cm. Exemple, pour un servomoteur avec un couple de 4.0 Kg/cm, si la charge se trouve à 10cm alors la charge devra avoir une masse de 400g pour pouvoir être déplacée sans problèmes.

  1. Le pilotage
Le pilotage du servomoteur se fait via le fil de commande. La commande est de type PWM (Pulse With Modulation) ou MLI (en français). On peut généraliser le principe de commande comme suit (dans le cas d'un servomoteur pouvant aller de 0° à 180°) :
PWM de commande


Coté programmation Arduino, il faudra inclure la librairie "servo.h", déclarer tous les servomoteurs de notre application et attacher la pin PWM au servomoteur (dans mon cas la pin 9).
Ce qui donnerait quelque chose comme :
#inclue <Servo.h>
Servo Servo_1;
void setup()
{
   Servo_1.attach(9);
}

Pour déplacer l'axe rien de plus facile avec la commande "Servo_1.write(position_Servo_1);". Avec position_Servo_1 contenant la position en degré souhaitée.



jeudi 13 août 2015

[Hardware] Manette Xbox 360 sous Windows7

Après quelques modifications sur mon idée de base pour mon robot mobile, je me dis qu'un controller plus ergonomique serait un plus. A cet effet, je m'oriente vers une manette Xbox360.
Les avantages ? Compatible avec Windows, des drivers disponibles et une utilisation pour mon IDE et le language C#.

1- Installer le controller sous Windows 7
Dans un premier temps, il faut se procurer  une manette officielle compatible PC. Si ce n'est pas le cas, on augmente les risques de compatibilité entre le matériel.
On commence par télécharger l'application de Microsoft pour le Controller Xbox-360 et l'installer. Une fois l'installation finie, on peut connecter la manette au PC via un port USB et attendre un petit peu.
QuandWindows nous signale que tout est prêt, dans le menu démarrer, on recherche "joy.cpl" et lance l'application.
De cette manière, on pourra tester que la manette est reconnue et configurée.

2- Obtenir les informations du controller sous Visual Studio (C#)
On commencera par télécharger XNA Framework 4.0 et l'installer. Pour la suite, rien de plus simple.
Sur Code project, Monsieur Joel Ivory Johnson nous a facilité le travail. Voici son tuto dans lequel, il nous donne toutes les informations pour obtenir les évènements du Controller.



PS : Visual studio 2015 est sorti depuis quelques temps, il est complet et complètement gratuit.

jeudi 6 août 2015

[Raspberry ] Raspberry Pi 2, les basics

Que le temps file vite!

Un petit tuto/pense bête suite à mon achat compulsif d'une Raspberry 2. Certes l'Arduino c'est bien, mais la Pi, c'est pratique dans certains projets.

I. Niveau matériel :
  1. une Raspberry Pi 2
  2. une alimentation 
  3. un mini clavier-souris sans fil (le mien est rikiki! Comme certains commentaires le disaient, on le confond vite avec la télécommande de la télé!)
  4. un écran avec port HDMI (ou un adaptateur)
  5. une carte SD 16Go semble un bon compromis
  6. un dongle wifi
  7. la camera Pi 5MP
  8. un boitier

II. Installer un OS :
On commence par télécharger un logiciel pour Windows appelé : Win32-Disk-Imager .
Ainsi que le fameux OS "Linux". Pour ma part, je tourne avec Raspbian .

Il suffit de lancer l'installation du DiskManager sous Windows (en mode admin, c'est mieux). Pendant ce temps, on décompresse l'archive Raspbian pour obtenir un joli *.img .

Il ne reste plus qu'à insérer votre carte SD dans votre lecteur et démarrer l'application DiskManger. A partir de là, on clique sur le "Dossier" pour aller chercher notre *.img et juste à coté pour indiquer la localisation de notre carte SD. 
ATTENTION : ne pas se tromper, sinon votre pc va mal le prendre !
Une fois que tout est bon, on clique sur "Write" et on attend.
Voilà, il ne reste plus qu'à brancher les périphériques et mettre sous tension la carte. Pour le paramétrage, je le présenterai prochainement (si je n'oublie pas entre temps!).