Aller au contenu


ChristianR

Inscrit(e) (le) 22 janv. 2013
Déconnecté Dernière activité févr. 05 2016 09:00
-----

#63848 Circuit interrupteur avec Delay

Posté par ChristianR - 19 février 2015 - 07:01

Un circuit intégré NE555 utilisé en monostable génère une impulsion de durée fixe.

http://fr.wikipedia.org/wiki/NE555

.




#63806 Compteur de vitesse arduino et attachInterrupt

Posté par ChristianR - 13 février 2015 - 10:41

Si l'Arduino ne fait que ça, une simple boucle fait l'affaire.

Par contre s'il y a d'autres morceaux de programmes qui doivent tourner en même temps,avec un timing critique, les interruptions permettent de ne pas rater d'impulsions.




#62000 Probleme de compréhension de ce programme...

Posté par ChristianR - 15 octobre 2014 - 04:11

Tu allumes les moteurs, donc ils se mettent à tourner, puis le programme ne fait rien pendant 5 sec.

Donc ils continuent de tourner, et le feront tant qu'on ne leur demande pas explicitement de s'arrêter




#61427 Ènième tondeuse autonome

Posté par ChristianR - 11 septembre 2014 - 10:28

Les moteurs de traction, avec réducteur, retenus sont des 1447 de Pololu.
Ils permettent un asservissement de vitesse grâce au codeur relatif dont il est équipé.
Qu'en pensez-vous ?
Seront-ils assez costaud pour porter la charge ?

Quelle puissance font ils ?
Car il faudra embarquer le moteur de coupe (plutôt un seul, pour alléger) et les batteries.


#59905 Emmètre un bip avec une arduino

Posté par ChristianR - 14 février 2014 - 08:41

Tu peux même faire de la musique
http://www.arduino.cc/en/Tutorial/melody#.Uv5xQfl5Pic


#59762 commande a distance

Posté par ChristianR - 05 février 2014 - 12:12

oui, la télécommande de radiomodélisme 2.4 Ghz peut porter à plus de 100m elle aussi, en terrain dégagé ou peut aller loin (avions, ...).


#59542 Valeur neutre microservo

Posté par ChristianR - 25 janvier 2014 - 11:38

Avec Servo_Gauche.write(0); le servo se positionne au centre.


#59479 Mesure de distance

Posté par ChristianR - 22 janvier 2014 - 05:32

J'ai testé ce capteur ultrasons, sa précision est effectivement d'environ 1 cm dans le meilleur des cas, pour une portée effective de 300 cm (plutôt 250 cm d'ailleurs, ça dépend si l'obstacle en face est plat et dur).

Les capteurs à infrarouge usuels portent à environ 1m, mais comme on mesure un angle leur précision se dégrade vite avec la distance.

Une précision de 1 mm à 10 m c'est du 1/10 000 donc 0.01 % que tu demandes, sors le chéquier !
A moins de déplacer le robot pour viser plusieurs fois sous différents angles (faire de la pseudo sétéréo).


#59068 Choisir un module Bluetooth pour commander un robot.

Posté par ChristianR - 29 décembre 2013 - 04:23

Les modules bluetooth sont alimentés en 3.3 V (ne pas mettre de 5V dessus).

Ceux de la série 1 possèdent 7 entrées avec en plus 2 sorties en modulations d'impulsions PWM (contrairement à ceux de la la série 2 qui n'ont pas ces sorties).
Ces sorties sont bien pratiques pour commander la vitesse de rotation des 2 roues de ton robot pour tourner.
On trouve des modules BlueTooth "Pro" qui marchent à ~1000 mètres, compatibles broche à broche avec les normaux.


#58767 quel kit arduino pour débuter

Posté par ChristianR - 17 décembre 2013 - 10:51

Pour débuter un bon kit de base suffit, avec les tutoriels sur internet ou un livre.
Ensuite tu voudras certainement compléter ça par des moteurs, servomoteurs, L293 de pilotage de moteurs si l'objectif est de faire de la robotique qui bouge.
Mais c'est important de ne pas griller les étapes, faire clignoter une led et écrire ses propres programmes c'est la base.


#58288 Table oscillante

Posté par ChristianR - 08 novembre 2013 - 04:27

Je suggère de monter une came sur l'axe du moteur pour faire monter et descendre le plateau, ça permet de rester avec une rotation lente et continue, qui sera plus simple à gérer que des marche / arrêts minutés.
Si le plateau est bien équilibré sur son axe de rotation, un petit moteur 12v suffira.
Monter 2 engrenages de démultiplication pour passer à 10 tours / minute.
La came peut se découper en bois à la scie sauteuse par exemple.


#54476 Projet de robot dont le nom est 'Green' - base en bois - 4 roues

Posté par ChristianR - 19 mars 2013 - 07:11

Un dongle wifi, c'est ça
Image IPB
ca rajoute le wifi à un (ancien) ordinateur qui ne l'a pas d'origine.


#54459 Projet de robot dont le nom est 'Green' - base en bois - 4 roues

Posté par ChristianR - 18 mars 2013 - 11:31

Le wifi fonctionne sans internet ni box et avec un PC qui n'est pas wifi il suffit de lui rajouter un petit émetteur sur une prise USB (wifi dongle), ça a le mérite d'être simple.
Il existe des contrôleurs de moteurs qui gèrent 4 moteurs à courant continu.


#53747 Asservissement et temps de réaction du programme...

Posté par ChristianR - 25 février 2013 - 11:27

Oui tu comptes toutes les impulsions, mais en utilisant une interruption Arduino qui dure très peu de temps à chaque pulse, le reste du temps le programme est disponible pour faire autre chose.

Exemple de code ici http://www.mon-club-elec.fr/pmwiki_mon_club_elec/pmwiki.php?n=MAIN.ArduinoInitiationEntreesOnOffOptoFourcheCompteTourTerminal


#53734 Asservissement et temps de réaction du programme...

Posté par ChristianR - 25 février 2013 - 02:04

Les capteurs Hall fonctionnent très bien pour mesurer la vitesse de rotation d'un moteur, on s'en sert par exemple pour caler précisément les phases de moteurs brushless triphasés. (Ou sur des compteurs de vitesse de vélos avec un aimant sur la jante).

On les monte soit dans le moteur (à démonter), soit sur l'extérieur du moteur. Il y a une face sensible au champ magnétique, tester leur position et orientation avant de les coller.

Il est tout à fait possible de mesurer la vitesse du moteur tout en restant vigilant sur les obstacles devant le robot.
Il ne faut pas faire une boucle "bloquante" qui ne fait que chronométrer la vitesse, sinon ça fait un temps mort dans l'exécution du reste du programme qui sera "aveugle" pendant ce temps.

L'arduino est capable de mesurer une durée d'impulsion avec PulseIn :
http://arduino.cc/en/Reference/PulseIn

L'utilisation de la fonction millis() permet d'éviter la fonction delay() ou d'autres fonctions bloquantes, qui sont à éviter d'une manière générale en robotique.

Voir cet exemple http://arduino.cc/en/Tutorial/BlinkWithoutDelay

Tu crées une variable qui mémorise millis() au moment de l'entrée de la boucle principale, et au passage suivant tu calcule le temps écoulé par différence, d'où la vitesse de rotation.

Arduino gère les interruptions heureusement.