Pages: [1] 2 3   Go Down
Author Topic: Comment charger un atmega328 via arduino atmega328 ?  (Read 3834 times)
0 Members and 1 Guest are viewing this topic.
Bretagne
Offline Offline
Jr. Member
**
Karma: 0
Posts: 80
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Bonjour,

Je suis toujours sur mon automate pour aquarium. Le programme est terminé pour sa première version.

J'ai réaliser un circuit avec un atmega328 dessus car je ne souhaite pas utiliser l'arduino mais uniquement le microcontroleur.
J'ai prévu dessus un groupe de 6 broches pour pouvoir charger le microcontroleur directement sur mon montage.

http://crevettegreg.free.fr/Arduino/Capture1.pdf

---

J'ai commandé sur ebay un kit comprenant un atmega328 et le quartz. Kit reçu ^^
Si j'ai bien compris il faut procéder en 2 étapes:

1 - Charger le Bootloader
2 - Charger le programme

Mes questions sont les suivantes:

Ai je bien relier mes broches sur mon circuit ?
Y a t'il bien deux étapes: bootloader puis programme ?
Comment savoir si il y a déjà un bootloader sur l'atemega que j'ai reçu ?
Peut t'on utiliser directement le logiciel Arduino pour programmer puis utiliser le bouton upload ?
Est on obligé de mettre un bouton reset avec une résistance ou peut on juste relier a la broche reset sans rien d'autre ?

J'ai trouvé pas mal de tuto mais c'est assez compliqué pour moi... je débute...
Je suis un peu perdu...

Merci d'avance pour votre aide !

Une petite photo pour le fun de mon circuit...
Il me reste encore les triacs et qqs autres composants a souder... Allez, soudure en attendant vos réponses !





Merci d'avance pour votre aide !
« Last Edit: January 18, 2012, 10:00:55 pm by tetardo » Logged

Chulak
Offline Offline
Full Member
***
Karma: 2
Posts: 234
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

sinon autre solution simple si tu a un arduino uno avec un dip .. tu le remplace par ton atmega, tu charge le bootloader via le programme arduino, ensuite tu charge ton programme et tu retire l'atmega, et tu le met sur ta carte..
Logged

Aimez la Vie, mais preferez la Mort, car seulement celle-ci vous liberera des tenebres de la Vie.

Bretagne
Offline Offline
Jr. Member
**
Karma: 0
Posts: 80
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

hey,

Merci pour ta réponse, mais cette solution est bien si tu as un ou deux montage a produire. sinon le DIP va souffrir...
Dans mon cas, je ne peux me permettre... je vais en avoir pas mal a faire, j'essai de trouver un solution pour gagner un peu de temps
Logged

Offline Offline
Faraday Member
**
Karma: 33
Posts: 4982
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

hey,

Merci pour ta réponse, mais cette solution est bien si tu as un ou deux montage a produire. sinon le DIP va souffrir...
Dans mon cas, je ne peux me permettre... je vais en avoir pas mal a faire, j'essai de trouver un solution pour gagner un peu de temps
bonjour
un ZIF DIP28 et on en parle plus !

genre ça
http://www.sparkfun.com/products/9175

et si besoin d'un peu de hauteur pour passer au dessus de connecteur ICSP , tu l'empile sur 1 ou 2 suports DIP classiques
Logged

France
Offline Offline
Faraday Member
**
Karma: 55
Posts: 5347
Arduino Hacker
View Profile
WWW
 Bigger Bigger  Smaller Smaller  Reset Reset

Bonjour,

Ai je bien relier mes broches sur mon circuit ?
Je vois plusieurs chose qui pourrait mettre à mal ton montage smiley-small
1 - Il y a un net_alias sur les broches RX et TX de l'atmega du nom de RAMPE_1 et RAMPE_2 mais je ne vois aucune terminaison avec le même nom ...
ça peut vouloir dire deux choses, tu n'as pas cabler cette partie, ou pire tu as oublié que RX/TX correspond au port série, port série qui sert à l'envoi du programme depuis l'ide arduino.
Cabler quelque chose sur TX/RX n'est pas interdit mais il ne faudrai pas que cela empéche l'envoi du programme par la suite.
2 - Ton ATmega328p tourne avec un quartz 32KHz smiley-eek-blue je suppose que tu veut faire du temps réel avec, mais avec l'ide arduino c'est 16MHz ou 8MHz, rien d'autre !
3 - Je vois plein de net_alias qui ne pointe vers aucune autre partie du schéma, c'est normal ou il manque une partie du schéma !?

Y a t'il bien deux étapes: bootloader puis programme ?
Oui si tu veut utiliser l'ide arduino il faut d'abord programmer le bootloader puis utiliser le port série pour envoyer le programme.

Comment savoir si il y a déjà un bootloader sur l'atemega que j'ai reçu ?
Ne cherche pas à savoir si il y a déja un bootloader, envoi directement la bootloader sur l'ATmega, ça t'évitera de te retrouver avec un bootloader ancien ou brické smiley-wink

Peut t'on utiliser directement le logiciel Arduino pour programmer puis utiliser le bouton upload ?
Utilise t'as carte arduino smiley-wink
Tu envoi le sketch ArduinoISP dessus, tu place une diode entre reset et gnd (ou vcc je sais plus smiley-red) si c'est une UNO/mega2560 ou alors une résistance entre reset et VCC si c'est une carte arduino plus ancienne.
Tu branche en ISP ta carte, ensuite tu fait "burn bootloader" dans le menu de l'ide et tu attend smiley-wink

Est on obligé de mettre un bouton reset avec une résistance ou peut on juste relier a la broche reset sans rien d'autre ?
Non tu peut juste mettre une résistance entre VCC et reset sans rien d'autre mais garde quand même un jumper ou un truc pour pouvoir faire un reset au cas ou smiley-wink

Une petite photo pour le fun de mon circuit...
Il me reste encore les triacs et qqs autres composants a souder... Allez, soudure en attendant vos réponses !
Ha! Un schéma sous proteus, pas un truc fait sous eagle smiley-cool ... je suis content pour la journée smiley-mr-green
Ps: quelle version de proteus tu as ? J'ai la 7.5 mais j'ai pas les prises jack/ds1307/... tu as fait les empreintes toi même ?
Logged

Des news, des tuto et plein de bonne chose sur http://skyduino.wordpress.com !

Offline Offline
Faraday Member
**
Karma: 33
Posts: 4982
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Bonjour,

Je suis toujours sur mon automate pour aquarium. Le programme est terminé pour sa première version.
...



Merci d'avance pour votre aide !

BAT1 à 1.5V  pour le ds1307 c'est hors limites  smiley-mr-green
Logged

Bretagne
Offline Offline
Jr. Member
**
Karma: 0
Posts: 80
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Alors Alors ^^

Pour commencer, merci pour vos réponses !

@Artouste

Quote
si besoin d'un peu de hauteur pour passer au dessus de connecteur ICSP , tu l'empile sur 1 ou 2 suports DIP classiques
Merci pour l'idée, c'est pas *on du tout !

@skywodd

Quote
Il y a un net_alias sur les broches RX et TX de l'atmega du nom de RAMPE_1 et RAMPE_2 mais je ne vois aucune terminaison avec le même nom ...
Normal, le shéma des triacs est sur une autre feuille... je les ai testé et il fonctionnent parfaitement.
Pour les broches RX et TX, je n'avais pas pensé que cela pouvait gêner a l'envoi du programme... le mieux est du coup d'essayer de les avoir toujours libre. Un petit 74HC595 devrait m'aider a les libérer.

Code:
Ton ATmega328p tourne avec un quartz 32KHz
Non non, il est en 16, j'ai juste pas fait attention a la valeur sur mon shéma (merci :p)

Code:
Ha! Un schéma sous proteus, pas un truc fait sous eagle  ... je suis content pour la journée
Autant apprendre avec des truc pas trop mal... c'est un gain de temps

Code:
quelle version de proteus tu as ? J'ai la 7.5 mais j'ai pas les prises jack/ds1307/... tu as fait les empreintes toi même ?
Version 7.7 sp2 build 9089 (j'ai un zip si tu veux mais c'est pas bien :p)... mp...
Voui, j'ai fait les composants schéma + empreintes moi même... c'est pas bien dur !

@Artouste

Code:
BAT1 à 1.5V  pour le ds1307 c'est hors limites
Oupsss... comme le quartz, j'ai pas fait attention, la pile est une 3v

---

Autre question, c'est quoi "big-bang serial" ?

Merci à tous :p
« Last Edit: January 19, 2012, 11:53:05 am by tetardo » Logged

Bretagne
Offline Offline
Jr. Member
**
Karma: 0
Posts: 80
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Autre question: Les triacs sont assez fragiles... peut on les relier avec une petite plaque métallique et des vis ?
« Last Edit: January 19, 2012, 10:51:03 am by tetardo » Logged

Bretagne
Offline Offline
Jr. Member
**
Karma: 0
Posts: 80
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Apres réflexion, ajouter un 74HC595 est pas bien compliqué mais j'ai peur de manquer de place sur la carte et tout ça pour juste charger directement dessus.
Le plus simple est de charger la puce avant de la mettre sur le circuit je vous l'accorde.

Que feriez vous ?

Voici le schéma modifier avec la partie manquante:
http://crevettegreg.free.fr/Arduino/capture2.pdf
http://crevettegreg.free.fr/Arduino/capture2b.pdf

Merci d'avance pour vos idées...
Logged

France
Offline Offline
Faraday Member
**
Karma: 55
Posts: 5347
Arduino Hacker
View Profile
WWW
 Bigger Bigger  Smaller Smaller  Reset Reset

Normal, le shéma des triacs est sur une autre feuille... je les ai testé et il fonctionnent parfaitement.
Pour les broches RX et TX, je n'avais pas pensé que cela pouvait gêner a l'envoi du programme... le mieux est du coup d'essayer de les avoir toujours libre. Un petit 74HC595 devrait m'aider a les libérer.
Non pas la peine smiley-wink tu ajoute juste deux jumpers, quand tu programme tu enlève les jumpers et quand tu est en fonctionnement tu les remets, simple, rapide, pas chère, et terriblement efficace smiley-wink

Non non, il est en 16, j'ai juste pas fait attention a la valeur sur mon shéma (merci :p)
Ok smiley-kitty

Autant apprendre avec des truc pas trop mal... c'est un gain de temps
Bonne philosophie ! proteus FTW smiley-cool

Autre question, c'est quoi "big-bang serial" ?
C'est une technique qui permet de programmer un µc AVR en utilisant le circuit FT232 qui normalement s'occupe de la liaison série, en faite il a une fonction spécial qui permet de transformer les broches de signal (DTR, RTS, ...) en sortie 0/5v, et donc de faire un programmateur ISP en software.
Logged

Des news, des tuto et plein de bonne chose sur http://skyduino.wordpress.com !

Bretagne
Offline Offline
Jr. Member
**
Karma: 0
Posts: 80
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Quote
tu ajoute juste deux jumpers, quand tu programme tu enlève les jumpers et quand tu est en fonctionnement tu les remets, simple, rapide, pas chère, et terriblement efficace
Pas *on !
Allez..., ajout de 2 jumpers !

Pour le fun, une autre petite question:

J'ai testé mes triacs sur des ampoules à filament. Normalement je devrais avoir un allumage instantané mais je n'obtiens pas ce résultat. L'ampoule s'allume en deux fois. Pendant une demi seconde (je ne sais pas cb de temps, c'est trop rapide) l'ampoule s'allume un peu puis s'allume complètement et reste allumée pour de bon. Avez vous une idée ?

C'est pas gênant, mais c'est pas très propre... et j'ai peur que cela abîme les appareils avec transfo comme mon filtre ou mon électrovanne.

Logged

France
Offline Offline
Faraday Member
**
Karma: 55
Posts: 5347
Arduino Hacker
View Profile
WWW
 Bigger Bigger  Smaller Smaller  Reset Reset

J'ai testé mes triacs sur des ampoules à filament. Normalement je devrais avoir un allumage instantané mais je n'obtiens pas ce résultat. L'ampoule s'allume en deux fois. Pendant une demi seconde (je ne sais pas cb de temps, c'est trop rapide) l'ampoule s'allume un peu puis s'allume complètement et reste allumée pour de bon. Avez vous une idée ?
Il faudrait que tu jette un œil au datasheet de ton triac, il doit bien y avoir les temps de commutation quelque pars.
Les triacs/thyristor c'est pas mon truc, faudrait un électronicien de la vieille école pour nous éclairer smiley-wink
Logged

Des news, des tuto et plein de bonne chose sur http://skyduino.wordpress.com !

Bretagne
Offline Offline
Jr. Member
**
Karma: 0
Posts: 80
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Quote
Il faudrait que tu jette un œil au datasheet de ton triac, il doit bien y avoir les temps de commutation quelque pars.
je regarde coté triac ou coté optocoupleur ?
Si il y a un temps, c'est je suppose pas réglable ?

Je n'ai pas optez pour des relais pour une question de longévité et de sécurité.
Tu utilises autres choses que triac ou relais ?

Quote
Les triacs/thyristor c'est pas mon truc, faudrait un électronicien de la vieille école pour nous éclairer
T'es un petit jeune toi ?! Moi aussi... De toute façon on ne sera jamais des vieux... Il y a toujours plus vieux...
Logged

Bretagne
Offline Offline
Jr. Member
**
Karma: 0
Posts: 80
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

J'ai bien ajouté mes deux jumpers sur RX et TX, ce qui correspond au pin D0 et D1 de l'arduino.
Mes broches icsp sont sur les pins D13, D12, D11 et Reset.

Euh... c'est qui le rapport avec RX et TX ?
Logged

France
Offline Offline
Faraday Member
**
Karma: 55
Posts: 5347
Arduino Hacker
View Profile
WWW
 Bigger Bigger  Smaller Smaller  Reset Reset

je regarde coté triac ou coté optocoupleur ?
Si il y a un temps, c'est je suppose pas réglable ?
Triac ou opto ... bonne question, si c'est vraiment un gros temps de latence je dirai triac, et oui c'est pas réglable (ce serait pas drôle sinon smiley-mr-green)

Je n'ai pas optez pour des relais pour une question de longévité et de sécurité.
Tu utilises autres choses que triac ou relais ?
Moi je suis très mosfet, c'est hyper simple à utiliser, et ça résiste à toute les conn*rie de câblage que je peut faire (et dieu sait que dés fois j'en fait des belles smiley-razz).

T'es un petit jeune toi ?! Moi aussi... De toute façon on ne sera jamais des vieux... Il y a toujours plus vieux...
Yep! étudiant en IUT smiley-kitty

Euh... c'est qui le rapport avec RX et TX ?
ISP -> charger le bootloader, RX/TX -> utiliser par le bootloader pour charger le prog depuis l'ide arduino.
Tu peut aussi utiliser l'ISP pour envoyer directement ton programme mais c'est un peu plus lourd à utiliser.
Logged

Des news, des tuto et plein de bonne chose sur http://skyduino.wordpress.com !

Pages: [1] 2 3   Go Up
Jump to: