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.
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.
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.
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.
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€
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?
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?"
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!
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.
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.
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.
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.
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.
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.
[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.
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.
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.
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.
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"?
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
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.
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.
Der LM809 ist aber doch Push-Pull und nicht Open Drain?
Ja. Zu der Familie gehören aber auch 803 und 810 und der 803 hat einen Open Drain Ausgang. "Natürlich" hat jeder Hersteller seine eigene Typenbezeichnung, Reichelt verkauft z.B. welche namens SGM803B. Digikey hat über 100 verschiedene auf Lager, die im Prinzip alle in Frage kommen:
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.
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.
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.
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).
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.
Der 1616 ist ein 20pin, also deutlich größeres Gehäuse. Platine für den Taster? Ich will ja gerade keinen Taster verbauen, sondern zweck ist es einen vorhandenen auf einer anderen Platine mitnutzen!
LCSC kannte ich gar nicht. Versand ist aber recht teuer (10EUR). Bestelle lieber bei Aliexpress.
Von Aliexpress ist im übrigen das LED-Timermodul https://de.aliexpress.com/item/1005005926023674.html auch her, wofür ich aktuell den Aufwand treiben möchte. Es geht mir also nicht um eine KFZ Start-Stop Automatik, wobei die Idee auch nicht schlecht ist. ;)
Das genannte Timer-Modul hat irgendeinen exotischen Mikrocontroller onboard unter dem Display versteckt. Schöner wäre es natürlich dessen Programm zu ändern, aber möchte den nicht reverse engineeren. Vielmehr habe ich das Grundproblem immer wieder mal und suche jetzt eine platzsparende, zukunftsichere Universallösung.
Mit der Start-Stop Taste des Timer-Moduls kann man den Timer Stoppen und wieder Starten. Dummerweise läuft er nach dem Einschalten aber immer direkt los. Ich dachte kein Problem, stoppe ich halt immer per Hand direkt nach dem Einschalten. Aber ich bin einfach zu dumm dafür mir das zu merken, da ich das Gerät, wo es verbaut ist, doch eher selten benötige. :(
Spence Konde (Autor der phänomenalen Arduino-Lib) warnt auch ausdrücklich vor dem Erwerb dieser Attinys von Aliexpress. Er hat das Feedback zahlreicher Anwender. Ich mag auch Aliexpress sehr, aber die Fake-Wahrscheinlichkeit gerade bei diesen Bauteilen liegt bei >90%.
Ich meinte auch nicht den Erwerb der Einzelbauteile sondern fertig bestückt auf PCB. Kostet nen Keks. Bestückte Platinen (5Stk) inkl. IOSS Versand ca. 25€
Der Attiny, den ich referenziert habe, hat 3x3mm, zusammen mit dem erforderlichen 100nF in 0402 und Anschlüssen landest Du bei 5x5mm Platine.
Und die PCB dann HINTER dem bereits verbauten Taster, da wolltest Du doch auch den uC händisch verdrahten, wenn ich Dich richtig verstanden habe.
Edit: Habe es mal aufgezeichnet, dauerte 5min, siehe Bild. Sind leider 6x6mm geworden, sorry.
Von Aliexpress ist im übrigen das LED-Timermodul
https://de.aliexpress.com/item/1005005926023674.html auch her, wofür ich
aktuell den Aufwand treiben möchte. Es geht mir also nicht um eine KFZ
Start-Stop Automatik, wobei die Idee auch nicht schlecht ist. ;)
Das genannte Timer-Modul hat irgendeinen exotischen Mikrocontroller
onboard unter dem Display versteckt. Schöner wäre es natürlich dessen
Programm zu ändern, aber möchte den nicht reverse engineeren. Vielmehr
habe ich das Grundproblem immer wieder mal und suche jetzt eine
platzsparende, zukunftsichere Universallösung.
Mit der Start-Stop Taste des Timer-Moduls kann man den Timer Stoppen und
wieder Starten. Dummerweise läuft er nach dem Einschalten aber immer
direkt los. Ich dachte kein Problem, stoppe ich halt immer per Hand
Existierendes Modul gegen XY-WJ01 Modul austauschen. Das läuft nach dem Anlegen der Spannung nicht sofort los.
Spence Konde (Autor der phänomenalen Arduino-Lib) warnt auch
ausdrücklich vor dem Erwerb dieser Attinys von Aliexpress. Er hat das
Feedback zahlreicher Anwender. Ich mag auch Aliexpress sehr, aber die
Fake-Wahrscheinlichkeit gerade bei diesen Bauteilen liegt bei >90%.
Wirklich? Von diesen supergünstigen Mikrocontrollern gibt es tatsächlich Fälschungen? Ich habe unzählige, wesentlich teurere, nachgemachte Arduino Nano und ESP32 Boards von Aliexpress. Mit keinem je ein Problem gehabt
Ich meinte auch nicht den Erwerb der Einzelbauteile sondern fertig
bestückt auf PCB. Kostet nen Keks. Bestückte Platinen (5Stk) inkl. IOSS
Versand ca. 25€
Was, bestücken die auch? LCSC oder JLCPCB? Dachte der eine wäre für das PCB und der andere für die Bauteile.
Der Attiny, den ich referenziert habe, hat 3x3mm, zusammen mit dem
erforderlichen 100nF in 0402 und Anschlüssen landest Du bei 5x5mm
Platine.
Und die PCB dann HINTER dem bereits verbauten Taster, da wolltest Du
doch auch den uC händisch verdrahten, wenn ich Dich richtig verstanden
habe.
Edit: Habe es mal aufgezeichnet, dauerte 5min, siehe Bild. Sind leider
6x6mm geworden, sorry.
Danke, ich würde Tage dafür brauchen, bis erst mal alles richtig eingestellt ist und hätte am Ende noch Bammel wegen Layout-Fehlern mit den Bauteil Routern, wenn man so etwas nicht täglich macht. Womit hast denn Du das PCB erstellt? Kicad?
Danke für den Tipp. Ich glaube dieses Modul habe ich sogar irgendwo hier liegen. Kann aber leider keine 5V. Werde trotzdem noch mal drüber nachdenken das irgendwie nutzen zu können. Mein Gerät wird eh mit 2S-Akkupack betrieben. Müsste dann vor dem Regler abgreifen.
Was, bestücken die auch? LCSC oder JLCPCB? Dachte der eine wäre für das
PCB und der andere für die Bauteile.
Ist eine Firma. Der Kondensator gehört zu den sog. Basic Parts, d.h. Du zahlst nur das reine Bauteil mit 1..2ct, die Rüstkosten entfallen. Beim ATTINY kommen 2,50€ Rüstkosten einmalig für die bestellte Stückzahl. Grundkosten für die Bestückung wenige Euros. Wie gesagt, bei 5 PCBs kommst Du auf ca. 25€ inkl. Versand.
Danke, ich würde Tage dafür brauchen, bis erst mal alles richtig
eingestellt ist und hätte am Ende noch Bammel wegen Layout-Fehlern mit
den Bauteil Routern, wenn man so etwas nicht täglich macht. Womit hast
denn Du das PCB erstellt? Kicad?
Eagle. Ich kann Dir die Daten bestellfertig hochladen, oder schreibe mich per PN an. Allerdings musste ich feststellen, dass die Mindestgröße für Assembly 10x10mm ist. Also entweder so lassen und Rest abschleifen oder mehr Pins rausführen. Oder noch ein Transistor mit drauf
Eagle. Ich kann Dir die Daten bestellfertig hochladen, oder schreibe
mich per PN an. Allerdings musste ich feststellen, dass die Mindestgröße
für Assembly 10x10mm ist. Also entweder so lassen und Rest abschleifen
oder mehr Pins rausführen. Oder noch ein Transistor mit drauf
Dank dir Harald,
das ist wirklich sehr nett von Dir! Aber ich möchte das erst mal ohne PCB ausprobieren, zumal ich gestern die attiny402er eh schon bestellt habe (wohl oder übel über Aliexpress).
Und wenn ich wirklich mal ein PCB brauche, möchte ich das schon selber hinbekommen. An Eagle bin ich leider vor zig Jahren gescheitert. Mit Kicad komme ich aber heutzutage relativ gut klar. Habe da schon einiges gemacht mit entsprechend angepasten footprints und dem Leiterkarteneditor. Allerdings nur um die Platzierung auf Lochraster RM2,54 zu planen. Eine PCB-Serie hatten meine Projekte bisher nicht nötig (alles Unikate halt). Irgendwann wird das aber auch mal kommen, insbesondere wenn ich wiederholt höre, dass das jetzt so günstig geworden ist.
Danke für den Tipp. Ich glaube dieses Modul habe ich sogar irgendwo hier
liegen. Kann aber leider keine 5V. Werde trotzdem noch mal drüber
nachdenken das irgendwie nutzen zu können. Mein Gerät wird eh mit
2S-Akkupack betrieben. Müsste dann vor dem Regler abgreifen.
Wenn du das Modul findest, mach die Rückwand ab und schau es dir an. Hier sehe ich einen Step-down (XL1509-5.0E1), der aus den 8..30V Eingang 5 Volt macht. Und es gibt noch einen AMS1117-3.3 für den Prozessor (HK32F030).
Wenn du das Modul findest, mach die Rückwand ab und schau es dir an.
Hier sehe ich einen Step-down (XL1509-5.0E1), der aus den 8..30V Eingang
5 Volt macht. Und es gibt noch einen AMS1117-3.3 für den Prozessor
(HK32F030).
Danke. Ich habe nun so ein Modul von Ali erhalten, aber es löst mein Problem leider nicht oder ich bin zu blöd es zu programmieren: Ich brauche eine Loop Funktion: Grundzustand aus. Nach Trigger 10sek weiterhin aus - 1 sek an und Loop:
Mit P04 bekomme ich Grundstellung aus -> Trigger -> 1sek an -> 10sek -> Loop. Hier fehlen mir also die 10sek Vorlauf
P05 macht im Grunde genau das, was ich will, allerdings ist das Relais dummerweise in Grundstellung schon an.
P07 verhält sich exakt so wie mein Timer, den ich mit den Reset-Generator oder Attiny ja stoppen möchte! Den bräuchte ich dann also auch für dieses Modul und bin leider wieder beim Ausgangsproblem.
Da ich selber auch des Öfteren schon mal nach so einer Patchlösung gesucht habe hier mal meine Lösung mit einem attiny1616. Platine 10x10mm, 5 GPIOs + 1 LED. Kostenpunkt 5 Stk ca. 25€ all inkl. (bestückt versteht sich, auch in 0.8mm gleicher Preis)
Bei Interesse PN