Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
3500 connectés 

 

 

 Mot :   Pseudo :  
  Aller à la page :
 
 Page :   1  2  3  4  5  ..  58  59  60  ..  477  478  479  480  481  482
Auteur Sujet :

Silicium HFR: blabla @ Electronique

n°2338
TotalRecal​l
Posté le 19-04-2015 à 08:29:32  profilanswer
 

Reprise du message précédent :
C'est pas la même que celle de jipihorn à première vue, par contre ça ressemble tout à fait à celle testée par Dave : http://www.eevblog.com/2012/07/21/ [...] eviewfail/
(voire aussi le teardown et le followup)
Sans être aussi catastrophique que celle de jipihorn, le test fini mal quand même (genre "tiens, l'alim a cramé" )...
Il doit y avoir des infos sur une éventuelle nouvelle révision dans le topic et les vidéos suivantes, j'espère que la tienne n'a pas la même maladie de mort subite que celle-là.
Pour le prix en apparence c'est une super affaire (même sans le côte programmable) alors ça serait cool de savoir ce qu'il en est en réalité.

 

Natopsi concernant ta dernière affirmation je serai curieux de savoir les tests que tu as fait qui te permettent d'affirmer ça :whistle:. Au minimum : test de ripple à vide et en charge sur charge électronique, test de stabilité, comportement transitoire, vérification d'overshoot...
Tu serais peut être étonné des specs d'une alim à 3000€.

 

En ce qui concerne le matos Velleman la plupart des trucs que j'ai eu de chez eux étaient de grosses daubes. C'est pour moi un peu la marque qui surfe sur le segment "électronicien bidouilleur amateur" pour en profiter pour vendre de grosses merdes pas fiables. Mais ça fait 10 ans que je n'ai rien acheté chez eux donc je ne sais pas s'il y a du mieux...


Message édité par TotalRecall le 19-04-2015 à 08:36:11

---------------
Topic .Net - C# @ Prog
mood
Publicité
Posté le 19-04-2015 à 08:29:32  profilanswer
 

n°2339
fredo3
Posté le 19-04-2015 à 22:49:54  profilanswer
 

Bonsoir

 

Question qui va vous sembler bizarre :D

 

Prenez 2 circuits distincts, le premier va commander un MOSFET, dont la source est à la masse (commune) et le drain un signal 5V venu du circuit 2. En gros le circuit 1 met un signal du circuit 2 à la masse quand il le veut.

 

Question :o
Existe-t-il le risque qu'en cas de problème sur le circuit 1 (celui qui pilote la grille du mosfet), que le circuit 2 soit endommagé ?
Je pense surtout aux surtensions, court circuit ou que sais-je.
Ça m'éviterait d'utiliser des optocoupleurs volumineux.

 

Merci!


Message édité par fredo3 le 19-04-2015 à 22:51:46
n°2340
TotalRecal​l
Posté le 20-04-2015 à 11:25:13  profilanswer
 

En gros tu demandes si en bourinant sur la grille du MOSFET il risque d'y avoir transfert sur sa source ou son drain ?

 

Un FET c'est pas fait pour créer une isolation galvanique, même si on dit "à grille isolée", alors en pratique oui mais ça dépend évidemment de la tension. Si tu balances 1500V au lieu de 5V y aura transfert :o.
Quant à un court circuit, précise ce que tu entends par là.


Message édité par TotalRecall le 20-04-2015 à 11:25:28

---------------
Topic .Net - C# @ Prog
n°2341
zeql_
Posté le 20-04-2015 à 11:32:20  profilanswer
 

fredo3 a écrit :

Bonsoir
 
Question qui va vous sembler bizarre :D
 
Prenez 2 circuits distincts, le premier va commander un MOSFET, dont la source est à la masse (commune) et le drain un signal 5V venu du circuit 2. En gros le circuit 1 met un signal du circuit 2 à la masse quand il le veut.
 
Question :o
Existe-t-il le risque qu'en cas de problème sur le circuit 1 (celui qui pilote la grille du mosfet), que le circuit 2 soit endommagé ?
Je pense surtout aux surtensions, court circuit ou que sais-je.
Ça m'éviterait d'utiliser des optocoupleurs volumineux.
 
Merci!


 
Il y a toujours un risque puisque c'est une liaison qui n'est pas isolée de manière galvanique.
 
Seul un transformateur ou un optocoupleur assurent une isolation galvanique. Tu peux être quasiment sûr qu'en cas de problème les deux circuits "connectés" ne seront jamais en contact.
 
Tout dépend des risques de surtension comme le dit TotalRecall.

n°2342
Natopsi
☄️Just end it already!☄️
Posté le 20-04-2015 à 13:11:03  profilanswer
 

Si l'objectif est juste de protéger de la destruction le circuit 2 si genre t'as 500V qui reviennent du circuit 1 qui est défaillant, une résistance et une diode transil ça peut être largement suffisant  :D
 
D'ailleurs perso je fait mes adaptations 5V->3.3V avec une résistance en comptant sur les diodes de protection des entrées des circuits pour faire le reste et ça marche  :D


Message édité par Natopsi le 20-04-2015 à 13:13:03

---------------
⚡ACH/VDS⚡HFRCoin◈1435mm⚡
n°2343
maestun
Posté le 20-04-2015 à 13:27:11  profilanswer
 

Hello :hello:
 
J'ai un ptit problème: je veux rendre mes enceintes amplifiées (des Yamaha MSP-5) compatibles Bluetooth en ajoutant un module cheapos à l'intérieur.
En gros, je dois :
- récupérer une tension continue régulée dans l'enceinte (du +15v),
- la faire passer dans un régulateur (un LM317) pour faire chuter la tension à environ +4v,
- alimenter le dongle Bluetooth (un XS-3868)
- connecter la sortie audio du module (type casque) à l'entrée de l'enceinte.
 
J'ai assemblé viteuf une première maquette qui fonctionne en connectant un petit HP à la sortie du module :
http://i.imgur.com/X37GoE9.jpg
 
Seulement voilà, il y a un problème [:heech:2]  
Le module BT a un "audio ground" qui n'est pas commun avec la masse de son alimentation : j'ai relevé un potentiel de +0.92v environ (qui semble stable) entre ces deux points.
En revanche, pour brancher la sortie audio à l'entrée de l'enceinte, je dois utiliser la masse de celle-ci: et forcément si je connecte le "audio ground" du module à la masse, ça fait du khakha.
Pour info (vois schéma) les amplis-op de pré-amplification à l'entrée de l'enceinte sont alimentés symétriquement en +15/-15v.
 
Si vous avez des idées de comment me dépatouiller de tout ça... :jap:
Merci !


Message édité par maestun le 20-04-2015 à 13:28:00
n°2344
TotalRecal​l
Posté le 20-04-2015 à 14:03:26  profilanswer
 

Natopsi a écrit :

Si l'objectif est juste de protéger de la destruction le circuit 2 si genre t'as 500V qui reviennent du circuit 1 qui est défaillant, une résistance et une diode transil ça peut être largement suffisant  :D
 
D'ailleurs perso je fait mes adaptations 5V->3.3V avec une résistance en comptant sur les diodes de protection des entrées des circuits pour faire le reste et ça marche  :D


 
Ouais, si c'est juste une protection "par principe" une Transil entre la grille et la masse, éventuellement une autre entre la grille et le +5 (pas forcément nécessaire) et une limitation de courant devrait largement faire l'affaire.
Par contre si tu t'attends vraiment à ce que ta consigne fasse n'importe quoi (surtension régulière, perte de la masse commune...) vas falloir prévoir une vraie isolation.


---------------
Topic .Net - C# @ Prog
n°2345
Natopsi
☄️Just end it already!☄️
Posté le 20-04-2015 à 14:13:01  profilanswer
 

maestun a écrit :

Si vous avez des idées de comment me dépatouiller de tout ça... :jap:
Merci !


Connecter l'audio ground au ground via une capa de liaison, ou si ça ne marche pas faire un ampli différentiel sommaire avec un ampli op et des résitances:
http://en.wikipedia.org/wiki/Differential_amplifier


---------------
⚡ACH/VDS⚡HFRCoin◈1435mm⚡
n°2346
maestun
Posté le 20-04-2015 à 14:46:22  profilanswer
 

Natopsi a écrit :


Connecter l'audio ground au ground via une capa de liaison, ou si ça ne marche pas faire un ampli différentiel sommaire avec un ampli op et des résitances:
http://en.wikipedia.org/wiki/Differential_amplifier


Merci, j'avais pensé à la capa de liaison (enfin, j'ai connecté l'audio ground au groud par une capa, testé 100nF et 2,2nF, mais ça n'a rien donné).
Je vais checker l'ampli différentiel, je suppose que son gain devra être de 1 ?
Merci :jap:
 
EDIT; trouvé ceci, je pense que ça va bien me dépanner aussi : http://www.electronics-tutorials.ws/opamp/opamp_5.html
 
 
EDIT2 : je viens de tester avec l'AOP différentiel, ça fonctionne impeccable, un grand merci à toi [:warkcolor]


Message édité par maestun le 20-04-2015 à 16:35:28
n°2347
Profil sup​primé
Posté le 23-04-2015 à 16:56:09  answer
 

Salut les techos!  [:rami-]

 

J'ai besoin de vérifier les différents circuits d'une installation électrique dont le/les différentiels disjonctent régulièrement, mais pas tout temps. J'ai hésité entre topic bricolage et ici, j'avoue.  [:kordellio]

 

Je me suis donc procué un testeur d'isolement à pas cher en provenance d'Hong-Kong:

 

http://www.china-victor.com/Files/Product/VC60B+.jpg
Le victor VC60B+

 

Problème: Notice imprécise en Anglais approximatif, notice d'ailleurs nommée "INSTUCTION MANUAL" :/
J'y comprends rien.

 

Je peux donc brancher l'appareil sur L, G, ACV et E.

 

Disons que je veuille vérifier l'isolation d'un circuit d'éclairage (je suspecte une lampe de causer le problème), il faut utiliser quoi?

Message cité 1 fois
Message édité par Profil supprimé le 23-04-2015 à 16:56:52
mood
Publicité
Posté le 23-04-2015 à 16:56:09  profilanswer
 

n°2348
TotalRecal​l
Posté le 23-04-2015 à 17:03:24  profilanswer
 

Hello,
Ce sont les bornes standard pour ce genre d'appareil il me semble, du coup te peux te référer à n'importe quelle notice de testeur d'isolation.
J'ai juste tapé "l g e insulation tester" dans google et dans les premiers résultats j'avais ça par exemple : http://www.omega.com/manuals/manualpdf/M5088.pdf
J'ai juste survolé mais ça me parait déjà une bonne base de départ!

 

edit : et n'oublie pas, de part leur mode de fonctionnement ces petits jouets génèrent une tension de quelques centaines de volt donc attention, c'est pas parce que c'est petit que c'est gentil :o


Message édité par TotalRecall le 23-04-2015 à 17:07:25

---------------
Topic .Net - C# @ Prog
n°2349
Profil sup​primé
Posté le 23-04-2015 à 17:18:38  answer
 

TotalRecall a écrit :

Hello,  
Ce sont les bornes standard pour ce genre d'appareil il me semble, du coup te peux te référer à n'importe quelle notice de testeur d'isolation.
J'ai juste tapé "l g e insulation tester" dans google et dans les premiers résultats j'avais ça par exemple : http://www.omega.com/manuals/manualpdf/M5088.pdf
J'ai juste survolé mais ça me parait déjà une bonne base de départ!
 
edit : et n'oublie pas, de part leur mode de fonctionnement ces petits jouets génèrent une tension de quelques centaines de volt donc attention, c'est pas parce que c'est petit que c'est gentil :o


 
Ok merci.  
Bon, cette notice me disait quelque chose et mon historique d'url me dit que je l'ai déjà vu il y a 3 jours. J'ai du passer 2 heures à comprendre comment ça marche ce soir là, sans succès.  [:satrincha:1]  
 
Ok, merci du conseil, je ferai gaffe...

n°2350
TotalRecal​l
Posté le 23-04-2015 à 17:27:37  profilanswer
 

Ah ok [:spamafote]. Ben comme je te disais le brochage L/G/E est hyper standard, donc une notice en français voire un tuto te serait peut être plus accessible ?
https://meggertv.files.wordpress.co [...] ime_fr.pdf (très technique au début mais suffit d'aller à l'essentiel. A première vue y a une page où ils te donnent un exemple de test d'isolation pour un câble par exemple, c'est à peu près ce qu'il te faut)


Message édité par TotalRecall le 23-04-2015 à 17:29:03

---------------
Topic .Net - C# @ Prog
n°2351
Profil sup​primé
Posté le 23-04-2015 à 18:20:30  answer
 

TotalRecall a écrit :

Ah ok [:spamafote]. Ben comme je te disais le brochage L/G/E est hyper standard, donc une notice en français voire un tuto te serait peut être plus accessible ?
https://meggertv.files.wordpress.co [...] ime_fr.pdf (très technique au début mais suffit d'aller à l'essentiel. A première vue y a une page où ils te donnent un exemple de test d'isolation pour un câble par exemple, c'est à peu près ce qu'il te faut)


 
:jap:
 
J'étudie ça a tête reposée, le testeur en main.

n°2352
eeeinstein
Électricien au CERN
Posté le 23-04-2015 à 20:16:41  profilanswer
 

va chez chauvin arnoux, t'aura une notice de base pour les testeurs d'isolement vraiment bien faites, comme précisé attention ces appareils génère une tension assez forte et tu pourrais rester collé dessus

 

edit : http://www.chauvin-arnoux.com/site [...] nt_ed2.pdf


Message édité par eeeinstein le 23-04-2015 à 20:47:16
n°2353
fredo3
Posté le 23-04-2015 à 20:26:28  profilanswer
 

Natopsi a écrit :

Si l'objectif est juste de protéger de la destruction le circuit 2 si genre t'as 500V qui reviennent du circuit 1 qui est défaillant, une résistance et une diode transil ça peut être largement suffisant  :D

 

D'ailleurs perso je fait mes adaptations 5V->3.3V avec une résistance en comptant sur les diodes de protection des entrées des circuits pour faire le reste et ça marche  :D


Disons que j'ai déjà cramé un PC à cause d'un court circuit sur un de mes circuits :D. Ca fait chier :D

 

Mais si vous me dites qu'une diode TVS au niveau de la grille suffit, ca me va. Les isolateurs sont trop chers et trop gros.

 

:jap:


Message édité par fredo3 le 23-04-2015 à 20:26:40
n°2354
TotalRecal​l
Posté le 23-04-2015 à 22:32:10  profilanswer
 

Ben c'est pas à toute épreuve mais ça offre déjà un bon niveau de protection tout en étant très simple à câbler. Selon les applications il faut juste penser à la capacité parasite qui peut gêner en haute fréquence.  
On trouve des TVS bidirectionnelles conçues pour des niveaux de tension TTL, c'est typique sur les protections d'interfaces genre USB. Regarde de ce côté là par exemple.


---------------
Topic .Net - C# @ Prog
n°2355
Natopsi
☄️Just end it already!☄️
Posté le 24-04-2015 à 20:26:49  profilanswer
 

TotalRecall a écrit :

C'est pas la même que celle de jipihorn à première vue, par contre ça ressemble tout à fait à celle testée par Dave : http://www.eevblog.com/2012/07/21/ [...] eviewfail/
 
En ce qui concerne le matos Velleman la plupart des trucs que j'ai eu de chez eux étaient de grosses daubes. C'est pour moi un peu la marque qui surfe sur le segment "électronicien bidouilleur amateur" pour en profiter pour vendre de grosses merdes pas fiables. Mais ça fait 10 ans que je n'ai rien acheté chez eux donc je ne sais pas s'il y a du mieux...


Bon j'ai amené l'engin au labo pour voir ce que ça donnait, on n'a pas trouvé de gros défaut, peut être des surtensions transitoires de 150mV lors des transitions 0A-5A-0A mais rien de bien méchant.
 
En mode régulation de courant le courant suivait un beau 2° ordre amorti avec dépassement mais bon c'est possible que la charge électronique soit en cause :D
 
Ah et elle est toujours vivante :o


Message édité par Natopsi le 24-04-2015 à 20:27:02

---------------
⚡ACH/VDS⚡HFRCoin◈1435mm⚡
n°2356
djfou35
Posté le 26-04-2015 à 01:54:28  profilanswer
 

Bonjour, je suis a la recherche d un compteur de courant continu ( qui compte donc Volt x Ampere x Heures. Sur ebay, je trouve bien, des appareils avec lcd affichant Volt et Ampere mais pas d aspect de comptage des watts heures :/ une idée ?

n°2357
eeeinstein
Électricien au CERN
Posté le 26-04-2015 à 16:31:23  profilanswer
 

P = U x I, si tu as l'ampérage cela suffit


Message édité par eeeinstein le 26-04-2015 à 16:31:41
n°2358
TotalRecal​l
Posté le 26-04-2015 à 16:59:32  profilanswer
 

djfou35 a écrit :

Bonjour, je suis a la recherche d un compteur de courant continu ( qui compte donc Volt x Ampere x Heures. Sur ebay, je trouve bien, des appareils avec lcd affichant Volt et Ampere mais pas d aspect de comptage des watts heures :/ une idée ?


Il faut que nous nous donne une plage de tension et courant, ainsi qu'un ordre de prix, là c'est trop vague.
Ainsi qu'éventuellement nombre de canaux, possibilité de rapatrier les données, format (montage sur tableau ou autre, etc)...

 

Pour info pas mal de puissancemetre/wattmetre "de qualité" font aussi bien le DC que l'AC. C'est pas si différent qu'on pourrait croire en terme de conception.

 

Commence déjà par faire une recherche sur "wattmetre DC" ou "wattmetre continu" et les variantes.

 

Si tu veux une solution full DIY c'est même assez facile à faire avec un arduino et une dizaine de composants (résistance de shunt et un circuit spécialisé genre ZXCT1010 pour l'isolation galvanique + image du courant)

 


eeeinstein a écrit :

P = U x I, si tu as l'ampérage cela suffit


Je pense qu'il veut un truc qui fonctionne dans le domaine temporel même si sa charge varie, pas une conso instantanée...

 


Message édité par TotalRecall le 26-04-2015 à 17:28:34

---------------
Topic .Net - C# @ Prog
n°2359
TotalRecal​l
Posté le 26-04-2015 à 17:01:03  profilanswer
 

Natopsi a écrit :


Bon j'ai amené l'engin au labo pour voir ce que ça donnait, on n'a pas trouvé de gros défaut, peut être des surtensions transitoires de 150mV lors des transitions 0A-5A-0A mais rien de bien méchant.

 

En mode régulation de courant le courant suivait un beau 2° ordre amorti avec dépassement mais bon c'est possible que la charge électronique soit en cause :D

 

Ah et elle est toujours vivante :o


Merci pour cet intéressant feedback !
Pour le prix ce serait donc donc une excellente affaire (par contre concernant Velleman je reste sur mes positions :whistle:).
Petites questions si tu as joué un peu avec :
Concernant le caractère "programmable", on peut lui faire faire des trucs sympas en USB ? (genre des rampes, des pics, des chutes de tension, etc, pour du test de conformité par exemple).
On peut en coupler en // ou en série ? (tension symétrique, doublage du courant) ?

 

edit : apparemment il existe aussi une version à plusieurs sorties : Korad KA3005P-3S. Il y aussi une version KA3005D-3S mais sans USB/série pour presque le même prix donc aucun intérêt.

 

Cf mon lien page précédente pour le test sur la version une seule sortie qui m'avait refroidi à l'époque à cause des pb de fiabilité).

 

Elle me tente de plus en plus cette petite alim !
:hello:


Message édité par TotalRecall le 26-04-2015 à 17:12:51

---------------
Topic .Net - C# @ Prog
n°2360
fredo3
Posté le 02-05-2015 à 18:05:23  profilanswer
 

Salut
 
Voilà j'ai besoin d'un coup de main d'un expert en STM32 pour résoudre un problème, je suis même prêt à lâcher quelques cents pour celui qui me trouve la solution :o.
 
Voilà, j'ai trouvé sur le net un driver pour piloter des LED WS2812 qui utilisent un bus série sans clock, et donc la génération du signal est assez complexe niveau timing. Or le driver que j'ai trouvé est un des rares à utiliser les DMA, pour justement ne pas être dépendant des délais liées aux instructions, et que donc le MCU puisse faire autre chose en //.
 
Mais voilà, évidemment le driver ne fonctionne pas chez moi [:tinostar], le pin de sortie reste désespéramment à 0V.
Alors un indice qui pourrait expliquer le problème.
Il a été codé sur un STM32F3 (Discovery) alors que moi je l'utilise pour l'instant sur un F4 (Discovery) et d'après ce qu'on m'a dit les 2 ont de grosses différences niveau DMA.
 
Alors j'ai jeté un coup d'oeil au manuel, et je suis tombé sur le tableau des interconnexions DMA des périphériques.
Malheureusement j'y comprends rien [:tinostar] et je pense que même en épluchant le fonctionnement du DMA à plein temps durant 1 mois, je n'arriverais pas à comprendre ce truc [:tinostar].
 
Enfin bref, dans le code il utilise le:  
DMA1 Streamer 2
DMA1 Streamer 3
DMA1 Streamer 6
 
Et 2 PWM (Timer donc).
 
Est-ce qu'il se pourrait que ce ne soit pas le bon Streamer et Timer pour mon F4?
 
Le code: https://github.com/omriiluz/WS2812B [...] EDDriver.c
(Tout se passe dans la fonction ledDriverInit )
 
Le signal des WS2812:  
https://spritesmods.com/imx233-ws2811/timing.png
Merci!


Message édité par fredo3 le 02-05-2015 à 18:26:12
n°2361
Natopsi
☄️Just end it already!☄️
Posté le 02-05-2015 à 20:13:27  profilanswer
 

Va déjà jeter un oeuil dans les erratum voir si t'as pas un bug dans ton MCU :o


---------------
⚡ACH/VDS⚡HFRCoin◈1435mm⚡
n°2362
fredo3
Posté le 02-05-2015 à 20:29:49  profilanswer
 

Il y a des trucs sur le DMA certes, mais à première vu rien qui pourrait expliquer mon problème je pense  [:aelenia]
De toute façon le plus gros erratum c'est moi-même en général :o

 

En tout cas c'est vraiment chiant, j'étais content de trouver ce driver, vu que je savais d'avance que ca allait être trop complexe pour moi, et bien évidemment fallait que ça ne marche pas (chez moi).


Message édité par fredo3 le 02-05-2015 à 20:34:10
n°2363
fredo3
Posté le 03-05-2015 à 18:44:51  profilanswer
 

Le DMA, ce truc de malade.
J'ai bien fait de ne pas en faire mon métier dites donc   [:didier frogba:5]

 

Je suis tombé sur un autre code pour gérer les led, mais vas-y que j'en chie pour comprendre le fonctionnement du DMA + PWM et donc de le convertir en ChibiOS.
https://github.com/devthrash/STM32F [...] 812/main.c


Message édité par fredo3 le 03-05-2015 à 18:45:07
n°2364
zeql_
Posté le 03-05-2015 à 22:49:41  profilanswer
 

fredo3 a écrit :

Le DMA, ce truc de malade.
J'ai bien fait de ne pas en faire mon métier dites donc   [:didier frogba:5]

 

Je suis tombé sur un autre code pour gérer les led, mais vas-y que j'en chie pour comprendre le fonctionnement du DMA + PWM et donc de le convertir en ChibiOS.
https://github.com/devthrash/STM32F [...] 812/main.c

 

Qu'est-ce que tu comprend pas dans le DMA ?

 

J'ai appris à la "dur" sur un projet avec un DSP, donc transfert de données direct en RAM avec double buffering (ping-pong) :D
J'y ai aussi eu droit sur un projet à base de Freescale et leur doc de merde.

 

M'enfin c'était jamais de la programmation pure, je suis plutôt hard  :o

 


Edit : J'ai regardé vite fait le code et le transfert DMA se fait de manière classique :

  • Configuration de la longueur du transfert
  • On active le channel DMA
  • On attend que le transfert DMA se termine (interruption sur un flag)
  • On désactive le channel DMA
  • On clear les flags DMA


Après y a une activation du timer, c'est peut-être nécessaire pour le fonctionnement du DMA sur ce microcontroleur.
Dans la fonction Timer_init tu as la configuration du DMA, notamment le mode. C'est intéressant pour certaines choses, par exemple sur le Freescale tu peux faire du buffer tournant, donc en théorie tu peux avoir un DMA infini, une fois qu'il est arrivé à la fin de sa liste de transferts il recommence (utile pour transférer régulièrement des données entre deux puces)


Message édité par zeql_ le 03-05-2015 à 22:57:42
n°2365
fredo3
Posté le 05-05-2015 à 11:53:17  profilanswer
 

Le diable se cache dans le détails malheureusement. :o
J'en chiais pour traduire en ChibiOS le deuxième driver posté plus haut.
Ce qui me perturbait c'était cette montagne de registres et je ne comprenais pas comment était configuré le lien PWM<->DMA.
Bon j'ai jeté un coup d'oeil hier soir au manuel et c'est nettement plus clair :D.

 


Du coup je retourne à la version ChibiOS (le premier que j'ai posté, il est plus évolué que l'autre).
Et du coup je me rends compte qu'en fait les Streamer ne sont effectivement pas les mêmes sur le F3 et F4, les DMA request des PWM sont câblés autrement, et que pour le F4 il faut donner un paramètre CHSEL en plus.
Enfin bref, faudrait que je teste ces légères modifs, je croise les doigts.

 


Par contre il y a 2 trucs que je ne comprends pas complètement.

 
  • Le Streamer 3 et 6 je comprends leur fonctionnement.


Par contre le Streamer 2 je bloque sur un truc.

Code :
  1. dmaAllocError = dmaStreamAllocate(STM32_DMA1_STREAM2, 10, NULL, NULL);
  2.   dmaStreamSetPeripheral(STM32_DMA1_STREAM2, &(sPort->BSRR.H.clear));
  3.   dmaStreamSetMemory0(STM32_DMA1_STREAM2, fb);
  4.   dmaStreamSetTransactionSize(STM32_DMA1_STREAM2, (sLeds) * 24);
 

C'est ce Streamer qui met le signal à 0V si le bit à transférer est 0.
Il est certes appelé par le PWM au moment voulu pour respecter le timing, ce que je ne comprends pas c'est que la transaction est de (nombre de LED) * 24. Du coup il va balancer toute la séquence de bit d'un seul coup sur le pin non?(enfin un après l'autre), comment il respecte les timings du protocole alors????

 


  • L'autre truc qui est méga flou, c'est le traitement qu'il fait sur le buffer avant qu'il ne soit traité par les DMA.
Code :
  1. void setColor(uint8_t color, uint8_t *buf,uint32_t mask){
  2.   int i;
  3.   for (i=0;i<8;i++){
  4.     buf[i]=((color<<i)&0b10000000?0x0:mask);
  5.   }
  6. }


WTF :heink:

 


En plus je ne sais pas faire marcher OpenOCD, du coup impossible de déboguer correctement, je ne vois pas l'état des registres et RAM. Embêtant  [:tinostar]

 

:jap:


Message édité par fredo3 le 05-05-2015 à 12:05:11
n°2366
zeql_
Posté le 05-05-2015 à 12:06:19  profilanswer
 

fredo3 a écrit :


  • L'autre truc qui est méga flou, c'est le traitement qu'il fait sur le buffer avant qu'il ne soit traité par les DMA.
Code :
  1. void setColor(uint8_t color, uint8_t *buf,uint32_t mask){
  2.   int i;
  3.   for (i=0;i<8;i++){
  4.     buf[i]=((color<<i)&0b10000000?0x0:mask);
  5.   }
  6. }


WTF :heink:
 

 

Forme réduite du if :

Code :
  1. if ( ((color<<i) &0b10000000)) then
  2.    {
  3.       buf[i] = 0x0;
  4.    }
  5. else
  6.    {
  7.       buf[i] = mask;
  8.    }
 

Ca applique un décalage sur color et ensuite ca teste via un masque sur 1 seul bit. Donc ca m'a l'air de tester un seul bit à la fois et voir s'il est à 0 ou non et de mettre buf[i] à la valeur du mask.

 

Edit : suppression du "= 0x0" dans le if, c'est un vérification booléenne.


Message édité par zeql_ le 05-05-2015 à 12:13:11
n°2367
fredo3
Posté le 05-05-2015 à 12:43:09  profilanswer
 

Bon je viens de me faire un tableau Excel avec des valeurs fictives.
En gros il transforme le code couleur (8bit) en matrice 8x8bit et n'active, si besoin, que le bit associé au pin de sortie.

 

Par contre les valeurs en sortie sont bizarres.

 

Genre un code couleur 10111001 (185), se transforme en 01000010 sur le pin de sortie.

 

Bon j'ai fait ça à la va vite, je referais le tableau.

  


Par contre t'aurais un avis sur ma première question (Le Streamer 2)???

 

Merci!


Message édité par fredo3 le 05-05-2015 à 13:02:06
n°2368
zeql_
Posté le 05-05-2015 à 13:16:38  profilanswer
 

fredo3 a écrit :

Bon je viens de me faire un tableau Excel avec des valeurs fictives.
En gros il transforme le code couleur (8bit) en matrice 8x8bit et n'active, si besoin, que le bit associé au pin de sortie.
 
Par contre les valeurs en sortie sont bizarres.
 
Genre un code couleur 10111001 (185), se transforme en 01000010 sur le pin de sortie.
 
Bon j'ai fait ça à la va vite, je referais le tableau.
 
 
 
 
Par contre t'aurais un avis sur ma première question (Le Streamer 2)???
 
Merci!


 
Faut que je me plonge dans la datasheet  :jap:  

n°2369
Natopsi
☄️Just end it already!☄️
Posté le 05-05-2015 à 13:32:14  profilanswer
 

Les couleurs sont sur 24 bits normalement  :D


---------------
⚡ACH/VDS⚡HFRCoin◈1435mm⚡
n°2370
zeql_
Posté le 05-05-2015 à 14:01:22  profilanswer
 

fredo3 a écrit :

Par contre t'aurais un avis sur ma première question (Le Streamer 2)???

 

Merci!

 

J'ai regardé le code, plus que la datasheet, et je suis perplexe sur le commentaire.

 

Pour moi le stream 2 a le frame buffer en "source", donc il sert à recopier les données du frame buffer que la valeur soit 0 ou 1, il recopie les données, point. Et c'est conforté par la taille du transfert : (sleds) * 24. Donc 24 bits de couleurs par le nombre de leds (cf datasheet du WS2812).

 

Sinon dans le code :

 
Code :
  1. // configure pwm timers -
  2.   // timer 2 as master, active for data transmission and inactive to disable transmission during reset period (50uS)
  3.   // timer 3 as slave, during active time creates a 1.25 uS signal, with duty cycle controlled by frame buffer values
 


En fait les commentaires concernant les streams DMA ne sont vraiment pas clairs. Et un peu la flemme de plonger dans le code et les registres :o


Message édité par zeql_ le 05-05-2015 à 14:03:39
n°2371
fredo3
Posté le 05-05-2015 à 15:48:52  profilanswer
 

Natopsi a écrit :

Les couleurs sont sur 24 bits normalement  :D


8bit pour chaque composante couleur oui.

zeql_ a écrit :

 

J'ai regardé le code, plus que la datasheet, et je suis perplexe sur le commentaire.

 

Pour moi le stream 2 a le frame buffer en "source", donc il sert à recopier les données du frame buffer que la valeur soit 0 ou 1, il recopie les données, point. Et c'est conforté par la taille du transfert : (sleds) * 24. Donc 24 bits de couleurs par le nombre de leds (cf datasheet du WS2812).


Oui ça c'est clair. Mais ce qui me perturbe, c'est qu'il balance toute la trame sur le GPIO de sortie.
Du coup comment il fait pour garantir le timing du signal???  [:tinostar]

 

Moi ce que j'ai compris c'est que le DMA quand il reçoit une requête, en l'occurrence d'un timer, il recopie les donnés de la mémoire aux registres du GPIO, et ça par bloc de 8bit (ou 16bit ou 32bit, en fonction de la config), après chaque transmission d'un bloc de donnés, il décrémente le compteur (le fameux STM32_DMA1_STREAM2, (sLeds) * 24) et puis passe à l'octet suivant dans la mémoire et recommence la copie.

 

Comment il peut respecter les timing du coup?
Il n'y a que le premier bit, qui aura été initié par la requête du timer, qui sera ok.

 

Non?  [:tinostar]


Message édité par fredo3 le 05-05-2015 à 15:59:44
n°2372
fredo3
Posté le 05-05-2015 à 21:19:38  profilanswer
 

Je viens de cramer mon seul level translator compatible (74HCT245), et un PCB avec leur LED en branchant le transfo 12V directement dessus au lieu de passer d'abord par le régulateur de tension 5V.
 
 [:imnotgarbage:5]  
 
 
L'électronique ca ne doit pas être mon truc je pense  [:tinostar]

n°2373
Natopsi
☄️Just end it already!☄️
Posté le 05-05-2015 à 21:22:42  profilanswer
 

Viens pas faire de l'électronique de puissance, parce-que la c'est les pistes d'un centimètre de large en 135µ qui te sautent à la gueule  [:faluja:5]


Message édité par Natopsi le 05-05-2015 à 21:23:00

---------------
⚡ACH/VDS⚡HFRCoin◈1435mm⚡
n°2374
Natopsi
☄️Just end it already!☄️
Posté le 05-05-2015 à 21:25:58  profilanswer
 

fredo3 a écrit :


Comment il peut respecter les timing du coup?
Il n'y a que le premier bit, qui aura été initié par la requête du timer, qui sera ok.
 
Non?  [:tinostar]


Si le timer 2 tourne à la même fréquence que le timer 3 et que les transferts DMA sont synchronisés sur le timer 2 c'est bon  :D


---------------
⚡ACH/VDS⚡HFRCoin◈1435mm⚡
n°2375
fredo3
Posté le 05-05-2015 à 21:26:20  profilanswer
 

:D

 

ah tiens ca m'a fait penser de vister la page youtube ElectroBOOM pour voir s'il y avait une nouvelle vidéo :D
https://www.youtube.com/watch?v=406HfBHm-4M


Message édité par fredo3 le 05-05-2015 à 21:26:37
n°2376
Natopsi
☄️Just end it already!☄️
Posté le 05-05-2015 à 21:29:15  profilanswer
 

TotalRecall a écrit :

Concernant le caractère "programmable", on peut lui faire faire des trucs sympas en USB ? (genre des rampes, des pics, des chutes de tension, etc, pour du test de conformité par exemple).
On peut en coupler en // ou en série ? (tension symétrique, doublage du courant) ?


Pour les commandes USB en gros t'as une poignée de commandes, si tu télécharge le logiciel sur le site de velleman t'as une doc des commandes qui traine dans l'archive.  
En gros t'as un SET Voltage/Current, un GET Voltage/Current, un OUTPUT On/Off, et quelques autres commandes. C'est pas un générateur de signaux :D


---------------
⚡ACH/VDS⚡HFRCoin◈1435mm⚡
n°2377
Turkleton
I don't quite understand you
Posté le 05-05-2015 à 21:42:46  profilanswer
 

fredo3 a écrit :

Je viens de cramer mon seul level translator compatible (74HCT245), et un PCB avec leur LED en branchant le transfo 12V directement dessus au lieu de passer d'abord par le régulateur de tension 5V.
 
 [:imnotgarbage:5]  
 
 
L'électronique ca ne doit pas être mon truc je pense  [:tinostar]

Arf, j'ai cramé un ATMEGA de la même manière. Je me suis senti trop con et j'en suis arrivé à la même conclusion que toi :D  


---------------
If you think it could look good, then I guess it should
n°2378
jeufman28
Posté le 05-05-2015 à 22:37:39  profilanswer
 

fredo3 a écrit :

:D
 
ah tiens ca m'a fait penser de vister la page youtube ElectroBOOM pour voir s'il y avait une nouvelle vidéo :D
https://www.youtube.com/watch?v=406HfBHm-4M


 
[:theredled]
 
Je connaissais pas :D

mood
Publicité
Posté le   profilanswer
 

 Page :   1  2  3  4  5  ..  58  59  60  ..  477  478  479  480  481  482

Aller à :
Ajouter une réponse
 

Sujets relatifs
Plus de sujets relatifs à : Silicium HFR: blabla @ Electronique


Copyright © 1997-2025 Groupe LDLC (Signaler un contenu illicite / Données personnelles)