Show Posts
Pages: [1]
1  International / Français / Re: Mettre un atmega328 en arduino on: August 24, 2011, 05:36:30 pm
Suis pas vraiment à coté, sinon je t'en aurais preté une volontiers. L'option qui me parait la plus simple (et qui est aussi la plus logique si tu as l'intention de jouer un peu avec cette famille de uC), c'est d'acheter un petit proggy. Soit un officiel à pas cher (farnell code commande 1135517, 30€), soit un compatible (par exemple http://www.sparkfun.com/products/9825). Après, tu as
Sinon, si tu as une machine avec un port parallèle, tu peux en bricoler un (de proggy ISP) avec... du fil. C'est sale, mais c'est avec ca que j'ai flashé mon premier uC il y a un pti paquet d'années smiley-wink
2  International / Français / Re: Arduino Uno et moteur lève vitre 12v on: August 02, 2011, 08:30:51 am
Hello,
le plus simple, vu que tu n'as pas l'air de vouloir impérativement controler la vitesse du moteur, c'est d'utiliser des relais pour simplement faire marche/arret, en controlant la polarité appliquée au moteur:
- il te faut un petit transistor npn pour commander la bobine de chaque relai (une résistance de 1k entre ta pin de l'arduino et la base du transistor, l'emetteur du transistor à la masse, et ta bobine de commande de relai entre ton alim et le collecteur du transistor. Faire gaffe à choisir un relai et un transistor npn dont la tension/courant de bobine/courant de collecteur s'accordent).
- il te faut deux relais simples: pour chacun, le point commun sur une broche du moteur, le point NC (normalement connecté, c'est à dire position de repos) vers ta masse, le point NO (normalement ouvert, c'est à dire position active quand ya du jus dans la bobine de commande) vers le 12v.

Ensuite, tu as deux signaux "de commande":
- si tu laisses les deux à l'état bas, ton moteur est à l'arret (en réalité, il va "freiner", mais c'est léger à basse vitesse comme effet, et transparent pour toi).
- si tu mets les deux à l'état haut, ca va être la même chose
- si tu en mets un seul à l'état haut, il tourne dans un sens ; si tu mets l'autre, il tournera dans l'autre sens.

Attention: ne *pas* faire de pwm sur un relai, c'est la mort assurée assez rapidement. Enfin, si: faut le faire une fois pour voir ce que ca fait, c'est rigolo smiley

Autre chose: il faut choisir le courant de contact de tes relais ; sauf à en prendre des tout petits, tu auras de la marge. Courramment, ils sont spécifiés pour plusieurs dizaines d'ampères.
En espérant que ca t'aide smiley
3  Using Arduino / Programming Questions / Re: is it just me or Bounce library is broken ? on: August 02, 2011, 07:28:56 am
That is exactly what the author of the library told me. One issue is if you get EMI on your lines: *any* spike will trigger a state change, while a differently implemented code would avoid that. What I mean is that the current code doesn't detect "stable" change of state, it just freezes on any new state, which is quite different.
Check for example this page: http://www.ganssle.com/debouncing.htm
Anyway, as discussed by email, I have to agree that this patch would change quite a lot of things on a lib that is already widely in use, and therefore cannot be applied. I'll keep using my modified version, and everybody will be happy this way smiley
4  International / Français / Re: atmega328p seul on: July 22, 2011, 05:22:38 am
C'est effectivement tout à fait possible - et je confirme, rapidement rentable, quand tu as:
-plusieurs arduinos à mettre ensemble & pas besoin de toutes les features d'une arduino classique
-besoin d'une pile conséquente de shields pour ton application
C'est encore pire s'il n'existe pas vraiment de shield adapté à ce que tu veux faire.

D'autant que même en achetant à l'unité, sans bootloader tes atmega328, tu peux t'en sortir à vraiment pas cher *du tout*. Hint: en vendant 5€ le chip avec bootloader, ils se font une marge confortable... 2€ pour avoir chargé le bootloader, sur la base prix à l'unité, voire... 4€ sur la base du prix en quantité raisonnable. Je n'ai pas dit que c'était hors de prix (il faut bien faire le taff...), je dis juste que si tu veux encore réduire le prix, c'est faisable, en achetant tes uC "nus".
C'est moins "plug'n play" par contre, mais c'est faisable & abordable avec un peu de motivation, et potentiellement l'aide de ce forum smiley

D'autre part, si tu commences à avoir une application qui a besoin de 36 arduinos, il est peut être temps de vérifier s'il n'y a pas de plateforme plus adaptée... il y a une vie hors de l'écosystème Arduino, qui n'a pas la prétention de répondre à TOUS les besoins de manière optimale smiley-wink
5  International / Français / Re: Mettre un atmega328 en arduino on: July 22, 2011, 05:15:01 am
Hello,
je prends la chose en cours de route, et je crois que j'ai eu le même genre de soucis. Je développe des cartes 'arduino compatibles', au sens 328+ftdi+bootloader & pinout cohérent, et je suis donc dans la même situation que toi lors de la mise en route de mes cartes en fin de ligne d'assemblage.

Il se trouve que j'ai creusé la question, et bien que ce serait possible/envisageable d'utiliser une UNO comme proggy/flasheur vers une carte 2009 compatible, je n'ai pas trouvé de moyen simple de le faire. Je me suis tourné vers une de mes bonne vieilles 2009 "d'origine", et je n'ai aucun problème/j'ai gagné du temps.

Dans ton cas, je dirais que la chose la plus simple à faire, c'est de trouver soit quelqu'un qui a une 2009, soit directement un proggy compatible & d'attaquer le port ISP 6 points de ta carte cible, pour flasher le bootloader depuis l'interface.
J'ai utilisé passe un temps des USBtiny, mais... bon, c'est un peu de la merd... pardon: j'en ai pas été satisfait :/ J'ai utilisé aussi des proggy sur port parallèle (bidouillables en deux deux), mais j'ai plus forcément de port parallèle (et passé l'age de faire du mc gyverisme comme ca  smiley-mr-green). J'ai utilisé un dragon, mais il m'a claqué dans les doigts assez vite (cf les commentaires "élogieux" à propos de ce proggy d'entrée de gamme).

Je te proposerais bien de flasher ton 328, mais rien qu'en frais de port, ca va pas être très rentable pour toi... sauf si tu es en région parisienne, auquel cas je t'invite à passer à l'Electrolab pour faire la manip !
6  International / Français / Re: Existe-t-il des 'consultants' sur l'ecosysteme Arduino ? on: July 22, 2011, 05:02:59 am
A propos du choix d'internaliser/externaliser, de s'approprier un ensemble de compétences ou pas, c'est quelque part un choix stratégique. Ce n'est certainement pas à moi de te dire quelle est la meilleure approche pour votre entreprise ; par contre, je peux te donner des infos complémentaires sur les tenants & aboutissants de telle ou telle approche.

Pour préciser, il me semble effectivement intéressant de se tourner vers de la presta externe pour faire des développements de quelque chose dans l'univers Arduino, si vous estimez qu'il n'y a pas "de place" pour intégrer ce genre de compétences. D'une part parce que c'est une très bonne plateforme pour faire du prototypage rapide. D'autre part parce que même si vous faites appel à de la prestation pour gagner du temps et acheter de l'expertise, le résultat du développement, et même ce qui se passe tout au long du projet, sera potentiellement plus accessible & transférable vers vos propres équipes internes si c'est sur une base Arduino.

Ce que je veux dire par là, c'est qu'une fois que vous aurez été aidés pour choisir le bon ensemble de shields & autres, voire qu'une carte custom aura été développée, le tout accompagné des bouts de code requis & de la documentation nécessaire (bref, tous les éléments d'un proof of concept digne de ce nom), si tout cela repose sur une technologie un peu obscure/arcanique, eh bien vous serez pieds & poings liés avec le prestataire, ou globalement pas bien avancés.
Ce pourrait être assez différent si vous faites le choix de vous placer dans le petit monde arduino, vu l'étendue et la facilité d'accès de cette plateforme... Même si, comme tu as pu le voir, son pedigree reste très hobbyiste. Bon, on sait tous les deux qu'une PME se doit d'être flexible, et ne pas faire la fine bouche -ou pour le dire autrement: être plus intelligent que ceux qui ont les moyens de se cantonner à un rapide examen de brochures pimpantes, et à se fier à une facture très élevée pour juger de la qualité du travail fourni- quand il s'agit de trouver des moyens d'arriver à ses fins.
En poussant le raisonnement un peu loin, ce pourrait même être un argument commercial vis à vis de vos clients: vous achetez l'expertise hw, vous fournissez l'expertise sw&intégration, mais le client final, lui, pourrait voir un intérêt à pouvoir ajuster tel ou tel paramètre, à voir votre solution comme plus qu'une boite noire qu'on lui impose. En somme, la force de la plateforme, son coté open hardware peut s'appliquer à tous les étages: c'est un produit COTS par certains aspects (plug'n prototype), et c'est aussi un excellent point de départ pour s'approprier les choses plus en profondeur.

Bref ; ce qu'il vous faut coté organisation de projet, c'est:
- quelqu'un qui puisse rapidement/efficacement assister le lancement du premier proto & permette la réalisation d'un proof of concept en temps et en heure ;
- faire en sorte que vos personnels internes s'investissent dans le projet, puissent récupérer/s'approprier le plus possible les éléments du projet ;

Pour ce qui est du contenu, je n'ai jamais travaillé avec cette carte précisément, mais le premier survol donne une idée assez positive. Il faudrait se plonger dans les détails pour se faire une idée plus précise... et c'est de toute facon pas évident de donner un avis fondé sans en savoir un peu plus sur vos contraintes, exigences, etc. Je dirais même que ce serait faire les choses à l'envers que de dire "si je prends cette carte, est ce que ca colle à mon application ?". Il faut plutot approcher le problème de la sorte "voici mon application -tel aspect indispensable, tel autre souhaitable, tel autre cherry-on-ze-cake,... Quelle(s) carte(s)/système(s) correspond(ent) ?".

Sympa en tout cas s'il existe des dispositifs (aussi mal foutus soient-ils !) pour soutenir ce genre de démarche. Va falloir que je songe sérieusement à monter une structure, moi smiley-razz Quoi qu'il en soit, même pour simplement défricher, je suis à dispo aussi en privé (si tu préfères commencer à discuter des détails de ton application dans ce genre de contexte).
7  Topics / Education and Teaching / Re: Searching for someone that could talk to us about Arduino on: July 21, 2011, 08:44:28 am
This is something I would love to do, if given the opportunity. I would have to do the workshop/talk in english, tho... private message me if you're interested smiley
8  International / Français / Re: Existe-t-il des 'consultants' sur l'ecosysteme Arduino ? on: July 21, 2011, 08:13:51 am
Hello,
il se trouve que je suis électronicien de métier, j'utilise des Arduino en tant que hobbyiste, et parfois professionnellement quand c'est adapté. Je connais donc relativement bien les tenants & aboutissants de la plateforme. J'ai développé plusieurs projets sur cette base, et également réalisé plusieurs cartes custom, c'est à dire qui se programment "comme une arduino", mais dont le hw a été taillé sur mesure pour intégrer l'électronique nécessaire aux capteurs/actionneurs, connectique, etc spécifique à chaque application.

Ce que je retiens de la description de ton problème initial, c'est que vous n'avez pas d'électronicien en interne, et il semblerait que ce n'est pas prévu de recruter ce genre de compétences. Sur la base de ce constat, voici quelques remarques:
- si parmi les développeurs que vous avez en interne, il y en a qui sont suffisamment curieux pour "se mettre à l'électronique", au moins le strict minimum nécessaire pour appréhender/faire fonctionner une arduino, ce peut être une bonne approche ;
- si vous souhaitez éviter cette démarche, voire gagner du temps, il peut etre intéressant de trouver des presta/sous traitant à même de vous fournir du hardware adapté à votre cahier des charges.

Dans le premier cas, je dirais que c'est effectivement accessible/faisable, mais avec tout de même plusieurs "risques" :
- en utilisant des éléments COTS, tu peux prototyper rapidement, mais même si certains vendent à leurs clients finaux des devkits installés à l'arrache dans des boitiers (vu de mes propres yeux...), ce n'est pas une solution très fiable, ni, assez rapidement, très rentable (il y a pas mal d'économies faisable sur le hard, le montage, etc, à développer sa propre solution custom.
- ce n'est pas évident non plus que ces personnes soient rapidement opérationnelles, voire ne passent pas un temps fou sur des problèmes qu'un "expert" traiterait efficacement.

Dans le deuxième cas, la question est de savoir quel niveau d'autonomie/déléguation vous souhaitez donner à ce presta/sous traitant. Il est envisageable d'avoir de l'aide pour faire une préétude, voire un Proof of Concept, pour bien détailler le besoin, ou bien seulement en dépannage/conseil ponctuel. Il est possible aussi de confier l'étude complète de la chose pour obtenir un hard+API&autre pour que vos softeux puissent se concentrer uniquement sur l'aspect purement applicatif. Naturellement, l'ampleur/le budget de ces différentes approches n'est pas la meme...

Quoi qu'il en soit, je trouve ca fun comme domaine d'activité, et je suis dispo si tu veux qu'on en discute de plus près, pour faire ensemble un bout de la préétude.
9  Using Arduino / Programming Questions / is it just me or Bounce library is broken ? on: July 21, 2011, 06:28:21 am
Hi,
I've been trying to use the Bounce library, and have had weird results. I think I use the latest revision of the code, with arduino 022, on a 'full custom, home made' arduino 2009 compatible board (eg 328 based).

My test setup is as follow: I use the bounce example code, and my switch is a two way switch open/to the ground, so in the setup() I added this line:
  digitalWrite(BUTTON,HIGH);//enable pullup, because we're switching ground

I also change the delay to 1500ms... just to be sure.
Then, I do the following:
-switch quickly from open to closed, and closed to open again. quickly as 'certainly in less than 1500ms', to see if the debouncing works.
-switch quickly from closed to open and backward: same stuff but from a different stable state.
guess what the result is ? Actually, as soon a I change the switch state, the led state changes ; it then stays this way for approx 1500ms, before coming back to the expected state.
So... I checked the source code, and found that the "int Bounce::update()" function is clearly broken.

Here's my proposed patch:
//Quick'nDirty style patch ; should be cleaned out before release, but this at least, actually works
int Bounce::update() {
   uint8_t newState;
   
   //check if pin changed
   newState = digitalRead(pin);
   if (state != newState ) {
      if(false == stateChanged) { //check the flag, to see if it's the first time we see this change
         stateChanged = true;
         previous_millis = millis();//reset counter
      }
   }
   if (millis() - previous_millis >= interval_millis) {//debouncing time elapsed, time to draw some conclusions   
      if(state != newState ) {//the state durably changed, reflect that
         state = newState;
         stateChanged = false;//dont forget to reset this flag
      }
      else { //false alert, filter this change out and watch for new events
         stateChanged = false;//dont forget to reset this flag
      }
   }
}

PLEASE NOTE: I haven't tested the other functions of the lib with this patch. It may have broken, but hey, as the core functionnality was broken, I suppose it'd be wiser to check the whole thing before using any other bit of it.
Hope this helps...
Pages: [1]