www.mikrocontroller.net

Forum: Mikrocontroller und Elektronik Schaltschwelle der digitalen Eingänge des PIC

Autor: Mark Thalle (bitts)
Datum: 05.05.2008 13:31

Hallo,

sind die digitalen Eingänge des PIC (16F84) dazu geeignet, relativ genau
eine Mindestspannung zu ermitteln? Könnte man einen Eingang als
Komperator benutzen?

Bei welcher Spannung liegt grundsätzlich der Schwellwert, ab dem statt
einer 0 eine 1 erkannt wird?

Ist dieser Schwellwert von der Eingangsspannung abhängig?



Grüße
Mark
Autor: Kai Giebeler (runtimeterror)
Datum: 05.05.2008 13:36

Also bei den AVRs steht's im Datenblatt... das wird bei den PICs nicht
anders sein. Such mal nach "Electrical Characteristics".

Ich kann mir nicht vorstellen, dass die Schaltschwelle zuverlässig dafür
missbraucht werden kann.
Autor: manchmal_da (Gast)
Datum: 05.05.2008 13:39

Falls der PIC einen ADC hat, kann man ihn für sowas nutzen
Autor: klaus (Gast)
Datum: 05.05.2008 13:44

Datasheet Seite 79.

Verstehe aber nicht, wieso man heutzutage noch den PIC16F84 einsetzen
kann??? Nimm doch einfach den 16F88, der hat auch einen 10-bit ADC,
quasi ideal für Deine Anforderung.
Autor: klaus (Gast)
Datum: 05.05.2008 13:44

...und übrigens pinkompatibel zum 16F84
Autor: Mark Thalle (bitts)
Datum: 05.05.2008 14:08

Auf Seite 79 finde ich keine Info zu dem Thema.

Ich habe auf Seite 53 die Info gefunden, dass Low bei maximal 0,2VDD und
High bei minimal 0,8VDD erkannt wird, wenn ich das richtig verstanden
habe.

Damit ist das natürlich unbrauchbar. Der Schaltpunkt kann nicht nur
stark variieren, sondern ist auch noch von VDD abhängig.


Den 16F84 möchte ich benutzen, weil mein Programmiergerät (PICSTART
16B1) keine neueren Teile bruzeln kann und ich eh höchstens einmal im
Jahr was mit PICs mache.

Ein PIC mit einem ADC hilft mir nicht besonders weiter. Ich möchte die
Zellenspannung von mehreren Akkus testen auf Unterspannung testen und da
wäre es schön, wenn ich bis zu 6 Komperatoren hätte.
Autor: Severino R. (severino)
Datum: 05.05.2008 14:52

Mark Thalle wrote:

> Den 16F84 möchte ich benutzen, weil mein Programmiergerät (PICSTART
> 16B1) keine neueren Teile bruzeln kann und ich eh höchstens einmal im
> Jahr was mit PICs mache.

... aber dann erst recht, und auch richtig!

Kann der PICSTART 16B1 überhaupt den PIC16F84 programmieren?
Oder nur die PIC16C-Typen, also die vor-Flash-Typen?

Jedenfalls kann ich Dir auch nur dazu raten, den 16B1 beiseite zu legen.
Den PICkit 2 bekommt man für relativ wenig Geld, und der kann praktisch
alle neuen PICs programmieren.

Was Du brauchst, ist ein PIC mit A/D-Wandler. Auch wenn der PIC nur
einen A/D-Wandler hat, ist das kein Problem, solange man diesen
nacheinander an verschiedene I/O-Pins zuordnen kann.

Ein PIC16F676, oder ein 'F690, oder die neueren 'F88x tun's auch.
Autor: Mark Thalle (bitts)
Datum: 05.05.2008 16:26

Beim PICSTART 16B1 muss ich AFAIK den 16C84 auswählen, um den 16F84 zu
brennen. Das hat bisher aber geklappt.


Ich hab auch nichts gegen einen neues Programmiergerät, wenn das nicht
zu teuer ist. Ich habe gerade mal bei Sprut.de vorbeigeschaut. Der
Brenner8 wäre wohl passend. Allerdings braucht man da erstmal einen
anderen Brenner, um sich den fetten PIC auf dem Brenner selbst brennen
zu können.

Das PICkit2 finde ich nirgendwo zu kaufen. Ist das ein älteres Teil?
Was kostet sowas normalerweise und wo bekommt man es her?


Dass man einen ADC auf mehrere Pins legen kann, ist mir neu.
Ich dachte bisher, dass Sonderfunktionen immer auf einen oder 2 Pins
begrenzt sind.

Wo bekommt man denn am Besten PICs her? Bei Reichelt sehe ich den F676
z.B. nur in SMD-Größe und wirklich preiswert scheinen die Dinger auch
nicht zu sein.

Wenn ich eh ein neues Programmiergerät brauche, wäre es dann vielleicht
besser, ATMELs zu verwenden? Vor 10 Jahren waren die PICs eine echte
Seuche, aber heutzutage sehe ich immer öfter ATMELs in irgendwelchen
Geräten.


Grüße
Mark
Autor: Severino R. (severino)
Datum: 05.05.2008 17:07

Mark Thalle wrote:
> Beim PICSTART 16B1 muss ich AFAIK den 16C84 auswählen, um den 16F84 zu
> brennen. Das hat bisher aber geklappt.
Gut.

> Ich hab auch nichts gegen einen neues Programmiergerät, wenn das nicht
> zu teuer ist.
Was liegt denn noch drin?

> Das PICkit2 finde ich nirgendwo zu kaufen. Ist das ein älteres Teil?
> Was kostet sowas normalerweise und wo bekommt man es her?
Z.B. bei Schuricht Art. 644133 EUR 61.
Oder bei www.microchipdirect.com

> Dass man einen ADC auf mehrere Pins legen kann, ist mir neu.
> Ich dachte bisher, dass Sonderfunktionen immer auf einen oder 2 Pins
> begrenzt sind.
Schau mal ins Datenbuch des 'F676, Seite 43. Dort kannst Du den ADC auf
acht verschiedene Pins legen (natürlich nur nacheinander, nicht
gleichzeitig, aber so träge wie Batterien sind, macht das ja nichts).
Die Pins wählst Du mit drei Bits aus.


> Wo bekommt man denn am Besten PICs her? Bei Reichelt sehe ich den F676
> z.B. nur in SMD-Größe und wirklich preiswert scheinen die Dinger auch
> nicht zu sein.
PIC16F676 im DIL-Gehäuse Schuricht Art. 644621 EUR 3.37.
Oder bei www.microchip.com als Muster kostenlos.

Wenn Du nur ein oder zwei Stück brauchst, spielen ein paar Cent wohl
keine Rolle.

Ich habe Schuricht angegeben, weil die in Deutschland ein ähnliches
Sortiment wie in der Schweiz Distrelec haben, und die kenne ich halt.
>
> Wenn ich eh ein neues Programmiergerät brauche, wäre es dann vielleicht
> besser, ATMELs zu verwenden? Vor 10 Jahren waren die PICs eine echte
> Seuche, aber heutzutage sehe ich immer öfter ATMELs in irgendwelchen
> Geräten.

Mit ATMEL meinst Du wohl die AVR-Familie (Atmel stellt auch 8051-Typen
sowie ARM her).
Wenn Du höchstens ein Mal im Jahr etwas damit machen willst, bleib bei
dem, was Du kennst.
Autor: Mark Thalle (bitts)
Datum: 05.05.2008 18:47

Severino R. wrote:

>> Ich hab auch nichts gegen einen neues Programmiergerät, wenn das nicht
>> zu teuer ist.
> Was liegt denn noch drin?

Also so oft, wie ich das benutze, sollte das eher sehr preiswert sein.
Vielleicht 20-30 Euro.

>> Das PICkit2 finde ich nirgendwo zu kaufen. Ist das ein älteres Teil?
>> Was kostet sowas normalerweise und wo bekommt man es her?
> Z.B. bei Schuricht Art. 644133 EUR 61.
> Oder bei www.microchipdirect.com

Wenn ich das richtig gesehen habe, dann kostet das bei Schuricht doppelt
soviel, wie bei microchip direkt.

Allerdings sehe ich nirgendwo so einen Klemmsockel (ZIF-Sockel?).
Braucht man dann noch eine Adapterplatine mit so einem Sockel?
Den Scoekl selbst könnte ich vom 16B1 nehmen.

>> Dass man einen ADC auf mehrere Pins legen kann, ist mir neu.
>> Ich dachte bisher, dass Sonderfunktionen immer auf einen oder 2 Pins
>> begrenzt sind.

> Schau mal ins Datenbuch des 'F676, Seite 43. Dort kannst Du den ADC auf
> acht verschiedene Pins legen (natürlich nur nacheinander, nicht
> gleichzeitig, aber so träge wie Batterien sind, macht das ja nichts).
> Die Pins wählst Du mit drei Bits aus.

Ah jo, mit dem ADCON0-Register, wenn ich das richtig verstehe. Es
klingelt wieder ganz leise :-)

Dann brauche ich jetzt einen 16F676 und ein passendes Programmiergerät.

>> Wenn ich eh ein neues Programmiergerät brauche, wäre es dann vielleicht
>> besser, ATMELs zu verwenden? Vor 10 Jahren waren die PICs eine echte
>> Seuche, aber heutzutage sehe ich immer öfter ATMELs in irgendwelchen
>> Geräten.
>
> Mit ATMEL meinst Du wohl die AVR-Familie (Atmel stellt auch 8051-Typen
> sowie ARM her).
> Wenn Du höchstens ein Mal im Jahr etwas damit machen willst, bleib bei
> dem, was Du kennst.

Kennen ist zuviel gesagt. Wenn ich mich mal aufraffe etwas zu machen,
fange ich eh immer fast bei Null an. Von daher würde ich lieber das
nehmen, was mehr Möglichkeiten bietet und verbreiteter ist.

Grüße
Mark
Autor: Andreas Fritsche (scotty1701d)
Datum: 05.05.2008 20:00

Also ich hatte angefangen mit einem einfachen Brenner für die serielle
Schnittstelle, sowas wie den PIC-Programmer 2. Damit lassen sich die
16F... Typen ganz gut brennen. Als Brenn-Software habe ich WinPic800
verwendet. Problem dabei ist, dass neuere Rechner oft eine zu niedrige
Spannung am COM-Port haben und das Programmieren nicht mehr richtig
klappt.
Irgendwann habe ich dann einen ICD-Nachbau zusammengelötet, der mit
einem 16F876 lief. Letzteren habe ich mit dem ersten Brenner gebrannt.
Der Nachbau hat eine eigene Spannungsversorgung, kommt dank MAX232 mit
jeder seriellen Schnittstelle zurecht und lässt sich sogar direkt von
MPLab ansteuern (inklusive Debugging). Mit diesem kann man auch
18F-Typen problemlos programmieren. Das habe ich dann ausgenutzt, um
einen 18F2550 für den Brenner8P von sprut zu programmieren. Den
ICD-Nachbau benutze ich inzwischen gar nicht mehr aus verschiedenen
Gründen:
- 12bit PICs machten bei bestimmten Konfigurationen Ärger (ließen sich
nicht richtig löschen)
- die Programmierspannung musste ich von Hand einstellen
(glücklicherweise habe ich keinen PIC gehimmelt)
- In-Circuit-Debugging nutze ich sowieso nie
- beim Wechsel von 16F zu 18F muss in den 16F876 eine andere Firmware
gebrannt werden
- kein ZIF-Sockel auf dem Brenner
- Brenner8P hat einen echten USB-Anschluss (keine COM-Emulation mit
FTDI)
Die Materialkosten hielten sich bei den letzten beiden Brennern mit je
30 Eur in Grenzen. Brauchbar sind beide, ich würde den Brenner8P aber
nicht nochmal auf Lochraster aufbauen ;-)

Andreas
Autor: Mark Thalle (bitts)
Datum: 06.05.2008 11:05

Da hast du ja eine ganz schöne Brennerkarriere hinter dir :-)

Bevor ich den Picstart 16B1 hatte, hatte ich auch irgendwas ganz
primitives mit StandardIC-Sockeln auf einer Lochrasterplatine
zusammengelötet. Aber das war Murks.


Ich hab jetzt nochmal bei ebay gewühlt und da stellen sich mir immer
mehr fragen:

PicKit2:
Ist das ein InCircuit-Programmer? Braucht man für das Teil dann noch
einen Adapter, mit dem man das IC an das Programmiergerät anschließt.
Könnte ich dafür den ZIF-Sockel aus dem 16B1 auslöten und an das PicKit2
anschließen?
Benötige ich dann noch weitere Beschaltung, oder reicht das?


Kit 149 (JDM?):
Bei ebay bin ich auf Programmer gestoßen, die kompatibel zu Pic Kit 149
sein sollen. Bei Microchip finde ich dazu aber nix.
Bei manchen steht noch "JDM" bei. Wenn ich das richtig verstehe, dann
ist JDM ein einfacher Programmer, den man an RS232 anschließt. Ist das
Kit149 dann nix anderes, als ein JDM-Programmer, der einen
RS232-USB-Konverter vorgeschaltet hat?
Mit welcher Software könnte man den dann bedienen?
Ich habe mal in WinPic800 reingesehen, aber dort finde ich den Kit149
nicht angegeben.


Irgendwie hab ich inzwischen mehr Fragen, als zu der Zeit, bevor ich
hier die erste Frage gestellt hatte :-)


Grüße
Mark
Autor: kommutator (Gast)
Datum: 06.05.2008 13:29

Also ich kann den Brenner8P von sprut (www.sprut.de) empfehlen, habe ihn
bisher für 16F628, F688 und F819 und 18F.... mit CAN benutzt. Sollte bei
eb.y recht günstig zu bekommen sein. Kann eigentlich fast alles brennen,
was aktuell ist und sprut pflegt die SW+HW auch regelmäßig.

Der 16F688 kostet bei Reichelt in SMD nur 2,- und hat 8 gemultiplexte
AD-Eingänge.
Autor: stepp64 (Gast)
Datum: 06.05.2008 13:37

Also der Brenner5 tut es ja auch, wenn man den nur ab und zu mal
braucht. Der Brenner8P hat natürlich einige Vorteile. Ich hatte mir erst
den Brenner5 gebaut und vor 2 Monaten den Brenner8P. Ich würde an deiner
Stelle (wenn dir ein Brenner ohne Entwicklerboard reicht) aber den
Brenner8P empfehlen. Der hat einige Vorteile (kein separates Netzteil
mehr notwendig, vollwertiger USB-Anschluß, stellt die unterschiedlichen
Programierspannungen über einen Schaltregler automatisch ein). Eventuell
findest du ja einen, der dir in den 18F2550 den Bootloader brennt. Die
Firmware kannst du dann über USB einbrennen, es muss halt nur erst der
Sprutsche Bootloader rein. Bei mir läuft das Ding recht zuverlässig.

Mir gefällt zur Zeit die 16F88x Serie ganz gut. Der 16F88 hat auch 7 AD
Kanäle und läuft mit einem internen Osszilator bis 8Mhz. Es sind zwar
auch 2 Komparatoren drinn, für deine Anwendung wäre aber der AD-Wandler
besser geeignet. Du schaltest einfach über das ADCON0 Register die
einzelnen Kanäle nacheinander an den AD-Wandler und misst die Spannung.
Die Software entscheidet dann, ob der Wert unter oder über deiner
Schaltschwelle liegt und reagiert entsprechend drauf. Eigentlich nicht
sonderlich schwierig.

Gruß
Sven
Autor: Thomas Müller (thomas1123) Benutzerseite
Datum: 06.05.2008 13:45

nimm den 8P von sprut oder den 8mini p (der is ohne sockel wie pickit2)
habe den auch ist auf jedenfall die mühe und den aufwand des
selberbauens wert.
Autor: Mark Thalle (bitts)
Datum: 06.05.2008 13:58

Gegen den Brenner8P hätte ich auch nix einzuwenden, aber da kostet
alleine der Bauteilsatz 10 Euro. Dann kommt noch ein Sockel und der PIC
dazu, sodass er 28,- kostet. Und dann ist immer noch keine Platine
dabei.

Damit ist das Ding genauso teuer, wie ein PicKit2 oder ein Clone.

Kann der Brenner8p etwas, was das PicKit2 oder Clone nicht kann?

Ansonsten würde ich im Moment zu einem PicKit2-Clone tendieren.
Autor: stepp64 (Gast)
Datum: 06.05.2008 15:11

Den Sockel bekommst du bei virtual-village.de für 1,99 (2 Stück). Ich
hab den noch nie benutzt, da ich alles über ICSP brenne. Und den PIC
kannst du dir als Sample bei microchip.com ordern. Die Platine machste
halt selber oder lötest das ganze auf ne Lochrasterplatte. Dann kostet
das Ganze höchstens noch 10,- €.

Sven

Antwort schreiben

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

Wichtige Regeln - erst lesen, dann posten!

  • Suchfunktion und Betreffsuche benutzen - vielleicht gibt es schon einen ähnlichen Beitrag
  • Aussagekräftigen Betreff wählen
  • Im Betreff angeben um welchen Controllertyp es geht (AVR, PIC, ...)
  • Groß- und Kleinschreibung verwenden
  • Längeren Sourcecode nicht im Text einfügen, sondern als Dateianhang
  • JPEG-Dateien (.jpg) nur für Fotos und Scans verwenden
  • Schaltpläne, Screenshots usw. als PNG oder GIF anhängen

Formatierung (mehr Informationen...)

  • [c]C-Code[/c]
  • [avrasm]AVR-Assembler-Code[/avrasm]
  • [pre]vorformatierter Text (z.B. Code in anderen Sprachen)[/pre]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] - Link zu Artikel






webmaster@mikrocontroller.netImpressumWerbung auf Mikrocontroller.net