Archive

Archive for the ‘PIC’ Category

Barrette écologique – suivi 2

27 août 2010 Commentaires fermés

Nous voici donc dans la partie hardware. Le logiciel va continuer son évolution, mais dans des fonctions plus fines et des ajustements. Il s’agit donc de mettre le prototype sous forme de prints à réaliser, et de câblage à définir.

barette_prises_2
Prototype barrette

Un grand merci à Maurice Wulliens qui s’attelle à la réalisation des prints! Après discussion, nous avons décidé d’organiser le montage en minimisant les composants dans le boîtier de commande, lequel contiendra:

  • Le module WEB Modtronic SBC65EC
  • Une alimentation 230 VAC – 9VDC
  • l’horloge temps réel
  • les entrés de commutateurs
  • les pilotages de LEDs
  • les pilotage des triacs

Ces 3 derniers iront sur des connecteurs et seront reliés par câbles plats.

L’intégration dans une barrette du commerce, suffisamment démontable est prévue pour:

  • 2 à 3 prints pour le puissance, avec triacs et optos
  • 1 print de mesure du courant
  • les boutons poussoirs
  • les LEDs

Donc pas mal de choses à intégrer à la barrette. Le modèle retenu est vendu par la Migro. C’est un assemblage dans un rail en plastique, comportant un bouton d’allumage et 6 prises. les extrémités du profil sont fermées par deux flasques, facilement usinables pour nos besoins. En voici un aperçu:

barrette Migro avant démontage

Barrette Migro couvercle ouvert

couvercle ouvert

L’idée est donc de mettre des prints avec les triacs dans la barrette, de manière à diminuer la taille du module de commande, et aussi à ne pas y introduire de puissance. Suite au prochain épisode!

Catégories :Ecologie, hardware, PIC

Techniques de découpage de tâches

13 août 2010 Commentaires fermés

Techniques de découpage de tâches.
Ou : comment faire fonctionner un système plutôt spartiate comme si il était doté d’un véritable OS?
Comme j’ai inséré des images directement dans le texte, et qu’il y a aussi des tableaux, voir le PDF sur mon site
ici.

Commentaires bienvenus!

Horloge et table de commutation

6 mars 2010 Commentaires fermés

Dans l’implémentation du code nécessaire au projet « barrette écologique », j’ai quelque peu séché sur le problème du suivi de la table de commutation. Celle-ci contient des données non-triée de temps, de jour(s) de la semaine et de la commutation à appliquer.

Comment trouver à coup sûr la dernière commutation et la prochaine à venir? Une fonction de différence de temps est nécessaire et rend un delta:

delta = ((int) prtc_line->hour - (int) DB_SystemClock.Time.hh) * 60 +
(int) prtc_line->minute - (int) DB_SystemClock.Time.mm;

Petit piège en langage C, les bytes à transformer en int, sinon-> écrêtage à 255. Ensuite, nous parcourons régulièrement toutes les lignes du tableau de commutation.  Ainsi la valeur obsolète sera mise à jour. Celle-ci sera remplacée au fil des scan, si une ligne plus proche existe dans la table, parcourue de 0 à n.

Pour résoudre ce problème, je me suis contenté d’une fonction qui ne traite que 24 heures, laissant à plus tard son complément pour traiter des semaines. Le tableau ci-dessous montre la simplicité du raisonnement pour 24H:

  • Le plus grand delta négatif est celui de la dernière commutation à 11h – l2;
  • Le plus petit delta positif, la prochaine commutation 13h – l3.

Sur une semaine, ça ne fonctionne plus! En effet, admettons que nous sommes lundi (jour=1) et que les commutations sont seulement sur dimanche, jour=7? En admettant que notre fonction « delta » ajoute 24*60 par jour, il apparaît que la prochaine commutation est la première de dimanche, et la commutation en cours est la dernière de dimanche!! Tous des nombres positifs!! Notre fonction va donc trouver

  • Le plus grand delta (mais pas négatif) sera celui de la dernière commutation à 14h – l4;
  • Le plus petit delta positif, la prochaine commutation 10h – l1.

Faut-il une logique « intraday », travaillant avec +/- et une autre pour les jours à distance?

Commutation

l1

l2

time

l3

l4

heure

10h00

11h00

’12:10

13h00

14h00

Delta

-130

-70

delta

+50

+110

Delta corrigé 1 semaine

+9950

+10010

+50

+110

La solution est la suivante: lors de la recherche et comparaison, pour éviter les problèmes des jours répartis sur une semaine, on ajoute une correction de 7 jours * 24 heures * 60 minutes au temps de commutation de la ligne lue s’il est inférieur a 0. ce calcul tient compte du fait que les écarts sont cycliques sur une semaine de 7 jours. De ce fait, le test de comparaison de temps se fait toujours sur des nombres strictement positifs, et fonctionne pour le jour courant et … les autres de la semaine.

Grâce à Code::Blocks, j’ai pu tester et valider mes fonctions efficacement, car modifier + charger le binaire dans le module PIC est bien long… voir: https://microclub.wordpress.com/2009/11/23/barrette-ecologique-suivi

Yves Masur

Wireshark opérationnel sous W7

18 novembre 2009 Commentaires fermés

Wireshark 1.2.4 (stable) has been released – ça fait plaisir! Enfin on peut utiliser cet analyseur de réseau sous Windows 7. Et il s’installe sans coup férir (32 bits – je n’ai plus la 64 bits…)

En effet, pour le projet « Barrette écologique »,  j’avais besoin de sniffer ce qui se passe entre le module MXBOARD. Jusqu’ici, je devais passer par le débugger et voir ainsi les trames reçues/envoyées, via ligne série!

Le but est de trouver une requête régulière que ferait un PC, pour lancer un timer de prolongation de durée de l’enclenchement du secteur.

//Yves

Proposez un Microprojet !

14 mars 2009 Commentaires fermés

Microclub aide les jeunes intéressés par la robotique et l’électronique

Les jeunes sont attirés par la robotique et par les possibilités qu’apportent l’électronique et les microcontrôleurs. Mais réaliser une idée n’est pas facile, souvent par manque de matériel, de documentation en français et de contact avec des spécialistes. Il est donc évident que les jeunes ont besoin d’un encadrement et de ressources.

Microclub a été créé en 1976 quand l’électronique était en plein essor et que les premiers microprocesseurs devenaient disponibles. De par ses statuts, il encourage l’étude des microprocesseurs et leurs applications. C’est pourquoi Microclub offre son aide pour susciter et développer des activités groupées de jeunes en Suisse romande.

Microclub lance donc à l’intention de tous les intéressés un appel pour des Microprojets concernant des activités touchant au domaine de l’électronique et de la robotique, comme par exemple :

  • Proposer une réalisation originale, en équipe de préférence.
  • Créer un club avec des copains et demander de l’outillage et des composants
  • Organiser des concours ou des démonstrations
  • Demander l’organisation d’ateliers ou de cours, ou les organiser avec le soutien de Microclub

Pas besoin d’idées très précises au départ, pas de paperasserie, mais de l’enthousiasme !

Microclub parrainera les projets en faisant intervenir un membre géographiquement proche pour que l’interaction soit facile. Le parrain de Microclub aidera à concrétiser et mettre en place un bon scénario.

Si le projet est viable et la structure adéquate, Microclub offrira tout ou partie du financement nécessaire.

A noter que Microclub ne sponsorisera pas des concours ou des activités déjà en place : son but est d’encourager de nouvelles activités, simples ou ambitieuses, qui ne pourraient pas démarrer et réussir sans son soutien.

La procédure pour solliciter Microclub est très simple :
Envoyez un courriel à microprojets@microclub.ch dans lequel vous exposez simplement votre idée. Indiquez également où vous habitez et où vous étudiez ou travaillez.

Quel que soit votre âge – pour autant que vous ayez envie d’utiliser un fer à souder et de faire l’effort de comprendre la robotique – contactez-nous !
Bricobot vous aide par l’information sur son site. Microclub offre son soutien, matériel, technique ou financier pour démarrer, un parrainage et même des possibilités de contacts (autorités, obtention de locaux, de matériel, etc.)

Profitez-en pour découvrir le plaisir d’apprendre, d’inventer et de construire avec des amis !

Vous trouvez ce texte avec des commentaires sur les photos sur www.bricobot.ch

Jean-Daniel Nicoud

Catégories :PIC, processeurs, robot

Des PICs – pourquoi faire ? – comment faire ?

11 novembre 2003 Commentaires fermés

J.D. Nicoud

La famille PIC continue à s’enrichir. En 8 pattes, on a enfin des versions 12F avec le répertoire d’instruction des 16F, des canaux analogiques et naturellement l’oscillateur interne. En 16 pattes, le 16F627/628 a aussi l’oscillateur interne et une interface série. Le nouveau 16F88, si on peut le programmer, est encore plus complet (8A/D, Série, SPI, I2C). La famille 16F87x offre plus d’entrées-sorties. Un 40 pattes (16F871 ou 16F877) est très utile pour mettre au point des applications avec des tout petits processeurs, comme on le verra plus loin.

Maurice Wulliens a dessiné 4 circuits pour disposer d’environnements de développement adaptés à vos diverses applications. Le programmateur est piloté par le graticiel ICprog. Trois cartes de développement sont à disposition pour les processeurs de 8, 14, 18, 28 et 40 pattes (voir www.didel.com/picg/).

SmileNG, et son nouveau frère Picolo qui tourne sur Linux, Mac et Windows, offre l’assembleur CALM dont les notations sont nettement plus lisibles que celles de Microchip. La documentation didactique permet de rapidement apprendre à programmer et à apprécier les jolis trucs de programmation du PIC. Une librairie de programmes expliquée facilite les applications.

Ecrire un programme pour le PIC suppose une compréhension des nombres binaires, de leur représentation en hexa et une connaissance des instructions et pseudoinstructions. Mais il y a très peu d’instructions et pas de modes d’adressage compliqués. On se familiarise très vite en exécutant quelques programmes variés. Lire la suite…

Catégories :PIC