Neu hier und eine Frage zur Servoansteuerung

    Diese Seite verwendet Cookies. Durch die Nutzung unserer Seite erklären Sie sich damit einverstanden, dass wir Cookies setzen. Weitere Informationen

    Aufgrund technischer Veränderungen ist der Mailverkehr innerhalb des Forums (Private Nachrichten) nur noch eingeschränkt möglich. Die Einschränkung ist notwendig, um zusätzliche Betriebskosten für das Forum zu vermeiden. Näheres zu den Hintergründen im Thread "Aktuelles zum Forum".Wir bitten um Verständnis.

    Hinweis kann nach Kenntnisnahme deaktiviert werden!

    • Hallo Forum,

      zur Wiederbelebung des "verfusten" Prozessors bin ich noch nicht gekommen aber ich habe noch eine Frage zum Servoanschluss:
      Am Sichersten funktioniert der Servo und der Prozessor, wenn die beiden sich keine Stromquelle teilen müssen. Ich habe jetzt schon mit unterschiedlichen Stromquellen (USB-Programmer, AA-Batterien, 6V-Fahrzeugbatterie, 2A-Handyladenetzteil) experimentiert. Der Servomotor arbeitet, wenn entweder die Fahrzeugbatterie oder das Handyladenetzteil dranhängt.
      Nun mache ich das Ganze ja auch, um damit im Rahmen eines Projektes eine kleine Regelaufgabe durchzuführen. Da wäre es natürlich ideal, wenn sich der Prozessor und der Servo eine Stromquelle teilen könnten. Schließlich soll die Regelung rund um die Uhr laufen und da wäre es doch nicht schön, wenn ich trotz des kleinen Handyladenetzteils am Servo auch noch AA-Batterien verbrauchen würde.
      Was kann man tun, um die gemeinsame Energieversorgung für Servo und Prozessor zu bewerkstelligen?

      Gruß, Stefan
    • froschkoenig schrieb:

      Was kann man tun, um die gemeinsame Energieversorgung für Servo und Prozessor zu bewerkstelligen?
      Das mit der leistungsfähigen Stromversorgung hast du ja bereits erfüllt.
      Bleibt noch, das Layout EMV-gerecht zu gestalten. Wichtigste Maßnahme ist hier die sternförmige Verteilung der Versorgungsleitungen und Vermeidung von geschlossenen Schleifen.
      Als letzte Maßnahme kann man die Prozessorversorgung über eine Diode leiten, danach ein Elko. Das stützt den Prozessor, wenn es kurze Einbrüche gibt.

      P.S.: Standard-Abblockmaßnahmen setze ich bereits vorraus.
    • Das Netzteil kräftig genug (>=2A) und den Avr "entkoppeln". Soll heißen Diode, großer Kondensator, (evt Spannungsregler) so kann der Avr ungestört weiterarbeiten während sich das Netzteil von 9A erholt. Dieses muß das vertragen heißt nicht abschalten wie z. B. PC Netzteile.
      Es wäre schön wenn in der Forensoftware zu erkennen wäre wenn schon jemand antwortet während man schreibt. So klingt ich nach Papagei :|
    • Michael schrieb:

      Dein Prozessor braucht eine Taktquelle.
      Schließ an XTAL1 einen Takt von 1MHz an und du kannst wieder auf die Fuses zugreifen.
      Wie generiere ich denn so einen hochfrequenten Takt? Gibt es dafür einen Bascom-Befehl oder sollte ich das über den hochzählenden Timmer1 erzeugen? Dann einfach den Ausgang des Signals von dem einen Prozessor auf den anderen geben bei gemeinsamen GND?

      Dann sollte Bascom den Chip mit "Identify" wieder erkennen?

      Gruß, Stefan
    • Mit einem Arduino Nano könntest hiermit 1,6 MHz erzeugen:

      $regfile = "m168def.dat"
      $crystal = 16000000
      $hwstack = 80
      $swstack = 64
      $framesize = 80

      Ddrb.5 = 1
      Takt Alias Portb.5

      Do
      Toggle Takt
      Loop


      froschkoenig schrieb:

      Dann einfach den Ausgang des Signals von dem einen Prozessor auf den anderen geben bei gemeinsamen GND?
      genau.


      froschkoenig schrieb:

      Dann sollte Bascom den Chip mit "Identify" wieder erkennen?
      nur über ISP, nicht über Bootloader, der braucht den originalen Takt
    • Hallo Michael,

      danke für Deine Antwort. Ich habe versucht, Dein Programm zu verstehen. Eigentlich verstehe ich es aber ich frage mich, an welcher Stelle der Takt durch zehn geteilt wird. Also aus 16 MHz 1,6 MHz werden.
      Außerdem (ich traue mich fast nicht zu fragen) bin ich mir nicht sicher, was ISP ist. Ich benutze einen USB-Programmer und greife auf den Prozessor mit dem Programmteil "USBASP Programmer" des Bascom-Programms auf den Prozessor zu. Da mit "Locks and Fusebits" etwas ändern?

      Mühsam ernähre ich mich mit Eichhörnchen. :|

      Gruß, Stefan
    • Die ganze Schleife von Do über den Umschaltbefehl Toggle bis zum Loop und wieder zurück braucht 5 Takte. Das kann man im Simulator sehen.
      Da für den Ausgang 2x umgeschaltet werden muss, sind das 10 Takte pro kompletten Ausgangstakt.
      16MHz/10 = 1,6MHz

      ISP-das ist der Programmieranschluss mit den 6 poligen Stecker, den benutzt du höchstwahrscheinlich mit deinem USBASP Programmer.

      Und ja, bei Lock and Fusebits werden selbige geändert, z.B. die originale Taktquelle kannst du dort wieder einstellen.
    • Pluto25 schrieb:

      froschkoenig schrieb:

      Habs probiert.
      Das is jetzt son bisschen waage.Der funktionierende hat wirklich einen Clock ausgegeben (Nachgemessen)? Sein Pin ist als Output Configuriert (Ddrb.5 = 1)?
      Bei dem "Stummen" Reset auf Low? Wird wirklich low oder hängt bei halber Spannung?
      Pin B7 nicht beschaltet?
      Den Clock an B6 angeschlossen und er bricht dort nicht zusammen?


      Hallo Pluto,
      ich habe ja kein Oszi zum nachmessen. Ich hänge einfach eine Widerstands-LED an den Pin und wenn die etwas dunkel ist als mit normaler Bestromung, dann bin ich zufrieden.
      Reset auf low? Also Pin1 an GND und gleichzeitig mit 10k an 5V? Ja, hab ich. Halber Spannung?
      B7 wird nicht angefasst. Bei B6 gebe ich ja das Signal rein, ich könnte bestenfalls da gleichzeitig die Widerstands-LED dranlassen und gucken, ob die weiterleuchtet.
      Vielleicht bediene ich auch dabei das Bascom-Programm falsch. Gestern habe ich bei "Fusebit KLA 987" alle möglichen externen Taktgeber eingestellt und dann geprüft, ob das Progamm den Prozessor erkennt.
      Als das nicht ging, habe ich dort die Einstellungen probiert und dann mit "Reset" oder "Write FS" versucht, den Prozessor zum Takten zu bringen.
      Was bedeuten die beiden Menüpunkte eigentlich genau?


      Ich werde da heute abend noch einmal mich versuchen... Nur wer aufgibthat verloren... :|


      Gruß und Dank, Stefan
    • Das geht, ein Multimeter zeigt dann ca halbe Betriebsspannung. Kommt der jetzt an einen Pin der dummerweise als Ausgang Low oder High ist bewegt sie sich deutlich Richtung Gnd oder High.
      Der Programmer zieht den Reset nur kurz auf Low bekommt er dann keine brauchbare Antwort macht er das "nie wieder". Daher würde ich den Reset über seine 10K auf Gnd legen. Er könnte als Pin deklariert sein und wenn er dann noch Ausgang ist verträgt er keinen Kurzschluß über längere Zeit.


      Einstellungen probiert und dann mit "Reset" oder "Write FS"
      Wie? Normalerweise kommt man da gar nicht hin wenn der Chip sich nicht erkennen läßt
      Der Button oben heist "Refresh" = Neu einlesen.
      Wurde etwas geändert wird der dazugehörige Button aktiviert. Nach dem Klick wird dann die Änderung geschrieben. Dann kann man mit Refresh schauen ob er das geglaubt hat.
      Das "Write PRG" unten würde ich nicht benutzen, stimmt irgendwas nicht sind alle geschreddert nicht nur eins.
      Ganz blöd ist folgende Situation: a_67_e210de67 Ein funktionierender wurde erkannt, dann der Chip getauscht und ohne einen "Identfy Chip" die dummerweise noch sichtbaren Fuses (alle 1) zu schreiben. a_45_132ca9f5 Das dann auch noch funktioniert (Murphys Law). a_28_2c02f089 Dann braucht er ein externen Clock und SPI ist abgeschaltet und dadurch nicht mehr über ISP Programmer ansprechbar. Nur noch mit einem HV-Ptogrammer ;(
    • *Trommelwirbel*, *Tusch*. *Fanfaren*
      Es ist vollbracht!

      Es lag nur an einer übersehenen Belanglosigkeit. Eben ging alles ganz schnell: Den Takt (Plutos Taktprogramm) auf den Eingang gegeben und dann den Chip identifizieren lassen... Und schwupp: Das Bascomprogramm erkennt den Atmega8 und stellt sich auch selbstständig in der Fusebit KLA 987 - Zeile ein, welchen Takt das Programm erschnüffelt. Super. Wiedermal ein kleines Erfolgserlebnis!
      Ich konnte dann in der Zeile wieder auf internen Taktgeber 1,0 MHz umstellen und den zweiten Atmega8 wegnehmen.
      Zum endgültigen Check habe ich dann noch ein kleines Programm draufgeflasht, das einwandfrei funktioniert hat.

      Vielen Dank an Alle, die mit mir soviel Geduld gehabt haben! :thumbsup:

      Gruß, Stefan