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


von Mark T. (bitts)


Lesenswert?

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

von Kai G. (runtimeterror)


Lesenswert?

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.

von manchmal_da (Gast)


Lesenswert?

Falls der PIC einen ADC hat, kann man ihn für sowas nutzen

von klaus (Gast)


Lesenswert?

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.

von klaus (Gast)


Lesenswert?

...und übrigens pinkompatibel zum 16F84

von Mark T. (bitts)


Lesenswert?

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.

von Severino R. (severino)


Lesenswert?

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.

von Mark T. (bitts)


Lesenswert?

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

von Severino R. (severino)


Lesenswert?

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.

von Mark T. (bitts)


Lesenswert?

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

von Andreas F. (scotty1701d)


Lesenswert?

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

von Mark T. (bitts)


Lesenswert?

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

von kommutator (Gast)


Lesenswert?

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.

von stepp64 (Gast)


Lesenswert?

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

von Thomas M. (thomas1123) Benutzerseite


Lesenswert?

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.

von Mark T. (bitts)


Lesenswert?

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.

von stepp64 (Gast)


Lesenswert?

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

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.