Forum: Mikrocontroller und Digitale Elektronik S: kleinen Mikrocontroller ohne Hühnerfutter für einmaligen Einschaltimpuls


von Dominik (koelner)


Lesenswert?

Hallo,
ich habe ein eigentlich sehr simples, aber ärgerliches Problem: Ich 
möchte in einer fertigen, vorhandenen Mikrocontroller-Schaltung parallel 
zu einem Taster nach kurzer Einschaltverzögerung (0,25-1sek) einen 
kurzen Masseimpuls geben (0,25-1sek).
Da ich nicht viel Platz habe, habe ich dazu an einen kleinen 
Mikrocontroller mit 3 Anschlussen gedacht (+5V Betriebsspannung, GND und 
ein (idealerweise OpenCollector?)-Ausgang), welche ich mit feinen 
Kupferlackdrähten verbinden möchte. Der Taster in der eigentlichen 
Schaltung wird lediglich mit 3,3V gespeist (vermutlich via Pull-Up) und 
gegen GND getastet.
Nach dem gewünschten Einschaltimpuls soll der uC einfach in Deepsleep 
gehen und nichts mehr tun. Erst nach Unterbrechung der Betriebsspannung 
soll er wieder aktiv werden.

Vor 20 Jahren habe ich mal ähnliches gemacht mit einem PIC12C508 im 
SO8-Gehäuse. Allerdings hat der keinen interen Taktgeber (konnte CLK der 
Restschaltung mitnutzen) und brauchte einen aufwendigen Brenner. Einen 
SOIC-8 Breakout-Adapter zum Programmieren habe ich noch irgendwo. 
Welcher kleine Mikrocontroller mit internen Takt, kostenloser IDE 
(Arduino?) und ICSP-Programmierung (mit einfachen USB-TTL Adapter mit 
FTDI-Chip) würde sich anbieten? Attiny85?

Oder gibt es vielleicht ein fertigen IC, der genau so etwas ohne 
weiteres Hühnerfutter kann?

Danke im Voraus

PS: Einfach ein Kondensator nach GND funktoniert nicht, bzw. nur 
unzuverlässig oder einmalig, da er ja nicht entladen wird. Und 
zusätzlicher Entladewiderstand parallel zum Kondensator wird entweder 
als Dauertastung erkannt oder muss so groß gewählt werden, dass die 
Betriebspannung viel zu lange weg sein muss.

: Bearbeitet durch User
von Nemopuk (nemopuk)


Lesenswert?

Dominik schrieb:
> Attiny85?

Den kannst du nicht mit einen gewöhnlichen USB-TTL Adapter 
programmieren. Aber ein "Digispark" Board kommt dem Nahe, das kannst du 
direkt in den USB Port des PC stecken.

: Bearbeitet durch User
von Mario M. (thelonging)


Lesenswert?

Dominik schrieb:
> einen kleinen
> Mikrocontroller mit 3 Anschlussen

ATTiny4 im SOT23-6 Gehäuse. Braucht aber einen TPI-Programmer.

von Johannes R. (oa625)


Lesenswert?

Wenn Du schon mit PICs gearbeitet hast: PIC10F320 im SOT-23.

J.R.

von Christian M. (christian_m280)


Lesenswert?

*SOT-23-6

Gruss Chregu

von Dominik (koelner)


Angehängte Dateien:

Lesenswert?

Mario M. schrieb:
> Dominik schrieb:
>> einen kleinen
>> Mikrocontroller mit 3 Anschlussen
>
> ATTiny4 im SOT23-6 Gehäuse. Braucht aber einen TPI-Programmer.

TPI-Programmer? Ich habe hier einen älteren USB- ICSP-Programmer. Könnte 
der passen?
Ansonsten habe ich Anleitungen gefunden, wie man einen Attiny13 wohl 
simpel mit einem anderen Ardiuno Uno (Nano geht dann vermutlich auch?) 
über die Arduino-IDE programmieren kann: 
https://www.hackster.io/taunoerik/programming-attiny13-with-arduino-uno-07beba

Nachtrag: TPI-Programmer ist wohl ein HV-Programmer? Das möchte ich 
eigentlich nicht mehr unbedingt anschaffen.

: Bearbeitet durch User
von Nemopuk (nemopuk)


Lesenswert?

Dominik schrieb:
> TPI-Programmer ist wohl ein HV-Programmer?

Nein. Siehe https://ww1.microchip.com/downloads/en/Appnotes/doc8373.pdf

von Dominik (koelner)


Lesenswert?

Bearbeiten geht nun leider nicht mehr: Hat irgendeiner der 
vorgeschlagenen SO-Mikrocontroller denn Open Collector, bzw. Open Drain 
Ausgänge? Ich möchte ungern ausversehen irgendwie 5V in die 
Original-Schaltung am Taster reinhauen, die ja mit 3,3V läuft.

von Dominik (koelner)


Lesenswert?

Nemopuk schrieb:
> Dominik schrieb:
>> TPI-Programmer ist wohl ein HV-Programmer?
>
> Nein. Siehe https://ww1.microchip.com/downloads/en/Appnotes/doc8373.pdf

Ok danke. Google hatte mir irgendwie eine Schaltung mit +12V gezeigt.

von Harald A. (embedded)


Lesenswert?

Attiny202, programmierbar über einen Pin (TTL-UART, kein spezieller 
Programmer). Arduino-Support auch mit Sleep usw.., 1,8…5V, gute 
Brown-Out Detection. Nur SO8, ansonsten Attiny406 in 4x4mm, 0,55€

: Bearbeitet durch User
von Johannes R. (oa625)


Lesenswert?

Dominik schrieb:
> Ich möchte ungern ausversehen irgendwie 5V in die
> Original-Schaltung am Taster reinhauen, die ja mit 3,3V läuft.

Open Drain könnte bei den kleinen uC schwierig werden.
Mögliche Abhilfe: Einen Pin auf 0 und Output setzen und danach auf Input 
(hochohmig). Wäre das eine Möglichkeit?

J.R.

von Sebastian R. (sebastian_r569)


Lesenswert?

Dominik schrieb:
> TPI-Programmer? Ich habe hier einen älteren USB- ICSP-Programmer. Könnte
> der passen?

Wenn die "aktuellste" USBasp-Firmware drauf ist, dann geht das.
Wichtig: Beim USBasp liegt TPI-Data auf MOSI, beim Atmel AVR ISP mkII 
auf MISO (das hat mir mal viele graue Haare spendiert)
Beitrag "TPI f. ATTiny10 mit USBasp + AVRDUDE?"

Ich mache recht viel mit dem Attiny10:
https://github.com/SebiR/ATTiny10_Playground
https://github.com/SebiR/Firefly_Pentant
https://github.com/SebiR/EVmulator

Dominik schrieb:
> SO-Mikrocontroller denn Open Collector, bzw. Open Drain
> Ausgänge?

OC-Ausgänge sind recht selten bei Mikrocontrollern. Man kann aber den 
Pin als Eingang ohne Pullup schalten, dann verhält er sich wie HiZ. Die 
Spannung darf aber trotzdem die Versorgungsspannung des Controllers 
nicht überschreiten!

: Bearbeitet durch User
von Rainer W. (rawi)


Lesenswert?

Dominik schrieb:
> Ansonsten habe ich Anleitungen gefunden, wie man einen Attiny13 wohl
> simpel mit einem anderen Ardiuno Uno (Nano geht dann vermutlich auch?)
> über die Arduino-IDE programmieren kann:

Mit drei Anschlüssen, von denen bereits zwei für die Versorgung benötigt 
werden, wird das nichts. Guck dir einmal die Schnittstelle an.

Johannes R. schrieb:
> Open Drain könnte bei den kleinen uC schwierig werden.

Das ist überhaupt kein Problem, wenn man den Pin im Port-Register auf 0 
setzt und die Daten ins Richtungsregister schreibt.

Sebastian R. schrieb:
> OC-Ausgänge sind recht selten bei Mikrocontrollern.

Eigentlich jeder uC hat einen Transistor, mit dem man den Ausgang auf 
low ziehen kann und ein Steuerbit, um die Ausgangsstufe abzuschalten, 
d.h auf High-Z.

: Bearbeitet durch User
von Bauform B. (bauformb)


Lesenswert?

Ist das nicht die klassische Aufgabe fuer einen Reset-Generator aus der 
LM809 Ecke? Solange VDD noch kleiner als 2.9V (z.B.) ist, ist der Open 
Drain Ausgang low und danach noch ca. 250ms. Es gibt etliche Typen mit 
unterschiedlichen Zeiten und Schaltschwellen.

von Rainer W. (rawi)


Lesenswert?

Sebastian R. schrieb:
> OC-Ausgänge sind recht selten bei Mikrocontrollern.

Aber du hast natürlich Recht, Open-Collector-Ausgangsstufen sind 
ausgesprochen selten. Die meisten uCs sind heutzutage mit MOSFETs 
aufgebaut, d.h. das wird eine Open-Drain-Ausgangsstufe.

von Nemopuk (nemopuk)


Lesenswert?

Rainer W. schrieb:
>> einen Attiny13
> Mit drei Anschlüssen, von denen bereits zwei für die Versorgung benötigt
> werden, wird das nichts.

Der ATtiny13 hat 8 Pins.

von Rainer W. (rawi)


Lesenswert?

Nemopuk schrieb:
> Der ATtiny13 hat 8 Pins.

Das habe ich mir anhand des Datenblattes schon gedacht. Dominik träumt 
aber von einem 3-Pinner ;-)

von H. H. (hhinz)


Lesenswert?

Rainer W. schrieb:
> Dominik träumt
> aber von einem 3-Pinner ;-)

Einfach dem µC in SOT23-6 die drei nach dem programmieren überflüssigen 
Beinchen entfernen.

von Harald A. (embedded)


Lesenswert?

Wenn der Taster mit einem Pull-Up aus 3.3V versorgt wird fällt mir diese 
Schaltung hier ein, das wäre dann (nach außen gesehen) ein 2-Pinner:
Beitrag "Re: Bosch E-Bike Antrieb Geschwindigkeitssensor"
100uF/6.3V gibt es als 0805

Edit: geht hier nicht, da der Kondensator im Einschaltmoment gegen Masse 
zieht

: Bearbeitet durch User
von Dominik (koelner)


Lesenswert?

Rainer W. schrieb:
> Nemopuk schrieb:
>> Der ATtiny13 hat 8 Pins.
>
> Das habe ich mir anhand des Datenblattes schon gedacht. Dominik träumt
> aber von einem 3-Pinner ;-)

Nein, ich möchte in der Endanwendung lediglich nur 3 Leitungen belegen 
ohne zusätzliche, externe Beschaltung. 8pin ist noch okay. Mehr sollten 
es aber nicht unbedingt werden.

von Manfred K. (4for)


Lesenswert?

klingt alles nach Start-Stopp Funktion beim Auto lahmlegen..   ;-)
da haben sich schon andere Leute Gedanken gemacht.

von Vanye R. (vanye_rijan)


Lesenswert?

> Aber du hast natürlich Recht, Open-Collector-Ausgangsstufen sind
> ausgesprochen selten.

Gibt es ueberhaubt irgendeinen Controller der sowas hat? Wir legen doch 
alle Wert auf Eingangsschutzdioden oder? Dazu kommt das die Prozesse in 
denen man moderne Controller fertigt nicht viel mehr Spannung wie 3.3 
oder 5V abkoennen.

Vanye

von Mo (moakadarkmaster)


Lesenswert?

[EDIT] Zu früh am morgen, ... eine Push-Pull Stufe würde hier eher nicht 
so gut funktionieren. Meine Antwort lass ich trotzdem gerne stehen.

Guten Morgen,
warum nicht einfach ein Monoflop nehmen? Von Microchip gibts den MIC1551 
[1] in SOT23-5 Gehäuse, auf Seite 2 wäre die Verschaltung. Deine 3.3 V 
wären kein Problem, der Ausgang ist eine Push-Pull Stufe.
Kann mir kaum vorstellen, dass du den R und C für die Zeitkonstante in 
0603/0402 nicht noch irgendwie dranfummeln kannst. Mit ein bisschen 
Geschick kannst du die Bauteile sogar direkt an die Pins des ICs löten. 
Zumal du auch einem µC noch mindestens nen Kondensator spendieren 
solltest wenn du diesen mit Draht ranfummelst.

Wie häufig benötigst du denn diese Bastellösung? Für ein Einzelstück 
kann der "Aufwand" ruhig etwas größer sein.

[1] 
https://ww1.microchip.com/downloads/aemDocuments/documents/TCG/ProductDocuments/DataSheets/MIC1551-53-IttyBitty-RC-Type-555-Timer-Oscillator-DS20006985.pdf

: Bearbeitet durch User
von Peter D. (peda)


Lesenswert?

Manfred K. schrieb:
> klingt alles nach Start-Stopp Funktion beim Auto lahmlegen..   ;-)

Da dürften aber 0,25..1s viel zu knapp sein. Ehe bei meinem Clio die 
Steuerung aus die Puschen kommt, würde ich eher ab 30s aufwärts 
ansetzen.

von Peter D. (peda)


Lesenswert?

Sebastian R. schrieb:
> Die
> Spannung darf aber trotzdem die Versorgungsspannung des Controllers
> nicht überschreiten!

Es gibt Ausnahmen. Z.B. darf der Resetpin bei den ATtiny13..85 bis zu 
13V sehen gegenüber GND. Er kann allerdings als Ausgang nur ~3mA low 
ziehen.

von Christoph M. (mchris)


Lesenswert?


von Peter D. (peda)


Lesenswert?

Christoph M. schrieb:
> Wie wäre es mit 6 Pins?

Zu spät:

Mario M. schrieb:
> ATTiny4 im SOT23-6 Gehäuse.

von Harald K. (kirnbichler)


Lesenswert?

Wenn es auf die physische Größe und nicht in erster Linie die Anzahl der 
Pins ankommt, könnte eine der Varianten des CH32V002 interessant sein - 
den gibt es im QFN12, mit 2mm Kantenlänge. Heißt dann D4U6.
 Externe Beschaltung braucht der keine, vielleicht ein 
Abblockkondensator. Und er funktioniert bei Versorgungsspannungen 
zwischen 2 und 5 V.

Einen Open-Collector-/Open-Drain-Ausgang hat er natürlich nicht, aber 
der kann mit einem I/O-Pin, der zwischen Ein- und Ausgang umgeschaltet 
wird, genauso wie mit allen anderen µCs nachgebildet werden. Wie bei 
allen anderen µCs auh mag er allerdings keine Spannungen jenseits der 
eigenen Versorgungsspannung.

Das aber ist ja offensichtlich kein Problem.

von Axel R. (axlr)


Lesenswert?

Den uC kannst Du doch gleich über seinen Portpin mit VCC versorgen. VCC 
bleibt dann offen und er versorgt sich über die Dioden gegen VCC. Soviel 
Strom fliesst ja da wohl nicht, um diesen  - zugegeben unspezifierten  - 
Betrieb gänzlich auszuschließen. Dieser Fahrrad-Tacho-Lügen-Computer 
macht das wohl auch so. Wurde weiter oben schon mit einer "-1" bewertet, 
funktioniert aber genau so 1A.
Wäre tatsächlich schön gewesen, zu wissen, wofür genau das gebraucht 
wird. Hätte man sich über Alternativen oder andere Lösungswege besser 
austauschen können.

von Harald A. (embedded)


Lesenswert?

Axel R. schrieb:
> Wurde weiter oben schon mit einer "-1" bewertet,
> funktioniert aber genau so 1A.

Ja, ich hatte es gepostet und dann fiel mir ein, dass das Aufladen des 
Kondensators ja schon einen Impuls erzeugen wird. Der scheint ja nicht 
gewünscht, von daher habe ich den Vorschlag zurückgezogen.

Die Fahrrad-Schaltung haben schon einige Bekannte probiert, funktioniert 
1a

Ich kann nur nochmal Werbung machen für die attinyAVR-Serie, die sind 
echt genial. Fast schon zu schade für so etwas mit der Tonne an 
Peripherie. Bei dem Preis aber egal. Das schlanke Konzept mit nur einem 
Pin für Prog/Debug nur mit TTL-UART macht echt Laune.

: Bearbeitet durch User
von Peter D. (peda)


Lesenswert?

Axel R. schrieb:
> Dieser Fahrrad-Tacho-Lügen-Computer
> macht das wohl auch so. Wurde weiter oben schon mit einer "-1" bewertet,
> funktioniert aber genau so 1A.

Warum sind alle immer zu faul, das zu verlinken, wovon sie reden. Oder 
wenigstens mit Link zu zitieren. Dann ist natürlich die "-1" 
gerechtfertigt.
Was ist denn nun wieder ein "Fahrrad-Tacho-Lügen-Computer"?

von Jens M. (schuchkleisser)


Lesenswert?

Harald A. schrieb:
> Das schlanke Konzept mit nur einem
> Pin für Prog/Debug nur mit TTL-UART macht echt Laune.

Welcher ist das bitte?
tinyAVR mit TPI sind m.W. synchron, d.h. Takt und Daten.

von Klaus R. (klara)


Lesenswert?

Dominik schrieb:
> Da ich nicht viel Platz habe, habe ich dazu an einen kleinen
> Mikrocontroller mit 3 Anschlussen gedacht (+5V Betriebsspannung, GND und
> ein (idealerweise OpenCollector?)-Ausgang), welche ich mit feinen
> Kupferlackdrähten verbinden möchte. Der Taster in der eigentlichen
> Schaltung wird lediglich mit 3,3V gespeist (vermutlich via Pull-Up) und
> gegen GND getastet.

Du hast nicht viel Platz und hättest deshalb gerne einen kleinen 
Mikrocontroller mit 3 Anschlüssen.
Und was ist mit der Spannungsversorgung?
mfg Klaus

von Axel R. (axlr)


Lesenswert?

Peter D. schrieb:
> Axel R. schrieb:
>> Dieser Fahrrad-Tacho-Lügen-Computer
>> macht das wohl auch so. Wurde weiter oben schon mit einer "-1" bewertet,
>> funktioniert aber genau so 1A.
>
> Warum sind alle immer zu faul, das zu verlinken, wovon sie reden. Oder
> wenigstens mit Link zu zitieren. Dann ist natürlich die "-1"
> gerechtfertigt.
> Was ist denn nun wieder ein "Fahrrad-Tacho-Lügen-Computer"?

Stand gleich zwei, drei Beiträger oben drüber.
Habs gern nochmal verlinkt, dachte, wäre nicht nötig, sorry.
Ja - ich achte in Zukunft etwas mehr drauf.

Beitrag "Re: Bosch E-Bike Antrieb Geschwindigkeitssensor"

: Bearbeitet durch User
von Dominik (koelner)


Lesenswert?

Bauform B. schrieb:
> Ist das nicht die klassische Aufgabe fuer einen Reset-Generator aus der
> LM809 Ecke? Solange VDD noch kleiner als 2.9V (z.B.) ist, ist der Open
> Drain Ausgang low und danach noch ca. 250ms. Es gibt etliche Typen mit
> unterschiedlichen Zeiten und Schaltschwellen.

Wäre mir ein Versuch Wert. Der LM809 ist aber doch Push-Pull und nicht 
Open Drain? Würde ich mit dem Taster im Betrieb den nicht killen? Könnte 
eine Sperrdiode (1N4147) dann reichen, so dass er nur Low macht und das 
High nicht an die Schaltung weitergibt? Ich könnte das ganze sicher auch 
direkt an der 3,3V irgendwo nach dem onboard Regler anschließen.

von Harald K. (kirnbichler)


Lesenswert?

Dominik schrieb:
> Der LM809 ist aber doch Push-Pull und nicht
> Open Drain?

Eine Diode in Serie kann das Problem lösen. Dann kann nur noch der 
Low-Pegel wirksam werden.

von Bauform B. (bauformb)


Lesenswert?


von Harald A. (embedded)


Lesenswert?

Jens M. schrieb:
> Harald A. schrieb:
>> Das schlanke Konzept mit nur einem
>> Pin für Prog/Debug nur mit TTL-UART macht echt Laune.
>
> Welcher ist das bitte?
> tinyAVR mit TPI sind m.W. synchron, d.h. Takt und Daten.

Die Bezeichnung ist etwas irreführend in der Historie der ganzen tiny…

Ich meine diese hier:
https://wolles-elektronikkiste.de/megatinycore-nutzen

Die haben mit den althergebrachten nur noch wenig zu tun. Und hier ist 
es wirklich eine 1-Draht Programmierung mittels TTL-UART.

Sehr günstig, reich an Peripherie wie ADC, DAC, Comparatoren, mehrere 
Referenzen, PWM, UART usw usw

: Bearbeitet durch User
von Dominik (koelner)


Lesenswert?

Harald A. schrieb:

> Ich meine diese hier:
> https://wolles-elektronikkiste.de/megatinycore-nutzen
>
> Die haben mit den althergebrachten nur noch wenig zu tun. Und hier ist
> es wirklich eine 1-Draht Programmierung mittels TTL-UART.
>
> Sehr günstig, reich an Peripherie wie ADC, DAC, Comparatoren, mehrere
> Referenzen, PWM, UART usw usw

Vielen Dank für den Link. Sehr interessant! Meine Suche nach "attiny202 
arduino" brachte vorgestern kein Erfolg. Werde mir nun mal ein paar 
202er bzw. besser 402er zulegen.

: Bearbeitet durch User
von Harald A. (embedded)


Lesenswert?

Mache Dir doch eine kleine passende Platine für deinen Taster mit einem 
0402 100nF dazu, die Dinger gibt es allesamt auch bei JLCPCB/LCSC. In 
einer Woche hast Du eine schöne Nachrüstlösung für ein paar Euros ohne 
viel Gefummel. Dann kannst Du auch gleich den ATTINY1616 (LCSC C507118) 
nehmen, zwar Kanonen auf Spatzen aber billig und mit 3x3mm + 0402 
superklein.

: Bearbeitet durch User
von Rolf M. (rmagnus)


Lesenswert?

Johannes R. schrieb:
> Dominik schrieb:
>> Ich möchte ungern ausversehen irgendwie 5V in die
>> Original-Schaltung am Taster reinhauen, die ja mit 3,3V läuft.
>
> Open Drain könnte bei den kleinen uC schwierig werden.
> Mögliche Abhilfe: Einen Pin auf 0 und Output setzen und danach auf Input
> (hochohmig). Wäre das eine Möglichkeit?

Ist das nicht die Art, wie man das normalerweise macht? Man setzt z.B. 
beim AVR das PORT-Register dauerhaft auf 0 und schaltet dann mit dem 
DDR? Bei Open Drain muss man den Pin ja sowieso oft auch lesen können, 
während er hochohmig ist.

Klaus R. schrieb:
> Du hast nicht viel Platz und hättest deshalb gerne einen kleinen
> Mikrocontroller mit 3 Anschlüssen.
> Und was ist mit der Spannungsversorgung?

Was soll damit sein?

>> (+5V Betriebsspannung, GND und ein (idealerweise OpenCollector?)-
>> Ausgang)

von Johannes R. (oa625)


Lesenswert?

Rolf M. schrieb:
> Ist das nicht die Art, wie man das normalerweise macht?

Nicht unbedingt. Nur zur Info (entspricht nicht der Spezifikation des 
TE):
Manche PICs haben an PORTA einen OD-Pin (z.B. PIC16F690, 16F62x, 16F87x 
u.v.m.) oder auch frei OD-konfigurierbare Pins an mehreren PORTS, z.b. 
PIC16F153x (Register ODCONA /B /C).

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.