Modifications

Controleur de Lumière

2 428 octets ajoutés, 15 octobre 2014 à 13:46
Fichiers finaux
{{Projet
|status= Prototype|image=Light.control.soldered.board.jpg|description=Une centrale de phares clignotants pour velo ou velomobile|license=CC-by-sa-3.0|contributeurs=Cedric|ingrédients=electronique
|name=Contrôleur de lumière
|description=Une centrale de phares clignotants pour velomobile
|license= CC-by-sa-3.0|Creative Commons Attribution CC-by-sa-3.0 France
 
|contributeurs=Cedric
|ingrédients=electronique
}}
 
 
==Résumé==
==Essais==
 
 
on programme le tiny en tapant
make -f Light.control.44.make program-usbtiny
<code lang="python">class C_5mm(part):
class C_5mm(part):
#
# 5mm capacitor
#
#
def __init__(self,value=''):
self.value = value
self.labels = []
self.pad = [point(0,0,0)]
#self.shape = rectangle(-.02,.02,-.11,-.019) self.shape = cube(-.02,.02,-.11,-.019, 0,0)
self.pad.append(point(0,0.05,0))
self.labels.append(self.text(self.pad[1].x,self.pad[1].y,self.pad[1].z,'-'))
self.shape = add(self.shape,rectanglecube(-.02,.02,.019,.11,0,0))
self.pad.append(point(.0,-.05,0))
self.labels.append(self.text(self.pad[2].x,self.pad[2].y,self.pad[2].z,'+'))</code>
 
à noter que j'ai découvert une particularité du code : pour faire des traces qui ne dessinent pas aussi des trous, il faut utiliser des primitives de volume (cube, cylinder...), les formes plates (square,circle) provoquant des trous.
===Le circuit principal===
j'ai repris le même schéma en élargissant les pistes de puissance.
J'ai créé une dérivation pour avoir le choix d'alimenter les lampes soit en 5V régulé, soit avec l'alimentation principale (pile 9V6 à 12V)
[[image:Light.central.v2.44.board.png|300px]][[image:Light.central.v2.44.cut.png|300px]][[image:Light.central.v2.44.traces.png|300px]]
les fichiers sont en 90pixels72pixels/mm *R2,R3,R4 = 100k
===Le capteur de lumière===
 
Work in progress : [[Media:Lumvelo.zip]]
 
 
===Fabrication===
 
====Fraisage====
 
Le circuit est réalisé en fraisage avec la Modela MDX20
 
====Soudure des composants====
 
[[image:Lumvelo.soude.jpg|600px]]
 
====Cablage====
 
Le circuit a deux ou trois options de cablage :
* on peut choisir la tension d'alimentation des lumières
* on peut éventuellement cabler le capteur de lumière avec les interupteurs (du code doit être écrit)
 
[[image:LightControl.wiring.png|600px]]
 
===Tests===
 
sans charge, ça fonctionne bien
 
mais lorsqu'on câble des leds derrière les mosfets, ça fait des trucs bizarres
 
Avec Laurent, j'ai découvert que même sans charge, l'alim perd 1 V quand on actionne les inter de clignotants : ça fait beaucoup alors je check mon code
 
Je pense que les entrées en pullup fonctionnent bizarrement.
 
 
Je vérifie la mise en oeuvre des résistances pullup http://www.micahcarrick.com/avr-tutorial-switch-debounce.html
 
 
 
===Debuggage===
 
Avec l'aide de Laurent, j'ai réussi à isoler le problème :
 
En voulant configurer mes entrées numériques en "pullup", je les ai configurées en sortie, donc lorsqu'on actionnai un interrupteur, elles tentaient de fournir un maximum de courant (car étant reliées à la masse, elle provoquaient un court circuit).
 
J'ai donc changé le code :
 
<code lang=C>
// initialise button pins pullup
//
set(button_port,LeftBton_pin);
set(button_port,RightBton_pin) ;
set(button_port,LightBton_pin);
//initialise inputs
set(Lights_direction,LeftBton_pin);
set(Lights_direction,RightBton_pin);
set(Lights_direction,LightBton_pin) ;
</code>
 
 
par
 
<code lang=C>
// initialise button pins pullup
 
button_port |= _BV(PA4);
button_port |= _BV(PA5);
button_port |= _BV(PA6);
</code>
 
 
Finalement le code fonctionne !
 
 
===Fichiers finaux===
 
Je publie d'hors et déjà les [[media:LightControl.V2.zip|fichiers de fabrication finaux]], avant d'[[Controleur_de_Lumière/Implantation|implanter le circuit]] dans mon vélomobile
[[Catégorie:FabAcademy]]
0
6 691
modifications