Forum: Mikrocontroller und Digitale Elektronik [Anfängerfrage] Bascom Programmierung


von Rudolf W. (Gast)


Lesenswert?

Guten Tag,

Programmiere gerade mein erstes kleines Bascom Projekt und sitze 
momentan total auf der Leitung.

Ich möchte mit einer Eingangspannung von 3,3V einen Piezo toggeln.
Doch wie muss ich das in Bascom Programmieren (pullups,... etc)(habe 
biser nur mit Eingängen welche auf GND verbunden sind gearbeitet)

ich verwende einen Attiny13 mit 5V Vcc Programiersprache Bascom.

würd mich freun wenn mir wer weiter helfen könnte

mfg
Rudi

von michi (Gast)


Lesenswert?

Rudolf W. schrieb:
> mein erstes kleines Bascom Projekt

Darf man das Listing dazu sehen?

von Wusel D. (stefanfrings_de)


Lesenswert?

Du schaltest einen PIN auf Ausgang und dann immer abwechselnd auf High 
und Low. Der Pull-Up ist dafür unrelevant.

von Rudolf W. (Gast)


Lesenswert?

danke für die schnelle Antwort.

Aber mir geht es darum wie ich den Eingang Programmieren muss, damit er 
die 3,3V erkennt und im weiteren den Piezo umschaltet.

von troll (Gast)


Lesenswert?

Rudolf W. schrieb:
> Aber mir geht es darum wie ich den Eingang Programmieren muss, damit er
> die 3,3V erkennt und im weiteren den Piezo umschaltet.
Erstmal im Datenblatt gucken ob 3,3 bei 5V Versorgung schon sicher als 
high erkannt werden. Wenn ja einfach den Pin auf Eingang (DDRx=0) und 
eventuell einen Pulldown dran.

von Wusel D. (stefanfrings_de)


Lesenswert?

Oder willst Du eine analoge Eingangsspannung messen und bei 3,3V 
reagieren? Dann musst Du einen analogen Eingang verwenden und den ADC 
programmieren.

Auch das hat mit Pull-Up prinzipiell nichts zu tun.

Es wird Zeit für einen Schaltplan. Es kann auch nicht schaden, mal ein 
AVR Tutorial durchzuarbeiten und sich erstmal von den Arduino Libraries 
zu distanzieren. Die scheinen Dich (noch) mehr zu verwirren, als zu 
helfen.

von Rudolf W. (Gast)


Angehängte Dateien:

Lesenswert?

...
Config Portb.2 = Input
Btm Alias Pinb.2


Do
If Btm = 0 Then Toggle Piezo
Loop
End
...

solang die 3,3V noch sicher als High erkannt werden wärs ja für meine 
Anwendung umständlicher dies über ADC zu realisieren.


anbei mein (Schlacht)plan

von AVR (Gast)


Lesenswert?

Geht nie! Wegen D3. Falsch gepolt!

von Tom Z. (tom_z)


Lesenswert?

Rudolf W. schrieb:
> Config Portb.2 = Input

Muss Config Pinb.2 = Input heißen

von Linüx (Gast)


Lesenswert?

Was ist denn das für eine behämmerte Schaltung? Die Diode ist falschrum, 
das Decoupling des AVR fehlt vollständig, der Spannungsregler 
funktioniert auch selten ohne Kondensatoren, der 
Verpolungsschutzbipolartransistor-oder-eben-auch-selbst-Anschalter ist 
völliger Unsinn darüber fallen 0,7V ab. Man nehme eine P-Ch-Mosfet dann 
fällt nur noch Rdson* I ab! Der Piezo ist super ohne Treibertransistor 
und Diode. Da klopft einer mim Finger drauf und dein AVR sieht einen 
100V Spannungspeak.

von Rudolf W. (Gast)


Lesenswert?

Flüchtikeitfehler aber um den gehts nicht (auf der platine natürlich 
richtig eingelötet)

von Wusel D. (stefanfrings_de)


Lesenswert?

Mal abgesehen von der Diode D3...

Der AVR wird das Signal vom Bluetooth Modul problemlos erkennen. Schau 
ins Datenblatt des ATtiny13, da steht klar drin, wie hoch ein High Pegel 
sein muss, damit er gültig ist.
Ich vermisse Kondensatoren um den IC2 herum, die sind wichtig! Schau ins 
Datenblatt von IC2, da sollten konkrete Werte vorgegeben sein.
Ich vermisse Abblockkondensatoren in der Spannungsversorgung des AVR. 
10µF + 100nF wären zum Beispiel nicht verkehrt.
Bei PB= solltest DU den Pull-Up Widerstand aktivieren, wiel die 
Schaltkontakte ihn nur auf Low ziehen.

Was für Batterien verwendest Du denn? Um auf 5V zu kommen, müssten die 
Batterien (wegen der Diode) etwa 5,7 Volt liefern. Das ist wohl nicht 
der Fall, oder doch?

Wenn der AVR deutlich mehr als 5V bekommt, wird er die 3,3V vom 
Bluetooth Modul nicht mehr zuverlässig erkennen. Bei mehr als 6V geht er 
kaputt.

Weniger als 5V (aber nicht unter 3,6V) wären hingegen unproblematisch.

von troll (Gast)


Lesenswert?

Dem Spannungsregler würden zwei Kondensatoren gut tun. S. Datenblatt.

von Wusel D. (stefanfrings_de)


Lesenswert?

> Da klopft einer mim Finger drauf und dein AVR sieht einen 100V Spannungspeak.

Na dazu brauchst Du aber schon einen Hammer - und dann gehen noch ganz 
andere Sachen zu Bruch.

Immerhin hat der AVR Schutzdioden, die ganz sicher hier auch ihren Zweck 
erfüllen werden. Bei mir hat's immer gehalten.

Aber im Prinzip hast Du Recht, zumindest ein Widerstand in Reihe zum 
Piezo wäre angebracht.

von Rudolf W. (Gast)


Lesenswert?

Linüx schrieb:
> Was ist denn das für eine behämmerte Schaltung? Die Diode ist falschrum,
> das Decoupling des AVR fehlt vollständig, der Spannungsregler
> funktioniert auch selten ohne Kondensatoren, der
> Verpolungsschutzbipolartransistor-oder-eben-auch-selbst-Anschalter ist
> völliger Unsinn darüber fallen 0,7V ab. Man nehme eine P-Ch-Mosfet dann
> fällt nur noch Rdson* I ab! Der Piezo ist super ohne Treibertransistor
> und Diode. Da klopft einer mim Finger drauf und dein AVR sieht einen
> 100V Spannungspeak.

die Diode war ein Flüchtikeitsfehler,
Spannungsregeler funktioniert, Spannungsabfall ist mit eineberechnet ! 
sonts liegen die volle 6V Versorgunsspannung am AVR.
Für den Versuchsaufbau reichts. Schaltung wurde schon xMale 
durchgetestet und alle sind noch am leben (+ sie funktioniert)

Aber besser mir bei meiner Programmierarbeit helfen anstatt die voll 
funktionsfähige Schaltung welche neben mir liegt zu kritisieren und zu 
verbessern.

von Wusel D. (stefanfrings_de)


Lesenswert?

Bist Du sicher, dass am AVR nicht mehr als 5V anliegen? Falls nicht, 
korrigiere das. Mit mehr als 5V wird es nicht zuverlässig funktionieren.

Und zeige Dich bitte etwas dankbarer für gut gemeinte Ratschläge. Sonst 
bekommst Du nämlich nur noch irreführende Antworten - darin sind hier 
viele Leute richtig gut.

von Linüx (Gast)


Lesenswert?

Rudolf W. schrieb:
> Für den Versuchsaufbau reichts. Schaltung wurde schon xMale
> durchgetestet und alle sind noch am leben (+ sie funktioniert)

Das ändert nichts daran dass es absoluter Mist ist. Aber gut wem das 
behagt dem behagt das wohl.

Rudolf W. schrieb:
> Spannungsregeler funktioniert

Ja mit dem Multimeter gemessen vielleicht schon. Halt mal ein Oszi ran 
und belaste den Spannungsregler. Die Hersteller denken sich schon was 
dabei, wenn sie die Datenblätter machen. Da kannst dir sicher sein.

Rudolf W. schrieb:
> Aber besser mir bei meiner Programmierarbeit helfen anstatt die voll
> funktionsfähige Schaltung welche neben mir liegt zu kritisieren und zu
> verbessern.

Das ist ne Frechheit. Lies gefälligst ein Tutorial. Steht spätestens auf 
Seite 2 eines jeden Tutorials. Wird ja nicht zu schwer sein AVR+Tutorial 
einzugeben. Das ist dermaßen trivial einfacher gehts einfach nicht.

von holger (Gast)


Lesenswert?

http://halvar.at/elektronik/kleiner_bascom_avr_kurs/

Selber lesen geht aber schon noch wenn ich für dich suche?

von Rudolf W. (Gast)


Lesenswert?

Stefan Frings schrieb:
> Bist Du sicher, dass am AVR nicht mehr als 5V anliegen? Falls nicht,
> korrigiere das. Mit mehr als 5V wird es nicht zuverlässig funktionieren.

5,2V genau

Stefan Frings schrieb:
> Und zeige Dich bitte etwas dankbarer für gut gemeinte Ratschläge. Sonst
> bekommst Du nämlich nur noch irreführende Antworten - darin sind hier
> viele Leute richtig gut.

ich freu mich über jede Antwort nur mir gehts ums Verständnis und wie 
ich den Eingang zu Programmieren habe.

von holger (Gast)


Lesenswert?

Do
If Btm = 0 Then Toggle Piezo
Loop
End


Mit wieviel hunderten von kHz sollte dein Piezo noch mal tönen?

von Karl H. (kbuchegg)


Lesenswert?

Rudolf W. schrieb:

> ich freu mich über jede Antwort nur mir gehts ums Verständnis und wie
> ich den Eingang zu Programmieren habe.

Na ja. So wie jeden anderen Eingang auch.

Das ist doch nicht die Frage. Die Frage ist doch: werden 3.3V am Eingang 
als High-Pegel akzeptiert oder nicht? Und die Antwort darauf findet sich 
im Datenblatt bei der Beschreibung der notwendigen Pegel. Denn solange 
du nicht einen ADC Eingang zum Abfragen benutzt, hast du ja sowieso 
keine Möglichkeit, auf die Schwellspannungen Einfluss zu nehmen, ab der 
die Eingangselektronik eines digitalen Pins zuverlässig eine 1 bzw. eine 
0 erkennt. Denn die ist dir vorgegeben und es gibt nichts, was du 
dagegen tun könntest (im µC)

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.