Ich habe folgende Fragen: Ich hoffe man kann mir ein wenig helfen. Als Controller möchte ich vermutlich den AT-Mega 8 nehmen. Als Display soll ein Display mit 20x4 Zeichen sein. - Wie kann man am einfachsten mit einem µC Spannung messen, im Bereich bis 15V? - Muss ich bei mehren Servos am µC über einen Transistor schalten, also um den Controller nicht zu überfordern? - Hat jemand schon mal eine Menüsteuerung über einen µController realisiert und kann mir jemand vielleicht helfen bei einem einstieg? - Gibt es eine Maximallänge für 1-Wire Bus? Also sind bis 50m Länge kein Problem? - Gibt es eine Maximallänge für den ISP - Anschluß bzw. den RS232 Anschluß? Kann man dort auch mit etwa 50m Länge arbeiten oder ist dieses zu lang? Michael
@Tim (Gast) >Ich habe folgende Fragen: Ich hoffe man kann mir ein wenig helfen. Als >Controller möchte ich vermutlich den AT-Mega 8 nehmen. Als Display soll >ein Display mit 20x4 Zeichen sein. >- Wie kann man am einfachsten mit einem µC Spannung messen, im Bereich >bis 15V? Mit einem Spannungsteiler >- Muss ich bei mehren Servos am µC über einen Transistor schalten, also >um den Controller nicht zu überfordern? Nein. Das Steuersignal braucht nicht viel Strom. >- Hat jemand schon mal eine Menüsteuerung über einen µController Ja. >realisiert und kann mir jemand vielleicht helfen bei einem einstieg? Schau dir ein paar Beipspiele an. >- Gibt es eine Maximallänge für 1-Wire Bus? Ja, so um die 1m. > Also sind bis 50m Länge kein Problem? Wenn gleich es funktioniert, ist der 1-Wire Bus dafür nicht erfunden worden. >- Gibt es eine Maximallänge für den ISP - Anschluß bzw. den RS232 Das sind zwei grundverschiedene Sachen. ISP ist meist sinnvollerweise auf 1-5m beschränkt, RS232 kann durchaus 100m überbrücken.
Falk Brunner schrieb: >>- Gibt es eine Maximallänge für den ISP - Anschluß bzw. den RS232 > > Das sind zwei grundverschiedene Sachen. ISP ist meist sinnvollerweise > auf 1-5m beschränkt, RS232 kann durchaus 100m überbrücken. Kommt dabei aber auch auf die Kabelart und die Übertragungsrate an. Wikipedia sagt dazu: 2.400 900 m 4.800 300 m 9.600 152 m 19.200 15 m 57.600 5 m 115.200 <2 m http://de.wikipedia.org/wiki/RS232
Wo gibt es den Beispiele für die Sache mit der Menüsteuerung? Gibt es hier im Forum ein Bereich für sowas? Und das max 1m Länge bei einem 1-Wire Bus wäre irgendwie doof. Weil ich möchte meine Wohnung per Netzwerkkabel duchverbinden und in jedem Raum ein Temp. Sensor zwischen packen. Also das ich die Temperatur für jeden Raum zentral abfragen kann und so würde eine Längere Kabellänge zusammen kommen. Tim
@ Tim (Gast) >Wo gibt es den Beispiele für die Sache mit der Menüsteuerung? Gibt es >hier im Forum ein Bereich für sowas? http://www.mikrocontroller.net/articles/MenuDesigner http://www.mikrocontroller.net/articles/Funktionszeiger_in_C#Men.C3.BCs_mit_Funktionszeigern >Und das max 1m Länge bei einem 1-Wire Bus wäre irgendwie doof. Nimm einen anderen Bus. Oder lebe ggf. mit vielen Störungen.
Ja gut, ich dachte, weil die Netzwerkleitung ja geschirmt ist, wäre das kein Problem. Aber da muss ich mir was dann mal überlegen. Tim
oder bau dir eine Platine, die den Senor und einen µC hat. Dieser sendet dann auf einem Bus mit geeigneten Protokol, so das er auch größere Strecken überwindet. Irgend ein Master µC ämpfängt dann dessen Daten und verarbeitet sie. Nur wird dann die Platine mit Sensor auch versorgt werden müßen, entweder über ein Steckernetzteil oder einer Leitung die neben der Daten(bus)leitung veräuft.
RS-485 würde sich in deinem Fall anbieten. Deren symmetrischen Signale lassen sich über Netzwerk-Kabel problemlos leiten.
Der PIC12F1840 () wäre z.B. passend (andere bestimmt auch, es soll kein Krieg ausbrechen). Der hat an Pin 2+3 TX/RX, also RS232/RS485/LIN und du hast noch andere PINs frei für einen One-Wire-Sensor. Wenn du aber noch etwas variable bist, was den Sensor angeht.. Es gibt vielleicht auch einen Sensor mit I²C oder SPI, den könntest du dann an Pin 5+6 bzw. Pin 5+6+7 anschließen und kannst das SSP Modul benutzen. Das One-Wire müsstest du dann Softwaretechnisch lösen. Machbar aber I²C/SPI wäre sicher einfacher
> Wie kann man am einfachsten mit einem µC Spannung messen, > im Bereich bis 15V? In dem man die Spannung mit einem Spannungsteiler durch 6 teilt, also z.B. 50k und 10k, und dann von 0V bis 2.5V gegen die interne Referenzspannung des ATmega8 misst. > - Muss ich bei mehren Servos am µC über einen Transistor schalten, > also um den Controller nicht zu überfordern? Nein, der Indeximpuls darf direkt an den Servo gehen, da aber Servos Motoren sind die die Versorgungspsananung extrem verbauen, muß man auf perfekte Spannungsversorgung achten. am besten die Spannugn des AVR aus einer anderen Batteri nehmen als die der Servos, doer zumindest einem eigenen Spannungsregler, und nur an einem Punkt (Masseanschluss) verbinden. > - Hat jemand schon mal eine Menüsteuerung über einen µController > realisiert und kann mir jemand vielleicht helfen bei einem einstieg? Das ist doch sehr einfach. Du hast ein Display. Du brauchst nun noch Tasten, 3 oder 4. Dann kanst du ein Programm das immer in einer Schleife läuft, z.B. in 25msec ein mal rum (für die Servos..) Dort kannst du die Tastenerkennung einbauen und bei jedem Tastendruck die Anzeige weiterschalten. In 'C': uint8_t tasten,gedrueckt,position,menu; position=0; // Grundstellung menu=0; // Hauptmenü for(;;) // Programmhauptschleife { tasten=PIND; // Bis zu 8 Taster auf ein mal, liefern 1 wenn gedrückt gedrueckt=tasten&~gedrueckt; if(gedrueckt&1) // Taste '+', nächste Menüoption { position=(position+1)%10; // ggf. Maximalwert prüfen } if(gedrueckt&2) // Taste '-', vorherigee Menüoption { position=(position+9)%10; // gff. Maximalwert prüfen } if(gedrückt&4) // Taste 'Ok', Menüaktion { menu=aktion[menu][position]; // Tabelle sagt was zu tun ist position=0; } // ausgabe auf LCD: aktuelle Menü, aktuelle Position // mach was sonst in der Programm-Hauptschleife passieren muß gedrueckt=tasten; _delay_ms(25); // damit sie bestimmt länger dauert als Prellen } > - Gibt es eine Maximallänge für 1-Wire Bus? Also sind bis 50m > Länge kein Problem? Ein dickes Problem. Eher 1m. > - Gibt es eine Maximallänge für den ISP - Anschluß ? > Kann man dort auch mit etwa 50m Länge arbeiten Nein. RS232: Ja. zu lang?
Danke für eure Zahlreichen Tips und Co. Als Programmiersprache würde ich gern bei Bascom bleiben. Hätte ich vielleicht sagen sollen. Und ich denke ich werde es mal Testen. Habe hier noch ein Ring mit Netzwerkkabel liegen. werde dort mal paar Meter mehr abrollen und dann an ein Ende den Temperatursensor DS18S20 dran packen und ans andere Ende ein ATMega8 mit LC Display. Und sonst müsste ich mir überlegen, wegen der Lösung mit Seperaten Controller und Sensorplatinen. Würde an sich was gegen ein Software Uart Schnittstelle Sprechen? Oder sollte ich lieber eine Hardware Uart nehmen? Und das mit dem Servo hatte mit der eigentlichen Aufgabe nix zu tun. Diese Frage war eher allgemein. Tim
Und ist es möglich, mehrere Module an eine Uart Schnittstelle zu packen? Also das die Module eine ID Bekommen und sobald der Master die ID sendet, erhält die Sensorplatine die ID und übermittelt Temperatur und ID. Wenn das mit der Software Uart geht, könnte ich für die Sensorplatinen Attiny 13 nehmen. Tim
> Und ist es möglich, mehrere Module an eine Uart Schnittstelle zu packen? Offiziell ? Nein. Mit Aufwand ? Ja, wenn man abschaltbare RS232 Sender verwendet, und ein Protokoll fährt, daß nur einer davon zum Senden eingeschaltet ist. Ist es sinnvolle, eine Standardschnittstelle so unstandardgemäss zu verwenden ? Nein. RS485 kann alles von Haus aus http://www.rn-wissen.de/index.php/RS485
Vielleicht sollte ich noch zusätzlich die Information geben, ich will insgesamt 9 bis 10 Temperatursensoren in diesem System Abfragen und über einen LC Bildschirm an der MainUnit ausgeben lassen. Tim
So habe es mal getestet mit einem Langem Kabel und leider kam überhaupt nix. Ich habe verschiedenes getestet. 1. Pulldown Widerstand kurz hinterm Port vom 1-Wire Bus und dahinter habe ich die Verbindungsleidung gehängt. Habe das Kabel nicht abgerollt, hoffe das war kein Problem? 2. Diesmal habe ich den Pulldown-Widerstand direkt am DS18B20 gepackt. Also Widerstand zwischen Datenleitung und Datenausgang vom Temperaturchip. Den so klappte es als ich den Temperaturchip direkt an den µC gepackt habe. Der Widerstand hatte ein Wert von 10kOhm. An sich wollte ich den Attiny 2313 als Controller Chip nutzen, aber folgende Chip Family befindet sich in meinem Sortiement: 1 x Atmega 32 2 x Atmega 8 1 x Atmega 48 3 x Attiny 2313 1 x Attiny 85 1 x Attiny 44 2 x Attiny 13 Vielleicht eignet sich ein anderer Besser als Main Unit? Würde notfalls auch noch ein anderen dazu holen, wenn der besser geeignet wäre. Ich hoffe jemand kann mir da noch ein netten Tip geben. Wäre schon klasse, wenn das System klappt. Tim
Sry, eines habe ich vergessen zu sagen, es ist etwas Störend, wenn man im Netz überall liest, 1Wire Bus wäre möglich 100-500m möglich ohne Probleme. Tim
@ Tim (Gast) >1. Pulldown Widerstand kurz hinterm Port vom 1-Wire Bus und dahinter Was nicht sonderlich sinnvoll ist, weil 1wire einen Pull UP braucht! >habe ich die Verbindungsleidung gehängt. Habe das Kabel nicht abgerollt, >hoffe das war kein Problem? Nein. >Der Widerstand hatte ein Wert von 10kOhm. ISt OK, kann man ich glaube bis auf 2 oder sogar 1k runtergehen. >Vielleicht eignet sich ein anderer Besser als Main Unit? Vollkommen egal. >Ich hoffe jemand kann mir da noch ein netten Tip geben. Teste es erstmal mit 1m Kabel. Wenn es läuft, nimm längere Kabel.
Sry ich meinte auch nen Pull Up. Da hab ich mich etwas vertippt. Ist bischen stressig zum teil gerade etwas. Tim
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
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.