|
Op Elektronicaforum.nl is de kans om een antwoord op je vraag te krijgen heel groot. In
overzichtelijke subcategorieën kun je vragen en antwoorden over
elektronica zoeken, plaatsen en beantwoorden.
Elektronica Forum is onderdeel van
Schakelingen
Online
|
Auteur |
Bericht |
hansan
Geregistreerd op: 11-3-2022 Berichten: 11
|
Geplaatst: Za 12 Mrt 2022, 16:23 Onderwerp: klok van 4 electro-mechanisch 7segment display's |
|
|
Beste Forumlezers,
Ik probeer een 7segment display van de volgende fabrikant aan te sturen:
https://flip-digits.com/
De 'attachment' is een plaatje van mijn breadboard, ik heb 1 spoel getekend, maar er zijn er 7 (per display)
Linker shift-register stuurt een 0 als het segment verborgen moet worden en het rechter
shift-register dan een 1.
bijv voor een 8 wordt dit 0000000x 1111111x (0x00FE)
Het werkte voor een paar seconden. Het rechter exemplaar van de darlington array is/was kapot. 2 pootjes geven niets door, en ic wordt heel heet.
Enig idee wat ik fout doe?
(het is waarschijnlijk wel duidelijk, maar ik ben een absolute beginner)
Met vriendelijke groet,
Han Smolders
Fritzing
7SegmentTest_bb.pdf - 909.97 KB
52 keer
|
|
Naar boven |
|
smd_lover Moderator

Geregistreerd op: 24-3-2009 Berichten: 1802 Woonplaats: prov Groningen.
|
Geplaatst: Za 12 Mrt 2022, 19:51 Onderwerp: |
|
|
Je mag maar een kort stroompulsje geven bij dit soort displays.
Hoe doe je de aansturing? _________________ Hoe zorgvuldiger je als topicstarter je probleem omschrijft, hoe meer kans op adequate reacties en een oplossing.
|
|
Naar boven |
|
hansan
Geregistreerd op: 11-3-2022 Berichten: 11
|
Geplaatst: Za 12 Mrt 2022, 21:33 Onderwerp: |
|
|
beste smd_lover,
De aansturing is vanaf een arduino (wemos d1 mini):
de puls is 75 millisecondes.
Code: |
#include <Arduino>
int DS_pin = D5;
int STCP_pin = D3;
int SHCP_pin = D2;
int dec_digits [11] {0x807E, 0xF20C, 0x48B6, 0x609E, 0x32CC,0x24DA, 0x04FA, 0xF00E, 0x00FE, 0x20DE, 0xFE00};
void setup() {
pinMode(DS_pin, OUTPUT);
pinMode(STCP_pin, OUTPUT);
pinMode(SHCP_pin, OUTPUT);
}
void loop() {
digitalWrite(STCP_pin, LOW);
for (int i=0;i<11>> 8);
shiftOut(DS_pin, SHCP_pin, MSBFIRST,dec_digits[i]);
digitalWrite(STCP_pin, HIGH);
delay(75);
digitalWrite(STCP_pin, LOW);
delay(1000);
}
}
|
Met vriendelijke groet,
Han Smolders
|
|
Naar boven |
|
smd_lover Moderator

Geregistreerd op: 24-3-2009 Berichten: 1802 Woonplaats: prov Groningen.
|
Geplaatst: Za 12 Mrt 2022, 21:46 Onderwerp: |
|
|
De bovenste 2 ic's zitten niet op de +voeding aangesloten. _________________ Hoe zorgvuldiger je als topicstarter je probleem omschrijft, hoe meer kans op adequate reacties en een oplossing.
|
|
Naar boven |
|
hansan
Geregistreerd op: 11-3-2022 Berichten: 11
|
Geplaatst: Za 12 Mrt 2022, 21:59 Onderwerp: |
|
|
Mijn excuses. Vergeten te tekenen in fritzing. In werkelijkheid komt er 5 volt en aarde vanaf de arduino naar de bovenste rails.
|
|
Naar boven |
|
smd_lover Moderator

Geregistreerd op: 24-3-2009 Berichten: 1802 Woonplaats: prov Groningen.
|
Geplaatst: Za 12 Mrt 2022, 22:15 Onderwerp: |
|
|
I.p.v. de spoel zou je een klein gloeilampje kunnen aansluiten.
En dan nameten of de signalen wel kloppen. Je kan de tijden in de sketch dan ook even tijdelijk heel lang zetten zodat je makkelijk kunt meten.
Ik zie ook niet hoe de stroom loopt door de spoel omdat hij op 2 ULN-uitgangen zit aangesloten? _________________ Hoe zorgvuldiger je als topicstarter je probleem omschrijft, hoe meer kans op adequate reacties en een oplossing.
|
|
Naar boven |
|
hansan
Geregistreerd op: 11-3-2022 Berichten: 11
|
Geplaatst: Za 12 Mrt 2022, 22:32 Onderwerp: |
|
|
Hartelijk dank voor de tip met het gloeilampje, dat ga ik zeker doen. Mijn vermoeden is dat de pulsjes over de verschillende kanalen wel kloppen. Maar het kan geen kwaad om daar zekerheid over te hebben. Wat de laatste opmerking betreft:
Ik geloof dat ik even goed moet nadenken, want dat klopt natuurlijk van de aansluiting op 2 uitgangen.
|
|
Naar boven |
|
hansan
Geregistreerd op: 11-3-2022 Berichten: 11
|
Geplaatst: Zo 13 Mrt 2022, 11:42 Onderwerp: |
|
|
Ik had de werking van een darlington array niet goed begrepen.
Hierbij de nieuwe tekening
Ik kan het niet testen op dit moment omdat 1 van de darlington array's blijkbaar kapot is.
Maar is het mogelijk/goed idee om 2 uitgangen te combineren?
7Segment_V2.pdf - 939.7 KB
44 keer
|
|
Naar boven |
|
smd_lover Moderator

Geregistreerd op: 24-3-2009 Berichten: 1802 Woonplaats: prov Groningen.
|
Geplaatst: Zo 13 Mrt 2022, 12:39 Onderwerp: |
|
|
Je kan alle 7 spoelen toch gewoon met 1 uln aansturen mits de software klopt.
De plus van de uln moet ook aangesloten worden zodat de interne diodes de uln kunnen beschermen tegen de spanningspiek die een spoel veroorzaakt bij uitschakelen. _________________ Hoe zorgvuldiger je als topicstarter je probleem omschrijft, hoe meer kans op adequate reacties en een oplossing.
|
|
Naar boven |
|
hansan
Geregistreerd op: 11-3-2022 Berichten: 11
|
Geplaatst: Zo 13 Mrt 2022, 13:23 Onderwerp: |
|
|
Beste smd_lover,
Hartelijk dank voor de ondersteuning. Het was mijn plan om 2 uln's te gebruiken waarbij 1 de uitgeklapte elementen zou doen en de andere de ingeklapte.
Misschien is dit te complex. Ik zit nu te denken om 1 uln te gebruiken maar de software in 2 stappen te doen. Eerst de hele display 'blank' en dan het cijfer maken.
Ik heb nog een vraag over het tijdelijk aansluiten van de display met het breadboard.
Ik zit nu te hannessen met 14 jump kabeltjes. Ik wilde een soort breakout board maken voor de display of een pcb. (nog nooit gedaan) Is er een beter idee?
|
|
Naar boven |
|
hansan
Geregistreerd op: 11-3-2022 Berichten: 11
|
Geplaatst: Ma 14 Mrt 2022, 8:45 Onderwerp: |
|
|
Ik krijg het complete beeld niet goed in mijn hoofd of op papier.
Om de individuele elementen van de display heen en terug te klappen moet ook de polariteit van de spoel worden omgezet. In de versie hiervoor gebruikte ik een h-brug
dit werkte. Maar de hoeveelheid h-bruggen maakte het wat ingewikkeld.
Vandaar de 2 uln's. Is er een mogelijkheid om de polariteit te schakelen na de darlington array?
|
|
Naar boven |
|
smd_lover Moderator

Geregistreerd op: 24-3-2009 Berichten: 1802 Woonplaats: prov Groningen.
|
Geplaatst: Ma 14 Mrt 2022, 11:03 Onderwerp: |
|
|
Ja als het moet omgepoold dan moet je wel een H-brug hebben of een halve brug i.c.m. 2 voedingsspanningen.
Maar daar zijn toch mooie ic's voor. Bijvoorbeeld de L298 of L293. Dan heb je die uln niet nodig. _________________ Hoe zorgvuldiger je als topicstarter je probleem omschrijft, hoe meer kans op adequate reacties en een oplossing.
|
|
Naar boven |
|
hansan
Geregistreerd op: 11-3-2022 Berichten: 11
|
|
Naar boven |
|
stynus Site Admin


Geregistreerd op: 16-5-2003 Berichten: 5870 Woonplaats: Overpelt (België)
|
|
Naar boven |
|
hansan
Geregistreerd op: 11-3-2022 Berichten: 11
|
Geplaatst: Wo 23 Mrt 2022, 12:26 Onderwerp: |
|
|
De puls was 75 milliseconden, Is nu 1 millseconde. wachttijd daarna 1999 milliseconden.
De spoelen worden nog steeds heel heet. Op een of andere manier verdenk ik het shift register. Ik zou niet weten hoe of waarom :-)
Hierbij de laatste code.
[code]
#include <Arduino.h>
int DS_pin = D5;
int STCP_pin = D3;
int SHCP_pin = D2;
int dec_digits [11] {0x807E, 0xF20C, 0x48B6, 0x609E, 0x32CC,0x24DA, 0x04FA, 0xF00E, 0x00FE, 0x20DE, 0xFE00};
void setup() {
pinMode(DS_pin, OUTPUT);
pinMode(STCP_pin, OUTPUT);
pinMode(SHCP_pin, OUTPUT);
}
void loop() {
for (int i=0;i<11;i++) {
shiftOut(DS_pin, SHCP_pin, MSBFIRST,dec_digits[i] >> 8);
shiftOut(DS_pin, SHCP_pin, MSBFIRST,dec_digits[i]);
digitalWrite(STCP_pin, HIGH);
delay(1);
digitalWrite(STCP_pin, LOW);
delay(1999);
}
}
[/code]
|
|
Naar boven |
|
stynus Site Admin


Geregistreerd op: 16-5-2003 Berichten: 5870 Woonplaats: Overpelt (België)
|
Geplaatst: Wo 23 Mrt 2022, 22:10 Onderwerp: |
|
|
Met die code stuur je de spoelen nog continu. Meet maar eens met een multimeter.
Code: | for (int i=0;i<11>> 8);
shiftOut(DS_pin, SHCP_pin, MSBFIRST,dec_digits[i]);
digitalWrite(STCP_pin, HIGH);
delay(1);
digitalWrite(STCP_pin, LOW);
delay(10);
//Terug 0 uitsturen
shiftOut(DS_pin, SHCP_pin, MSBFIRST,0 >> 8);
shiftOut(DS_pin, SHCP_pin, MSBFIRST,0);
digitalWrite(STCP_pin, HIGH);
delay(1);
digitalWrite(STCP_pin, LOW);
delay(1999);
} |
_________________ Met vriendelijke groet,
Stynus
http://www.elektronicastynus.be
--> Elektronica bouwpakketten en componenten te koop. <--
|
|
Naar boven |
|
hansan
Geregistreerd op: 11-3-2022 Berichten: 11
|
Geplaatst: Do 24 Mrt 2022, 8:41 Onderwerp: |
|
|
Beste Stynus,
Mag ik u hartelijk danken! Probleem opgelost. De werking van een shift-register dringt
langzaam door bij mij
Hierbij de laatste code. Ik heb de code tags wegelaten want een regel wordt niet goed weergegeven. Nogmaals hartelijk dank!
#include <Arduino>
int DS_pin = D5;
int STCP_pin = D3;
int SHCP_pin = D2;
int dec_digits [11] {0x807E, 0xF20C, 0x48B6, 0x609E, 0x32CC,0x24DA, 0x04FA, 0xF00E, 0x00FE, 0x20DE, 0xFE00};
void setup() {
pinMode(DS_pin, OUTPUT);
pinMode(STCP_pin, OUTPUT);
pinMode(SHCP_pin, OUTPUT);
}
void loop() {
for (int i=0;i<11>> ;
shiftOut(DS_pin, SHCP_pin, MSBFIRST,dec_digits[i]);
digitalWrite(STCP_pin, HIGH);
delay(1);
digitalWrite(STCP_pin, LOW);
delay(10);
//Terug 0 uitsturen
shiftOut(DS_pin, SHCP_pin, MSBFIRST,0 >> ;
shiftOut(DS_pin, SHCP_pin, MSBFIRST,0);
digitalWrite(STCP_pin, HIGH);
delay(1);
digitalWrite(STCP_pin, LOW);
delay(1999);
}
}
|
|
Naar boven |
|
hansan
Geregistreerd op: 11-3-2022 Berichten: 11
|
Geplaatst: Do 24 Mrt 2022, 8:44 Onderwerp: |
|
|
Het lijkt erop dat ook emoticons in de code kunnen doordringen.
#include <Arduino.h>
int DS_pin = D5;
int STCP_pin = D3;
int SHCP_pin = D2;
int dec_digits [11] {0x807E, 0xF20C, 0x48B6, 0x609E, 0x32CC,0x24DA, 0x04FA, 0xF00E, 0x00FE, 0x20DE, 0xFE00};
void setup() {
pinMode(DS_pin, OUTPUT);
pinMode(STCP_pin, OUTPUT);
pinMode(SHCP_pin, OUTPUT);
}
void loop() {
for (int i=0;i<11;i++) {
shiftOut(DS_pin, SHCP_pin, MSBFIRST,dec_digits[i] >> 8);
shiftOut(DS_pin, SHCP_pin, MSBFIRST,dec_digits[i]);
digitalWrite(STCP_pin, HIGH);
delay(1);
digitalWrite(STCP_pin, LOW);
delay(10);
//Terug 0 uitsturen
shiftOut(DS_pin, SHCP_pin, MSBFIRST,0 >> 8);
shiftOut(DS_pin, SHCP_pin, MSBFIRST,0);
digitalWrite(STCP_pin, HIGH);
delay(1);
digitalWrite(STCP_pin, LOW);
delay(1999);
}
}
|
|
Naar boven |
|
|
Je mag geen nieuwe onderwerpen plaatsen Je mag geen reacties plaatsen Je mag je berichten niet bewerken Je mag je berichten niet verwijderen Ja mag niet stemmen in polls Je mag geen attachments plaatsen in dit forum Je mag bestanden downloaden in dit forum
|
|