ATtiny13a:停止信号およびパーキングライト制御コントローラー

こんにちは



私は仕事から家に帰り、美しいことを考え、人生について考え、控えめな音楽に取り組みました。 私は夕食を食べて、熱いお茶を注いで、この濡れた粘着性の雪が窓の外でどのように回転しているかを見るのがどれほど良いかと思った。



そして、あなたはここにいます! 渋滞...そして行きます。 交通渋滞を考慮して、道は近くにありません-家まで少なくとも3時間です。

まあ、それぞれ:私は、彼らが言う、家での夕食、お茶、窓の外の雪。 そして、気分が戻り始めているようです。突然、トヨタプリウスの右側の車線から(まあ、これはすべてバッテリーです)、左に曲がり、私の車の前で右に登ります。 乗って、まだ3時間一緒に立ちます。」彼は乗って、2メートル乗って立ち上がった。 渋滞の中で道路上にあるはずなので、ブレーキで修正されました。



私は異なる車を見て、STOP信号の異なる実装を見ましたが、その瞬間に起こったことは一度だけでした。 超高輝度LEDを初めて購入したとき、家に帰ってすぐに「テスト」することにしました。 このケースをバッテリーに接続すると、痛みが頭の後ろまでずっと目を刺しました。 これは長い間、そのようなデバイスに対処したいという欲求から私を遠ざけました。



それで、今回、交通で、私は再びこの感覚を経験しました。 彼のSTOPシグナルがそのような明るさに調整されているかどうか、またはこの湿ったガラスがレンズの効果を持っているかどうかはわかりません。 一般に、私は試みなかったので、試みなかったので、私は彼の後を3時間すべて続けなければなりませんでした-右側か左側、あるいはこの「地獄」のすぐ後ろですら。



当時、STOPの通常のランプをLEDアセンブリに交換するという考えを実装することを考えていなかったなら、私に起こったことはすべてそれほど影響しなかったでしょう。 私は真剣に彼らの明るさと背後からドライバーにどれだけの害を与えるかについて考えました(実装については-50%完了しましたが、新しい状況のために延期しなければなりませんでした)。



この瞬間、私はマイクロコントローラーのトピックに直面しました。その1つ(ATtiny13a)は、説明された効果を排除すると同時に、タスクの実装を簡素化し、実行の保存と美観を可能にするために適用されることに決めました。



開発の本質は次のとおりです。



1. STOP信号の個別の光源への依存を解消します。

2.明るさを2つの上限に制限します-サイドライトとSTOP信号に対して別々に。

3.ブレーキペダルが長時間押された場合、STOP信号の調光を実装し、同時に、受信した輝度レベルをサイドライトから区別できるようにします。

4.実装は、大幅な変更なしに、自動車の標準スキームを使用して実行する必要があり、輝度レベルは対応するライトの標準レベルに対応する必要があります。

5.そして最後:各ランプで独立して使用できるモジュールの形で計画を実施し、交換し、また点滅や修正のために適切なタイミングで削除できるようにします。



結果は次のアルゴリズムです。



1.(PB0)への出力でハードウェアPWMを形成します(ちらつきをなくすために周波数は100Hzを超えなければなりません);

2.連続モードでADC(PB4)の入力を初期化します。

3. ADCの値を読み取ります(2つの信号が届きます-1つはサイドライトから、もう1つは異なるレベルのブレーキペダルから)。

4.フラグを作成します。1-ブレーキが押され、2-寸法が含まれます。

5.ブレーキペダルのフラグが設定されている場合、PWMデューティサイクルをSTOP信号の上限に等しく設定し、押している間カウンターを開始します。

6.ブレーキペダルが放された場合、カウンターが停止し、寸法がオンになっている場合はSTOP信号の上限輝度しきい値を復元し、輝度レベルを寸法の輝度の上限までスムーズに変更します。

7.ブレーキペダルがまだ押されている場合、STOP信号の輝度の下限しきい値に達するまで、STOP信号の上限-1から1秒ごとに減算します。 STOP信号の低輝度しきい値に達すると、カウンターを停止します。

8.寸法フラグが設定されていて、ブレーキペダルが押されていない場合、PWMデューティサイクルを寸法の明るさの上限にスムーズに変更します。

9.ハードウェアPWMのレジスタの値を変更し、手順3に進みます。



ファームウェアはAtmel Studioで作成され、そのパフォーマンスはProteus 8.1でテストされました。



PWM周波数は300 Hz、ファームウェアコードのサイズは250バイト、RAMおよびEEPROMは使用されません。



プログラムのテキストは非常に短いことが判明しましたが、これは最終バージョンではありません(プロトタイプテストの後、この記事の変更に影響する修正が行われます)。







Proteusのテストプロジェクト:







コントローラの電力は、ランプに供給される電力から直接取得することが決定されました。これらはADCの信号でもあります。

スタビライザーは図には示されていませんが、実装中に使用されます。



正直なところ、私はまだ初心者で、まだコントローラーさえ持っていないので、事実上すべてを作成しています。

実際の条件下で回路とファームウェアがどのように動作するかは言えません-まだ検証していません。

したがって、私はあなたに建設的な提案とスキームに関するコメントを本当に期待しています。

本当にありがたいです。 いくつかの機能を考慮しなかったのかもしれません。

それにもかかわらず、私は自分が始めた仕事を無事に終え、仕事を終えたいと思っています。



PS:節約について:

マシンはMark II、白熱灯STOP信号-4 * 25 W、寸法4 * 5 W-合計120 W(寸法とSTOPは暗闇で一緒にオンになります)。

代わりに、それぞれ10ワットの赤く光るダイオードアレイ(「強力なLED」と呼ばれる)を取り付ける予定です。つまり、最大輝度-40ワットです。

アセンブリごとに約800ルーメン、デザインを使用して寸法を取得-合計で約1000ルーメンおよびSTOP信号> 2000。 したがって、平均消費電力が10〜30ワットの場合、4〜8倍の経済性が得られます。

DRLを搭載していない車では、交通警察の規則に従って、ヘッドライトを点灯したまま運転する必要があるため、寸法は昼夜を問わず機能します。 そして、これは、長い計算で、ポケットに反映されます。



ここでは、ファームウェア、Proteus 8.1のプロジェクト、およびソースコードを見つけることができます。



使用材料と規制文書:

GOST 8769-75:

車、バス、トロリーバス、トラクター、トレーラー、セミトレーラー用の外部照明装置。 数量、場所、色、視野角

GOST R 41.48-2004:

照明および光信号装置の設置に関する車両の認証に関する統一規定



商用プロジェクトでの使用、ソースコードの転売、および営利目的での使用は禁止されています。



ソーステキストは無料で配布されます。他のサイトまたは他のソースで使用する場合、著者の指示と配置の通知は必須です。



All Articles