www.mikrocontroller.net

Forum: Mikrocontroller und Digitale Elektronik PIC12F675 & Poti.Wer kann mir helfen???


Autor: P. S. (-schiffmeista-)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hi!
Ich bin Mb Studen 4.Sem..
Ich hab die Aufgabe einen Rückfahrwarner vom Pkw zu bauen.
Dabei werden die Ultraschall-Sens. von einem Poti ersetzt.
An die Ausgänge des Kontrollers soll eine LED und ein Lautspr..
Wie könnte so ein Schaltplan aussehen?Hat das schonmal jmd. von Euch 
gemacht?
Ich brauche doch auch einen analog/digital converter zwischen poti und 
Input vom Kontroller,oder?
Es soll ein PIC12F675 Kontroller sein.
Ich hab da 0 Ahnung von :-)
Bitte helft mir!
mfg

Autor: Severino R. (severino)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Lies unbedingt zuerst das Datenblatt des PIC12F675.

Darin erfährst Du z.B., dass dieser Controller bereits einen AD-Wandler 
ingegriert hat. Hier schliesst Du also das Poti an.
Du kannst den internen Oszillator wählen, dann brauchst Du auch keinen 
externen Quarz.
An einen anderen I/O-Pin schliesst Du über einen geeigneten 
Vorwiderstand
(U = R x I !) die Led an, an einem anderen Pin den Lautsprecher (ev. 
auch über Widerstand).
So, nun nur noch die 5V anschliessen, und fertig ist das Schema.

Ach so, Software braucht's auch noch. Die musst Du halt selber 
schreiben.

Infos zur Ansteuerung des AD-Wandlers findest Du z.B. hier:
http://www.sprut.de/electronic/pic/grund/adc.htm

Aber erkläre uns doch bitte, wie man einen Ultraschallwandler durch ein 
Poti ersetzen kann und damit einen Rückfahrwarner baut.

Severino

Autor: Dieter Werner (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
> einen Ultraschallwandler durch ein Poti ersetzen

Da scheint es sich wohl nur um eine Simulation zu handeln.


Ist so ein Projekt für MB nicht ein wenig off topic?

Autor: P. S. (-schiffmeista-)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
ja genau ..es handelt sich hierbei um eine simulation.
wenn man sich rückwärts mit dem auto einem gegenstand nähert so soll die 
spannung steigen.deswegen der poti.
ja das kotz mich auch an ..ich finds für maschinenbau auch off topic!
das hängt damit zusammen ,dass mein studiengang genau dipl. ing. 
maschinenbau / mechatronik heißt.daher noch datt info jedönz.
woo find ich denn das datenblatt zu dem PIC12F.sorry dass ich frag .aber 
ich bin total neu hier!
danke für die hilfe!!!
mfg

Autor: P. S. (-schiffmeista-)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
die ganze sache soll ich dann noch ein bißchen abrunden und verfeinern 
indem ich verschiedene ton signale beim annähern aussende.oder optisch 
noch erweitern.evtl 2 led´s oder zwei farbige led.zum bsp grün wenn der 
gegenstand noch weit entfernt ist und rot wenn es gebummst hat :-)
das programmieren in c wird dann wahrscheinlich noch was knifflig....ma 
schaun.

Autor: Dieter Werner (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Vom Funktionsumfang her ist das nicht besonders anspruchsvoll aber wenn 
man noch nicht mit µC zu tun hatte stellt es schon eine Herausforderung 
dar.

Datenblatt gibts hier
http://ww1.microchip.com/downloads/en/DeviceDoc/41190E.pdf

Am besten erst mal eine Aufstellung der Anforderungen machen und sehen 
wie sich die einzelnene Funktionen den Pins zuordnen lassen.

Ob es für die Baureihe PIC12F einen C Compiler gibt ist mir nicht 
bekannt, wenn alle Stricke reißen muss man halt Assembler nehmen; nicht 
schön, aber machbar.

Hier im Forum ist ein Großteil der Poster auf Atmel gepolt, stärker PIC 
orientiert sind
http://www.fernando-heitor.de/
http://www.sprut.de/

Fiel Fergnügen ;-))

Autor: P. S. (-schiffmeista-)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
okey...vielen dank für die infos udn die links..
mfg patrick

Autor: Severino R. (severino)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
@ Patrick

Wie wirst Du das Ding programmieren? Hast Du Programmiererfahrung?
Du brauchst jedenfalls MPLAB (Download kostenlos unter 
www.microchip.com).
Damit kannst Du in Assembler programmieren und das Programm auch 
simulieren, d.h. ohne Hardware auf dem PC ausführen.

Alternativ gibt es verschiedene C-Compiler (nicht von Microchip), 
teilweise in limitierter Ausführung kostenlos.

Am schnellsten (und preiswertesten) kannst Du loslegen, wenn Du das 
PICkit 1 kaufst (z.B. www.farnell.de, Bestell-Nr. 4390787). Dort ist 
sogar eine limitierte Version des C-Compilers PICC dabei. Ausserdem 
existieren Beispiele um eine Led einzuschalten und um ein Poti per 
AD-Wandler abzufragen.
(Poti und Leds sind auf dem PICkit 1 schon drauf). Das Ding verbindest 
Du via USB mit Deinem PC.


Ausführlichere Infos zum PICkit 1 unter:
http://www.microchip.com/stellent/idcplg?IdcServic...

Auch ohne PICkit 1 kannst Du die Beispiele mal anschauen:
in obigem Link "PICkit™ 1 All Lessons" downloaden.

Versteh mich bitte nicht falsch: Ich möchte Dir das Ding nicht verkaufen 
und ich habe auch nichts davon, wenn Du es kaufst. Ich finde es nur ein 
sehr geeignetes Starterkit für Deine Problemstellung.

Viel Spass

Severino

Autor: holger (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
>das hängt damit zusammen ,dass mein studiengang genau dipl. ing.
>maschinenbau / mechatronik heißt.daher noch datt info jedönz.
>woo find ich denn das datenblatt zu dem PIC12F.sorry dass ich frag .aber

Oh mein Gott (obwohl ich nicht gläubig bin).
Ich werde mich NIE mehr in ein Auto setzen.
Wenn das unsere Zukunft ist dann gute Nacht.

@ Severino
Ich war heute glaube ich ein wenig höflicher als sonst ;)

Autor: Severino R. (severino)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
@ holger

Danke, dass Du Patrick nicht zerrissen hast... ;-)

Severino

Autor: P. S. (-schiffmeista-)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
@holger
wenn ich das schon alles könnte,bräuchte ich nich studieren.
sei unbesorgt..wenn ich mein diplom hab,bau ich dir ein auto was ganz 
bestimmt hält!^^
was machst du denn so ...oder warst du ein wunderkind,dass alleskönnend 
auf die welt kam?!
mfg

Autor: P. S. (-schiffmeista-)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
@severino
programmiert wird mit c-compiler.
danke für die tipps!

Autor: Severino R. (severino)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
@ Patrick

Gern geschehen.

Lass uns doch gelegentlich wissen, wie Deine Fortschritte sind...

Severino

Autor: Peter Dannegger (peda)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Dieter Werner wrote:

> Ob es für die Baureihe PIC12F einen C Compiler gibt ist mir nicht
> bekannt, wenn alle Stricke reißen muss man halt Assembler nehmen; nicht
> schön, aber machbar.

Von Atmel sind selbst die 8-Pinner uneingeschränkt in C programmierbar, 
z.B. ATTiny45 (256Byte SRAM, 4kB Flash, 2 Timer, 10Bit-ADC, PWM).

Einen Programmer kann man fürn Appel undn Ei leicht selber bauen, wenn 
der PC noch nen echten LPT-Anschluß hat:

http://rumil.de/hardware/avrisp.html


Peter

Autor: Severino R. (severino)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
@ Peter Dannegger

Patrick Schiefer wrote:
[..]
> Es soll ein PIC12F675 Kontroller sein.
[..]

Ein ATTiny45 ist wohl nicht kompatibel dazu, oder?

Peter Dannegger wrote:
> Einen Programmer kann man fürn Appel undn Ei leicht selber bauen, wenn
> der PC noch nen echten LPT-Anschluß hat:

1. Welcher PC hat noch einen echten LPT-Anschluss?

2. Ich würde einem Anfänger ("Ich hab da 0 Ahnung von") nicht empfehlen, 
den Programmer auch noch selber zu basteln. Wenn irgendwas nicht 
funktioniert (Murphy lässt grüssen), weiss er dann überhaupt nicht, 
woran es liegt. Dazu sind Starterkits ja da, damit es am Anfang 
möglichst reibungslos geht und einem der Spass nicht gleich verdorben 
wird. Verglichen mit der Zeit, die man mit den Controllern verbringt, 
sind die paar Dutzend Euro vernachlässigbar, auch bei Hobby-Budgets.

Severino

Autor: Schoasch (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hi

Programmer:
Auf der Seite von Sprut gibts auch einen USB fähigen Brenner. Dazu 
brauchst du zwar einen gebrannten PIC, aber das soll kein Problem 
darstellen. Das hex-File kann dir sicher jemand auf den PIC brennen(zb 
Ich ;-)). Ich würd kein Demoboard kaufen, sondern wenn dann gleich einen 
ICD2. Kostet gleich viel, aber davon hat man mehr ;-)

Es gibt für die PIC12F einen C-Compiler. Leider ist der nicht frei... 
naja bedingt. Für die "kleine" PIC12F gibts im MPLAB intergriert den 
CCS-Compiler. Für deinen PIC ist der leider noch nicht dabei. Aber es 
gibt eine C-Compiler ;-)

Aber Assembler ist auf den kleinen auch nicht wirklich ein Problem. Die 
dürften da wohl gleich leicht zu Programmieren sein wie ein AVR.

Und das C-Programm wird auch nicht sehr schwierig werden ;-)

Wie genau soll das ganze werden? Soll es wirklich eine Schaltung werden 
wie man auch verkaufen könnte, oder solls einfach ein schaltung werden, 
die die Prinzipien darstellen?
Hast du sonst noch irgendwelche Anforderungen oder Spezifizierungen?

mfg Schoasch

PS.: ICh empfehle dir auch bei Fernando Heitor vorbei zu schauen und vl 
dort nochmal posten. Dort bekommst wahrscheinlich mehr hilfe ;-)

Autor: P. S. (-schiffmeista-)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
also ich hab an der fachhochschule zugriff zum labor .dort kann ich 
sowohl das programm schreiben,alsauch auf den chip brennen.
also zu dem programm selber:sooo genau soll es nich werden.lediglich die 
prinzipien darstellen,wie man das abstandsproblem visuel und optisch 
lösen kann.
ich dachte da an ein piep signal,wenn der "rückwärtsgang" eingelegt 
wird.weitere piep signale schneller werdend und/oder mit höherer 
frequenz um so näher man einem object kommt.
ferner eine zwei farbige LED (grün rot).grün bei weiter bis mittlerer 
entfernung,rot bei mittlerer bis naher entfernung.
im moment bin ich mich bei sprut.de am einlesen.schau später mal bei 
fernando heitor vorbei.
poste dann nomma wenns was neues gibt!
mfg

Autor: Holla Die waldfee (schlucke)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
@Patrick

An welcher FH studierst du wenn ich fragen darf??

das mit dem MB/Mech-Studium hab ich mir auch anders vorgestellt.

Autor: Luke (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Tach Herr Schiefer,
wie sieht´s aus? Haste dein Pflichtenheft fertig?
Ich werde gleich mal anfangen!!!
Gruß Luke

Autor: Holla Die waldfee (schlucke)
Datum:
Angehängte Dateien:

Bewertung
0 lesenswert
nicht lesenswert
Ich weiß nicht ob dir das helfen kann, aber wir haben damals mit zwei 
PIC12F675 eine Tempomatensimulation gebaut.

Mit einenm PIC wurde das Triebwerk simuliert und mit dem anderen der 
Tempomat. Für das Triebwerk haben wir über ein Poti die Steigung der 
Fahrbahn simuliert und mit einem zwieten Poti die Gaspedalstellung.

Tempomat ein/aus über taster
Bremse über taster

Hab mal alles anghängt, was ich auf anhieb gefunden hab.

Autor: P. S. (-schiffmeista-)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
ich bin an der fh bonn rhein sieg!
danke für den code...zieh mir den gleich mal rein un guck ob ich da was 
von gebrauchen kann!!!

Autor: Schoasch (Gast)
Datum:
Angehängte Dateien:

Bewertung
0 lesenswert
nicht lesenswert
Hi

Anbei ist eine Schaltung mit (hoffentlich) all deinen Anforderungen.

Das Programm würde ich so machen (Pseudocode)

void timer_interrupt()
{
  toggle Pin des Lautsprechers;
}

void(main)
{
   Alle Ports initialisieren;
   ADC-Initialisieren;
   Timer initialsieren;
   Interrupts einstellen;
   a=255;
   b=255;

   while(1)
     {
      ADC-Starten;
      while(!GO/Done); //Warten bis ADC fertig
      ADC-Wert einlesen;
      if (ADC_wert < 512 && a)
         {
          a=0;
          Timer so einstellen das es langsam piepst;
          LED_grün=1;
          LED_rot=0;
          b=255;
         }
      if (ADC_wert>=512 && b)
         {
           b=0;
           Timer so einstellen das es schnell piepst;
           LED_grün=0;
           LED_rot=1;
           a=255;
         }
     }
}

Der Code ist halt jetzt nur mal so kurz aus der Nase gezogen, sollte 
aber normal fumktionieren. Natürlich musst du das ganze zuerst mal in C 
umsetzen, aber das sollte ja kein problem darstellen.

mfg Schoasch

Autor: P. S. (-schiffmeista-)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Sauber!!!!
hey nich schlecht!
guck jetz ma was ich daraus bauen kann...vielen dank nomma !

Autor: P. S. (-schiffmeista-)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
die schaltung veränder ich noch ein bißchen.
brauch einen 2. poti
leg die potis auf pin 6 und pin 7 damit der pic die beiden 
eingangssignale vergleichen kann.das höhere eingangssignal soll dann das 
ausschlaggebende sein!
halt erst die beiden signale vergleichen und dann den höheren wert auf 
eine variable legen.

Autor: Rocky (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Wie kann man R und C rechnen?

Autor: Schoasch (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Was für ein R und was für ein C meinst du denn?

R2 hab ich mit 500 Ohm gewählt um den Port zu schützen, falls er Falsch 
programmiert wurde und als ausgang geschalten ist.

Und C hab ich einfach so gewählt... den hat man eigentlich immer so 
gg... zusammen ergeben sie dann einen Tiefpass ;-)

Autor: Rocky (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
C ist Kapazität der Kondensator.

danke

Autor: Rocky (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
danke,ich habe PDF Datei gesehen,war schon alle derin.

Antwort schreiben

Die Angabe einer E-Mail-Adresse ist freiwillig. Wenn Sie automatisch per E-Mail über Antworten auf Ihren Beitrag informiert werden möchten, melden Sie sich bitte an.

Wichtige Regeln - erst lesen, dann posten!

  • Groß- und Kleinschreibung verwenden
  • Längeren Sourcecode nicht im Text einfügen, sondern als Dateianhang

Formatierung (mehr Informationen...)

  • [c]C-Code[/c]
  • [avrasm]AVR-Assembler-Code[/avrasm]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] - Link zu Artikel
  • Verweis auf anderen Beitrag einfügen: Rechtsklick auf Beitragstitel,
    "Adresse kopieren", und in den Text einfügen




Bild automatisch verkleinern, falls nötig
Bitte das JPG-Format nur für Fotos und Scans verwenden!
Zeichnungen und Screenshots im PNG- oder
GIF-Format hochladen. Siehe Bildformate.
Hinweis: der ursprüngliche Beitrag ist mehr als 6 Monate alt.
Bitte hier nur auf die ursprüngliche Frage antworten,
für neue Fragen einen neuen Beitrag erstellen.

Mit dem Abschicken bestätigst du, die Nutzungsbedingungen anzuerkennen.