Halli Hallo,
ich bin noch recht neu im Gebiet der Microcontroller und habe auf der
Seite schon etliche Beiträge durchsucht aber leider nicht den passenden
gefunden.
Ich brauche ein konstantes PWM-Signal mit nur 0,1Hz und einem festen
Tastverhältnis von 95%. Die einzige Vorraussetzung ist, dass es
möglichst günstig ist. Da ich noch sehr unerfahren bin, weiß ich nicht
welcher Mikrocontroller dafür geeignet ist, aus den Datenblättern werde
ich immer nur bedingt schlau.
Ich würde mich über eure Ideen und Anregungen sehr freuen, vielen Dank
im voraus!
Hoi,
da nimmst Du einen 555 - Timer, der am Ausgang alle 10 Sekunden für 0.5
Sek auf Low geht!
Am besten mal noch 555-Timer Schaltungen googeln.
Gruß T.
Hallo,
eine wichtige Angabe wäre noch, wie genau Frequenz und Tastverhältnis
stimmen müssen. Wenn da keine hohe Genauigkeit gefordert wird,
eigentlich jeder. Sogar ein PIC10F200 sollte das schaffen. Für den
bekommst Du aber keinen C-Compiler.
Nur Vorsicht, wenn Ihr so was lahmes mit einem Timer machen wollt :
ein 16 Bit-Timer mit 1:1024 Vorteiler darf dann nur mit gut 6 MHz
getaktet werden...
fop schrieb:> Nur Vorsicht, wenn Ihr so was lahmes mit einem Timer machen wollt :> ein 16 Bit-Timer mit 1:1024 Vorteiler darf dann nur mit gut 6 MHz> getaktet werden...
Naja man kann im Interrupt ja Software-seitig einen Zähler hoch zählen
lassen. Bei uint_16 kann man den ruhig ein wenig höher takten ;)
fop schrieb:> Nur Vorsicht, wenn Ihr so was lahmes mit einem Timer machen wollt> :> ein 16 Bit-Timer mit 1:1024 Vorteiler darf dann nur mit gut 6 MHz> getaktet werden...
Naja, ich denke mal, bei Pulsdauern von 10Sekunden wird es vermutlich
nicht wichtig sein, daß der PWM-Pin Taktgenau (ns-Bereich) wackelt. Da
sollte es auch ein softwaregesteuertes Pin-Wackeln tun.
Aber prinzipiell hast du natürlich Recht!
Stefan S. schrieb:> Naja man kann im Interrupt ja Software-seitig einen Zähler hoch zählen> lassen.
Er will 'ne PWM und keine Zeitbasis. Außerdem:
swagner95 schrieb:> ich bin noch recht neu im Gebiet der Microcontroller
Vielen Dank für eure Hilfe.
Ich guck mir die Vorschläge alle mal an und überleg' mir dann was am
besten past.
Ich finde es echt witzig, dass automatisch davon ausgegangen wird, dass
ich ein "er" bin :P Das ist nämlich gar nicht der Fall. :D
Der 555 ist doch RC-gesteuert, macht also einen Fehler bei dem D.C. Wenn
es ungenau sein darf, nimm den, ansonsten einen kleinen PIC der einfach
zählen kann. Da gibt es auch keine grossen "Softwarefehler" :-D
swagner95 schrieb:> Vielen Dank für eure Hilfe.> Ich guck mir die Vorschläge alle mal an und überleg' mir dann was am> besten past.>> Ich finde es echt witzig, dass automatisch davon ausgegangen wird, dass> ich ein "er" bin :P Das ist nämlich gar nicht der Fall. :D
Na denn: :)
https://www.adafruit.com/product/1222
kostet nen zehner (plus Versand, exklusive Nagellack - der ist nicht
dabei)
StromTuner
swagner95 schrieb:> Ich finde es echt witzig, dass automatisch davon ausgegangen wird, dass> ich ein "er" bin :P Das ist nämlich gar nicht der Fall. :D
Dann gibt es ja nur noch zwei Möglichkeiten.
fop schrieb:> Sogar ein PIC10F200 sollte das schaffen. Für den> bekommst Du aber keinen C-Compiler.
Doch, XC8. Allerdings braucht man für den PIC einen Programmer.
Axel R. schrieb:> Na denn: :)> https://www.adafruit.com/product/1222> kostet nen zehner (plus Versand,
Ein etwas überzogener Preis für das Designerteil.
> exklusive Nagellack - der ist nicht dabei)
Musste das sein?
swagner95 schrieb:> ich bin noch recht neu im Gebiet der Microcontroller
Du musst nun entscheiden, wie tief Du einsteigen willst, wie gut Deine
Kenntnisse sind, eine Entwicklungsumgebung einzurichten und ob Du
Programmierhardware kaufen willst.
Hier geht das um 10 Sekunden Umlaufzeit, das sollte ein totaler Anfänger
mit einem beliebigen Aurduino binnen weniger Stunden lösen können. Die
Fernost-Nachbauten kosten niedrig einstellige Euro, die
"Entwicklungsumgebung" IDE kostet nichts und programmiert wird über ein
USB-Kabel.
Für Anfänger ist ganz klar ein Arduino Board zu empfehlen. Das "Blink"
Beispiel kann dann mit den benötigten Zeitintervallen angepasst werden.
Benötigt wird in diesem Fall:
- 1 Arduino Board (z.B. Arduino UNO, Arduino Nano, ...)
- 1 USB Kabel
- Arduino IDE (https://www.arduino.cc/en/Main/Software)
- Blink Beispiel
1
void setup() {
2
// initialize digital pin 13 as an output.
3
pinMode(13, OUTPUT);
4
}
5
6
// the loop function runs over and over again forever
7
void loop() {
8
digitalWrite(13, HIGH); // turn the LED on (HIGH is the voltage level)
9
delay(1000); // wait for a second
10
digitalWrite(13, LOW); // turn the LED off by making the voltage LOW
Hi
Manfred schrieb:> Hier geht das um 10 Sekunden Umlaufzeit, das sollte ein totaler Anfänger> mit einem beliebigen Aurduino binnen weniger Stunden lösen können. Die> Fernost-Nachbauten kosten niedrig einstellige Euro, die> "Entwicklungsumgebung" IDE kostet nichts und programmiert wird über ein> USB-Kabel.
Dabei hat der Arduino den Vorteil, daß man damit dann auch 'Mehr' machen
kann - vll. bekommt man ja Lust auf Mehr - und mit einem Arduino ist man
sehr schnell an umfangreicher Hardware auf Funktion - man muß sich nicht
unbedingt um die 'Innereien' kümmern.
MfG
npn schrieb:> Nein, er will FESTES Pulsdauern (10s) bei FESTEN Pausen (9,5s).> Da soll nichts moduliert werden.
Warum sagt er dann Puls-Weiten- Modulation , wenn er gar nicht
modulieren will?
Weil SIE wohl offensichtlich Anfängerin ist und sich mangels Wissen
nicht sauber ausdrücken kann.
PWM ist so ziemlich der erste Begriff, den man im Netz findet, sie
scheint zumindest mal gegoogelt und sich damit beschäftigt zu haben.
komische Leute schrieb:> Warum sagt er dann Puls-Weiten- Modulation , wenn er gar nicht> modulieren will?Leroy M. schrieb:> Weil SIE wohl offensichtlich Anfängerin ist und sich mangels Wissen> nicht sauber ausdrücken kann.
Weil Ihr meint, schlau zu sein? Auf der Leitung befindet sich ein
Signal, also darf diese als moduliert bezeichnet werden. Eine PWM ist
und bleibt eine PWM, selbst, wenn deren Tastverhältnis über Stunden oder
Tage oder ... nicht verstellt wird.
Klugscheißer schrieb:> ... Eine PWM ist> und bleibt eine PWM, selbst, wenn deren Tastverhältnis über Stunden oder> Tage oder ... nicht verstellt wird.
Stimmt schon, ist aber in diesem Fall nicht hilfreich. Schließlich
erzeugt eine Batterie auch ein PWM-Signal (100%) und auch ein Stück
Draht (0%).
Ist aber egal, die Beschreibung war ja korrekt.
asdfasd schrieb:> Ein popeliger Multivibrator ...
Wenn man denn diese 8 Bauteile noch zusammen bringen kann - ältere
Generation?
War auch mein Gedanke, aber die Frage war ja explizit "welchen
Mikrocontroller". Natürlich darf man das hinterfragen, die sinnvolle
Festlegung eines Konzeptes ohne Fachwissen ist kaum möglich.
> Ungetestet, aus der hohlen Hand:
Naja, sehr genau ist das nicht. Das Timining wird immer etwas langsamer
sein, als berechnet wurde, weil digitalWrite und die wiederholte
Berechnung von PwmOffTime_ms und der Code zwischen den Aufrufen der loop
Funktion auch Zeit benötigt.
Ich würde eher einen freilaufenden Timer und die Modulo Operation
verwenden. etwa so:
1
void loop()
2
{
3
digitalWrite(13, ((millis()/1000)%10) < 2);
4
}
Wobei man sich da eventuell noch Gedanken über den Zähler-Überlauf
machen müsste.
> Ich brauche ein konstantes PWM-Signal mit nur 0,1Hz und einem festen> Tastverhältnis von 95%. Die einzige Vorraussetzung ist, dass es> möglichst günstig ist.
Im Grunde genommen ist dazu jeder Mikrocontroller geeignet.
Um eine gute Wahl zu treffen, brauchen wir noch mehr Angaben zu den
Rahmenbedingungen.
Wie genau muss das Timing eingehalten werden?
Wie ist die Stromversorgung gestaltet?
Spielen die Kosten für den Programmieradapter eine Rolle?
Soll es ein "nackter" Chip sein oder ein Modul?
Soll der Chip oder das Modul eventuell mitsamt PC Interface sein?
Kennst du schon eine Programmiersprache, die du dazu bevorzugst?
Soll der Chip sonst nichts anderes tun?
Als einer der kleinsten denkbaren Kandidaten käme ein ATtiny4 in Frage.
Aber dazu brauchst du einen Programmieradapter, der relativ viel kostet.
http://www.atmel.com/images/atmel-8127-avr-8-bit-microcontroller-attiny4-attiny5-attiny9-attiny10_datasheet.pdf
Etwas größer wäre der ATtiny25, den kannst du mit den billigsten
Programmieradaptern programmieren und ggf einen Quarz anschließen.
Als günstigstes Modul mitsamt PC Schnittstelle fällt mir der Arduino
Nano mit ATmega328P ein, den bekommt man üblicherweise für 3 Euro,
manchmal auch noch billiger. Als Taktgeber dient hier ein Keramik
Resonator.
Wenn man eine weitgehend frei programmierbare Lösung mit µC sucht, gibt
es hier ein fertiges Programm für einen ATtiny4313:
http://mino-elektronik.de/Generator/takte_impulse.htm#bsp2
Per Timer1 werden Frequenzen von 0,01 Hz - 50 kHz und Pulsweiten von 5
µs - 10 s mit jeweils 50 ns Auflösung erzeugt. Die Einstellung erfolgt
per RS232. Die Grundfunktion (ISR) braucht nur wenige Programmzeilen,
während der Hauptteil des Programmes der Bedienung der RS232 dient. Die
einmal programmierten Zeiten werden im EEPROM fürs nächste Einschalten
gespeichert.
Ohne selber löten zu müssen, kann man mit ein paar kleinen Anpassungen
das Programm auf einen Arduino mit AVR übertragen und dann per USB
(serial monitor) bedienen.
Simple Schaltungen für lange Puls-Pausen-Zeiten sind hier aufgeführt:
http://mino-elektronik.de/Powerbank/powerbank.htm
Den Lastwiderstand wählt man einfach größer, um die Stromaufnahme zu
senken. Vielleicht reicht so eine einfache Schaltung ja schon aus.
swagner95 schrieb:> Ich brauche ein konstantes PWM-Signal mit nur 0,1Hz und einem festen> Tastverhältnis von 95%. Die einzige Voraussetzung ist, dass es> möglichst günstig ist.
Georg M. schrieb:> Ebay-Artikel Nr. 272655881017>> Ebay-Artikel Nr. 172425955537
Für einen Anfänger dürfte in diesem Fall erst einmal ein 555er
überschaubarer sein.
Klaus R. schrieb:> Für einen Anfänger dürfte in diesem Fall erst einmal ein 555er> überschaubarer sein.
Die SW-Lösung hat aber den Vorteil, daß man die gewünschten Impulszeiten
einfach in Klartext in das Programm schreiben kann.
Mit einen 555 wird es schon schwer, die 10s genau auszumessen.
Stefan U. schrieb:> Naja, sehr genau ist das nicht. Das Timining wird immer etwas langsamer> sein, als berechnet wurde, weil digitalWrite und die wiederholte> Berechnung von PwmOffTime_ms und der Code zwischen den Aufrufen der loop> Funktion auch Zeit benötigt.
Dem ist so!
Stefan U. schrieb:> Wobei man sich da eventuell noch Gedanken über den Zähler-Überlauf> machen müsste.
Wer will das schon....
1
constbyteoutput=13;// SoftPWMOutputPin
2
constunsignedlongzeitPeriode=10000;// 10s
3
constunsignedlongzeitOff=500;// 0,5s
4
constunsignedlongzeitOn=zeitPeriode-zeitOff;
5
6
voidPwmGenerator()
7
{
8
staticunsignedlongzeitMerker=0;
9
staticboolzustandsMerker=false;// beginne mit LOW Phase
Getestet auf einem UNO und einem ATTiny85(Digispark).
Sollte mit jedem (halbwegs) Arduino kompatiblen µC so laufen.
(Outputpin anpassen)
Arduinos verwenden meist Resonatoren.
Für höhere Genauigkeit, einen mit Quarz wählen.
Oder eben einen nackten AVR damit ausstatten.
Irgendwelche Ressourceneinsparungen scheinen mir hier nicht von Belang.
Also frei nach dem Motto: Übersicht hat Vorrang.
Der NE555 funktioniert von ganz alleine. Der Mikrocontroller muss vorher
programmiert werden. Für jemanden, der das noch nie gemacht hat, ist das
schon eine große Hürde.
Allerdings lohnt sich die Mühe. Das dabei gelernte kann man sicher noch
woanders mal brauchen.
m.n. schrieb:> Ohne selber löten zu müssen, kann man mit ein paar kleinen Anpassungen> das Programm auf einen Arduino mit AVR übertragen und dann per USB> (serial monitor) bedienen.
Ich habe das für einen Arduino Uno mal eben selber gemacht. Die
Auflösung beträgt bei 16 MHz nun 62,5 ns; als Ausgang dient PB2 (Arduino
Pin-Nr. 10).
Hi
m.n. schrieb:> 16 MHz nun 62,5 ns
Was durchaus logisch klingt, da man für 16 Millionen gleich verteilte
Takte in einer Sekunde ziemlich genau 62,5ns Zeit pro Takt hat.
(1 MHz braucht 1µs pro Takt - eine Millionen Takte pro Sekunde brauchen
eine Millionstel-Sekunde Taktzeit - 1/16tel µs sind genau die 62,5 ns)
Wobei hier vll. noch eingeworfen werden kann, daß vom Match (der Endwert
wurde soeben erreicht) bis zum Ändern des Ausgang nun auch noch ein/zwei
Takte benötigt werden - da Dort wohl ein Interrupt benutzt wird, sind
schon zig Takte für's Sichern diverser Register (neben PC und Jump zur
ISR wie dem Return) nötig - wobei das Return wohl NACH dem Setzen des
Pin geschieht ;)
Aber ja, eine Auflösung von 62,5ns hat man trotzdem, da ein um 1
größerer Endwert ziemlich genau 62,5ns später zum Umschalten des Pin
führt.
Wenn auch die absolute Zeit eine Differenz aufweisen wird.
Was aber wohl - im 10-Sekunden-Raster - eher nicht von großartiger
Bedeutung sein wird.
MfG
Patrick J. schrieb:> Wobei hier vll. noch eingeworfen werden kann,
Deinen Einwurf kannst Du getrost wieder wegwerfen ;-)
Die Ausgangsimpulse werden von der Compare-Einheit des µC erzeugt und
sind exakt und ohne Jitter. Der ausgelöste Interrupt hinkt der
Signaländerung hinterher und sorgt dafür, das der Vergleichswert für die
nächste Signaländerung nachgeladen wird. Die Laufzeit der ISR ist der
Grund dafür, daß die minimale Impulsbreite auf ca. 5 µs begrenzt ist.
Mikrocontroller hat auf jeden Fall den Vorteil, dass man bei einer
eventuellen Erweiterung des Projekts große Spielräume hat. Wie man es
mit einem µC dann letztlich macht, ist jedem selbst überlassen. Zur
Auswahl stünden unter Anderem:
* PWM mittels Interrupt-Timer
* Simple Schaltung mittels Delay und DigitalWrite (Arduino)
* Arbeit mit Zeitstempeln und Loop-Vergleich (Arduino, Beispiel unten)
* Direkte Schaltung mittels Interrupt-Timer
* Endlosschleife mit ein oder mehr Zählstufen
* Umsetzung in Assemblercode für allerhöchste Präzision
1
unsignedlonglastSwitch=millis();//Zeitpunkt der letzten Schaltung
2
booleancurrentlyHigh=true;//Merker, ob der pin gerade High oder Low ist
3
setup(){
4
pinMode(MYPIN,OUTPUT);
5
digitalWrite(MYPIN,currentlyHigh);//Wert in Ausgang schreiben
6
}
7
loop(){
8
if(millis()-lastSwitch>=currentlyHigh?9500:500){//Wie viel Zeit ist seit letzter Umschaltung vergangen (in ms), wenn gerade HIGH, dann 9500 ms warten, sonst 500
9
lastSwitch=millis();//Zeitstempel anpassen
10
currentlyHigh!=currentlyHigh;//Merker invertieren
11
digitalWrite(MYPIN,currentlyHigh);//Wert in Ausgang schreiben
12
}
13
}
Der Merker kann man sich sogar sparen, wenn man an den entsprechenden
Stellen den Pin mittels DigitalRead(MYPIN) einliest.
André R. schrieb:> * Umsetzung in Assemblercode für allerhöchste Präzision
Das ist doch garnicht notwendig, wenn man die Compare-Hardware des µC
nutzt s.o..
Das ist natürlich wahr. Ich wollte nur aufzeigen, dass es hier wie so
oft viele Wege gibt, die nach Rom führen.
In einem größeren Projekt, wo nicht genügend Timer zur Verfügung stehen,
muss man ggf. kreativ werden. Und da eignen sich die von mir genannten
Möglichkeiten ggf.
Stefan U. schrieb:> Im Grunde genommen ist dazu jeder Mikrocontroller geeignet.>> Um eine gute Wahl zu treffen, brauchen wir noch mehr Angaben zu den> Rahmenbedingungen.>> Wie genau muss das Timing eingehalten werden?> Wie ist die Stromversorgung gestaltet?> Spielen die Kosten für den Programmieradapter eine Rolle?> Soll es ein "nackter" Chip sein oder ein Modul?> Soll der Chip oder das Modul eventuell mitsamt PC Interface sein?> Kennst du schon eine Programmiersprache, die du dazu bevorzugst?> Soll der Chip sonst nichts anderes tun?
Bitte entschuldige die späte Antwort, das Projekt wurde für eine Weile
aus Eis gelegt, aber hier die weiteren Angaben:
Die Genaugkeit des Timing ist nicht ausschlaggebend und muss nicht
berücksichtigt werden.
Die Stromversorgung läuft über ein Netzteil mit 12 V
Die Kosten sollen für die gesamte Lösung so minimal wie möglich gehalten
werden.
Ob nackter Chip oder Modul, genau das ist eigentlich meine Frage. An
Programmiersprachen beherrsche ich Java, C++, VBA und etwas Python aber
die unterscheiden sich ja nicht so stark, ich würde mir dafür auch
nochmal was neues angucken.
Der Chip soll nichts anderes tun als dieses eine PWM-Signal zu senden.
Die wichtigste Vorraussetzung ist, dass ich den Chip leicht
programmieren kann und möglichst wenig Hardware selbst irgendwie
anordnen und dimensionieren muss, denn das ist nun wirklich nicht meine
Stärke, ich bin eher die Informatikerin.
Dann nimm einen NE555, den braucht man gar nicht zu programmieren und er
läuft mit 12V.
Wenn es unbedingt ein µC sein soll, dann wird irgendein Arduino Modul
für Dich das einfachste sein. Kannst du wahlweise mit oder ohne Arduino
IDE programmieren.
swagner95 schrieb:> Die wichtigste Vorraussetzung ist, dass ich den Chip leicht> programmieren kann und möglichst wenig Hardware selbst irgendwie> anordnen und dimensionieren muss, denn das ist nun wirklich nicht meine> Stärke, ich bin eher die Informatikerin.
Hier habe ich dir schon alles haarklein vorgekaut.
Beitrag "Re: PWM-Signal mit 0,1 Hz erzeugen"
Vom Hardware Gefummel aus gesehen ist es erheblich einfacher z.B. einen
Digispark einzusetzen, als einen Ne555 mit seiner Beschaltung zu
versehen.
Ich würde an der Stelle sicherlich einen nackten ATTiny85 einsetzen,
aber auch nur, weil in meinem Lager eine Stange davon liegt.
Aber wie schon gesagt wurde:
Jeder µC sollte das können. Es ist also, im Grunde, völlig egal, welchen
du verwendest.
Also wenn du planst, mehr als nur dieses PWM-Signal zu erzeugen mit
Mikrocontrollern dann empfehle ich dir einen UBSTiny zum Programmieren
zu beschaffen und einen ATTiny45/85 als Entwicklungsboard. Beides gibts
bei eBay für zusammen weniger als 10 Euro, das Atmel Studio ist
kostenlos und damit kann man dann auch direkt loslegen. Und hier gibts
jede Menge Informationen zu den AVRs. PICs sind aber genauso gut, da
kenn ich mich nur nicht mit aus.
Wenn es dir aber nur um das PWM-Signal geht: Löse es mit einem NE555.
Stefan U. schrieb:> Dann nimm einen NE555, den braucht man gar nicht zu programmieren> und er läuft mit 12V.
Also wenn ich das richtig erinnere wird das recht störanfällig. Die RC
Kombi ist bei 10sec Periodendauer sehr hochohmig oder. Alternativ wird
der Kondensator sehr groß und hat dann entweder Leckströme, altert stark
oder ist teuer. Das läuft mMn nicht zuverlässig und für ein paar Takte
kann man auch nen Klingeltaster nehmen.
Wenn die TE zwar proggen aber keine Hardware kann wird billig schwierig.
Ein Demoboard das 12 V als Versorgung kann und 12V Pulse ausgibt dann
auch noch nichts kostet wird nicht ganz einfach zu finden sein.
Ich würde das übrigens mit ner gebrauchten 12/24V LOGO! SPS machen. 1.
Hab ich die Softwarelizenz 2. muss die das ganze nur an die
Schraubklemmen anschließen und 3. da steht dann ich eine kompakte Kiste
ohne gebastel die auch extrem zuverlässig läuft und 4, ist das Programm
in 10 Minuten fertig und läuft garantiert.
swagner95 schrieb:> Die einzige Vorraussetzung ist, dass es> möglichst günstig ist.
Ja so fangen Sie alle an. Am billigsten ist es wenn du selbst auf nen
Taster drückst, aber halt, wenn man dann den Stundenlohn rechnst ...
Die Qualität der Antworten ist nun mal direkt proportional zu der
Qualität der Fragestellung.
Da du leider deine Rahmenbedingungen nicht beschrieben hast ist auch
keine sinnvolle Antwort möglich.
Für den Einstieg fehlen so Dinge wie:
Wo wird das ganze eingesetzt
Wie lange " " "
Was wird angesteuert
Was ist günstig
Wie viele werden gebraucht
Gehäuse oder Bastellösung
usw.
Es gibt irgendwo hier ne Seite die beschreibtwas man bei Fragen
berücksichtigen sollte, die ist aber imho gut versteckt.
X4U schrieb:> Für den Einstieg fehlen so Dinge wie:> Wo wird das ganze eingesetzt> Wie lange " " "> Was wird angesteuert> Was ist günstig> Wie viele werden gebraucht> Gehäuse oder Bastellösung>> usw.>> Es gibt irgendwo hier ne Seite die beschreibtwas man bei Fragen> berücksichtigen sollte, die ist aber imho gut versteckt.
Wie lange ist wichtig. Der 555 ist nicht gerade ein Stromsparwunder.
Alternativ gibt es aber den ICM7555.
@TO
Wie genau muss das Ganze den sein?
Jörg R. schrieb:> @TO> Wie genau muss das Ganze den sein?swagner95 schrieb:> Die Genaugkeit des Timing ist nicht ausschlaggebend und muss nicht> berücksichtigt werden.
Jörg R. schrieb:> Wie lange ist wichtig. Der 555 ist nicht gerade ein Stromsparwunder.> Alternativ gibt es aber den ICM7555.
ist ja nicht spezifiziert also kann er auch kW ziehen ;-)
Aber vom Prinzip her kann Sie sich doch irgendeinen Wechselblinker von
Conrad Völkner ELV etc. ordern. Hauptsache sind 2 Potis drauf und der
Zeitbereich stimmt. Dazu noch ein Relais oder besser nen Blinker mit
Relaisausgang.
Erwin D. schrieb:> Jörg R. schrieb:>> @TO>> Wie genau muss das Ganze den sein?>> swagner95 schrieb:>> Die Genaugkeit des Timing ist nicht ausschlaggebend und muss nicht>> berücksichtigt werden.
Und welcher Kommentar ist nun hilfreicher?
Es findet sich doch immer jemand der die Fehler anderer aufspürt?
X4U schrieb:> Jörg R. schrieb:>> Wie lange ist wichtig. Der 555 ist nicht gerade ein Stromsparwunder.>> Alternativ gibt es aber den ICM7555.>> ist ja nicht spezifiziert also kann er auch kW ziehen ;-)
Deswegen fragt man nach. Vielleicht hat der TO nicht darüber
nachgedacht.
X4U schrieb:> Jörg R. schrieb:>> Wie lange ist wichtig. Der 555 ist nicht gerade ein Stromsparwunder.>> Alternativ gibt es aber den ICM7555.>> ist ja nicht spezifiziert also kann er auch kW ziehen ;-)
Ein Sparwitz'le gemacht.
> Aber vom Prinzip her kann Sie sich doch irgendeinen Wechselblinker von> Conrad Völkner ELV etc. ordern. Hauptsache sind 2 Potis drauf und der> Zeitbereich stimmt. Dazu noch ein Relais oder besser nen Blinker mit> Relaisausgang.
Die Frage von Jörg R. ist absolut berechtigt.
Es ist beim Kauf und bei der Planung entscheidend, was man genau damit
macht. Den NE555er über Batterien bzw. Akkus ist zum Beispiel
Verschwendung.
Was nützt ihm die Enttäuschung über den hohen Ruhestrom wenn er einen
anderen 555er nehmen kann, bei dem die Batterie länger durchhält, weil
der Ruhestrom geringer ist. Vergisst man oftmals bei der Planung. Ist um
eine Ecke weiter gedacht. :)
H. E. schrieb:> X4U schrieb:>> Jörg R. schrieb:>>> Wie lange ist wichtig. Der 555 ist nicht gerade ein Stromsparwunder.>>> Alternativ gibt es aber den ICM7555.>>>> ist ja nicht spezifiziert also kann er auch kW ziehen ;-)> Ein Sparwitz'le gemacht.
Jupp, und zwar mit Leidenschaft.
> Was nützt ihm die Enttäuschung über den hohen Ruhestrom wenn er einen> anderen 555er nehmen kann, bei dem die Batterie länger durchhält, weil> der Ruhestrom geringer ist. Vergisst man oftmals bei der Planung. Ist um> eine Ecke weiter gedacht. :)
Aber eine Ecke zu kurz :-)
555 oder 7555 und Batterien waren vor 30 Jahren mittel der Wahl. Ein
nanoWatt uC und ein LDO (falls Vin > 6V) liegen weit unter der
Selbstentladung.
X4U schrieb:> 555 oder 7555 und Batterien waren vor 30 Jahren mittel der Wahl. Ein> nanoWatt uC und ein LDO (falls Vin > 6V) liegen weit unter der> Selbstentladung.
Du machst Dir selbst ein X für ein U vor, Mister X4U.
Den 555 kennt man noch wenn Arduino und Co längst vom Markt sind.
Es geht auch heute noch ohne uC und App.
Batterien verwende ich auch nach wie vor.
Nur noch der Vollständigkeit halber... sehr einfach ist bei sowas auch
ein Uhrenquarz und Takte zählen. Wenn man bare metal machen möchte, ist
das eine gute Fingerübung mit Assembler oder einfachen Timern.
Z.B. eine Endlossschleife auf 0.5s takten und bei 1 von 20 Taken halt
umschalten.
Oder direkt entsprechenden Timer konfigurieren.
Achim S. schrieb:> Nur noch der Vollständigkeit halber... sehr einfach ist bei sowas> auch> ein Uhrenquarz und Takte zählen. Wenn man bare metal machen möchte, ist> das eine gute Fingerübung mit Assembler oder einfachen Timern.
Oder einfach teilen, mit Oldschool 74ern...40ern....
Eine (immer noch geniale) Möglichkeit, ein beliebiges Digitalsignal zu
erzeugen ist eine Zähler und daran ein EEPROM (also die Adresspins).
Und ein Datenbit ist dann der Ausgang. Und wenn man die anderen 7 oder
15 Datenbits an weitere Adresspins legt, dann bekommt man mit einem 4040
oder 4060 als Zähler schon 20Bit-Zähler (bei einem 1MByte-EEPROM) direkt
hin.
Mit 32-kHz-Takt könnte man so etwa eine halbe Minute ein beliebiges
Signal im 30µs-Raster laufen lassen.
Wir nutzen das z.B. für einen IRDA-Scheinwerfer, der wie ein Leuchtturm
das immer gleiche Signal rausschiebt.
Solange der TE keine Angaben über die Genauigkeit, den Jitter und die
Lagestabilität der Frequenz macht, ist die billigste Version
wahrscheinlich eine retriggerbares Monoflop mit autoreset.
X4U schrieb:> H. E. schrieb:>> X4U schrieb:>>> Jörg R. schrieb:>>>> Wie lange ist wichtig. Der 555 ist nicht gerade ein Stromsparwunder.>>>> Alternativ gibt es aber den ICM7555.>>>>>> ist ja nicht spezifiziert also kann er auch kW ziehen ;-)>> Ein Sparwitz'le gemacht.>> Jupp, und zwar mit Leidenschaft.>>> Was nützt ihm die Enttäuschung über den hohen Ruhestrom wenn er einen>> anderen 555er nehmen kann, bei dem die Batterie länger durchhält, weil>> der Ruhestrom geringer ist. Vergisst man oftmals bei der Planung. Ist um>> eine Ecke weiter gedacht. :)>> Aber eine Ecke zu kurz :-)
Das Gegenteil ist der Fall.
>> 555 oder 7555 und Batterien waren vor 30 Jahren mittel der Wahl. Ein> nanoWatt uC und ein LDO (falls Vin > 6V) liegen weit unter der> Selbstentladung.
Unsinn. Der Baustein hat schon sehr viele Hypes überlebt. Und wird es
auch weiterhin. Ein uC für den zweck total overdesigned. Echte Bastler
verwenden für so eine einfache Aufgabe Baustein(e) und keinen uC.
Oder gehst Du zum YouTube Videos gucken ins Kino? ?
> Solange der TE keine Angaben über die Genauigkeit, den> Jitter und die Lagestabilität der Frequenz macht
Hat er doch, die Genauigkeit ist nicht wichtig.
Zur Stromaufnahme hat er nichts gesagt, aber es soll 12V sein.
Um einen µC an 12V zu betrieben, braucht man einen Spannungsregler.
Damit er 12V ausgeben kann, braucht er dazu einen Treiber.
Bei einem NE555 oder dem ICM7555 entfällt dieser zusätzliche Aufwand.
Jürgen S. schrieb:> Solange der TE keine Angaben über die Genauigkeit, den Jitter und die> Lagestabilität der Frequenz macht,
Das hat sie doch schon längst getan:
swagner95 schrieb:
> Die Genaugkeit des Timing ist nicht ausschlaggebend und muss nicht> berücksichtigt werden.
H. E. schrieb:> Ein uC für den zweck total overdesigned. Echte Bastler> verwenden für so eine einfache Aufgabe Baustein(e) und keinen uC.
Hm, der TE hat 12V zur Verfügung, die Genauigkeit ist untergeordnet. Ich
überlege mal kurz:
- 2 Widerstände
- 1 Kondensator
- 1 Z-Diode (3.3 V z.B.)
- 1 Transistor
- 1 Attiny45 (z.B.)
1 Widerstand und Z-Diode um die 12 V des TEs auf eine Spannung für den
Attiny zu bringen, 1 Widerstand und Transistor als Pegelwandler,
Kondensator für den Attiny zum abblocken.
IMO ist das ein überschaubarer Aufwand. Geht auch sicher anders (z.B.
mit dem NE555), keine Frage. Aber ehrlich gesagt glaube ich nicht, dass
sich das groß unterscheidet.
Diese ganze Gebashe von wegen Analog oder Mikrocontroller ist völlig
unnötig. Einfach Lösungen vorstellen und den TE entscheiden lassen.
M. K. schrieb:> H. E. schrieb:>> Ein uC für den zweck total overdesigned. Echte Bastler>> verwenden für so eine einfache Aufgabe Baustein(e) und keinen uC.>> Hm, der TE hat 12V zur Verfügung, die Genauigkeit ist untergeordnet. Ich> überlege mal kurz:>> - 2 Widerstände> - 1 Kondensator> - 1 Z-Diode (3.3 V z.B.)> - 1 Transistor> - 1 Attiny45 (z.B.)>> 1 Widerstand und Z-Diode um die 12 V des TEs auf eine Spannung für den> Attiny zu bringen, 1 Widerstand und Transistor als Pegelwandler,> Kondensator für den Attiny zum abblocken.> IMO ist das ein überschaubarer Aufwand. Geht auch sicher anders (z.B.> mit dem NE555), keine Frage. Aber ehrlich gesagt glaube ich nicht, dass> sich das groß unterscheidet.>> Diese ganze Gebashe von wegen Analog oder Mikrocontroller ist völlig> unnötig. Einfach Lösungen vorstellen und den TE entscheiden lassen.
Deine Lösung ist zu "kompliziert". Dazu muss er sich erstmal mit
Transistoren beschäftigen. Danach mit Attiny. Den muss er noch
programmieren und erstmal lernen, wie man das macht. Dazu braucht er
auch noch etwas.
Günstig geht irgendwie anders! ;-)
Der TO sollte aber vielleicht auch mal erwähnen, wofür er das Signal
braucht. Das kann die Beratung auch besser ausfallen.
M. K. schrieb:> Hm, der TE hat 12V zur Verfügung, die Genauigkeit ist untergeordnet. Ich> überlege mal kurz:>> - 2 Widerstände> - 1 Kondensator> - 1 Z-Diode (3.3 V z.B.)> - 1 Transistor> - 1 Attiny45 (z.B.)>> 1 Widerstand und Z-Diode um die 12 V des TEs auf eine Spannung für den> Attiny zu bringen, 1 Widerstand und Transistor als Pegelwandler,> Kondensator für den Attiny zum abblocken.> IMO ist das ein überschaubarer Aufwand. Geht auch sicher anders (z.B.> mit dem NE555), keine Frage. Aber ehrlich gesagt glaube ich nicht, dass> sich das groß unterscheidet.>> Diese ganze Gebashe von wegen Analog oder Mikrocontroller ist völlig> unnötig. Einfach Lösungen vorstellen und den TE entscheiden lassen.
Für den TO viel zu kompliziert. Spannungsstabilisierung über eine
Z-Diode. Dann musst Du schon die komplette Schaltung liefern, inkl.
Bauteilewerten. Dazu müsste man aber auch mehr darüber erfahren wie das
Signal belastet wird, da ist die Z-Diodenstabillisierung schnell
überfordert.
Der TO ist mit Beiden Varianten überfordert, egal ob Attiny oder 555. Um
das Problem mit Quarz und Teiler zu lösen erst recht...
Zum 555 finden sich aber Berechnungsbeispiele im Internet.
Route 6. schrieb:> Es ist eine Sie!
Sicher?
H. E. schrieb:> Deine Lösung ist zu "kompliziert".
Immerhin ist es eine Lösung.
H. E. schrieb:> Dazu muss er sich erstmal mit> Transistoren beschäftigen.
1. Es ist eine 'sie'
2. Das muss man bei der Analog-Lösung auch, also sich mit den Bauteilen/
der Schaltung beschäftigen.
H. E. schrieb:> Danach mit Attiny. Den muss er noch> programmieren und erstmal lernen, wie man das macht. Dazu braucht er> auch noch etwas.
Ja, aber das Wissen kann man später weiter einsetzen. Gilt für die
Analog-Lösung genauso. Zeit muss man halt in beide Zweige investieren.
Jörg R. schrieb:> Zum 555 finden sich aber Berechnungsbeispiele im Internet.
Zum Attiny, Transistoren und Z-Dioden aber auch ;)
Jörg R. schrieb:> Spannungsstabilisierung über eine> Z-Diode. Dann musst Du schon die komplette Schaltung liefern, inkl.> Bauteilewerten. Dazu müsste man aber auch mehr darüber erfahren wie das> Signal belastet wird, da ist die Z-Diodenstabillisierung schnell> überfordert.
Transistor und Attiny ziehen zusammen keine 5 mA (Tiny auf 1 MHz lassen,
Werkseinstellung sprich erst gar nicht mit den Fuses beschäftigen,
Transistor mit 1 mA Basisstrom, stellt ca. 100 mA Laststrom zur
Verfügung. Ob das genügt weis nur die TE). Die Z-Dioden-Stabilisierung
hier passend hinzustricken ist kein Problem wenn man sich erst mal mit
der Z-Dioden-Stabilisierung beschäftigt hat. Schaltungsvorschlag im
Anhang, Werte nur grob übern Daumen geschätzt, für genauere Werte
sollten auch die Anforderungen spezialisiert werden.
Programm des Attiny könnte wie folgt aussehen:
// Timer einstellen: Invert Phase Correct PWM, TOP = OCR0A, Prescaler auf 1024 => Clock Timer = 15.259 Hz
10
OCR0A=76;// nach ca. 9.96 Sekunden ist der Timer durch (hoch und runter gezählt) => ca. 0.1004 Hz
11
OCR0B=72;// nach ca. 9.44 Sekunden wird PB0 umgeschaltet => ca. 94.73%
12
TCCR0A|=(1<<COM0B1)|(1<<COM0B0)|(1<<WGM00);
13
TCCR0B|=(1<<WGM02)|(1<<CS02)|(1<<CS00);
14
15
for(;;){
16
// Main Loop
17
// hier kann man noch andere lustige (und unlustige) Dinge machen
18
}
19
// hierher kommt man nie
20
return0;
21
}
Ist schon recht spät, Programm kann kleine Fehler enthalten, müsste aber
so wie in den Comments beschrieben funktionieren wenn ich mich nicht
irgendwo vertan hab.
Jörg R. schrieb:> Der TO ist mit Beiden Varianten überfordert, egal ob Attiny oder 555. Um> das Problem mit Quarz und Teiler zu lösen erst recht...
Irgendwomit muss man anfangen. Wenn man immer nur das macht, was man
kann, wird man nie weiter kommen.
H. E. schrieb:> Der TO sollte aber vielleicht auch mal erwähnen, wofür er das Signal> braucht. Das kann die Beratung auch besser ausfallen.
Besser noch: Sie sollte mal erzählen, welche Aufgabe gelöst werden soll.
Vielleicht ist der komplette Ansatz nicht sehr klug gewählt. Da wir aber
auch das nicht wissen bleibt uns Konstruktiven nur die Möglichkeit einen
Lösungsweg aufzuzeigen, der das gewünschte Signal generieren kann. Ich
habe das jetzt auch inclusive Schaltung und Programm getan.