De EL-kroeg deel 2 Vorige deel Overzicht Volgende deel Laatste deel

Dit topic is onderdeel van een reeks. Ga naar het meest recente topic in deze reeks.

Pagina: 1 ... 10 ... 21 Laatste
Acties:
  • 127.639 views

Acties:
  • 0 Henk 'm!

  • _ferry_
  • Registratie: Januari 2002
  • Niet online

_ferry_

Moderator Tweaking

Nipple Tweaker

Afbeeldingslocatie: http://tweakers.net/ext/f/dkr8Ak1JZP40biYGH7wVyzwH/full.jpg
Paar leuke dingetjes binnen: Stappenmotor driver, en 2x 2 kanaals IR-receiver met dus 2xIR sensor.

Doel is om 1 receiver in mijn zelfbouw versterker te maken, zodat ik hem niet altijd met de aan-uit knop hoef uit te zetten, maar ook vanuit mijn luie nest met een afstandsbediening. Je kunt ze op leer-modus zetten, knop indrukken, en dan reageert ie voortaan op die knop. Erg handig dus voor zelfbouw hi-fi.

En de andere receiver om mijn rolgordijn open en dicht te kunnen doen op afstand. Waarschijnlijk met stappenmotor, vandaar dat stappenmotor printje :)

Nu eigenlijk nog een logitech harmony en dan is het helemaal mooi :P

Acties:
  • 0 Henk 'm!

Verwijderd

_ferry_ schreef op vrijdag 12 september 2008 @ 18:21:
[afbeelding]
Paar leuke dingetjes binnen: Stappenmotor driver, en 2x 2 kanaals IR-receiver met dus 2xIR sensor.
Thks voor die website, ik gaat ff struinen ;).

Acties:
  • 0 Henk 'm!

  • maikel
  • Registratie: Januari 2001
  • Laatst online: 19-09 11:39
Sprite_tm schreef op vrijdag 12 september 2008 @ 10:30:
Ik zou zowiezo geen interne RC-oscillator gebruiken; die dingen wijken namelijk (iig in de ATMega8-generatie AVRs) te veel af om goede rs232-communicatie te doen. Het werkt misschien wel even om het idee te testen, maar ik zou er persoonlijk een kristal aanknopen, ook al was het maar zodat je later geen rare bugs hoeft te fixen.

Je komt met de meeste kristallen idd niet helemaal op de juiste baudrate uit. De truuk is om het getal wat je in het baudrate-register moet stoppen te berekenen en dan af te ronden. Als je afwijking in baudrate door die afronding minder dan, zeg, 2% afwijkt, moet het kunnen.

Voorbeeldje: 9600 baud op 1MHz:
(1000000/16/9600)-1=5.5104, wat afgerond 6 is. Rekenen we dat terug naar baudrate:
(1000000/16/(6+1))=8928.5714
Dat is 93% van 9600 en wijkt dus 7% af. Dat kan je niet gebruiken.

Pakken we 8MHz:
(8000000/16/9600)-1=51.0833, wat afgerond 51 is. Rekenen we dat terug naar baudrate:
(8000000/16/(51+1))=9615
Dat is 100.16% van 9600 en wijkt dus maar 0.16% af. Dit zal dus wel werken.
Ik heb 'm nu op 1MHz en een baud-rate van 4800. Dat zou dus ook moeten werken, maar helaas...
Moet ik die 9V en GND van de converter nu ook nog aansluiten of niet?

Ik krijg in Putty nu overigens ook telkens wanneer ik wat type en 'enter' druk, tekens terug. Geen idee waar die vandaan komen...
Waar moet 'Flow control' op staan eigenlijk? Op 'none'?

Schema:
Afbeeldingslocatie: http://www.amelsfort.nl/schema.jpg

C:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
#define F_CPU 8000000
#include <avr/io.h>
#include <avr/interrupt.h>
#include <avr/eeprom.h>
#include <util/delay.h>

#define syncchar 'a'
#define FOSC 1000000// Clock Speed
#define BAUD 300 //115200
#define MYUBRR FOSC/16/BAUD-1

volatile uint8_t rx_source_id=0;
volatile uint8_t rx_destination_id=0;
volatile uint8_t rx_no_of_data_bytes=0;

volatile uint8_t packetdata[6];
volatile uint8_t pcktctr=0;
volatile uint8_t bytctr=0; 

volatile uint8_t unit_id=1;


SIGNAL(SIG_UART_TRANS)
{
    WDTCR = 0x18;
    WDTCR = 0x08;
    if (bytctr <= pcktctr)
    {   
        UDR=packetdata[bytctr];
        bytctr++;
    }
    else
    {
        PORTD=PIND & 0xfb;//RX# enable TX disable 0b11111011
        pcktctr=0;
        bytctr=0;
    }
    WDTCR = 0x18;
    WDTCR = 0x00;
}

SIGNAL(SIG_UART_RECV)
{
    WDTCR = 0x18;
    WDTCR = 0x08;

    PORTC = (1<<PC5);

    WDTCR = 0x18;
    WDTCR = 0x00;
}


void USART_Init( unsigned int ubrr)
{
    /* Set baud rate */
    UBRRH = (unsigned char)(ubrr>>8);
    UBRRL = (unsigned char)ubrr;

    /* Enable receiver and transmitter */
    UCSRB=(1<<RXCIE)|(1<<TXCIE)|(1<<RXEN)|(1<<TXEN);

    /* Set frame format: 8data, 1stop bit */
    UCSRC = (1<<URSEL)|(1<<UCSZ0)|(1<<UCSZ1)|(0<<USBS);
}

void USART_Transmit( unsigned char data )
{
    /* Wait for empty transmit buffer */
    while ( !( UCSRA & (1<<UDRE)) )
    ;
    /* Put data into buffer, sends the data */
    UDR = data;
}

int main(void)
{
    WDTCR = 0x18;
    WDTCR = 0x0F;
    DDRD=0x00; // input port
    DDRC=0xff; //output port

    PORTD=0xff; //pullups enabled
    
    // init the uart for receiving and transmitting of data
    USART_Init( MYUBRR );
    
    
    sei(); // enable interrupts
    
    PORTD=PIND & 0xfb; //RX# enable TX disable 0b11111011
    
    while(1)
    {
        WDTCR = 0x18;
        WDTCR = 0x08;

//      USART_Transmit('a');

        WDTCR = 0x18;
        WDTCR = 0x08;
    }
}

De code heb ik zelf een beetje bij elkaar geraapt en vereenvoudigd. Aan pin PC5 hangt een LED, welke ik dus probeer aan te sturen vanaf de PC.

Wat die WDTCR precies doet, weet ik nog niet. Deze heb ik overgenomen uit de voorbeeld-code. Het valt me wel op dat soms (als ik wat code heb aangepast) de AVR constant reset. Ik heb laat de LED in het begin van het programma een paar keer knipperen, zodat ik dit dus kan zien.

Als ik de regel "USART_Transmit('a');" enable, ontvang ik ook niets op mijn PC (in Putty).

[ Voor 49% gewijzigd door maikel op 13-09-2008 03:03 ]


Acties:
  • 0 Henk 'm!

  • Atlas
  • Registratie: Mei 2002
  • Niet online

Atlas

Ik flits niet meer terug!

Stel een ledje heeft de volgende specifcaties: 2.5 - 3.0 Volt. 350 mA.
Wat is dan het beste om qua voltage en stroom te kiezen?

Mijn eigen inzicht zegt gewoon het maximale voltage (dus 3 Volt) en 20% minder stroom (dus ongeveer 300 mA), omdat die laatste 20% voor onevenredig meer warmte zorgt tov extra licht.

Iemand andere suggesties? :) (en dan vooral over het voltage)

Join the dark side, we have cookies :)
You need only two tools. WD-40 and duct tape. If it doesn't move and it should, use WD-40. If it moves and shouldn't, use the tape.


Acties:
  • 0 Henk 'm!

  • bobo1on1
  • Registratie: Juli 2001
  • Laatst online: 18-05 17:57
Ik zou voor een schakelende stroombron kiezen, dealextreme heeft er genoeg.

[ Voor 23% gewijzigd door bobo1on1 op 12-09-2008 21:22 ]

Impedance, a measure of opposition to time-varying electric current in an electric circuit.
Not to be confused with impotence.


Acties:
  • 0 Henk 'm!

  • Atlas
  • Registratie: Mei 2002
  • Niet online

Atlas

Ik flits niet meer terug!

bobo1on1 schreef op vrijdag 12 september 2008 @ 21:22:
Ik zou voor een schakelende stroombron kiezen, dealextreme heeft er genoeg.
Wat is daar het voordeel van (niet dat het mijn vraag beantwoord maar ik ben gewoon nieuwsgierig :P)

Wat is er mis met een paar voorschakelweerstandjes? (op het feit na dat je warmte verstookt :P)

Join the dark side, we have cookies :)
You need only two tools. WD-40 and duct tape. If it doesn't move and it should, use WD-40. If it moves and shouldn't, use the tape.


Acties:
  • 0 Henk 'm!

  • bobo1on1
  • Registratie: Juli 2001
  • Laatst online: 18-05 17:57
Omdat je dan een vrij grote afwijking krijgt in de stroom als de spanning over de led verandert, of je moet met een vrij hoge spanning gaan werken maar dan verlies je weer te veel energie.

Sowieso zijn die dingen vrij lastig te gebruiken met lineaire componenten als je niet de helft van de energie weg wilt gooien.

[ Voor 25% gewijzigd door bobo1on1 op 12-09-2008 21:30 ]

Impedance, a measure of opposition to time-varying electric current in an electric circuit.
Not to be confused with impotence.


Acties:
  • 0 Henk 'm!

  • Atlas
  • Registratie: Mei 2002
  • Niet online

Atlas

Ik flits niet meer terug!

Ah ok :)
Geinig die dingen op Dealextreme.

Maar als ik het met weerstandjes wil oplossen, voor welk voltage en stroom kan ik dan het beste kiezen? :)

Join the dark side, we have cookies :)
You need only two tools. WD-40 and duct tape. If it doesn't move and it should, use WD-40. If it moves and shouldn't, use the tape.


Acties:
  • 0 Henk 'm!

  • bobo1on1
  • Registratie: Juli 2001
  • Laatst online: 18-05 17:57
Dan moet je eigenlijk er vanuit gaan dat de maximale stroom loopt bij de minimale spanning over de led, zo voorkom je beschadigingen.

Bij 300 mA is die 2,5-3,0 volt ook niet meer geldig, die is lager geworden.

[ Voor 22% gewijzigd door bobo1on1 op 12-09-2008 21:33 ]

Impedance, a measure of opposition to time-varying electric current in an electric circuit.
Not to be confused with impotence.


  • naftebakje
  • Registratie: Februari 2002
  • Laatst online: 08:48
Atlas schreef op vrijdag 12 september 2008 @ 21:29:
Ah ok :)
Geinig die dingen op Dealextreme.

Maar als ik het met weerstandjes wil oplossen, voor welk voltage en stroom kan ik dan het beste kiezen? :)
Een led moet je met de gewenste stroom (maximaal 350mA) sturen, en bij 350mA zal de led een spanningsval creëren van 2.5 à 3V (wellicht zit de afwijking in de temperatuur, zo'n beestjes worden nogal warm en dat heeft een flinke invloed op de werking en levensduur van de led).

Als je een weerstand gebruikt, moet je er rekening mee houden dat je nooit boven de maximale stroom (350mA) mag gaan, dus voldoende rekening houden met de tolerantie op de weerstand en de spanningsval van de led (welke je moet nemen kan je imho nu zelf wel indenken).

Als de boer zijn koeien kust, zijn ze jarig wees gerust. Varkens op een landingsbaan, leiden nooit een lang bestaan. Als de boer zich met stront wast, zijn zijn hersens aangetast. Als het hooi is in de schuur, zit het wijf bij den gebuur.


  • brinkdinges
  • Registratie: November 2003
  • Laatst online: 23-06 10:46
Bah, m'n Weller boutje is net gestorven. Ik gok dat het hitte-element stuk is, maar ik krijg het geheel niet open dus moet ik een hele nieuwe bout gaan kopen. En die kost zo'n €65 ex btw bij Farnell :(

Casemod: Cubeleon


Verwijderd

brinkdinges schreef op zaterdag 13 september 2008 @ 12:21:
Bah, m'n Weller boutje is net gestorven. Ik gok dat het hitte-element stuk is, maar ik krijg het geheel niet open dus moet ik een hele nieuwe bout gaan kopen. En die kost zo'n €65 ex btw bij Farnell :(
Welke is dat dan? Magnastat en de regelbare types zijn iig uit elkaar te halen en de spare parts zijn ook te koop.

  • brinkdinges
  • Registratie: November 2003
  • Laatst online: 23-06 10:46
Verwijderd schreef op zaterdag 13 september 2008 @ 12:48:
[...]

Welke is dat dan? Magnastat en de regelbare types zijn iig uit elkaar te halen en de spare parts zijn ook te koop.
Tis idd een Magnastat maar ik krijg hem niet uit elkaar omdat de schroeven te vast zitten. Ik ga nog wel even proberen om er een flinke tang op te zetten, want met een schroevendraaier gaat het niet lukken. Ik neem aan dat het hitte-element stuk is, want als ik aan de stekker meet dan staat er nog wel spanning op. 21V in plaats van de normale 24V, maar ik neem niet aan dat dat het probleem is.

Casemod: Cubeleon


  • Boudewijn
  • Registratie: Februari 2004
  • Niet online

Boudewijn

omdat het kan

Hmmm je moet voorop de 3 schroefjes uit het metalen frontplaatje draaien, ern dan achter op de plastic schroef die de kabel aandrukt ook loshalen.
Welke zit te vast?

i3 + moederbord + geheugen kopen?


  • Sprite_tm
  • Registratie: September 2002
  • Laatst online: 11-08 04:52

Sprite_tm

Semi-Chinees

Maikel: Weet je zeker dat je RS485-converter wel zo plug en play is dat je er gewoon met hyperterminal oid tegenaan kan lullen? Sommige units moeten namelijk een van de control-lijntjes hoog of laag hebben als je bits aan het uitzenden bent, en het inverse als je wilt ontvangen. Hyperterminal alleen gaat dat niet snappen.

Relaxen und watchen das blinkenlichten. | Laatste project: Ikea Frekvens oog


  • maikel
  • Registratie: Januari 2001
  • Laatst online: 19-09 11:39
Sprite_tm schreef op zaterdag 13 september 2008 @ 15:26:
Maikel: Weet je zeker dat je RS485-converter wel zo plug en play is dat je er gewoon met hyperterminal oid tegenaan kan lullen? Sommige units moeten namelijk een van de control-lijntjes hoog of laag hebben als je bits aan het uitzenden bent, en het inverse als je wilt ontvangen. Hyperterminal alleen gaat dat niet snappen.
Ik heb nu een andere kabel gebruikt en het lijkt nu een stuk beter te werken. De AVR kan al data verzenden, die ik netjes op m'n scherm zie verschijnen.
Alleen de andere kant op wil nog niet echt. Ik heb nu een routine die alles wat binnenkomt ook terug zou moeten sturen, maar ik krijg totaal andere data terug. :?

  • Anthor
  • Registratie: Juni 2002
  • Niet online
@maikel
Die WDTCR is je watchdog timer control register

Ik heb het nooit gebruikt, maar wat ik er van snap is dat het een afzonderlijke timer (counter) is die de uC reset als hij vol is. Door de WDT steeds te restten kan je een soort van dodemans knop maken zodat de uC zichzelf reset als bv de code in een oneindige loop terecht is gekomen, of te lang op een respons van het één of ander moet wachten.

De WDT kan je aan en uitzetten in de config bits
Als je de wdt reset code uit je programma haalt en de WDT staat nog aan, dan reset je uC automatisch na een bepaald aantal cycles.

Hier en hier staat een uitleg.

  • base_
  • Registratie: April 2003
  • Laatst online: 18-09 13:23
@brinkdinges: is dat 21V onbelast?? Dat lijkt me wat aan de lage kant, element kun je zo doormeten, moet een vrij lage weerstand hebben van 12^2/50 = ca 1 ohm in koude toestand, wtcp schakelt vanaf aangegeven tmeperatuur af..., ik geloof dat het magneetcontact het meest slijt aan het geheel.

Verwijderd

Ik vrees dat m'n UPS echt is overleden :'(
Heb 'm getest met 1 FETje per bank, maar hij slaat niet aan (even een tik van het relais en gelijk weer uit) en dat FETje is na een paar sec al veel te heet, terwijl er geen load aan hangt. Ik meet ook niks op de uitgangen.
Ik heb overigens maar een 10 ohm weerstandje erin gesoldeerd. Het ding moet wel een laagohmig type zijn, anders fikt hij niet zo hard uit.

  • mace
  • Registratie: Juni 2003
  • Laatst online: 15:25

mace

Sapere Aude

Heb ik voor niks die fetjes naar je gestuurd. :P

Naja, je kan ze altijd ergens anders voor gebruiken.

  • maikel
  • Registratie: Januari 2001
  • Laatst online: 19-09 11:39
Anthor schreef op zaterdag 13 september 2008 @ 17:13:
@maikel
Die WDTCR is je watchdog timer control register

Ik heb het nooit gebruikt, maar wat ik er van snap is dat het een afzonderlijke timer (counter) is die de uC reset als hij vol is. Door de WDT steeds te restten kan je een soort van dodemans knop maken zodat de uC zichzelf reset als bv de code in een oneindige loop terecht is gekomen, of te lang op een respons van het één of ander moet wachten.

De WDT kan je aan en uitzetten in de config bits
Als je de wdt reset code uit je programma haalt en de WDT staat nog aan, dan reset je uC automatisch na een bepaald aantal cycles.

Hier en hier staat een uitleg.
Ok, ik heb nu die hele WatchDog er maar uit gehaald.

C:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
#define F_CPU 1000000
#include <avr/io.h>
#include <avr/interrupt.h>
#include <avr/eeprom.h>
#include <util/delay.h>

#define syncchar 'a'
#define FOSC 1000000// Clock Speed
#define BAUD 300 //115200
#define MYUBRR FOSC/16/BAUD-1
#define dataLength 6

volatile uint8_t data[dataLength];
volatile int totalBytes=0;
volatile int bytesRead=0;
volatile int bytesSent=0;

void USART_Transmit( unsigned char data )
{
    /* Wait for empty transmit buffer */
    while ( !( UCSRA & (1<<UDRE)) )
    ;

    /* Put data into buffer, sends the data */
    PORTC = (1<<PC4);
    PORTD=PIND | 0x04;//RX# disable TX enable 0b00000100

    bytesSent = 0;
    totalBytes = dataLength;
    UDR = data;
}

SIGNAL(SIG_UART_TRANS)
{
    bytesSent++;
    if (bytesSent < totalBytes)
    {   
        UDR = data[bytesSent];
    }
    else
    {
        PORTD=PIND & 0xfb;//RX# enable TX disable 0b11111011
        PORTC = (0<<PC4);
        bytesSent = 0;
        totalBytes = 0;
    }
}

SIGNAL(SIG_UART_RECV)
{
    switch (bytesRead)
    {
        case 0:
        {
            PORTC = (1<<PC5);
            bytesRead++;
            if(UDR == syncchar)
            {
                data[0] = 's';
                data[1] = 'y';
                data[2] = 'n';
                data[3] = 'c';
                data[4] = '!';
                data[5] = ' ';
                USART_Transmit(data[0]);
            }
            break;
        }
        case 1:
        case 2:
        case 3:
        {
            bytesRead++;
            break;
        }
        case 4:
        {
            bytesRead = 0;
            PORTC = (0<<PC5);
            data[0] = '4';
            data[1] = 'b';
            data[2] = 'y';
            data[3] = 't';
            data[4] = 'e';
            data[5] = 's';
            USART_Transmit(data[0]);
            break;
        }
    }
}

void USART_Init( unsigned int ubrr)
{
    /* Set baud rate */
    UBRRH = (unsigned char)(ubrr>>8);
    UBRRL = (unsigned char)ubrr;

    /* Enable receiver and transmitter */
    UCSRB=(1<<RXCIE)|(1<<TXCIE)|(1<<RXEN)|(1<<TXEN);

    /* Set frame format: 8data, 1stop bit*/
    UCSRC = (1<<URSEL)|(1<<UCSZ0)|(1<<UCSZ1)|(0<<USBS);
}

int main(void)
{
    DDRD=0x00; // input port
    DDRC=0xff; //output port
    
    PORTD=0xff; //pullups enabled
    
    // init the uart for receiving and transmitting of data
    USART_Init( MYUBRR );

    sei(); // enable interrupts
    
    data[0] = 'r';
    data[1] = 'e';
    data[2] = 'a';
    data[3] = 'd';
    data[4] = 'y';
    data[5] = '!';

    USART_Transmit(data[0]);
    
    while(1)
    {
    }
}


Volgens mij zou deze code na het sturen van 'ready!' netjes moeten wachten tot ik wat stuur en als dat een 'a' is, antwoorden met 'sync!' en na 4 bytes met '4bytes'.

Die eerste 'ready!' krijg ik inderdaad, maar hoe vaak ik ook een 'a' invoer, die 'sync!' zie ik niet terug.
Wel regelmatig de '4bytes', maar dat is niet precies na elke 4 bytes volgens mij. Als ik na een '4bytes' enige tijd wacht en alleen een enter geeft, krijg ik direct weer '4bytes' terug.
Vaak ook krijg ik vreemde tekens terug, terwijl die nergens in mijn code voorkomen..... :|

  • Zjosh
  • Registratie: November 2004
  • Laatst online: 18-09 13:28
Ik weet niet precies hoe het zit met die compiler van jou, maar moet je normaal geen /n achter een c string stoppen? Om te vertellen dat hij daar stopt.

edit: Oke... je hebt daar zelf allemaal routines voor geschreven. Bij de microchip C compiler ( dus niet AVR waar ik niet zo veel van af weet ) kan je printf(); gebruiken, waarbij hij standaard de data over de seriele poort gooit. Misschien dat dat ook wil bij AVR.

[ Voor 46% gewijzigd door Zjosh op 13-09-2008 19:49 ]


  • bobo1on1
  • Registratie: Juli 2001
  • Laatst online: 18-05 17:57
Daar moet normaal een \0 achter, maar hij houdt zelf de lengte in de gate dus dat hoeft niet.

Ik vind het wel wat vreemd dat een assignment aan UDR zorgt dat hij meteen gaat versturen, dat zal wel een of andere vreemde macro zijn.

[ Voor 42% gewijzigd door bobo1on1 op 13-09-2008 19:52 ]

Impedance, a measure of opposition to time-varying electric current in an electric circuit.
Not to be confused with impotence.


  • LED-Maniak
  • Registratie: Oktober 2003
  • Laatst online: 22:02
Zjosh schreef op zaterdag 13 september 2008 @ 19:44:
Ik weet niet precies hoe het zit met die compiler van jou, maar moet je normaal geen /n achter een c string stoppen? Om te vertellen dat hij daar stopt.

edit: Oke... je hebt daar zelf allemaal routines voor geschreven. Bij de microchip C compiler ( dus niet AVR waar ik niet zo veel van af weet ) kan je printf(); gebruiken, waarbij hij standaard de data over de seriele poort gooit. Misschien dat dat ook wil bij AVR.
een \n kom je nooit echt tegen.
bobo1on1 schreef op zaterdag 13 september 2008 @ 19:50:
Daar moet normaal een \0 achter, maar hij houdt zelf de lengte in de gate dus dat hoeft niet.

Ik vind het wel wat vreemd dat een assignment aan UDR zorgt dat hij meteen gaat versturen, dat zal wel een of andere vreemde macro zijn.
Wat hij heeft geschreven in C is niets anders dan dat in de datasheet als voorbeeld staat aangegeven. Als ik in assembler data stuur hoef ik het ook alleen maar aan UDR te geven en het gaat goed hoor?

Mitsubishi externe temperatuur sensor (Home Assistant compatible): V&A - ClimaControl - Ook voor Panasonic & LG.


  • maikel
  • Registratie: Januari 2001
  • Laatst online: 19-09 11:39
LED-Maniak schreef op zaterdag 13 september 2008 @ 20:04:
[...]

een \n kom je nooit echt tegen.


[...]

Wat hij heeft geschreven in C is niets anders dan dat in de datasheet als voorbeeld staat aangegeven. Als ik in assembler data stuur hoef ik het ook alleen maar aan UDR te geven en het gaat goed hoor?
Inderdaad, die twee USART-functies komen uit de datasheet.
Wel heb ik een en ander uitgebreid/aangepast natuurlijk. Aan PC5 en PC4 hangen overigens twee LED's zodat ik kan zien wat er gebeurt.

[ Voor 13% gewijzigd door maikel op 13-09-2008 20:09 ]


  • it0
  • Registratie: April 2000
  • Laatst online: 16-08 10:24

it0

Mijn mening is een feit.

maikel schreef op zaterdag 13 september 2008 @ 19:22:
[...]


Ok, ik heb nu die hele WatchDog er maar uit gehaald.

C:
1
#define syncchar 'a'
Probeer eens te veranderen in

C:
1
#define syncchar 97
Vaak ook krijg ik vreemde tekens terug, terwijl die nergens in mijn code voorkomen..... :|
Aangezien je geen kristal gebruikt zou ik het gooien op timing fouten.

Waarom ga je eigenlijk zo je string af en niet met een pointer?

  • maikel
  • Registratie: Januari 2001
  • Laatst online: 19-09 11:39
it0 schreef op zaterdag 13 september 2008 @ 20:07:
[...]


Probeer eens te veranderen in

C:
1
#define syncchar 97



[...]

Aangezien je geen kristal gebruikt zou ik het gooien op timing fouten.

Waarom ga je eigenlijk zo je string af en niet met een pointer?
Die 'a' vervangen door 97 heeft niet geholpen. Ik gebruik nu een baud-rate van 300, wat op een frequentie van 1MHz maar een hele kleine afwijking heeft (< 2%).

Een string zou denk ik wel handiger zijn ja, maar mijn C is niet echt geweldig. Ik loop al regelmatig tegen dingen aan die ik uit C# ken, maar in C dus niet mogelijk zijn. :)

Heeft iemand misschien wat code die 100% werkt? Dan kan ik dan in ieder geval uitsluiten.

[ Voor 6% gewijzigd door maikel op 13-09-2008 20:14 ]


Verwijderd

mace schreef op zaterdag 13 september 2008 @ 19:08:
Heb ik voor niks die fetjes naar je gestuurd. :P

Naja, je kan ze altijd ergens anders voor gebruiken.
Daarom heb ik ook eerst met 2 fetjes getest, zou een beetje jammer zijn als ze allemaal klappen :P

Maar eens kijken of ik nog een "nieuwe" kan vinden. Heb er nu eentje van 650 Watt, maar daar kan de magnetron niet op :+

  • Sprite_tm
  • Registratie: September 2002
  • Laatst online: 11-08 04:52

Sprite_tm

Semi-Chinees

maikel: Ik zeg: oscillator- of andere hardwareproblemen. De code die je hebt lijkt te kloppen, maar er gaat hardwarematig iets fout. Knoop in de eerste instantie es een gewoon kristal aan je uC vast, dan kan je dat iig uitsluiten. (Vergeet dan trouwens niet de fuses aan te passen!)

Edit: Je leest in je uart-receive-buffer niet altijd UDR uit. Uit mijn hoofd: Als je dat niet doet, 'snapt' je AVR niet dat je de interrupt-routine goed afgewerkt hebt en zal 'ie het direct na het exitten ervan weer proberen, net zo lang tot UDR wel uitgelezen is. Flikker dus ergens aan het begin een 'char tempByte=UDR;' neer en vergelijk later met tempByte ipv UDR.

[ Voor 40% gewijzigd door Sprite_tm op 13-09-2008 22:32 ]

Relaxen und watchen das blinkenlichten. | Laatste project: Ikea Frekvens oog


Acties:
  • 0 Henk 'm!

  • nick_haak
  • Registratie: December 2004
  • Laatst online: 19-09 22:11
Sprite, ik ben blij met je artikel over het xbox gamepad wat een HID device geworden is.

ik was gisteren de hele dag aan het kloten om een usb bootloader op m'n atmega168 te zetten (om te programmeren via usb dus), en steeds maar niet werken.

ik download die code van jou, makefile aangepast naar mega168, en gewoon werken :D

daar hebben we wat aan

Acties:
  • 0 Henk 'm!

  • maikel
  • Registratie: Januari 2001
  • Laatst online: 19-09 11:39
Sprite_tm schreef op zaterdag 13 september 2008 @ 22:27:
maikel: Ik zeg: oscillator- of andere hardwareproblemen. De code die je hebt lijkt te kloppen, maar er gaat hardwarematig iets fout. Knoop in de eerste instantie es een gewoon kristal aan je uC vast, dan kan je dat iig uitsluiten. (Vergeet dan trouwens niet de fuses aan te passen!)

Edit: Je leest in je uart-receive-buffer niet altijd UDR uit. Uit mijn hoofd: Als je dat niet doet, 'snapt' je AVR niet dat je de interrupt-routine goed afgewerkt hebt en zal 'ie het direct na het exitten ervan weer proberen, net zo lang tot UDR wel uitgelezen is. Flikker dus ergens aan het begin een 'char tempByte=UDR;' neer en vergelijk later met tempByte ipv UDR.
Ik vergat inderdaad constant de UDR uit te lezen, maar helaas heeft dat het probleem ook niet opgelost.
Nu heb ik maar wat externe kristallen besteld van 3,6864MHz, waardoor bijna elke baud-rate mogelijk zou moeten zijn. Maar om dat kristal aan te sluiten, moeten er schijnbaar twee condensators worden gebruikt met specifieke waarden. Hoe kan ik die uitrekenen?

Acties:
  • 0 Henk 'm!

  • SA007
  • Registratie: Oktober 2002
  • Laatst online: 19:02

SA007

Moderator Tweaking
Volgens de datasheet van atmel kan je een hele ruime waarde gebruiken, tussen de 14 en 47pF als ik niet vergis.

Ik zou ze trouwens gewoon van een of ander bordje trekken, oudere modems/computers/io kaarten enzo hebben alle onderdelen ervoor erop zitten (xtal met een perfect deelbare frequentie, bijpassende condensators) en vaak zat andere intressante onderdelen.

Acties:
  • 0 Henk 'm!

  • mux
  • Registratie: Januari 2007
  • Laatst online: 18-09 16:37

mux

99% efficient!

Ik heb het probleem dat alle oude meuk in mn meukbak alleen smd condensatortjes hebben en dat gaat niet op gaatjesborden. Gelukkig zijn kristallen+caps maar iets van €0,50-€1,30 totaal, afhankelijk van de exoticiteit en winkel

Acties:
  • 0 Henk 'm!

  • maikel
  • Registratie: Januari 2001
  • Laatst online: 19-09 11:39
SA007 schreef op dinsdag 16 september 2008 @ 14:41:
Volgens de datasheet van atmel kan je een hele ruime waarde gebruiken, tussen de 14 en 47pF als ik niet vergis.

Ik zou ze trouwens gewoon van een of ander bordje trekken, oudere modems/computers/io kaarten enzo hebben alle onderdelen ervoor erop zitten (xtal met een perfect deelbare frequentie, bijpassende condensators) en vaak zat andere intressante onderdelen.
Voor de Atmega8 is dat volgens mij 12 - 22pF als ik de datasheet goed begrijp. En ze moeten dus ook allebei gelijk zijn, zie ik.
Vanavond dan maar eens gaan proberen.

Acties:
  • 0 Henk 'm!

  • SlinkingAnt
  • Registratie: December 2001
  • Niet online
Mijn ervaring is dat ze bijna altijd ook zonder de condensators werken :)

Intel C2Q 9450@3.3 | Gigabyte P35-DS4 | Sapphire R280x | 4x 2GiB PC6400 Kingston DDR2 | 1x Intel 320SSD 240GB | 2x Spinpoint F1 320GiB


Acties:
  • 0 Henk 'm!

  • LiquidSmoke
  • Registratie: Maart 2001
  • Laatst online: 17-09 09:53
toevallig iemand een idee hoe ik vanuit bascom kan zoeken in de eeprom van een atmega 8 naar een waarde?

Stel ik sla de volgende waardes op in de eeprom; 1 2 3 4 5 en 6, elk onder een naam welke van te voren niet bekend is, en ik wil zoeken naar de naam die hoort bij 2, hoe doe ik dit en kan dit uberhaupt?

  • jerbro
  • Registratie: September 2001
  • Niet online
Je kunt met readeeprom een adres in het eeprom uitlezen. Als je dat in een for-lus zet kun je gewoon alle adressen aflopen, en kijken of de waarde die je zoekt daar staat.

Alleen het opslaan onder een naam die van te voren niet bekend is begrijp ik niet helemaal. Bedoel je dat je de variabelenaam zoals je in de compiler gebruikt wilt terughalen via de waarde? Dan gaat dat volgens mij niet.
Als je de naam ook in het eeprom hebt staan, bijvoorbeeld vlak voor of na het getal, dan kun je gewoon die naam ook uitlezen met readeeprom.

  • LiquidSmoke
  • Registratie: Maart 2001
  • Laatst online: 17-09 09:53
jerbro schreef op woensdag 17 september 2008 @ 20:13:
Je kunt met readeeprom een adres in het eeprom uitlezen. Als je dat in een for-lus zet kun je gewoon alle adressen aflopen, en kijken of de waarde die je zoekt daar staat.

Alleen het opslaan onder een naam die van te voren niet bekend is begrijp ik niet helemaal. Bedoel je dat je de variabelenaam zoals je in de compiler gebruikt wilt terughalen via de waarde? Dan gaat dat volgens mij niet.
Als je de naam ook in het eeprom hebt staan, bijvoorbeeld vlak voor of na het getal, dan kun je gewoon die naam ook uitlezen met readeeprom.
De variabelenaam terughalen via de waarde bedoel ik idd;

Maar het is waarschijnlijk ook beter om het met een for lus te doen...

Bedankt voor de tip :)

  • it0
  • Registratie: April 2000
  • Laatst online: 16-08 10:24

it0

Mijn mening is een feit.

ik ben :) erg :+ , ik had 2 atmega16 om zeep geholpen :(

Ben met mijn ledmatrix bezig, waar tekst van audacious automatisch op verschijnt echter dat gebeurt ook tijdens het flashen... wat je dus niet wilt. |:( Maar door een attiny een 1mhz clock te laten genereren op zijn xtal1 is hij weer back from the dead dus :*)

  • maikel
  • Registratie: Januari 2001
  • Laatst online: 19-09 11:39
maikel schreef op dinsdag 16 september 2008 @ 15:14:
[...]


Voor de Atmega8 is dat volgens mij 12 - 22pF als ik de datasheet goed begrijp. En ze moeten dus ook allebei gelijk zijn, zie ik.
Vanavond dan maar eens gaan proberen.
Ik heb het kristal nu aangesloten, maar moet nu de fuse-bits gaan zetten. In AVRprog heb ik een aantal opties waaronder:
- Ext. XTAL, Low frequency
- Ext. XTAL, Medium frequency
- Ext. XTAL, High frequency

Welke hiervan moet ik nu gebruiken? Ik zou gokken dat deze drie overeenkomen met de eerste drie waarden voor CKSEL3..1 uit de datasheet, waar CKOPT 1 is. Echter, ik weet het niet zeker en durf het risico niet zomaar te nemen.
En welke waarde voor startup moet ik dan nemen? De waarde die AVRprog al voor me selecteert?

  • it0
  • Registratie: April 2000
  • Laatst online: 16-08 10:24

it0

Mijn mening is een feit.

maikel schreef op woensdag 17 september 2008 @ 23:53:
[...]


Ik heb het kristal nu aangesloten, maar moet nu de fuse-bits gaan zetten. In AVRprog heb ik een aantal opties waaronder:
- Ext. XTAL, Low frequency
- Ext. XTAL, Medium frequency
- Ext. XTAL, High frequency

Welke hiervan moet ik nu gebruiken? Ik zou gokken dat deze drie overeenkomen met de eerste drie waarden voor CKSEL3..1 uit de datasheet, waar CKOPT 1 is. Echter, ik weet het niet zeker en durf het risico niet zomaar te nemen.
En welke waarde voor startup moet ik dan nemen? De waarde die AVRprog al voor me selecteert?
http://www.ladyada.net/learn/avrdevtut/fuses.html

Dus in jouw situatie zou ik Ext. XTAL, Low frequency kiezen.
Met fuses wil je NIET gokken, gebruik de fuse calculator...

[ Voor 8% gewijzigd door it0 op 18-09-2008 00:01 ]


  • maikel
  • Registratie: Januari 2001
  • Laatst online: 19-09 11:39
it0 schreef op donderdag 18 september 2008 @ 00:00:
[...]

http://www.ladyada.net/learn/avrdevtut/fuses.html

Dus in jouw situatie zou ik Ext. XTAL, Low frequency kiezen.
Met fuses wil je NIET gokken, gebruik de fuse calculator...
Ik wil ook niet gokken, vandaar dat ik 't hier vraag. :)
Volgens de datasheet moet CKSEL3..1 bij mij 111 zijn (3.0 - 8.0 MHz) aangezien ik een kristal heb van 3,6864MHz. Dit is in de fuse-calculator dan 'high frequency'. :?

Vanwaar jouw keuze voor Low frequency dan?

  • it0
  • Registratie: April 2000
  • Laatst online: 16-08 10:24

it0

Mijn mening is een feit.

maikel schreef op donderdag 18 september 2008 @ 00:18:
Ik wil ook niet gokken, vandaar dat ik 't hier vraag. :)
Volgens de datasheet moet CKSEL3..1 bij mij 111 zijn (3.0 - 8.0 MHz) aangezien ik een kristal heb van 3,6864MHz. Dit is in de fuse-calculator dan 'high frequency'. :?

Vanwaar jouw keuze voor Low frequency dan?
Ik had de datasheet niet gelezen en de fuse calculator web pagina deed het bij mij even niet, dus ik moest gokken ;)

  • maikel
  • Registratie: Januari 2001
  • Laatst online: 19-09 11:39
it0 schreef op donderdag 18 september 2008 @ 10:13:
[...]

Ik had de datasheet niet gelezen en de fuse calculator web pagina deed het bij mij even niet, dus ik moest gokken ;)
:)

Die pagina van de fuse-calculator is verplaatst. De link op de pagina die jij me stuurde verwees nog naar de oude site, maar via palmavr.sourceforge.net heb ik 'm alsnog gevonden.

Maar ik heb aan de hand van de datasheet de fuses geprogrammeerd. Ik heb voor CKSEL0 en SUT1..0 respectievelijk '1' en '11' gebruikt, zodat de startup-time 16K CK is en de 'additional delay' 65ms. (hoe kom ik er achter of dit ook korter kan?)
Tot hier toe lijkt het allemaal goed te werken. Ik kan de fuses uitlezen en ook het programmeren gaat nog zoals het hoort.

Echter... mijn oude probleem blijft bestaan:
bij het starten van de processor krijg ik in Putty netjes 'ready!' te zien, maar als ik wat data ga sturen komt de reactie na 4 bytes weer op willekeurige momenten en ook herkent hij de 'a' niet als zodanig.

[ Voor 11% gewijzigd door maikel op 18-09-2008 10:34 ]


  • jerbro
  • Registratie: September 2001
  • Niet online
Misschien kun je gewoon het eerste ontvangen teken terugsturen, om te kijken wat er dan ontvangen wordt.
Werkt de RS-485 verbinding tussen de PC en de max485 eigenlijk wel goed? Zitten hier terminator weerstanden tussen?

  • maikel
  • Registratie: Januari 2001
  • Laatst online: 19-09 11:39
jerbro schreef op donderdag 18 september 2008 @ 11:12:
Misschien kun je gewoon het eerste ontvangen teken terugsturen, om te kijken wat er dan ontvangen wordt.
Werkt de RS-485 verbinding tussen de PC en de max485 eigenlijk wel goed? Zitten hier terminator weerstanden tussen?
Ik zal mijn programma vanavond eens aanpassen ja, maar ik verwacht niet veel soeps terug te krijgen. ;(

De connectie met de PC gebeurt via een UBS->RS232-kabel en een RS232->RS485-convertor. Aan de RS485-kant zit een terminator-weerstand.

  • Paul
  • Registratie: September 2000
  • Laatst online: 21:56
Verander je progsel zodat hij iedere byte die binnenkomt ook terug zendt.

Ik ben eigenlijk wel benieuwd waarom je transmit-routine 'ready' stuurt terwijl je alleen de 'r' maar mee lijkt te geven? Snapt ik de compiler niet omdat er 2 variabelen beide data heten of zo?@ hieronder: Ah, vandaar :P


Kun je met AVR GCC poorten in een array zetten? Stel, ik wil 7 uitgangen aanspreken, kun je dan iets als het volgende maken?
C:
1
2
3
4
5
6
7
8
9
10
11
#define OUTPUTS {PORTA, PORTA, PORTA, PORTB, PORTC, PORTA, PORTD}
#define PINS {PA1, PA5, PA3, PB7, PC1, PA2, PD2}

void Bla()
{
  uint8_t i;
  for (i = 0; i < 7; i++)
  {
    OUTPUTS[i] |= ~_BV(PINS[i]);
  }
}

Ik zit nu steeds met switch-constructies die afhankelijk van i OUTPUT1, OUTPUT2 en zo maken.

"Your life is yours alone. Rise up and live it." - Richard Rahl
Rhàshan - Aditu Sunlock


  • maikel
  • Registratie: Januari 2001
  • Laatst online: 19-09 11:39
Als ik het goed begrijp, is het idee erachter dat die 'SIGNAL(USART_TRANS)' wordt uitgevoerd zodra een byte verstuurd is. In die routine staat de code om de volgende byte te sturen.
Ik hoef dus enkel de eerste byte te sturen om ervoor te zorgen dat deze routine wordt uitgevoerd, welke vervolgens zelf alle volgende bytes zal sturen.

  • bobo1on1
  • Registratie: Juli 2001
  • Laatst online: 18-05 17:57
Paul Nieuwkamp schreef op donderdag 18 september 2008 @ 11:50:
Verander je progsel zodat hij iedere byte die binnenkomt ook terug zendt.

Ik ben eigenlijk wel benieuwd waarom je transmit-routine 'ready' stuurt terwijl je alleen de 'r' maar mee lijkt te geven? Snapt ik de compiler niet omdat er 2 variabelen beide data heten of zo?@ hieronder: Ah, vandaar :P


Kun je met AVR GCC poorten in een array zetten? Stel, ik wil 7 uitgangen aanspreken, kun je dan iets als het volgende maken?
C:
1
2
3
4
5
6
7
8
9
10
11
#define OUTPUTS {PORTA, PORTA, PORTA, PORTB, PORTC, PORTA, PORTD}
#define PINS {PA1, PA5, PA3, PB7, PC1, PA2, PD2}

void Bla()
{
  uint8_t i;
  for (i = 0; i < 7; i++)
  {
    OUTPUTS[i] |= ~_BV(PINS[i]);
  }
}

Ik zit nu steeds met switch-constructies die afhankelijk van i OUTPUT1, OUTPUT2 en zo maken.
Je kunt wel een array van structs maken, met een pointer naar de poort en een bitmask van de pin.
Bijvoorbeeld:
C:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
struct pin
{
    unsigned char* port;
    unsigned char pin;
};

struct pin pins[] = {{&PORTA, 0x80}, {&PORTA, 0x40}};

void set_pin(unsigned char pin)
{
    *(pins[pin].port) |= pins[pin].pin;
}

void clear_pin(unsigned char pin)
{
    *(pins[pin].port) &= ~(pins[pin].pin);
}   


Misschien dat het inlinen van de functies nog snelheidswinst op kan leveren, of anders een macro er van maken.

[ Voor 4% gewijzigd door bobo1on1 op 18-09-2008 15:27 ]

Impedance, a measure of opposition to time-varying electric current in an electric circuit.
Not to be confused with impotence.


  • maikel
  • Registratie: Januari 2001
  • Laatst online: 19-09 11:39
Ik krijg nu af en toe al antwoord, maar nog niet elke keer...

C:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
#define F_CPU 1000000
#include <avr/io.h>
#include <avr/interrupt.h>
#include <avr/eeprom.h>
#include <util/delay.h>

#define FOSC 3686400 // Clock Speed
#define BAUD 4800 //115200
#define MYUBRR FOSC/16/BAUD-1
#define dataLength 1

volatile int bytesRead=0;
volatile unsigned char receivedByte;

void USART_Transmit( unsigned char data )
{
    /* Wait for empty transmit buffer */
    while ( !( UCSRA & (1<<UDRE)) )
    ;

    PORTD=PIND | 0x04;//RX# disable TX enable 0b00000100

    /* Put data into buffer, sends the data */
    UDR = data;
}

SIGNAL(SIG_UART_TRANS)
{
    PORTD=PIND & 0xfb;//RX# enable TX disable 0b11111011
}

SIGNAL(SIG_UART_RECV)
{
    receivedByte = UDR;
    bytesRead++;
}

void USART_Init( unsigned int ubrr)
{
    /* Set baud rate */
    UBRRH = (unsigned char)(ubrr>>8);
    UBRRL = (unsigned char)ubrr;

    /* Enable receiver and transmitter */
    UCSRB=(1<<RXCIE)|(1<<TXCIE)|(1<<RXEN)|(1<<TXEN);

    /* Set frame format: 8data, 1stop bit*/
    UCSRC = (1<<URSEL)|(1<<UCSZ0)|(1<<UCSZ1)|(0<<USBS);
}

int main(void)
{
    DDRD=0x00; // input port
    DDRC=0xff; //output port
    
    PORTD=0xff; //pullups enabled
    
    // init the uart for receiving and transmitting of data
    USART_Init( MYUBRR );

    sei(); // enable interrupts
    
    PORTD=PIND & 0xfb;//RX# enable TX disable 0b11111011

    while(1)
    {
        if (bytesRead > 0)
        {
            bytesRead = 0;
            USART_Transmit(receivedByte);
        }
    }
}


Veel korter/eenvoudiger gaat het niet worden, volgens mij. Als ik een reactie krijg, is het wel vaak de juiste. Soms echter ook niet. Kan het misschien te maken hebben met instellingen in Windows? Ik heb overal waar ik 't tegenkwam 'parity' en 'flow control' op 'none' gezet.

PS. In Putty zijn de resultaten beduindend slechten dan in 'Advanced Serial Port Monitor'. Daar krijg ik meestal 'þ' als antwoord. Heeft dat misschien te maken met het feit dat ik bij Putty zelf een enter moet geven en bij ASPM gewoon op 'send' kan drukken?

Hier een stukje log uit ASPM:
code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
a
a
aaaa
a
aaaa
a
aaaa
á
aaaa
a
aaaaa
a
aaaa
a
aaaa
a

Hierbij heb ik het programma ingesteld om automatisch elke seconde een 'a' te sturen. De regels met 1 teken, zijn de reacties van mijn AVR. Waarna het programma de verstuurde data weer op een nieuwe regel begint. Meestal komt de reactie dus pas na vier keer iets versturen....

[ Voor 14% gewijzigd door maikel op 18-09-2008 23:03 ]


  • it0
  • Registratie: April 2000
  • Laatst online: 16-08 10:24

it0

Mijn mening is een feit.

En wat als je nog een simpeler programma gebruikt zoals dit
C:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
#define USART_BAUD 9600
#define UART_BAUD_RATE USART_BAUD
//#define USART_UBBR_VALUE ((F_CPU/(USART_BAUD<<4))-1)
#define USART_UBBR_VALUE 23 // 9600 baud with 3.6864 Mhz crystal

volatile unsigned char serbufferstring[256];
volatile char psswitch=0;
volatile int serlimit=0;

/* ***************************************************************************************************************************
 * Initialise serial port for use 9600 8N1
 * ***************************************************************************************************************************/

void USART_vInit(void)
{
    // Set baud rate
    UBRRL = (uint8_t)USART_UBBR_VALUE;
    UBRRH = (uint8_t)(USART_UBBR_VALUE>>8);

    // Set frame format to 8 data bits, no parity, 1 stop bit
    UCSRC |= (1 << URSEL) | (1 << UCSZ0) | (1 << UCSZ1);
    // Enable receiver and transmitter
    UCSRB = (1<<RXEN)|(1<<TXEN);
    UCSRB |= (1 << RXCIE); // Enable the USART Recieve interrupt
}

/* ***************************************************************************************************************************
 * Serial interrupt, whenever we receive a byte we get an interrupt 
 * The byte gets added to the serialbuffer, when it's full or get a linefeed (enter) process it
 * ***************************************************************************************************************************/

ISR(USART_RXC_vect)
{
    char ReceivedByte;

    ReceivedByte = UDR; // Fetch the recieved byte value into the variable "ByteReceived"
     // Echo back the received byte back to the computer 
    UDR=ReceivedByte;
    if((serlimit>255) || (ReceivedByte==13))
    {
        psswitch=1; //switch on processserial flag
    }
    else if (ReceivedByte==8) {if(serlimit>0)serlimit--;} //backspace
    else{serbufferstring[serlimit++]=ReceivedByte;}
} 

void processserialstring(void){
   psswitch=0;

}

int main(void)
{
    // Initialise USART
    USART_vInit();
    //activate interrupts
    sei();
    while(1)
    {   
        if(psswitch)processserialstring();
    }
    return(0);
}

  • LiquidSmoke
  • Registratie: Maart 2001
  • Laatst online: 17-09 09:53
quick question;

Een avr hangt aan een seriele poort, ik start Putty en de avr print mooi regeltjes naar de terminal, er word een soort regeleinde automatisch gedetecteerd.

Nu wil ik in VB6 ongeveer hetzelfde doen; echter weet ik niet hoe ik een regeleinde moet detecteren met de standaard ms comm control.

Ik krijg alles achter elkaar, misschien iemand ergens een klein voorbeeldje?

Verwijderd

Een regeleinde is niets anders dan een '/r', '/n' of '/r' + '/n' character. '/n' is een newline, '/r' is een carriage return. Meestal wordt alleen '/n' gebruikt, daar moet je dus op zoeken.

  • LiquidSmoke
  • Registratie: Maart 2001
  • Laatst online: 17-09 09:53
Verwijderd schreef op zaterdag 20 september 2008 @ 19:00:
Een regeleinde is niets anders dan een '/r', '/n' of '/r' + '/n' character. '/n' is een newline, '/r' is een carriage return. Meestal wordt alleen '/n' gebruikt, daar moet je dus op zoeken.
Ik heb het nu even afgevangen door aan elke print vanuit de avr een ? toe te voegen, en vb daarnaar te laten zoeken.

op 4800 baud krijg ik hiermee een goed resultaat en kan ik ingekomen teksten aan een listview toevoegen.

Maar ik zal de /n mogelijkheid eens uitzoeken...

  • bobo1on1
  • Registratie: Juli 2001
  • Laatst online: 18-05 17:57
Het is trouwens \n en dan nog niet eens in alle talen, visual basic heeft daar de vbLf constante voor.

Impedance, a measure of opposition to time-varying electric current in an electric circuit.
Not to be confused with impotence.


Acties:
  • 0 Henk 'm!

  • _ferry_
  • Registratie: Januari 2002
  • Niet online

_ferry_

Moderator Tweaking

Nipple Tweaker

Ik heb zo'n leuk ding in mijn fietswiel gemaakt met een PIC16f628 waarmee ik met RGB led's texten enzo kan weergeven. Nu is het zo dat als mijn snelheid veranderd, de text wijzigd qua lengte.
Voor text geen probleem, totdat je een "fullscreen" logo wilt maken, want dan moet je dus het beeld (je fietwiel) precies vullen.

Voorbeeld: (check z'n site, echt onwijs mooie LED projecten)
Afbeeldingslocatie: http://www.waldemeyer.com/images/joyrider/Happy%20wheel.jpg
Maar ik zit een beetje hoe je dat doet. Want je moet dus eigenlijk de omlooptijd berekenen (magneetcontactje in het wiel en magneetje aan voorvork zitten er al om de text op dezelfde plek te laten starten), en daarmee dan je displaysnelheid aanpassen ofzo?

Acties:
  • 0 Henk 'm!

  • Sprite_tm
  • Registratie: September 2002
  • Laatst online: 11-08 04:52

Sprite_tm

Semi-Chinees

Bijvoorbeeld jah. Je moet iig je snelheid aanpassen en een referentie hebben zodat je weet waaraan. Een magneetcontactje is dan de makkelijkste manier.

Alt-c, alt-s, what's the difference? :X

[ Voor 14% gewijzigd door Sprite_tm op 21-09-2008 12:10 ]

Relaxen und watchen das blinkenlichten. | Laatste project: Ikea Frekvens oog


Acties:
  • 0 Henk 'm!

  • _ferry_
  • Registratie: Januari 2002
  • Niet online

_ferry_

Moderator Tweaking

Nipple Tweaker

Okee, maar dan dus een tellertje laten lopen, die delen door een x-waarde (de resolutie eigenlijk) en daarmee dan de delay voor de leds instellen?

Acties:
  • 0 Henk 'm!

  • Sprite_tm
  • Registratie: September 2002
  • Laatst online: 11-08 04:52

Sprite_tm

Semi-Chinees

Yep :)

Relaxen und watchen das blinkenlichten. | Laatste project: Ikea Frekvens oog


Acties:
  • 0 Henk 'm!

  • DP Kunst
  • Registratie: Juni 2003
  • Laatst online: 10-09 22:34
Wauw, daar staan echt gave projecten op! Ik heb een hele tijd geleden ook eens een site gevonden met allemaal van die lichtprojecten: http://jamesclar.com/
Daar staan echt super mooie dingen op. Zag net dat er ook een 3D led cube staat die je in grote aan kunt passen. Opgebouwd uit allemaal LED modules...

Mijn nieuwe portfolio (Under Construction) | Benieuwd wat Solar Team Twente gaat doen?


Acties:
  • 0 Henk 'm!

  • mux
  • Registratie: Januari 2007
  • Laatst online: 18-09 16:37

mux

99% efficient!

Ik heb onlangs nog een fietscomputer met een honeywell hall-effectsensor gemaakt, dat is iets wat je daarvoor zult moeten gebruiken lijkt me.

edit; vergeet ik natuurlijk helemaal om te zeggen dat er *uiteraard* een harde-schijf-magneet aan het wiel vastzat die de hall-effectsensor meet.

[ Voor 34% gewijzigd door mux op 21-09-2008 13:32 ]


Acties:
  • 0 Henk 'm!

  • _ferry_
  • Registratie: Januari 2002
  • Niet online

_ferry_

Moderator Tweaking

Nipple Tweaker

Dat deel heb ik al lang:
Afbeeldingslocatie: http://tweakers.net/ext/f/7895b4961658a7bc5c443ff298033d32/full.jpg
Ook idd met een HDD magneet aan mijn frame. En van 2 fietstellers de reedcontacten gebruikt.
Maar hij heeft nu dus een vaste tijdsduur, en die moet ik dus eigenlijk variabel gaan maken. Maargoed, dat weet ik dan nu IIG, later eens verdiepen hoe ik dat ga uitrekenen enzo ;) Ben nu even met een ander dingtje bezig :P Zondag middag = knutseldag ;)

Acties:
  • 0 Henk 'm!

  • Sprite_tm
  • Registratie: September 2002
  • Laatst online: 11-08 04:52

Sprite_tm

Semi-Chinees

Ben ik iig niet de enige die mijn fiets aan het pimpen is :) Ik heb zelf een fiets op het station van Apeldoorn staan. De stalling daar staat altijd propvol, dus als ik van mijn werk terugkom moet ik mijn fiets maar net in een gaatje dumpen waar plek is. Combineer dat met mijn algemene verstrooidheid en ik ben gewoon op sommige ochtenden minuten aan het zoeken naar mijn fiets.

Anyway, de batterijen van het achterlicht van die fiets moesten toch al vervangen worden, dus ik heb het hele achterlicht maar even naar huis genomen. Ik ga 'm mooi pimpen: bewegingssensor erin, lichtsensortje erin en het ding gaat automagisch aan als dat moet. Verder gooi ik er nog een speakertje en een IR-sensor in: het idee is om een afstandsbediening te maken waar het geheel op reageert met een mooie 'Bliepbliep!' en het knipperen van het achterlicht. Mits het allemaal goed genoeg werkt met IR enzo, zou ik dan mijn fiets ten aller tijden binnen no-time teruggevonden moeten hebben.

Relaxen und watchen das blinkenlichten. | Laatste project: Ikea Frekvens oog


Acties:
  • 0 Henk 'm!

  • bobo1on1
  • Registratie: Juli 2001
  • Laatst online: 18-05 17:57
Zou ik een PIC18F677A kunnen gebruiken als vervanging voor een PIC16F876?
Ik wil namelijk een ICD2 clone bouwen en ik heb nog een PIC16F877A over.

Dat ding heeft natuurlijk meer pinnen maar als ik zo de datasheet lees denk ik dat het wel moet kunnen.

Impedance, a measure of opposition to time-varying electric current in an electric circuit.
Not to be confused with impotence.


Acties:
  • 0 Henk 'm!

  • Gwannoes
  • Registratie: Juni 2002
  • Laatst online: 25-08 21:23

Gwannoes

Solderen moet je leren

We kregen hier op het werk zojuist de nieuwe elektuur binnen... Staat een reflow-oven in beschreven.

Wij solderen erg veel fine-pitch SMD (TQFP, QFN, 0603 weerstandjes, etc). Doen dat heden nog met de bout, af en toe ook met pasta + heteluchtbout.

Het lijkt ons op zich wel interessant zo'n SMD oven, maar er rijzen een paar vragen:
1) Zou deze oven ook geschikt zijn voor dubbelzijdig solderen?
2) Wat is nou een mooie methode om de pasta aan te brengen? Masker? dispenser? Waar zijn evt. voordelige dispensers te koop?

Iemand die hiermee verder kan helpen?

Hmmz, hier komt dus m'n sig


Acties:
  • 0 Henk 'm!

Verwijderd

Gwannoes schreef op maandag 22 september 2008 @ 14:37:
We kregen hier op het werk zojuist de nieuwe elektuur binnen... Staat een reflow-oven in beschreven.

Wij solderen erg veel fine-pitch SMD (TQFP, QFN, 0603 weerstandjes, etc). Doen dat heden nog met de bout, af en toe ook met pasta + heteluchtbout.

Het lijkt ons op zich wel interessant zo'n SMD oven, maar er rijzen een paar vragen:
1) Zou deze oven ook geschikt zijn voor dubbelzijdig solderen?
2) Wat is nou een mooie methode om de pasta aan te brengen? Masker? dispenser? Waar zijn evt. voordelige dispensers te koop?

Iemand die hiermee verder kan helpen?
Volgensmij stond in de Elektuur de oven met een dubbelzijdig printje als voorbeeld. Soldeerpasta via een stencil is het mooist, wel een hoop priegelwerk.

Acties:
  • 0 Henk 'm!

  • Smht
  • Registratie: December 2002
  • Laatst online: 05-05 11:32
Ik weet niet of dit de goede plaats is, maar kan iemand voor mij misschien een PIC programmeren? Ik heb een HEX bestand voor een KITT Lightscanner voor een PIC18F628A. Deze kan zo'n effect creeeren met 15 leds.

Een PIC heb ik (nog) niet, dus die wil ik natuurlijk ook vergoeden. Stuur me als je wilt even een DM, dan komen we er wel uit!

Intel Core i7-4790, 16GB DDR3-1600, 512GB SSD, GTX2060


Acties:
  • 0 Henk 'm!

  • Theuno
  • Registratie: Juni 2001
  • Nu online

Theuno

Da Devil Crew

Jammer dat ik zo'n PIC niet heb liggen, anders kon ik hem wel even programmeren voor je.
Mocht je het ding zelf halen kan ik hem wel programmeren voor je, is ook in Eindhoven... dus langskomen is ook een optie.

Mocht je betere opties krijgen kan dat natuurlijk ook :)

[ Voor 7% gewijzigd door Theuno op 23-09-2008 12:29 ]

Theuno - Da Devil Crew - Een programmeur is iemand die koffie omzet in software...
Nu nog betere koffie...


Acties:
  • 0 Henk 'm!

  • Smht
  • Registratie: December 2002
  • Laatst online: 05-05 11:32
Theuno schreef op dinsdag 23 september 2008 @ 12:28:
Jammer dat ik zo'n PIC niet heb liggen, anders kon ik hem wel even programmeren voor je.
Mocht je het ding zelf halen kan ik hem wel programmeren voor je, is ook in Eindhoven... dus langskomen is ook een optie.

Mocht je betere opties krijgen kan dat natuurlijk ook :)
Ik weet niet of er een winkel in Eindhoven is die die dingen verkoopt... Anders haal ik er graag eentje

Intel Core i7-4790, 16GB DDR3-1600, 512GB SSD, GTX2060


Acties:
  • 0 Henk 'm!

  • LiquidSmoke
  • Registratie: Maart 2001
  • Laatst online: 17-09 09:53
hmmz..

Ik heb hier een atmega8 die ibuttons leest, en wat relais schakelt, nu is het zo dat eens in de zoveel keer ik geen button kan lezen als een relais aan staat, het vervelende is dat het compleet onvoorspelbaar is. kan het zijn dat het relais een klap geeft op de voeding waardoor e.a. ontregeld word?

Zo ja, is het plaatsen van een stevige buffer elco al voldoende?

/edit:

het relais hangt rechtstreeks aan de avr (wel en blusdiode erbij).

Kan het zijn dat ik echt een tor moet gebruiken?

[ Voor 14% gewijzigd door LiquidSmoke op 26-09-2008 19:19 ]


Acties:
  • 0 Henk 'm!

  • Sprite_tm
  • Registratie: September 2002
  • Laatst online: 11-08 04:52

Sprite_tm

Semi-Chinees

Je kunt er een tor tussenhangen... maar wat is je buffering voor alles aan condo's nu precies?

Relaxen und watchen das blinkenlichten. | Laatste project: Ikea Frekvens oog


Acties:
  • 0 Henk 'm!

  • base_
  • Registratie: April 2003
  • Laatst online: 18-09 13:23
Gedver een relais rechtstreeks aan een avr?? Volgens mij is dat vragen om problemen (of dooie processors), zowiezo genereert een relais een heleboel zooi en ja een deel hiervan gaat ook de voedingslijnen op. Vaak worden relais via een tor aan de ongestabiliseerde spanning gehangen. Om eea te dempen moet je zowiezo een keramische Condensator van ca 100nF zo dicht mogelijk bij de AVR op de voedingspanning zetten, verder zou ik ook zorgen voor een grotere condensator om evt spanningsdips van het inschakelen te dempen

  • LiquidSmoke
  • Registratie: Maart 2001
  • Laatst online: 17-09 09:53
Hm, er zat al een ULN 2003 op de print met nog 2 poortjes vrij, 2 relais hierover gekoppeld maar nog geen verschil, toch eens met een tor proberen....

keramische condensator van 100nf zit er op en praktisch tegen de avr aan. de avr zelf heeft een 470uF condensator.

De voeding is een 7805 waar een 2200uF condensator (en wat ontkopelling) achter hangt.

Stomme is dat als de relais aanslaan, en ik geen buttons meer kan lezen, de avr gewoon doorwerkt; ik kan aan het lcd zien dat er word geprobeerd de buttons te lezen; alleen klopt de crc niet, of hij leest 0.0.0.0.0.0.0.0....

De 4k7 pullup voor de buttons zit er en werkt gewoon.

Op het moment dat de buttons niet meer herkend worden, en ik trek de relais los, dan werkt het nog steeds niet, de avr moet echt herstart worden.

8)7

[ Voor 38% gewijzigd door LiquidSmoke op 27-09-2008 09:32 ]


  • Springuin
  • Registratie: Juli 2002
  • Laatst online: 11-09 20:13
Misschien een ferriet kraaltje toevoegen in je voedingslijn van je avr?

  • link0007
  • Registratie: Augustus 2006
  • Niet online
Zo, de komende weken eens werken aan een multitouch scherm voor m'n profielwerkstuk :)
Iemand hier die ervaring heeft met FTIR? Welke IR-leds, afmetingen, tijd die erin gaat zitten..

En is het toegestaan om er een EiP over te openen als ik begin met bouwen?

IF IF = THEN THEN THEN = ELSE ELSE ELSE = IF;


  • djneo-nl
  • Registratie: Maart 2006
  • Laatst online: 18-09 09:39
Ik had een idee om een led nacht lamp dingetje te maken met ledjes in plexiglas en dat tussen stukjes metaal.
Maar het ontwerpen en in elkaar zetten zal me wel lukken behalve de aansturing via een plc (dacht ik).

Nu is me vraag weet iemand een goede makkelijke link waar ik kan leren hoe ik een plc kan programmeren want wat ik vindt snap ik helemaal niks van.

ontwerpjes kan ik hier wel delen als iemand interesseert is

[ Voor 0% gewijzigd door djneo-nl op 27-09-2008 22:48 . Reden: ik zet altijd ene neer inplaats van een ]


  • Sphere-
  • Registratie: November 2003
  • Laatst online: 28-08 19:53
djneo-nl schreef op zaterdag 27 september 2008 @ 22:47:
Ik had een idee om een led nacht lamp dingetje te maken met ledjes in plexiglas en dat tussen stukjes metaal.
Maar het ontwerpen en in elkaar zetten zal me wel lukken behalve de aansturing via een plc (dacht ik).

Nu is me vraag weet iemand een goede makkelijke link waar ik kan leren hoe ik een plc kan programmeren want wat ik vindt snap ik helemaal niks van.

ontwerpjes kan ik hier wel delen als iemand interesseert is
Als je nog geen ervaring hebt met PLC's dan lijkt mij een microcontroller handiger in dit geval? PLC's zijn meer voor fabrieksautomatisering enzo.. en nemen een stuk meer ruimte in beslag dan een microcontroller

  • ThinkPad
  • Registratie: Juni 2005
  • Laatst online: 21:18
LDR en wat torretjes is een stuk makkelijker :P

  • mace
  • Registratie: Juni 2003
  • Laatst online: 15:25

mace

Sapere Aude

PLC is ook niet moeilijk, met die ladder-shit, maar best wel onzin om er een paar ledjes mee aan te sluiten.

Acties:
  • 0 Henk 'm!

  • Sprite_tm
  • Registratie: September 2002
  • Laatst online: 11-08 04:52

Sprite_tm

Semi-Chinees

Link007: Zolang je het nivo een beetje boven het nulpunt houdt en het niet als excuus gebruikt om huiswerk-vragen in te dumpen, heb ik geen probleem met het starten van een EiP :)

Relaxen und watchen das blinkenlichten. | Laatste project: Ikea Frekvens oog


Acties:
  • 0 Henk 'm!

  • link0007
  • Registratie: Augustus 2006
  • Niet online
Sprite_tm schreef op zondag 28 september 2008 @ 02:11:
Link007: Zolang je het nivo een beetje boven het nulpunt houdt en het niet als excuus gebruikt om huiswerk-vragen in te dumpen, heb ik geen probleem met het starten van een EiP :)
Het probleem is vooral dat ik nog niet weet of er echt veel elektronica aan te pas zal komen.. Van wat ik vandaag allemaal gepland hebt is het meer een 'construction in progress' dan een elektronica project (de leds en voeding zijn zowat de enige elektronicaonderdelen.. De rest is bouwkunde, natuurkunde, optica en informatica).

IF IF = THEN THEN THEN = ELSE ELSE ELSE = IF;


Acties:
  • 0 Henk 'm!

  • LiquidSmoke
  • Registratie: Maart 2001
  • Laatst online: 17-09 09:53
Springuin schreef op zaterdag 27 september 2008 @ 12:14:
Misschien een ferriet kraaltje toevoegen in je voedingslijn van je avr?
Hm, nu 2x470u kort tegen de avr toegevoegd, en de keramische condensator vervangen door een vers model, en tot heden geen last meer van gehad.

Volgens mij raakte de AVR een beetje fubar van de dip die de relais geven...

Acties:
  • 0 Henk 'm!

  • bobo1on1
  • Registratie: Juli 2001
  • Laatst online: 18-05 17:57
Ik heb eens wat gespeeld met mijn plotter, een voeding en een elco, best een leuk resultaat.

Afbeeldingslocatie: http://www.xs4all.nl/~loosen/elektronica/hello%20world_t.jpg

[ Voor 26% gewijzigd door bobo1on1 op 30-09-2008 21:05 . Reden: Wat nou oeps? ]

Impedance, a measure of opposition to time-varying electric current in an electric circuit.
Not to be confused with impotence.


Acties:
  • 0 Henk 'm!

  • SA007
  • Registratie: Oktober 2002
  • Laatst online: 19:02

SA007

Moderator Tweaking
Een leuk punt om over te discussieren.

PCB layout software, wat is verkrijgbaar en betaalbaar.

Een veelgebruikte optie is eagle, maar eigenlijk is het maar bagger:
- Veel dingen zijn in de libary niet tot vinden ook al staan ze erin.
- Het werkt verschikkelijk klote met afwijkende maten in je schema (inch en mm door elkaar heen bijv)
- Free/light versie heeft een beperking van 100x80mm waar je erg snel aan zit
- Het is echt verschikkelijk duur als je het moet gaan kopen.


Maar wat zijn er nou voor alternatieven?
PCB (linux/unix) is nogal simplistisch en de libary is ernstig beperkt.
gEDA is gewoon een layer om pcb heen met een schematic editor, leuk maar het blijft pcb.

Zijn er programma's die aan de ene kant betaalbaar zijn voor de hobbyist (liefst gratis) welke fijn werken en een goede libary hebben. Ik kan er geen vinden.


Hierdoor zit ik zelf al een tijd met een idee om in groepsverband een layout/specmatic editor te maken onder de GPL lientie met:
- Een online libary waar gebruikers en eventueel fabrikanten makkelijk hun zelfgemaakte footprints in kunnen zetten.
- Makkelijk doorzoekbaar (google'ish zoeken)
- Gescripte standaardfootprints en layouts (1x tqfp scripten en dan packages als tqfp64 gewoon genereren.
- Standaardschema's zoals in datasheets staan bij de componenten kunnen opslaan.
- enz.

Ik denk dat hiervoor zeker animo is, zeker als je ziet wat voor woekerprijzen er voor dit soort programma's gevraagd worden, maar wat mis jij nou in de huidige programma's?
En wie zou er intresse hebben in hiermee meewerken en gezamelijk een perfect systeem neerzetten?

Acties:
  • 0 Henk 'm!

  • Sprite_tm
  • Registratie: September 2002
  • Laatst online: 11-08 04:52

Sprite_tm

Semi-Chinees

Wat heb je tegen pcb? Ik heb er al menig printje in ontwikkeld, en niet eens de minste (met als max een vierlaags 30x20cm unit) De library is inderdaad wat beperkt, maar waarom zou je zelf een eigen editor schrijven als je ook iets kan uitbreiden?

Ow, zo'n user-contributed page is er al voor PCB/gEDA: http://www.gedasymbols.org/

Ow, er is trouwens ook nog kicad. Geen idee of dat beter is tho'.

[ Voor 11% gewijzigd door Sprite_tm op 30-09-2008 20:13 ]

Relaxen und watchen das blinkenlichten. | Laatste project: Ikea Frekvens oog


Acties:
  • 0 Henk 'm!

  • base_
  • Registratie: April 2003
  • Laatst online: 18-09 13:23
Elektor heeft eea online gezet:
http://www.elektor.nl/panorama

hier staat ook een orcad versie bij, ik kan alleen niet vinden wat de beperkingen van deze versie zijn, ik vond dit wel de best geintegreerde capture/pcb/component software (wel even wennen...) een jaar of 6 geleden iig, heb zelf nog geen tijd gehad om eea te testen

Acties:
  • 0 Henk 'm!

  • _ferry_
  • Registratie: Januari 2002
  • Niet online

_ferry_

Moderator Tweaking

Nipple Tweaker

bobo1on1 schreef op dinsdag 30 september 2008 @ 19:47:
Ik heb eens wat gespeeld met mijn plotter, een voeding en een elco, best een leuk resultaat.

[afbeelding]
Grappig :) Handig ook om dingen mee te graveren zoals gereedschap enzo!

Acties:
  • 0 Henk 'm!

  • SA007
  • Registratie: Oktober 2002
  • Laatst online: 19:02

SA007

Moderator Tweaking
Sprite_tm schreef op dinsdag 30 september 2008 @ 20:10:
Wat heb je tegen pcb? Ik heb er al menig printje in ontwikkeld, en niet eens de minste (met als max een vierlaags 30x20cm unit) De library is inderdaad wat beperkt, maar waarom zou je zelf een eigen editor schrijven als je ook iets kan uitbreiden?

Ow, zo'n user-contributed page is er al voor PCB/gEDA: http://www.gedasymbols.org/

Ow, er is trouwens ook nog kicad. Geen idee of dat beter is tho'.
Ik heb an-sich niks tegen pcb, maar de standaardlib is gewoon but zelfs een simpele right angle header staat er niet in.

En het is nou ook niet bepaald het fijnste programma om mee te werken, ik gebruik het zelf vrij veel, voor prints groter dan 100x80, maar het blijft gewoon een simplisch programma met een zeer beperkte lib.

En het is ook onhandig dat het totaal geen dingen als keepout regio's, erc etc kent. Das toch wel erg handig om te controleren of je geen vreemde dingen doet. Ok dat zijn dingen die handmatig kunnen, maar zo moeilijk is het imho niet om dat te bouwen.

gEDAsymbols.org is leuk, maar dat is nog steeds niet geintergreerd, ik doel er dus op dat de hele lib online staat en je dus vanuit je progsel online zoekt.
En dat als je iets gemaakt heb zelf je het net zo makkelijk in een dergelijke database zet als lokaal opslaat.

Acties:
  • 0 Henk 'm!

  • Anthor
  • Registratie: Juni 2002
  • Niet online
Er bestaat al een open source pcb editor. Het heet kicad, en ik gebruik het al een tijdje voor het maken van schema's en pcb's. Het is niet perfect, maar het is wel open source.

Libraries zijn er ook online voor te vinden. Ze kunnen geconverteerd worden uit andere libs, maar je kan ook makkelijk zelf componenten maken.

Acties:
  • 0 Henk 'm!

  • wacco
  • Registratie: Augustus 2002
  • Laatst online: 21-03-2023

wacco

cli, hlt.

Ik zit meer dan de helft van de componenten vandaag de dag toch gewoon te tekenen omdat ze nog niet in de Eagle libs staan, en als je daar eenmaal handiger in wordt kost het ook helemaal niet veel tijd meer. Ik vind dit dan ook niet echt een argument eigenlijk.

Wel ben ik het compleet eens dat Eagle eigenlijk een #@$ programma is :P

Heeft PCB dingen als de mogelijkheid om meerdere lijnen tegelijk (dus een bus bijvoorbeeld) te tekenen, en dat die niet verder wilt tekenen als je in < 10 mil van de lijn ernaast bijvoorbeeld komt? Dat zijn echt dingen die op mijn wishlist staan*. :)

En verder minder menu's met opties die niet via het toetsenbord zijn te bereiken**. Zo was in Eagle 4 rechtermuisknop gewoon een groep actie, nu krijg je een heel menu voor je kiezen waar de onderste pas de groep actie is, dus je muist je helemaal te pletter. Ontzettend irritant. :(

Heb wel wat zitten knoeien een keer met Altium Designer welke dit soort opties wel heeft en dat is echt super, maar ja, wegens juridische redenen *kuch* kan ik die niet verder gebruiken voor het dagelijkse werk :/

*nog niet gechecked eigenlijk of Eagle 5 dit nu ondertussen wel heeft, kom ik waarschijnlijk eerdaags achter.
** Nee, pijltjestoetsen valt niet onder 'te bereiken', smartass :p

Spolap: Interactive webcomic


Acties:
  • 0 Henk 'm!

  • bobo1on1
  • Registratie: Juli 2001
  • Laatst online: 18-05 17:57
_ferry_ schreef op dinsdag 30 september 2008 @ 20:17:
[...]

Grappig :) Handig ook om dingen mee te graveren zoals gereedschap enzo!
Ik heb ook zo geprobeerd printjes te maken, dat gaat voor geen meter. Je kunt kiezen tussen te veel wegvonken of een elektrode die steeds vast gaat zitten, beetje jammer, ik had gehoopt dat het goed zou werken.

Impedance, a measure of opposition to time-varying electric current in an electric circuit.
Not to be confused with impotence.


Acties:
  • 0 Henk 'm!

  • naftebakje
  • Registratie: Februari 2002
  • Laatst online: 08:48
Als je een dremel op je plotter zou kunnen zetten, wordt het mss wel mogelijk om eenvoudige printen te maken, het is een bestaande techniek (maar wordt AFAIK érg weinig gebruikt).

Als de boer zijn koeien kust, zijn ze jarig wees gerust. Varkens op een landingsbaan, leiden nooit een lang bestaan. Als de boer zich met stront wast, zijn zijn hersens aangetast. Als het hooi is in de schuur, zit het wijf bij den gebuur.


Acties:
  • 0 Henk 'm!

  • JeroenH
  • Registratie: Januari 2003
  • Laatst online: 18:49
Ik had er al even een TR van gemaakt, maar mods: dit topic is vol (althans, heeft de 1000 posts bereikt) en kan dicht. Deeltje 8 is begonnen :) Niet gek, in twee jaar tijd 7000+ posts :Y)

Xtool D1 10w laser cutter - IoT moet nooit op internet - 3x HomeWizard plug-in batterij, totaal 8,1 kWh / 2400 watt / 2400 watt, aansturing met Home Assistant


Acties:
  • 0 Henk 'm!

  • Kaasplank
  • Registratie: Februari 2001
  • Niet online
Oi,,

Ik heb sinds kort een htpc staan zonder LCD en nou vond ik in mijn rommelbak een grafische lcd van 240*128 met de t6963c chip d'r op. Ik heb het ding ooit eens werkend gehad en heb hem ook werkend in m'n rommelbak gesmeten. Nu is mijn plan om het ding via de interne printerpoort op m'n mATX moederbord aan te sluiten en er wat nuttige informatie op weer te geven. Nu heb ik dat ding op een oude pc aangesloten met een printerpoort en lcdstudio geinstalleerd. Ik krijg alleen geen beeld op het ding meer :(

Ik heb hem aangesloten via dit schema ben ik na wat doormeten achtergekomen. In lcdstudio staan de c/d, rd, wr en ce pinnen ook (standaard) ingesteld op de juiste pinnen van de printerpoort.
Ook heb ik in de bios al met de instellingen voor de parallele poort zitten rommelen maar ik krijg maar geen beeld. Als ik in lcdstudio een klok laat weergeven zie ik zo af en toe wel het beeld elke seconde reageren dus er gebeurd wel iets.

Helaas zijn de meeste sites over deze lcd's dood en hetzelfde geldt voor de meeste programma's :(
Is dit ding een stille dood in m'n rommelbak gestorven of zie ik iets simpels over het hoofd?

Acties:
  • 0 Henk 'm!

  • mux
  • Registratie: Januari 2007
  • Laatst online: 18-09 16:37

mux

99% efficient!

Heb je geen avr'etje en een experimenteerbordje liggen waarmee je het even kunt oplossen? Er is een site van een of andere oost-europeaan die een lib voor avr-gcc heeft geschreven, dus het enige wat je hoeft te doen is correct aansluiten en programmatje inladen. Dan weet je in ieder geval waar het aan ligt.

En natuurlijk de dommere oplossing: staat je contrastspanning wel goed?

Acties:
  • 0 Henk 'm!

  • Kaasplank
  • Registratie: Februari 2001
  • Niet online
ssj3gohan schreef op zondag 05 oktober 2008 @ 17:00:
Heb je geen avr'etje en een experimenteerbordje liggen waarmee je het even kunt oplossen? Er is een site van een of andere oost-europeaan die een lib voor avr-gcc heeft geschreven, dus het enige wat je hoeft te doen is correct aansluiten en programmatje inladen. Dan weet je in ieder geval waar het aan ligt.
helaas ben ik niet zo thuis in electronica om dat soort dingen te regelen.
En natuurlijk de dommere oplossing: staat je contrastspanning wel goed?
Voor het contrast heb ik een potmeter maar ik kan draaien wat ik wil maar van helemaal zwart tot aan contrast op z'n hoogst zie ik niets..

Ik snap d'r niets van. Heb dat ding gewoon werkend in de kast gesmeten.

Ben er al wel achter dat een chip met de naam gm76c88al erg heet wordt binnen een paar seconden. volgens google is dat een geheugenchip en er wordt hier ook over gesproken. ik heb alleen geen idee wat z'n oplossing voor moet stellen :+
Net nog alle pinnen op de lcd doorgemeten en alles is gewoon goed volgens dat schema aangesloten

*zucht*

[ Voor 21% gewijzigd door Kaasplank op 05-10-2008 19:13 ]


Acties:
  • 0 Henk 'm!

  • nick_haak
  • Registratie: December 2004
  • Laatst online: 19-09 22:11
zijn oplossing schijnt te zijn dat er geen condensator en weerstand op de reset pen worden aangesloten, weet niet of je dat nu wel doet?

Acties:
  • 0 Henk 'm!

  • Kaasplank
  • Registratie: Februari 2001
  • Niet online
Ik doe helemaal niets met de reset pin op het lcd

Acties:
  • 0 Henk 'm!

  • Paul
  • Registratie: September 2000
  • Laatst online: 21:56
Helemaal niets? Dus ook geen weerstand van ergens tussen de 4k7 en 200k of zo tussen Reset en VCC (5v) ?

"Your life is yours alone. Rise up and live it." - Richard Rahl
Rhàshan - Aditu Sunlock


Acties:
  • 0 Henk 'm!

  • it0
  • Registratie: April 2000
  • Laatst online: 16-08 10:24

it0

Mijn mening is een feit.

Rustig maar zeker boek ik vooruitgang met mijn homemade ledmatrix...

Pagina: 1 ... 10 ... 21 Laatste

Dit topic is gesloten.