Mit Poti LED's einschalten

Gast #3308327
Lesenswert?
• ▲
▼
Hallo

Ich bin noch ziemlich neu auf dem Gebiet der µC. Bisher habe ich nur mit 
digitalen I/O gearbeitet. Jetzt bin ich aber so weit, dass ich mich mit 
dem ADC befassen will.
Ich habe vor mit einem Poti, jenachdem wie viel es aufgedreht ist 
verschieden viele LED's leuchten zu lassen.
Bisher ist leider noch nichts brauchbares heraus gekommen. Deshalb hoffe 
ich, dass ihr mir vielleicht helfen könntet, dass es klappt.

Ich habe den dsPIC33FJ256MC710A, den CCS PCD Compiler, MPLAB X IDE und
das dsPICDEM MCLV Board.

mfg
#3308416
Lesenswert?
• ▲
▼
Neben dem allgemeinen DataSheet für den dsPIC33FJ256MC710A solltest du 
dir unbedingt das Dokument DS70183 bei MICROCHIP oder hier
http://www.ee.up.ac.za/main/_media/en/undergrad/subjects/esp300/ad_70183c.pdf
runterladen.
Beschreibt den ADC des dsPIC33F inklusive diverser Beispiel in C.
Umsetzen auf deinen C-Compiler musst du diese schon selbst - falls es 
beim Compiler keine Beispiel für 16-Bit-PIC gibt.
#3308471
Lesenswert?
• ▲
▼
ich bemühe mal meine Glaskugel, da Du nichts darüber schreibst, wo das 
Problem ist oder wie Deine Schaltung aussieht.

Trotzdem vermute ich, dass es schon an der Anschaltung des Poti 
scheitert. Der ADC kann nur eine Spannung aber keinen Widerstand messen. 
Also musst Du dem Controller abhängig von der Stellung des Potis eine 
andere Spannung zuführen. Dazu brauchst Du wiederum im einfachsten Fall 
einen Spannungsteiler. Hast Du den?
(Firma: BfEHS) #3308506
Lesenswert?
• ▲
▼
Hallo,

das ist doch eine einfach Übungsaufgabe.
Du hängst das Poti zwischen VCC und GND und den mittleren Pin an deinen 
ADC Eingang. Wenn dein Wandler mit z.B. 8 bit läuft kannst du den 
Messwert direkt auf einen Port mit 8 LEDs ausgeben, fertig. Wenn du Lust 
hast kannst du das dann auch mit 16 bit usw. machen.

Grüße aus Berlin
Gast #3308517
Lesenswert?
• ▲
▼
Und was hast Du jetzt am ADC nicht verstanden ?
Beim ADC ist das analog zu den digitalen Ports, d.h. für jede Stellung 
des Potis erscheint ein Bitmuster im Register das den aktuellen 
Spannungswert darstellt.
Stelle Dir einfach vor Du hast Schalter an einem digitalen Port und je 
nachdem welche davon geschaltet sind bekommst Du Deinen Wert.
Oder haperts an grundlegenderen Dingen ?
#3308532
Lesenswert?
• ▲
▼
A. S. schrieb:
> wo hakt's?

Vielleicht hat der CCS-Compiler keine dsPIC33 Libs welche eine 
"komfortable" ADC-Handhabung a la
....
OpenADC(configuration-pipapo);
adc_wert = ReadADC(1);  //lies Kanal AN1 ein
....
....
und daher die ganze Konfigaration verteilt auf 5 SFR mit ein paar 
Dutzend Bits "händisch" zu machen ist.
Darum der Link auf DS70183 - da gibt es auch Beispiele dafür.
#3308569
Lesenswert?
• ▲
▼
Martin schrieb:
> Mir
> geht es aber darum zu lernen wie man den ADC vom dsPIC33FJ anwendet.

In dem Fall würde ich einfach mal das Datenblatt lesen, Abschnitt:
22.0 10-BIT/12-BIT ANALOG-TO-DIGITAL CONVERTER (ADC)

Und wenn das nicht reicht, dem Link darin folgen zum “dsPIC33F/PIC24H 
Family Reference Manual”.

Ist natürlich erheblich mehr Lese- und Lernstoff als beim popeligen 
ATtiny13.

Antwort schreiben

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.

Formatierung
  • [c]C-Code[/c]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] – Link zu einem Artikel
  • Verweis auf einen anderen Beitrag: Rechtsklick auf dessen Beitrags-ID (#8078628), „Adresse kopieren“, in den Text einfügen

Mehr zur Formatierung

Längeren Sourcecode als Anhang, nicht in den Text. JPG nur für Fotos und Scans; Zeichnungen und Screenshots als PNG oder GIF. Siehe Bildformate.

Schon registriert? Anmelden

Wird nicht angezeigt. Wir schicken dir einen Link; sobald du damit bestätigst, erscheint dein Beitrag.

Mit dem Abschicken legst du einen kostenlosen Account an und erkennst die Nutzungsbedingungen und die Datenschutzerklärung an.