Hallo Leute! Ich möchte einen Multivibrator bauen,der nach dem Einschalten 3 verschieden lange Intervalle ausgeben kann. Der Ausgang sollte nach dem Einschalten für 1 Sekunde nach High gehen,dann 5 Sekunden auf Low bleiben, dann 10 Sekunden auf High gehen und schliesslich 30 Minuten auf Low bleiben. Danach soll sich der Zyklus wiederholen bis zum Abschalten der Betriebsspannung.Die Zeiten sind nur cirka und müssen nicht auf Zehntelsekunden eingehalten werden. Ich könnte mir vorstellen, das ganze mit einem PIC16f628A und dem JDM Programmierer zu realisieren. Aber..., leider kann ich nicht programmieren. Ich kann mir die entsprechende Hardware selbst zusammenbauen und den PIC brennen. Vielleicht hat ein Boardmitglied Erbarmen mit mir, und schreibt mir ein entsprechendes Programm(ist wahrscheinlich eher klein), welches ich dann auf den PIC übertragen kann. Bitte seid so nett, und greift mit da unter die Arme. Ich kenne in meiner Umgebung keinen, den ich da anlabern könnte. Mit vielen, lieben Dank im Voraus für Eure freundliche Ünterstützung verbleibe ich mit lieben Grüssen. Noob
Wie Zeitnah muss es denn sein? Ich habe zur Zeit viel um die Ohren... Ansonsten kannst Du Dir auch ein Tutorial anschauen: http://www.mstracey.btinternet.co.uk/pictutorial/picmain.htm In ASM ist das schnell gemacht. Hier kannste die entsprechenden Delays generieren lassen, dann musst Du Dich erstmal nicht mit den Timern befassen. http://piclist.com/techref/piclist/codegen/delay.htm Der Rest ist dann ganz leicht... Ne Frage noch: Welchen Quarz willste verwenden (Taktfrequenz ist logischerweise ganz wichtig...)
Mit PIC kenne ich mich nicht aus. Nimm doch nen AVR ATtiny13:
1 | #define F_CPU 1.2e6
|
2 | |
3 | #include <util/delay.h> |
4 | #include <avr/io.h> |
5 | |
6 | |
7 | void delay_s( uint16_t i ) |
8 | {
|
9 | for( ; i; i-- ) |
10 | _delay_ms( 1000 ); |
11 | }
|
12 | |
13 | |
14 | int main( void ) |
15 | {
|
16 | for(;;){ |
17 | DDRB = 0xFF; |
18 | PORTB = 0xFF; |
19 | delay_s( 1 ); |
20 | PORTB = 0; |
21 | delay_s( 5 ); |
22 | PORTB = 0xFF; |
23 | delay_s( 10 ); |
24 | PORTB = 0; |
25 | delay_s( 30 * 60 ); |
26 | }
|
27 | }
|
Das fertige HEX ist im Anhang. Peter
Hallo Tony! Es muss nicht extreaschnell sein. 1-2 Wochen ist locker Zeit. Vielleicht könntest Du doch... Als Taktgeber würde ich den internen Oszillator vorschlagen. Das reduziert die Dimension der Schaltung und die Zeit muss nicht ultragenau eingehalten weden.
>Es muss nicht extreaschnell sein. 1-2 Wochen ist locker Zeit.
Zeit genug es selber zu machen.
Hallo Peter! Danke für Deine ultraschnelle Antwort! Ein Atiny13 geht sicher auch. Allerdings weis ich nicht, mit welcher Hardware der zu programmieren ist. Kannst Du mir da auch Informationen geben? Liebe Grüsse!
Hallo Holger! Zeit schon, aber es ist extrem schwer, einer Kuh(mir) das Fliegen zu lernen. Ich muss das Programmieren dann von Grund auf lernen(hatte noch nie Kontakt damit). Experten brauchen dafür möglicherweise nur eine ganz kurze Zeit.
So, hab mich dann doch mal hingesetzt und mir die zeit genommen. Sollte so funktionieren. Es wird hier einfach mal der ganze PortB auf high und low gesetzt. schau dir die asm mal an. ist eig ganz leicht... falls es nicht funzt, nochmal melden...
Hallo Noob, >> Ich möchte einen Multivibrator bauen,der nach dem Einschalten 3 >> verschieden lange Intervalle ausgeben kann. Nimmt einfach mal eine vom Sexshop! da brauchst du nichts programmieren, habe eine für meine Frau geholt, Sie ist damit sehr zufrieden!
Wieso? Was ist denn daran so kompliziert? Was du brauchst ist ein Programmiergerät, dass CodeVisionAVR oder das AVR-Studio unterstützt. (CodeVisionAVR darum, da ich die Erfahrung gemacht hab, dass AVR-Studio nicht alle AVRs programmieren kann.) Dann Programmierst du deinen AVR mit dem Programm von Peter und schaust was passiert. Das AVR Tutorial wär dazu als Abendlektüre angebracht. :-) Sollte der Interne Oszillator doch zu ungenau sein, kannst du im Programm noch die Millisekunden ändern, so dass es passt und gut ist. Grüße markus
Hallo Tony! Vielen, herzlichen Dank für Dein Programm!! Ich werde mir ein paar PICs besorgen und jemanden mit einem Brenner ausfindig machen. Dann gehts zur Sache... Ich melde mich wieder, obs klappt. Muss ich einen bestimmien PIC nehmen, oder lassen sich alle handelsüblichen verwenden? Nochmals ganz vielen, lieben Dank für Deine Bemühungen!
Es muss auf jeden Fall einer mit nem internen 4MHz Oszillator sein. Wäre auf jeden Fall am Besten, wenn Du den 16F628A nehmen würdest.
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
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.