-         

Seite 1 von 3 123 LetzteLetzte
Ergebnis 1 bis 10 von 23

Thema: Simulation mit 'nem PIC16F628, aber wie ???

  1. #1
    Neuer Benutzer Öfters hier
    Registriert seit
    24.05.2008
    Ort
    südl. Berlins
    Alter
    82
    Beiträge
    9

    Simulation mit 'nem PIC16F628, aber wie ???

    Anzeige

    Hallo und Hut ab vor dem, was ich hier so von Euch lese (Respekt vor dem Wissen!!!)

    Ja und diese Kenntnisse habe ich -mit 72J. schon ordentlich älter- leider nicht, trotz reichlicher Versuche,
    mich in die PIC-Programmierung einzuarbeiten. Langsam dreht sich alles in meinem Kopf und
    ich komme einfach nicht weiter, weil ich auch nach Lesen von unendlich vielen I-Netseiten
    eigentlich immer nur mehr verwirrt werde.

    Ich möchte nur ein gaaanz kleines Projekt realisieren, wobei ich der Meinung bin, dieses
    müsste sich mit einem PIC16F628 (einfach ??) erstellen lassen.

    Ich hatte mir hierzu einige Soft (MicroCodeStudio, MicroBasic, IL-Basic, PIC-Basic-II Demo,
    PIC-Simulator, Parsic-Demo) heruntergeladen, aber.......!

    Basic-Compiler deshalb, weil ich vor sehr langer Zeit mal ein wenig mit Basic (Power-Basic)
    unter DOS programmiert hatte (kennt bestimmt keiner mehr). Die Befehlssyntax der oben genannten
    Programme begreife ich nicht, weil englisch ist auch nicht so mein Ding.....

    Angeschafft habe ich mir einige PIC16F628, Keramikresonatoren, Quarze, Lochrasterplatten usw.
    und weiteres Bastelmaterial ist auch ausreichend vorhanden. Löten kann ich auch prima, bin ehem.
    Dipl.-Ing. Maschinenbau.
    Einen Pic-Brenner (Sprut Brenner erwarte ich in den nächsten Tagen.

    Nun denn, was ich erreichen möchte -mir aber nicht gelingt- ist einfach folgendes:

    Hintergrund:

    Mein Motorrad (BMW K 1100LT) hat eine Lenker-Fernbedienung per Kabel für's Radio mit einfachen
    UP/DOWN-Tasten für Senderwechsel und Volume. Das Radio ist aber alt (wie's Motorrad, Bj.92)
    und soll durch ein vorhandenes Becker-Radio/Navi (Traffic Pro) ersetzt werden. Und die
    Lenker-FB soll angepasst AUCH dabei funktionieren.

    Und das ist für mich das grosse Problem!

    Weil: Das Becker-Radio hat keine UP/DOWN-Tasten sondern Drehgeber für Sender (Speicher vor/zurück)
    und Volume (laut/leise).

    Nach der Analyse der Drehgeber im Becker-Radio z.B. für Volume (Sendergeber identisch)
    müsste auf jeweils zwei Signalleitungen (nenne ich folgend A + B) Folgendes ausgegeben werden:

    Beim Drücken der UP-Taste (Lenker-FB):

    1. Druck = A wird high + bleibt, B wird ca. 20-50 mSek. später high + bleibt (=Drehgeber 1 Pos. nach rechts)
    2. Druck = A wirda low + bleibt, B wird ca. 20-50 mSek. später low + bleibt (=Drehgeber 1 Pos. weiter nach rechts)
    3. Druck = wie 1. Druck
    4. Druck = wie 2. Druck und immer so weiter.

    Beim Drücken der DOWN-Taste (Lenker-FB) sind die Verhältnisse ähnlich, aber umgekehrt:

    1. Druck = B wird high + bleibt, A wird ca. 20-50 mSek. später high + bleibt (=Drehgeber 1 Pos. nach links)
    2. Druck = B wirda low + bleibt, A wird ca. 20-50 mSek. später low + bleibt (=Drehgeber 1 Pos. weiter nach links)
    3. Druck = wie 1. Druck
    4. Druck = wie 2. Druck und immer so weiter.

    Low=0, high=5 Volt, Zeit 20-50 mSek. scheint unkritisch zu sein, dient zur Erkennung Drehgeberrichtung.
    Evtl. Probleme durch Kontaktprellen der Lenker-FB-Tasten habe ich noch nicht berücksichtigt.


    Also, verflixt und zugenäht, ich bekomme das mit der PIC-Programmierung nicht hin. Habe verzweifelt alles Mögliche
    mit PIC-Simulator versucht. Mir fehlen eben die elementaren Kenntnisse. Mit Basic und DOS wäre das kinderleicht,
    aber mit einem PC auf'm Motorrad ), nee, nich ???

    Ich bitte Euch um Eure Hilfe, vielen vielen Dank....


    Jochen

  2. #2
    Erfahrener Benutzer Lebende Robotik Legende Avatar von PICture
    Registriert seit
    10.10.2005
    Ort
    Freyung bei Passau in Bayern
    Alter
    66
    Beiträge
    10.979
    Hallo Piefke!

    Ich habe deinen ersten Beitrag aufmerksam gelesen und mir sind folgende Sachen aufgefallen:

    Du erwartest von dir am Anfang zu viel und besorgst du dir Sachen, die du vielleicht wirklich nie brauchen würdest. Das Programm ist für einen totalen Anfänger gar nicht so "gaaanz kleines Projekt". Ich empfehle jedem Anfänger, so wie mir empfohlen wurde, immer das gleiche: wirklich klein anfangen.

    Wenn du beim Basic bleiben willst, mußt du leider die alle für dich nötige Befehle erlernen, aber nicht nur theoretisch und alle sofort, sondern langsam bei Programmschreiben. Du sollst nur das tun, was von dir wirklich gebraucht wird, sonst verschwendest du nur die Zeit.

    Du kannst aber auch das Basic vergessen und z.B. mit dem Assembler anfangen. Es ist vielleicht leichter als du denkst, da die PICs nur 35 Befehle kennen und sind alle in unserem Wiki Artikel ausführlich beschrieben. Schau dir das, bitte, nur kurz an und wenn es für dich nichts ist, brauchst dich damit gar nicht weiter beschäftigen. Hier ist ein Link zum Wiki Artikel:

    http://www.roboternetz.de/wissen/ind.../PIC_Assembler

    Ich habe früher auch andere Prozessoren (z.B. 286, 386 bis 486 von PC) in Q-Basic und in Assembler unter DOS programmiert und auf PICs umgestiegen. Wenn du beim Basic bleibst, dann kann ich dir leider nicht helfen, da ich die Programmiersprache schon gezielt vergessen habe.

    Du hast kein konkretes Problem genannt, bei dem du konkrete Hilfe brauchst, und allgemein kann man, meine Meinung nach, nicht helfen.

    Wenn du konkrete fragen stellen würdest, dann würden dir fast sicher zahlreiche Forum-Benutzer helfen.

    MfG

  3. #3
    Erfahrener Benutzer Roboter Genie
    Registriert seit
    30.09.2006
    Ort
    Hamburg
    Alter
    35
    Beiträge
    996
    HI kann mich PICture anschlissen asm ist ne Programmier sprache die eigentlich jeder versteht das ist reines BIT schieben auf sprut.de findest dazu alle Grundlagen die man so braucht auch wie der µC arbeitet ...

    Wichtig ist des klein anfangen man findet hier das im Forum recht heufig das die erste sache meist ein diplay oder ähnliches ist klappt in den meisten fällen auch nicht wirklich.
    Legastheniker on Bord !

    http://www.Grautier.com - Projektseite
    http://www.grautier.com/wiki/doku.php?id=bt-index - BT-BUS

  4. #4
    Erfahrener Benutzer Begeisterter Techniker
    Registriert seit
    21.08.2004
    Ort
    Niedersachsen
    Alter
    62
    Beiträge
    317
    Interessantes Projekt, aber die Lösung ist für einen "Youngster" sicher nicht so einfach wie es auf den ersten Blick zu sein scheint. Mit dem PIC 16F628 hast aber sicher eine sehr gute Wahl getroffen, allerdings würde es wohl den Rahmen dieses Forums sprengen, um die Details der PIC-Programmierung zu erörtern.

    Da ich heute früh wach wurde, habe ich die Zeit genutzt und eine Lösung inkl. Tastenentprellung programmiert. Wenn Du den Brenner bekommen hast, schicke ich dir gern das HEX-File zum Brennen.

    Gruß
    Herrma
    The only sure weapon against bad ideas is better ideas.

  5. #5
    Neuer Benutzer Öfters hier
    Registriert seit
    24.05.2008
    Ort
    südl. Berlins
    Alter
    82
    Beiträge
    9
    Hallo und herzlichen Dank für das Interesse an meinem Programmierproblem.

    @PICture und theborg: Natürlich ist mir klar, dass für einen Anfänger, so wie ich das beim PIC bin, ich keine schnellen Lösungen erwarten kann. Ich habe mir natürlich mit grossem Interesse die angegebenen Links durchgelesen, natürlich aber noch nicht alles verstanden. Vielen Dank für diese Links. So hochinteressant die Programmierung mit µC's auch ist, aber ich muss sagen, dass mir das Lernen nicht mehr so leicht fällt. Diese Aussage ist nicht faulheits-, sondern altersbedingt!

    @herrma: Uihh, was lese ich eben? Nee, das kann ja nicht wahr sein.
    Na klar würde ich Dein Angebot zu gerne annehmen. Ich denke, dass der Brenner morgen eintreffen wird, er ist schon seit über einer Woche bestellt. Ja, leider sind nicht alle Versender so schnell wie Reichelt (soll keine Schleichwerbung sein) von wo ich innerhalb von drei Tagen die PIC's und Zubehör erhalten hatte.
    Darf ich noch eine fresche Frage stellen? Wäre es möglich auch den Quelltext zu erhalten. Der Grund liegt darin, dass der Prog.ablauf doppelt -als von mir beschrieben- stattfinden müsste. Ich hatte nur den Ablauf für Volume per UP/DOWN-Tasten erläutert. Der selbe Ablauf müsste nocheinmal genauso für die UP/DOWN-Tasten Senderwechsel stattfinden. Und, wie kann ich mich für Deine Hilfe revanchieren ???

    Ich wünsche weiterhin einen schönen Sonntag.
    Jochen

  6. #6
    Erfahrener Benutzer Begeisterter Techniker
    Registriert seit
    21.08.2004
    Ort
    Niedersachsen
    Alter
    62
    Beiträge
    317
    Zitat Zitat von Piefke
    @herrma: Uihh, was lese ich eben? Nee, das kann ja nicht wahr sein.
    Na klar würde ich Dein Angebot zu gerne annehmen. Ich denke, dass der Brenner morgen eintreffen wird, er ist schon seit über einer Woche bestellt. Ja, leider sind nicht alle Versender so schnell wie Reichelt (soll keine Schleichwerbung sein) von wo ich innerhalb von drei Tagen die PIC's und Zubehör erhalten hatte.
    Darf ich noch eine fresche Frage stellen? Wäre es möglich auch den Quelltext zu erhalten. Der Grund liegt darin, dass der Prog.ablauf doppelt -als von mir beschrieben- stattfinden müsste. Ich hatte nur den Ablauf für Volume per UP/DOWN-Tasten erläutert. Der selbe Ablauf müsste nocheinmal genauso für die UP/DOWN-Tasten Senderwechsel stattfinden. Und, wie kann ich mich für Deine Hilfe revanchieren ???
    Kein Problem, für jemanden der mein Vater sein könnte mache ich das doch gern.

    Einen zweiten Kanal für die Lautstärkeregelung kann ich dir noch programmieren, da ja noch ausreichend Ports zur Verfügung stehen.

    Sorry, aber da meine Erfahrung mich gelehrt hat, dass es immer nur zu Endlosdiskussionen führt, gebe ich Quelltexte grundsätzlich nicht mehr heraus. Aber damit du den Programmablauf nachvollziehen kannst, werde ich eine Funktionsskizze beifügen.

    Falls du schon "verdrahten" möchtest nachstehend ein paar Infos und die Pinbelegung.

    µC: PIC16F628-xx; int. Takt 4 MHz; int. RB-Pull-UP (activ Low -du kannst die Taster also direkt gegen Masse anschließen)

    +5V: ( 14 )
    GND: ( 5 )

    INPUT (Wipptaster)
    -------
    RB-0 ( 6 ) T1.1-Up
    RB-1 ( 7 ) T1.2-Down

    RB-2 ( 8 ) T2.1-Up
    RB-3 ( 9 ) T2.2-Down

    OUTPUT (Kanäle)
    ---------
    RA-1 ( 18 ) Q1.1
    RA-0 ( 17 ) Q1.2
    RA-7 ( 16 ) Q2.1
    RA-6 ( 15 ) Q2.2


    Melde dich wenn der Brenner angekommen ist. Ich schicke dir dann den Download-Link.

    Gruß
    Herrma

    PS:
    Wäre für Volume-Control evtl. eine Repeat-Funktion interessant?

  7. #7
    Neuer Benutzer Öfters hier
    Registriert seit
    24.05.2008
    Ort
    südl. Berlins
    Alter
    82
    Beiträge
    9
    Hallo Herrma,

    das geht ja hier Schlag auf Schlag, klasse. Und dann noch gleich mit Anschlussplan für den PIC!

    Werde heute am Abend eine Lochrasterplatte so bestücken. 18pol. Fassung, Keramikresonator 4 Mhz, 7805, Abblockkondensatoren und weiterer Kleinkram ist vorhanden.

    Würde ich am liebsten gleich machen, aber bald will die "bucklige" Verwandschaft zu Besuch kommen, oh graus!

    Quelltext kann ich verstehen, habe diese damals bei meinen Power-Basic Sachen auch immer für mich behalten.

    Prima, Taster schalten ohnehin gegen Masse. Und Dein Vorschlag mit einer Repeat-Funktion (Volume) ist einfach genial. Darauf bin ich bisher gar nicht gekommen. Klar, wäre praktikabler beim Festhalten der Taster eine kontinuierliche Änderung zu erreichen.

    Ach, ich sehe gerade, Du hast in Deinem Verdrahtungsplan die Pins 15 + 16 belegt. Ja ich glaube dann braucht der PIC keinen Resonator und erzeugt den Takt intern, nicht wahr. Sonst hätte ich dort den Resonator angeschlossen. Einfacher geht's hardwareseitig nun wirklich nicht mehr.


    Vielen herzlichen Dank, ich melde mich umgehend, sobald der Brenner hier ist.

    Tschüss

    Jochen


    edit: mir fällt eben noch ein, alle unbeschalteten Pins sollte ich doch auf high legen, nicht wahr?

  8. #8
    Erfahrener Benutzer Begeisterter Techniker
    Registriert seit
    21.08.2004
    Ort
    Niedersachsen
    Alter
    62
    Beiträge
    317
    Hallo Jochen,

    Takt:
    Ja, keine externe Taktversorgung. Für diese Anwendung reicht der interne RC-Oszillator des PICs vollkommen aus.

    Pinbelegung:
    Die Pegel der unbenutzten Ports definiere ich grundsätzlich intern. Hier liegt Port B über interne Pull-Up-Widerstände auf High und die unbenutzten A-Pins initialisiere ich als Digital-Ausgänge und lege sie auf Low. Du musst also nur die Fassung festlöten und für eine stabile Betriebsspannung sorgen. Zur Sicherheit aktivere ich noch Brown-Out-Detect, den Power-On-Timer und den WDT, deren Bedeutung dir sicher bekannt sind.

    Repeat-Funktion:
    Sollte machbar sein, aber wohl nur für Volume +/-, denn bei der Kanalwahl macht es wohl wenig Sinn?

  9. #9
    Neuer Benutzer Öfters hier
    Registriert seit
    24.05.2008
    Ort
    südl. Berlins
    Alter
    82
    Beiträge
    9
    Hallo Herrma,

    so, nun ist er weg, der Besuch. Zwischendurch konnte ich mich auch mal wegschleichen und die kleine Platine ist nun fertiggebastelt. Die unbeschalteten Pins habe ich offengelassen, dankeschön für den Hinweis.

    Nein, nein, wenn diese Repeatfunktion machbar ist, dann bitte nur für Volume, bei der Senderfortschaltung wäre diese sicher nicht sinnvoll.

    Hoffentlich kommt der Brenner morgen; ich hätte ja jetzt schon grosse Lust Dein Hex-File mit dem Prog. "PIC-Simulator" laufen zu lassen.

    Ersteinmal darf ich Dir einen angenehmen Abend wünschen und kann mich immer nur wieder für Dein tolles Engagement bedanken.

    Bis in Kürze
    Jochen

  10. #10
    Erfahrener Benutzer Begeisterter Techniker
    Registriert seit
    21.08.2004
    Ort
    Niedersachsen
    Alter
    62
    Beiträge
    317
    Zitat Zitat von Piefke
    Nein, nein, wenn diese Repeatfunktion machbar ist, dann bitte nur für Volume, bei der Senderfortschaltung wäre diese sicher nicht sinnvoll.
    War machbar, allerdings bin ich mir bei der Repeat-Funktion bei den Timings noch nicht ganz sicher. Das kann man später aber noch noch ändern, wenn du aus der Praxis berichteten kannst.

    Im Moment habe ich es wie folgt programmiert:
    Wird Volume UP oder -DOWN länger als 0,5 Sekunden gedrückt, startet die Repeat-Funktion mit vier Repeats in einer Sekunde und endet, sobald die Taste losgelassen wird.


    Zitat Zitat von Piefke
    Hoffentlich kommt der Brenner morgen; ich hätte ja jetzt schon grosse Lust Dein Hex-File mit dem Prog. "PIC-Simulator" laufen zu lassen.
    Warum so ungeduldig? Von den Simulatoren halte ich zwar nicht viel, aber OK, nachstehend der Link zur Beta-Version, die ich selber noch nicht intensiv testen konnte, da ich dazu erst morgen wieder Gelegenheit habe. Aber auf dem Steckbrett sieht´s schon ganz gut aus.

    Hier noch eine Info zum besseren Verständnis:
    - Alle Eingänge sind beidseitig (Öffnen/Schliessen) entprellt (Debounce-Delay = 60ms). Du wirst also bei der Simulation wohl "etwas" warten müssen.
    - Pinbelegung und Config (siehe weiter oben)

    Download-Link
    http://www.pic-tec.com/piefke.rar

    PS
    Natürlich ohne Gewähr und auf eigene Gefahr.
    The only sure weapon against bad ideas is better ideas.

Seite 1 von 3 123 LetzteLetzte

Berechtigungen

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