Vermenigvuldigen van negatieve pulsen

Goedenavond

Ik heb een elektronische muntproever.
Alleen nou vroeg ik mij af als iemand een schakeling weet voor het volgende

Ik heb drie uitgangen die geven alle drie bij een gedecteerde munt een negatieve puls alleen nu moet ik eigenlijk het volgende hebben
Muntstuk 1 - 2 negatieve pulsen
Muntstuk 2 - 4 negatieve pulsen
Muntstuk 3 - gewoon 1 negatieve puls
Grt

Lijkt me een mooi klussie voor een PIC-ie.

Sine

Moderator

Precies, iets programmeerbaars in ieder geval. Zonder de voorwaarde bij drie muntstukken weer terug te gaan naar 1 had het ook met klassieke componenten vrij makkelijk gekund.

[Bericht gewijzigd door Sine op zondag 2 mei 2021 00:05:50 (13%)

EricP

mét CE

Ik zou het met een AVR oplossen, gewoon vanwege 'weinig componenten'. Echter, discreet is het ook niet zo spannend: iets wat oscilleert, iets wat aftelt en bij 0 stopt en iets wat daar een 'load' van doet. Echter, je zit zo aan 5 tot 10 ICs.

Verder zullen natuurlijk je 4 pulsen sneller moeten zijn dan dat de gebruiker de volgende munt er in kan mikken. De 'ontvangende' kant moet dat dus ook zo snel kunnen. Ik neem aan dat dat iets electronisch is en dan zal het geen probleem zijn. Als het wat mechanisch is wellicht wel.

@sine: het is maar net in welke volgorde je begint he... Noem wat nu 'munstuk 3' heet '1' en schuif de rest eentje door en je hebt 'jouw ideaal situatie'.

[Bericht gewijzigd door EricP op zondag 2 mei 2021 07:24:41 (13%)

fatbeard

Honourable Member

Voorzover ik het 'probleem' begrijp is het de bedoeling dat munt 1 altijd twee pulsen geeft, munt 2 altijd 4 pulsen en munt 3 'gewoon' 1 puls. Het zijn drie verschillende munten, de volgorde is totaal irrelevant.
En met gewone logica kom ik dan op 4 ICs: :7

Oops, het aantal pulsjes is verkeerd.
Maar je snapt het idee.

[Bericht gewijzigd door fatbeard op zondag 2 mei 2021 07:48:16 (10%)

Een goed begin is geen excuus voor half werk; goed gereedschap trouwens ook niet. Niets is ooit onmogelijk voor hen die het niet hoeven te doen.
EricP

mét CE

Inderdaad. Charmant opgelost, fatbeard!

fatbeard

Honourable Member

'voor het mooi' kun je de enable pin aan uitgang 5 leggen i.p.v. GND. Maakt het misschien nog iets robuuster tegen stoorpulsjes...

Een goed begin is geen excuus voor half werk; goed gereedschap trouwens ook niet. Niets is ooit onmogelijk voor hen die het niet hoeven te doen.
bprosman

Golden Member

Op 2 mei 2021 07:47:24 schreef fatbeard:
Voorzover ik het 'probleem' begrijp is het de bedoeling dat munt 1 altijd twee pulsen geeft, munt 2 altijd 4 pulsen en munt 3 'gewoon' 1 puls. Het zijn drie verschillende munten, de volgorde is totaal irrelevant.
En met gewone logica kom ik dan op 4 ICs: :7
[bijlage]
Oops, het aantal pulsjes is verkeerd.
Maar je snapt het idee.

Mooi opgelost maar ik zou dan toch gaan voor een ATTiny85 boardje.

De jongere generatie loopt veel te vaak zijn PIC achterna.

Goedemorgen

Bedankt voor jullie reacties.
Ik heb alle onderdelen om een picje te programeren. Weten jullie of er ergens een voorbeeldje staat wat ik over kan nemen. Zelf iets programeren is niet mijn specialiteit.
Ik gebruik bijna altijd bestaande programmas wie ik soms aanpas.
Mvg

Sine

Moderator

Op 2 mei 2021 07:47:24 schreef fatbeard:
Voorzover ik het 'probleem' begrijp is het de bedoeling dat munt 1 altijd twee pulsen geeft, munt 2 altijd 4 pulsen en munt 3 'gewoon' 1 puls. Het zijn drie verschillende munten, de volgorde is totaal irrelevant.

Aah, het zijn drie signalen uit de muntproever, ok ... dat is niet zoals ik de vraag geïnterpreteerd had.

EricP

mét CE

Ik denk dat ik iets met een pin change interrupt zou doen. In de ISR ff kijken welke pin het is. Een global 'pulse counter' met het juiste aantal ophogen.

In de main de pulsen genereren - dat kan gewoon bere-lomp met een paar delays. Dat is toch niet meer dan een paar regels code?

Sine

Moderator

Als je zelf een programma kunt schrijven niet, als je eerst nog moet gaan leren hoe je met een uC moet omgaan is dat wat minder triviaal.

Lambiek

Special Member

Op 1 mei 2021 22:06:28 schreef klaassiegekkie:
Ik heb een elektronische muntproever.

Je hebt wel iets met muntproevers geloof ik. ;)

https://www.circuitsonline.net/forum/view/126903

Kun je dit niet aanpassen, komt een beetje op het zelfde neer.

Als je haar maar goed zit, GROETEN LAMBIEK.

Als je een ATtiny gebruikt dan is de uitgang toch altijd hoog of laag?
Die zal nooit negatief worden.
Of bedoel je iets anders?

Als je meer info geeft zal ik wel eens kijken.

Welke controller?
Pulsduur uitgang off/on/off of invers on/off/on ?

LDmicro user.

Op 2 mei 2021 11:49:59 schreef Brainbox:
Die zal nooit negatief worden.
Of bedoel je iets anders?

Ja, hij bedoelt dat het signaal "even laag" wordt. (hoop ik, denk ik).

Ik denk dat ik iets met een pin change interrupt zou doen.

Zeker voor een beginner niet een handig advies.

Mijn voorstel is om het gewoon in een software loop te doen:

code:


void loop (void) 
{
  if (munt1) send_pulses (2);
  if (munt2) send_pulses (4);
  if (munt3) send_pulses (1);
}

(muntx moet je definieren dat die TRUE evalueert als de input pin LAAG is. in arduinotaal bijvoorbeld: #define munt1 !digitalRead(PINMUNT1)

[Bericht gewijzigd door rew op zondag 2 mei 2021 12:05:07 (51%)

four NANDS do make a NOR . Kijk ook eens in onze shop: http://www.bitwizard.nl/shop/

Hallo

Sorry voor de soms onduidelijke uitleg.

Ik heb een bestaande arcadeautomaat gekocht alleen nu kun je voor 1 muntstuk 1 x.

De muntproever is een nrig13 muntproever de heeft 4 uitgang signalen die van mij.
Bij 0,50 trekt hij de uitgang naar de gnd
Zo werkt het bij alle output lijnen.
Mgp de pulsduur is 100ms
U vroeg wat voor controller liefst een 16f628 ik bedoel is het volgende:
Speelmunt: puls 1x laag naar 1x laag
0,50 : puls 1x laag naar 1x laag
1,- : puls 1x laag naar 2x laag
2,- : puls 1x laag naar 4x laag

De arcadegame doet een credit +1 bij twee negatieve pulsen naar de gnd, daarom moet de 0,50 en speelmunt ook gewoon 1 blijven hier moet je 2 van in gooien voor 1 keer

Ja lambiek ik heb wat met muntproevers :-)
(Met dank aan mgp, de vorige was erg uitgebreid met display)

Arco

Special Member

Niet de mooiste schakeling, maar ik moest het natuurlijk ook in één enkele 40106 kunnen 'proppen'... ;)

Arco - "Simplicity is a prerequisite for reliability" - hard-, firm-, en software ontwikkeling: www.arcovox.com

Hier heb je uw programma.

16F628a met interne pullup weerstanden AAN op pin 10,11,12

pin 10 ingang 2pulsen
pin 11 ingang 4pulsen
pin 13 12 ingang 1 puls

pulsuitgang TRUE = pin18
pulsuitgang INVERS = pin17

Geen kristal nodig. Pulsduur uitgangen 100mS

Als er iets is meldt het maar, andere pin nrs zijn ook mogelijk.

LDmicro user.
EricP

mét CE

Zeker voor een beginner niet een handig advies.

Juist voor een beginner (die toch al 5 of 6 jaar bezig is... :)), is het handig om 'pulse detect' door hardware te laten doen. In jouw voorstel: als de input pulse 'te lang' duurt, dan ga je meerdere keren je output doen. Met 'edge triggered' heb je dat probleem hoe dan ook niet. Juist om die reden: laat de hardware dit gewoon oplossen, die is daar beter in dan de programmeur...

Als je dan om de een of andere vage reden het gebruik van een interrupt wil voorkomen ('want dat is eng'?), dan kun je altijd nog naar de pin change bitjes kijken.

Goed, als TS kan garanderen dat de pulsduur altijd 100mS is, dan kun je daar wat mee. Die info was er eerder nog niet...

Sorry had een typfoutje gemaakt, de laatste puls was maar 10mS, onderstaand programma is correct.

LDmicro user.

Hallo
Allereerst bedankt
Als ik het goed begrijp komen mij uitganglijnen van de muntproever op 10,11,12.
En op welke uitgang komen dan de pulsen op 17 of 18 ??

bprosman

Golden Member

Op 2 mei 2021 13:20:29 schreef klaassiegekkie:
Hallo
Allereerst bedankt
Als ik het goed begrijp komen mij uitganglijnen van de muntproever op 10,11,12.
En op welke uitgang komen dan de pulsen op 17 of 18 ??

pulsuitgang TRUE = pin18
pulsuitgang INVERS = pin17

Pin18 en de geinverteerde (op Pin17).

De jongere generatie loopt veel te vaak zijn PIC achterna.

Ja 10,11,12 zijn inputs en komen van de muntproever.

Op 18 komen de pulsen (bv. 3) 0101010

en op 17 zijn ze invers 1010101

Je kan de uitgang kiezen naargelang het te bedienen toestel.

LDmicro user.
fatbeard

Honourable Member

Een goed begin is geen excuus voor half werk; goed gereedschap trouwens ook niet. Niets is ooit onmogelijk voor hen die het niet hoeven te doen.