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


von P. S. (-schiffmeista-)


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

von Severino R. (severino)


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

von Dieter Werner (Gast)


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?

von P. S. (-schiffmeista-)


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

von P. S. (-schiffmeista-)


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.

von Dieter Werner (Gast)


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 ;-))

von P. S. (-schiffmeista-)


Lesenswert?

okey...vielen dank für die infos udn die links..
mfg patrick

von Severino R. (severino)


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?IdcService=SS_GET_PAGE&nodeId=1406&dDocName=en010053

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

von holger (Gast)


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 ;)

von Severino R. (severino)


Lesenswert?

@ holger

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

Severino

von P. S. (-schiffmeista-)


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

von P. S. (-schiffmeista-)


Lesenswert?

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

von Severino R. (severino)


Lesenswert?

@ Patrick

Gern geschehen.

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

Severino

von Peter D. (peda)


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

von Severino R. (severino)


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

von Schoasch (Gast)


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 ;-)

von P. S. (-schiffmeista-)


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

von Holla D. (schlucke)


Lesenswert?

@Patrick

An welcher FH studierst du wenn ich fragen darf??

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

von Luke (Gast)


Lesenswert?

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

von Holla D. (schlucke)


Angehängte Dateien:

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.

von P. S. (-schiffmeista-)


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!!!

von Schoasch (Gast)


Angehängte Dateien:

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

von P. S. (-schiffmeista-)


Lesenswert?

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

von P. S. (-schiffmeista-)


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.

von Rocky (Gast)


Lesenswert?

Wie kann man R und C rechnen?

von Schoasch (Gast)


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 ;-)

von Rocky (Gast)


Lesenswert?

C ist Kapazität der Kondensator.

danke

von Rocky (Gast)


Lesenswert?

danke,ich habe PDF Datei gesehen,war schon alle derin.

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.