- MultiPlus Wechselrichter Insel und Nulleinspeisung Conrad         
Ergebnis 1 bis 10 von 10

Thema: Alter Motor-Controller mit PIC16F84

Hybrid-Darstellung

Vorheriger Beitrag Vorheriger Beitrag   Nächster Beitrag Nächster Beitrag
  1. #1
    Hallo witkatz,

    ich habe hier ein Set Motoren, die von 1 bis 6 bereits durchadressiert sind. Diese lassen sich durch Befehle im Bussystem ansprechen. Die Befehle von 0x00 bis 0x07 gelten für alle Motoren. Ab 0x08 stehen die letzten drei Bits für den zu addressierenden Motor. Da reagiert also nur noch jener, der mit der entsprechenden Adresse eingelernt wurde. Wenn ich den Befehl 0x52 (0b01010010) über das Bus-System schicken, dann dreht sich Motor zwei (0b010) nach links. Die anderen Motoren, die ich hier noch liegen habe befinden sich alle im Testlauf. Lege ich auf die Daten- oder Taktleitung ein Null-Signal, dann dreht der Motor sich entsprechende links oder rechts rum. D. h., die Motoren reagieren noch gar nicht auf das Bus-System. Bei den bereits adressierten Motoren sind die Jumper alle nicht gebrückt. Deswegen gehe ich davon aus, dass man es irgendwie einlernen muss, sonst würden sie ja nicht wissen auf welche Adresse sie reagieren müssen. Wenn ich die Jumper also setze und den Controller anschalte, passiert aber leider nichts.

    Gibt es bei so einem PIC eventuell die Möglichkeit den Speicher wieder auszulesen um somit an den Source zu kommen?

    MfG
    Der Eisvogel

  2. #2
    Erfahrener Benutzer Roboter-Spezialist Avatar von witkatz
    Registriert seit
    24.05.2006
    Ort
    NRW
    Alter
    54
    Beiträge
    553
    Blog-Einträge
    17
    Zitat Zitat von Der Eisvogel Beitrag anzeigen
    Wenn ich die Jumper also setze und den Controller anschalte, passiert aber leider nichts.
    Was passiert wenn du genau das tust, danach ausschaltest, Jumper ziehst und wieder einschaltest?
    Meine Idee war, dass das Adressieren vielleicht nach dem Power-On-Reset automatisch geschieht.
    Ich nehme an, dass die Befehlsliste keinen Adressier-Befehl enthält?

    Ja, man kann versuchen den Programmspeicher mit einem Programmer auszulesen und zu disassemblieren, wenn Code Protection nicht aktiviert wurde.

  3. #3
    Hallo witkatz,

    mein derzeitiges Vorgehen:
    1. Plus und Minus des Motor-Controllers an GND hängen (zum vollständigen Entladen der Elektronik
    2. Jumper setzen
    3. Controller anschalten
    4. Kurz warten
    5. Controller ausschalten
    6. Jumper ziehen
    7. Controller einschalten


    Wenn ich diese Schritte durchführe schaffe ich es, dass der Controller nicht mehr auf den Testlauf reagiert, aber auch auf keine anderen Befehle über den Bus. Es gibt ein paar Befehle, worauf er dann doch reagiert, aber da geht er dann wieder zurück in den Testlauf. Es scheint also so, als ob es doch einen Befehl geben muss, der dem Controller quasi bestätigt, dass er jetzt eine neue Adresse hat. Der Befehl scheint aber nicht gelistet zu sein. Also heißt es wohl ausprobieren. Oder hast du noch eine andere Idee?

    PS: Was mir grad noch einfällt, dass dieses Prozedere nur jedes zweite Mal funktioniert.

    MfG
    Der Eisvogel

  4. #4
    Erfahrener Benutzer Roboter-Spezialist Avatar von witkatz
    Registriert seit
    24.05.2006
    Ort
    NRW
    Alter
    54
    Beiträge
    553
    Blog-Einträge
    17
    Da ist noch der Endschalter, der vielleicht noch eine Rolle spielen könnte, sonst habe ich keine Idee mehr. Möglicherweise wurde die Adresse hart codiert?
    Vielleicht hat jemand so was ähnliches schon mal realisiert und könnte einen Tipp geben, wie man am besten eine PIC Adressierung für Busbetrieb vornimmt. Ansonsten ist es wohl kein allgemeines PIC Thema mehr...

  5. #5
    Erfahrener Benutzer Robotik Einstein
    Registriert seit
    27.08.2013
    Ort
    Region Basel
    Alter
    67
    Beiträge
    2.435
    Hallo,

    Also allgemein üblich wäre, dass man die Jumper steckt und gut ist.

    Der µP fragt die Pins dann bei jedem Reset ab und hat so seine Busadresse.

    MfG Peter(TOO)

  6. #6
    Hallo,

    also es scheint auch mit dem Endschalter zusammenzuhängen. Wenn ich mein Prozedere durchführe und dann den Endtaster einmal betätige, dann reagiert der Controller auf bestimmte Befehle. Aber sobald ein anderer Befehl kommt, ist er wieder im Testlauf, genauso wie nach dem Neustart. Aber die Befehle haben nichts mit den eigentlichen Befehlen der Befehlsliste zu tun. Da das Bus-System nicht ganz taktabhängig, sondern auch zeitabhängig ist, könnte es sein, dass das Quarz nicht mehr mit der ursprünglichen Frequenz schwingt? Wie kann ich das am besten nachmessen?

    MfG
    Der Eisvogel

Ähnliche Themen

  1. Eure Meinung: DC Motor mit integriertem Controller
    Von Unregistriert im Forum Suche bestimmtes Bauteil bzw. Empfehlung
    Antworten: 0
    Letzter Beitrag: 19.06.2013, 20:13
  2. Fujifilm: Preisgünstigere Touchscreens mit alter Fototechnik
    Von Roboternetz-News im Forum Neuigkeiten / Technik-News / Nachrichten / Aktuelles
    Antworten: 0
    Letzter Beitrag: 13.03.2013, 07:30
  3. PIC16F84 mit externem RAM-Baustein W24257AK-15
    Von Goblin im Forum PIC Controller
    Antworten: 3
    Letzter Beitrag: 03.02.2005, 21:45
  4. [ERLEDIGT] Schaltung von Conrad Nachbauen mit PIC16F84 Hilfe
    Von Gangelie im Forum PIC Controller
    Antworten: 1
    Letzter Beitrag: 17.01.2005, 06:38
  5. Pic16F84 mit 20MHz?
    Von Klick_here im Forum PIC Controller
    Antworten: 8
    Letzter Beitrag: 12.05.2004, 07:47

Berechtigungen

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

Solar Speicher und Akkus Tests