-
        

Seite 1 von 2 12 LetzteLetzte
Ergebnis 1 bis 10 von 12

Thema: Attiny13 als 555er Timer

  1. #1
    Benutzer Stammmitglied
    Registriert seit
    22.11.2007
    Beiträge
    57

    Attiny13 als 555er Timer

    Anzeige

    Guten Abend.

    Möchte gerne einen 555er mit attiny13 ersetzen der nur als taktgeber dienen soll. (L297 Ansteuerung)

    Einstellbar über Poti am Eingang 0-5V. Ausgang 0-xxxHz (0/5V TTL)

    Habe leider überhaupt keine Erfahrung mit Progr. und vorallem nicht mit analog eingang des Tinys.

    Bitte hiermit um Hilfe.

    Danke für alles!!!

  2. #2
    Moderator Robotik Visionär Avatar von radbruch
    Registriert seit
    27.12.2006
    Ort
    Stuttgart
    Alter
    54
    Beiträge
    5.781
    Blog-Einträge
    8
    Hallo

    Wieviel soll xxxHz denn sein?

    Wenn du "überhaupt keine Erfahrung mit Progr." hast, warum hast du durch die Wahl dieser Rubrik die Programmiersprache auf Bascom beschränkt?

    Grundsätzlich sollte das ohne großen Aufwand umsetzbar sein, wenn man die maximal benötigte Frequenz kennt ;) Einfachster Ansatz wäre wohl eine Zählschleife deren Startwert aus dem ADC-Wert gebildet wird.

    Gruß

    mic

    Atmel’s products are not intended, authorized, or warranted for use
    as components in applications intended to support or sustain life!

  3. #3
    Benutzer Stammmitglied
    Registriert seit
    22.11.2007
    Beiträge
    57
    Hi, Radbruch!

    Habe Bascom mit myMultiprog V1.06 als möglichkeit zum Programmieren.

    xxxHz... genau weiß ich das noch nicht. Ist abhängig vom Schrittmotor (schrittweite, mögliche drehzahl) deswegen möchte ich das mit einem attiny machen um ohne herumzulöten die Frequenz ändern zu können.

    Wenn du dich vielleicht erinnern kannst wir hatten schon einmal das vergnügen. RC5 senden mit Attiny13.

    lg
    Harry

  4. #4
    Moderator Robotik Visionär Avatar von radbruch
    Registriert seit
    27.12.2006
    Ort
    Stuttgart
    Alter
    54
    Beiträge
    5.781
    Blog-Einträge
    8
    Wenn du dich vielleicht erinnern kannst...
    Upps, dank deiner freundlichen Unterstützung kann ich mich jetzt erinnern ;)

    Dann bleiben wir mal beim Bascom. So aus der Hüfte würde ich mal folgendes vorschlagen:
    Code:
    'Takt für Schrittmotor erzeugen mit ATtiny13                           30.1.2010 mic'
    
    'Achtung! Das ist ein eher theoretischer Code den ich noch nicht getestet habe!'
    
    ' Poti zwischen Vcc und GND, Schleifer an Pin 1 (ADC0/PB5)
    ' Frequenzausgang an Pin2 (PB3)
    
    'Einstellungen -----------------------------------------------------------------'
    
    'Wir verwenden einen tiny13'
    $regfile = "ATtiny13.dat"
    'der mit internen 1,2 MHZ getaktet wird (Fuse Takt/8 gesetzt = Auslieferzustand!)'
    $crystal = 1200000
    'Weitere, von mir noch nicht geprüfte Compileranweisungen:'
    $hwstack = 32
    $swstack = 8
    $framesize = 8
    
    Dim I As Integer
    
    Config Portb.5 = Input                                      ' Poti Pin1
    Config Portb.3 = Output                                     ' Takt Pin2
    
    Config Adc = Single , Prescaler = Auto , Reference = Avcc
    Start Adc
    
    'Hauptprogramm -----------------------------------------------------------------'
    Do
       I = 1024 - getadc(0)
       Do
          Waitms 1
          Decr I
       Loop Until I = 0
       Toggle Portb.3
    Loop
    Mit AVCC als Referenzspannung kann das Poti direkt zwischen Vcc und GND angeschlossen werden. Der Schleifer kommt an Pin 1 des Tiny13, der Wert für die gemessene Spannung liegt dann zwischen 0 und 1023. Übel ist nun die Umrechnung des eingelesenen Wertes in die Ausgabefrequenz. Der Ansatz hier geht über die Periodendauer die mit waitms festgelegt wird. Bei ADC=1023 (Potianschlag eine Seite) wären das bei einer ms pro Halbwelle ca. 500Hz, bei ADC=0 (Anschlag andere Seite) ca. 1/2 Hz. Die Wandelzeit des ADC wird dabei ignoriert.

    Alles nur Theorie zu später Stunde...

    Gruß

    mic

    Atmel’s products are not intended, authorized, or warranted for use
    as components in applications intended to support or sustain life!

  5. #5
    Benutzer Stammmitglied
    Registriert seit
    22.11.2007
    Beiträge
    57
    Hi, Mic

    Erstmal danke für deine Bemühungen! Werde am WE testen!

    Versteh ich das richtig das 5V an einem Eingang 1024 (Was auch immer) ist?

    lg
    Harry

  6. #6
    Erfahrener Benutzer Robotik Einstein Avatar von 021aet04
    Registriert seit
    17.01.2005
    Ort
    Niklasdorf
    Alter
    29
    Beiträge
    4.544
    Das verstehst du richtig. 0V entspricht dem Wert 0. 5V entspricht dem Wert 1023. Dies wären 10Bit.

    MfG Hannes

  7. #7
    Hi,
    das ist genau das was ich Suche!!! Super danke hat denn jemand das prog schon getestet ob es klappt???

  8. #8
    Hallo Leute,

    Der oben geschriebene Code funktioniert prima!
    Hätte da trotzdem noch eine Frage an die Experten:
    Wollte Code dahingehend umschreiben, damit ich eine funktionierende Doppelblitzer Schaltung (abwechselnde Folge,Frequenz wie oben einstellbar) hinbekomme.
    Nach mehreren Versuchen mit weiteren waitms und toggle Befehlen kam ich leider nicht zu einem zufriedenstellendem Ergebnis [-(
    Einen weiteren Ausgangsport habe ich selbstverständlich definiert!

    Um Hilfe währe ich sehr dankbar...!

    Gruß Flo

  9. #9
    Moderator Robotik Visionär Avatar von radbruch
    Registriert seit
    27.12.2006
    Ort
    Stuttgart
    Alter
    54
    Beiträge
    5.781
    Blog-Einträge
    8
    Hallo

    "eine funktionierende Doppelblitzer Schaltung (abwechselnde Folge,Frequenz wie oben einstellbar) "

    Kannst du das verständlicher formulieren?

    Gruß

    mic

    Atmel’s products are not intended, authorized, or warranted for use
    as components in applications intended to support or sustain life!

  10. #10
    Hallo,

    Sorry für die unverständliche Formulierung....

    Gemeint hatte ich eine Blaulicht (Blitzer!) Schaltung für mein Modellauto,die abwechselnd blinkt (in Doppelfolge),wie sie ähnlich auf dem Dach eines Polizeiautos zu finden ist. Natürlich mit der obigen Frequenzeinstellung mittels eines Potis, um die Blinkfolge nach Geschmack einstellen zu können.

    Etwa so:

    Led1: an aus an aus dann Led2: an aus an aus loop

    Ohne einstellbare Frequenz habe ich einfaches Programm mit waitms Befehlen geschrieben, das ich eben mit obigem Programm verknüpfen wollte. Scheitere leider dabei an den toggle Befehlen!

    Danke vorab...

    Gruß Flo

Seite 1 von 2 12 LetzteLetzte

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •